One org-relationship source, read by both agents #856
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!856
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/yt58-org-relationship"
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?
Closes #806.
The name was a three-way conflict, and Kai picked
full_nameKai chose Robotics Division, so the shipped string, the
validateSharedPolicyanchor, and the two test anchors move together.Intelligence Teamnamed a thing neither the issue nor the account uses and is gone from every live surface.What ships
.agents/skills/coilyco-org, composed by both definitions, stating the relationship once: Sirens Discord is the community, Coilyco Gaming holds a staffing and product contract with it, the Robotics Division is the part that contract is with, and Echo and Deep are that division.It is the only local skill root the two profiles share. That is what makes "both agents read the same text" a property a test can hold, rather than two files that agree until someone edits one.
The prompt keeps one line naming the division. Everything else — the relationship, the boundaries, the four provenance answers — is in the knowledge source, because #806 asked directly that an engineer not write the org description inline in a Go string.
Copy ownership, honestly stated
The issue reserves this wording to Content Creator. Kai's answer was to draft it from the issue text and edit in review, so the prose in
references/organizations.mdis mine and is meant to be edited. One file, no code behind it, so a rewrite does not touch this PR's structure.What is not a wording choice, and what the tests pin, is the separation: an agent is never Sirens Discord staff, and Sirens Discord staff are never Coilyco Gaming employees. #230's staff description rests on that line holding.
The cost, because it is the largest single prompt raise on record
1951 bytes per turn, on both profiles, forever, measured against main's own rendered files rather than against the ratchet. Recorded in the raise ledger. A first draft cost 2827 and was cut to this without dropping a fact — the trimming is worth reviewing, since anything still redundant is paid every turn.
The raise being identical on both is the shared source showing up as arithmetic, the same way #235's did.
Two things a test caught that I had wrong
The image would not have booted.
TestPolicyCheckRunsInsideTheImageContextfailed withwalk skill root .agents/skills/coilyco-org: no such file. A new skill root needs threeCOPYlines across three Dockerfile stages, the compose stage included, or the container dies at startup rather than at build. That test is why this is a working PR and not an outage.config_test.goasserted Deep had exactly one policy root. True until now, and it is the assertion that would have caught a silent unwiring, so I widened it to name both roots rather than count them.The merge, and a doc split it forced
Main moved 15 commits while this was open, including #840 giving Echo object emoji. Four conflicts, all of them two prompt raises landing at once. They are additive, so both entries and both raises stand, and I re-rendered from the merged sources and set the budgets to what they actually measure rather than computing them.
docs/sirens-echo-prompt-budget.mdcrossed the documentation cap as a result. That file is an append-only ledger wrapped around a short policy statement, so it would have crossed on the next raise regardless of whose it was. The ledger moves tosirens-echo-prompt-budget-raises.mdand the policy doc keeps a pointer. Trimming my own entry to fit would have kicked the can one raise down the road.Verified
Five new tests in
organizations_test.go: both profiles compose the source, the facts reach both rendered packs rather than just being declared, both read byte-identical text, and the source keeps the organizations apart and bounds what may be said about the contract.Confirmed failing first: removing the root from Deep alone fails three of them with
deep composes no org source, so it answers from inference.just gategreen. Both snapshots regenerated and open identically.Not done here
#230's staff description is a separate issue, untouched. This makes it possible to write coherently, which is what #806 said it was blocking.The datasets under
evaluations/still contain replies sayingCoilyco Gaming Intelligence Team. Those record what the model actually said on a given day, so rewriting them would falsify the evidence. They read as history, not as a live surface.