Reword agent facing context to no longer assume you will be talking to Kai #258

Closed
opened 2026-08-09 03:40:12 +00:00 by coilysiren · 3 comments
Owner

This means a few things, the 1st being easy and mechanical: the agent facing copy should no longer reference me by name

Past that point... complicated

The goal is a demo I am going to have soon, where sirens deep will be used by people without me specifically attending to it. Some of those people will be mirroring my position (operator) while not being me specifically. Some of those people will be users who will be talking to the agent as an external consumable entity like someone would type into chatgpt dot com. Some of those "people" will be other agents!

This will have subtle impacts all over the place, but the most important: if you start the session thinking you are going to be working with "Kai" then its going to be a huge mess

This means a few things, the 1st being easy and mechanical: the agent facing copy should no longer reference me by name Past that point... complicated The goal is a demo I am going to have soon, where sirens deep will be used by people without me specifically attending to it. Some of those people will be mirroring my position (operator) while not being me specifically. Some of those people will be users who will be talking to the agent as an external consumable entity like someone would type into chatgpt dot com. Some of those "people" will be other agents! This will have subtle impacts all over the place, but the most important: if you start the session thinking you are going to be working with "Kai" then its going to be a huge mess
Member

Measured this against 9764756 before planning it, and the mechanical half is not where the issue is filed.

agent-compose is already clean, except for one surface

Zero Kai mentions in 8 role charters, 3 boundary bodies, 16 personality bodies, INVARIANT.md, NATIVE-ADAPTATION.txt, and every non-test Go file.

The only mentions in this repo are 26 in evaluation prompts, across 7 of 8 role matrices. That is the exact surface #256 and #257 both put out of scope.

The Kai-assuming copy an agent reads at session start comes from the AGENTS layers instead, tiered by how eagerly it loads:

  • agentic-os/AGENTS.md - 10 mentions, always composed
  • agentic-os/.agents/ - 78 mentions in 28 files, loaded on demand
  • agentic-os-kai/AGENTS.md - 3 mentions, always composed
  • agentic-os-kai/.agents/ - 249 mentions in 74 files

Filed as coilyco-flight-deck/agentic-os#978.

The hard half: "Kai" is doing three jobs

Find and replace will collapse them into one wrong thing. The prose needs a vocabulary before it needs an edit:

  • Principal - whose portfolio, systems, preferences, and voice the roster encodes. "the real repository portfolio" is principal-scoped and stays true when a stranger drives.
  • Operator - whoever steers this session and holds approval authority. "Kai accepts a two-week portfolio experiment" is operator-scoped, and this is what the demo breaks.
  • User - an external consumer talking to the agent as a product, holding neither of the above.

Plus peer agents as counterparties, which no current prose models at all.

The mess described in the issue is precisely that the roster assumes principal and operator are the same person. The demo splits them, and a third class appears that was never in the model.

One correctness point, not a wording nit

agentic-os/AGENTS.md reads:

She/her always. Never he/him or they/them in any artifact for Kai. Default she/her when ambiguous

Written about a named third party, but an agent reading it while addressing an unknown operator can generalize it to whoever it is talking to, and "default she/her when ambiguous" actively invites exactly that. In a demo room where the operator is not Kai, that misgenders a real person in front of an audience.

The pronoun rule needs explicit scoping to the principal, with an unknown counterparty defaulting to they/them until stated. That is carried in #978 and it is the highest-priority item in this whole set, because it is the only one that harms someone rather than reading oddly.

Sequencing

This is the only deadline-bound item across #253 through #257, so it should not queue behind them.

  • Now, off the chain - the principal, operator, user vocabulary, the pronoun scoping fix, and the always-composed AGENTS layer. None of it touches the boundary work or the tree move. Tracked in #978.
  • Folded into #257 - the agent-compose sweep. Rewording who the counterparty is and standardizing grammatical person are the same pass over the same sentences, and doing them as two passes doubles the review for no benefit.
  • Reopened for #256 and #257 - both excluded evaluation prompts, and all 26 of this repo's mentions are there.

Recommendation on the evaluation prompts

Keep a named operator in the eval fixtures. An evaluation needs a concrete counterparty, "the operator asks you to just suggest wording" tests the same behavior as "Kai asks", and generalizing them moves every pack digest and lands the cost on #240 for no measured gain. If the roster later needs cases proving the agent does not assume its operator is the principal, those are new scenarios rather than a rewrite of existing ones.

Measured this against `9764756` before planning it, and the mechanical half is not where the issue is filed. ## agent-compose is already clean, except for one surface Zero `Kai` mentions in 8 role charters, 3 boundary bodies, 16 personality bodies, `INVARIANT.md`, `NATIVE-ADAPTATION.txt`, and every non-test Go file. The only mentions in this repo are **26 in evaluation prompts**, across 7 of 8 role matrices. That is the exact surface #256 and #257 both put out of scope. The Kai-assuming copy an agent reads at session start comes from the AGENTS layers instead, tiered by how eagerly it loads: * `agentic-os/AGENTS.md` - 10 mentions, always composed * `agentic-os/.agents/` - 78 mentions in 28 files, loaded on demand * `agentic-os-kai/AGENTS.md` - 3 mentions, always composed * `agentic-os-kai/.agents/` - 249 mentions in 74 files Filed as `coilyco-flight-deck/agentic-os#978`. ## The hard half: "Kai" is doing three jobs Find and replace will collapse them into one wrong thing. The prose needs a vocabulary before it needs an edit: * **Principal** - whose portfolio, systems, preferences, and voice the roster encodes. "the real repository portfolio" is principal-scoped and stays true when a stranger drives. * **Operator** - whoever steers this session and holds approval authority. "Kai accepts a two-week portfolio experiment" is operator-scoped, and this is what the demo breaks. * **User** - an external consumer talking to the agent as a product, holding neither of the above. Plus **peer agents** as counterparties, which no current prose models at all. The mess described in the issue is precisely that the roster assumes principal and operator are the same person. The demo splits them, and a third class appears that was never in the model. ## One correctness point, not a wording nit `agentic-os/AGENTS.md` reads: > **She/her always.** Never he/him or they/them in any artifact for Kai. Default she/her when ambiguous Written about a named third party, but an agent reading it while addressing an unknown operator can generalize it to whoever it is talking to, and "default she/her when ambiguous" actively invites exactly that. In a demo room where the operator is not Kai, that misgenders a real person in front of an audience. The pronoun rule needs explicit scoping to the principal, with an unknown counterparty defaulting to they/them until stated. That is carried in #978 and it is the highest-priority item in this whole set, because it is the only one that harms someone rather than reading oddly. ## Sequencing This is the only deadline-bound item across #253 through #257, so it should not queue behind them. * **Now, off the chain** - the principal, operator, user vocabulary, the pronoun scoping fix, and the always-composed AGENTS layer. None of it touches the boundary work or the tree move. Tracked in #978. * **Folded into #257** - the agent-compose sweep. Rewording who the counterparty is and standardizing grammatical person are the same pass over the same sentences, and doing them as two passes doubles the review for no benefit. * **Reopened for #256 and #257** - both excluded evaluation prompts, and all 26 of this repo's mentions are there. ## Recommendation on the evaluation prompts Keep a named operator in the eval fixtures. An evaluation needs a concrete counterparty, "the operator asks you to just suggest wording" tests the same behavior as "Kai asks", and generalizing them moves every pack digest and lands the cost on #240 for no measured gain. If the roster later needs cases proving the agent does not assume its operator is the principal, those are new scenarios rather than a rewrite of existing ones.
Member

Correction to the comment above: the AGENTS-layer issue is coilyco-flight-deck/agentic-os#979, not #978. That number was taken between reading the list and writing the issue.

Correction to the comment above: the AGENTS-layer issue is `coilyco-flight-deck/agentic-os#979`, not #978. That number was taken between reading the list and writing the issue.
Member

Decided: evaluation prompts keep naming Kai. They are fixtures needing a concrete counterparty, the behavior under test is identical either way, and generalizing all 26 would move every pack digest onto #240's bill for no measured gain.

This keeps #256 and #257's exclusion of evaluation prompts intact rather than reopening it. If the roster later needs cases proving an agent does not assume its operator is the principal, those are new scenarios, not rewrites of existing ones.

Decided: **evaluation prompts keep naming Kai.** They are fixtures needing a concrete counterparty, the behavior under test is identical either way, and generalizing all 26 would move every pack digest onto #240's bill for no measured gain. This keeps #256 and #257's exclusion of evaluation prompts intact rather than reopening it. If the roster later needs cases proving an agent does not assume its operator is the principal, those are new scenarios, not rewrites of existing ones.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/agent-compose#258
No description provided.