feat(agents): let serialized repositories invert workspace isolation #1147
No reviewers
Labels
No labels
burndown-2026-06
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agentic-os!1147
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/eco-serialized-checkouts"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The shadow, worktree, and temporary-clone rules all assume a second writable tree is isolation. For a Unity project and the game world its assets drive, it is not: both trees resolve the same editor lock and the same asset database, so the merge back is a corrupt scene rather than a conflict Git can show.
The rule
AGENTS.mdgains "Serialized checkouts invert isolation", placed after the three rules it carves out of. It keys on a named set rather than on repository names, so the doctrine base stays host-generic per its own scope statement.docs/native-agent-workspaces.mdgains "Serialized repositories", which names the set (coilyco-gaming/eco-app,coilyco-gaming/eco-mods,coilyco-gaming/eco-ops), scopes it to the native Windows tower, and states what projection, the fleet pass, and unexpected-clone detection each skip.pyproject.tomlraises theAGENTS.mdcaps to 300 lines / 28150 chars.The enforcement
Doctrine alone would not have stopped anything: the launcher still linked a session worktree for each of the three, and the fleet pass still switched and deleted their branches.
resolveExpectedRepositoriesis the single point bothcreateNativeSessionandrunNativeWorkspaceSweepread, so the exemption lands there. Serialized identities drop out of the projected list, which removes the worktree, the branch switch, the fast-forward, and the branch deletion together.They are seeded into the expected set in the same change. An unexpected clone is defined as one compiled residency omits, and projection no longer claims them, so without the seed the scan would delete the canonical checkout on its third pass. The exemption would have destroyed exactly the tree it exists to protect.
nativeSerializedGOOSis a variable rather than a directruntime.GOOSread so the suite covers both the Windows and the non-Windows branch from either platform. Three tests: not projected, survives the unexpected-clone scan, and still projected off Windows.On the cap bump
The existing comment asks that a new entry displace one rather than extend the file. This one cannot. It modifies three rules that live only here, and no role source or skill can hold it, because an agent has to know not to shadow before it takes its first action and every role source fires conditionally. The exemption is host-scoped rather than role-scoped, so no role meld is the right owner. The set itself stays in docs, which keeps the base's growth to the rule alone.
Scope
Host, not repository. The same three identities keep ordinary projection everywhere else, because the lock lives on the tower where the Unity editor and the Eco server run.
eco-appholds no Unity assets and takes the exemption by sharing their release cycle, so one rule covers three repositories instead of splitting into a rule nobody recalls correctly under pressure.The tower-side restatement, which names the three identities so the rule fires without a second source, landed in
coilyco-bridge/agentic-os-kai@f58dfeb.pre-commit run --all-filespasses.just aos-testhas seven failures on the Windows tower that predate this branch (macOS keyring projection, MCP catalogue hydration, path-identity fail-closed); the serialized tests and the rest of the native-shadow suite pass.gamedevcustom meld #1151