Missing catalog or save capabilities are added to AetherDb as commands, not written as scratch projects, loose scripts or byte readers. Records the serializer options and the CultLib pin gate an agent hits on first use. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.6 KiB
1.6 KiB
Aetheria agent doctrine
Data tooling: AetherDb
tools/AetherDb is the agent's tool for reading and writing Aetheria's CultCache stores (GameData/Aetheria.cc,
run.cc, player.cc). The simulation lives in Aetheria.Shared (the headless build of
Assets/Scripts/ServerShared) and needs no Unity; Unity is only the shell for graphics and input.
- When a task needs a catalog or save capability AetherDb lacks (authoring or cloning designs, setting fields,
fixtures for a play smoke, a query), add it to AetherDb as a command. Do not write a scratch console project,
a loose
.csscript, a Python or PowerShell reader of the.ccbytes, or a Unity editor script instead. Loose scripts were retired in9f9149bdbecause they ran against stale schemas. - A command dry-runs by default and writes only with
apply, validates withCultRecordRefs.Validateand commits in oneCultCache.Commitbatch, like the existing migrations intools/AetherDb/Program.cs. - Deep copies of records use CultCache's own options,
CultDocumentMessagePackSerialization.OptionsFor(typeof(ItemData).Assembly); MessagePack's standard options cannot serialiseCultMathtypes orCultRecordRef. - The headless build refuses to compile unless CultLib is a clean checkout at the revisions pinned in
Directory.Build.props(Directory.Build.targetsenforces it). WhenF:\Projects\CultLibis elsewhere, pointCULTLIB_ROOTandCULTMATH_ROOTat detached worktrees of those revisions; never move the shared checkout. - CultCache Studio is the operator's GUI over the same files. It is not an agent path.