The engineer role composes to 6 skills and 0 sources, so flipping Dowel to it is a net removal, and filling it doubles the system prompt on the lane that already ran p95 182.2s #955

Open
opened 2026-08-18 15:25:06 +00:00 by coilyco-ops · 0 comments
Member

Filed by Olaf (ops seat), 2026-08-18. Ops-layer validation of Kai's direction that Dowel should have "every school my native acompose engineers have and then some", including kai-engineering-voice. Kai has an AI Engineer and an Engineer on the fix. This is the deploy-layer measurement beside it, not a competing proposal.

Context: coilyco-bridge/deploy#658 (the flip), coilyco-bridge/deploy#661 (the flip as landed), coilyco-bridge/deploy#644 (freeze).

1. The flip, as it stands today, removes capability

From coilyco-bridge/deploy services/sirens-echo/rendered/roles-bundle.txt, which is generated from the pinned image's own expander:

  • role creator: 24 skills, identity card 2,643 B, composed body 48,398 B, 19 sources admitted
  • role engineer: 6 skills, identity card 2,797 B, composed body 11,172 B, 0 sources admitted

The six are role-engineer, boundary-modify-live-system, boundary-seek-external-validation, and personality-curious / -meticulous / -tenacious. That is the roster identity and nothing else.

So SIRENS_ECHO_ROLE=engineer on Dowel today is a 24-to-6 reduction. The register change is real and is what #658 asked for, but the lane arrives at the stream with fewer skills than it had as a creator. Kai's instruction reads as correcting exactly this, and it should be read as a prerequisite of the flip rather than an enhancement on top of it.

2. kai-engineering-voice is matched by no engineer glob

coilyco-bridge/agentic-os-kai .agents/roles.kdl, role "engineer":

composed-skill "kai-*-release"   composed-skill "kai-*-access"
composed-skill "kai-*-review"    composed-skill "kai-*-auth"
composed-skill "kai-*-env"       composed-skill "kai-public-repos"

None match kai-engineering-voice. It needs either an exact entry or a kai-*-voice glob, and that glob also admits kai-linkedin-voice (2,904 B plus one reference file), which is a LinkedIn register on a Discord agent. Prefer the exact entry.

3. The two layers disagree about what a skill costs

coilyco-bridge/agentic-os-kai docs/context-budget-creator-current.yaml measures the native acompose creator bundle:

  • eager: 96 components, 24,402 B / 6,132 tokens - frontmatter only
  • lazy: 175 components, 270,570 B / 67,672 tokens - bodies and resources
  • aosk/kai-engineering-voice: {eager: 48, lazy: 3245, resources: 3}

Natively a skill costs 48 tokens until it is invoked. "And then some" is nearly free there, which is why the instruction is reasonable on its face.

This harness looks like it does not do that. docs/lane-values-rationale.md records the 2026-08-18 00:20-00:56Z window running a byte-identical 61,142-byte system prompt on both lanes, both on creator at the time. Creator's identity card plus composed body is 2,643 + 48,398 = 51,041 B, leaving ~10,100 B of harness scaffolding. That fit is close enough that I read the composed bodies as eager here.

Marking that as inference. I did not read the prompt assembly - this repository is not checked out on my seat. What settles it is wherever the composed bundle is concatenated into the system prompt. If bodies are in fact lazy here, section 4 does not apply and I would want to know.

4. If bodies are eager, the ask roughly doubles the prompt

Summing COMPOSED.md for every skill the engineer globs in agentic-os and agentic-os-kai admit - that is the native engineer set Kai named:

33 skills, 89,086 B, plus the 13,969 B roster identity = ~103,055 B composed.

Against creator's 51,041 B today. Projected system prompt ~113 KB against the 61,142 B measured. kai-engineering-voice adds ~3.1 KB plus three reference files on top.

5. Why that specific number is uncomfortable on this specific lane

This is the lane that took p95 community.turn 182.2s against sirens-deep's 32.2s on that byte-identical prompt, dropped 3 of 14 turns, and ran 92 tool calls with 17 truncated results.

#940 records that Kai declined both a tool-round cap and a reduction of the 86-tool roster, so the loop stays unbounded and the only lever is making each round cheaper. System prompt size is per-round cost on every round of an unbounded loop. Doubling it pushes the wrong direction on the one metric that failed, under the one constraint that cannot move.

That is not an argument against the skills. It is an argument that this is a load change and wants measuring rather than assuming.

What I would ask of the fix

  1. Land the skills. A 6-skill engineer is the actual defect and the flip is incomplete without it.
  2. Add kai-engineering-voice by exact name, not kai-*-voice.
  3. Regenerate rendered/roles-bundle.txt and read the new engineer body bytes off it rather than off this estimate. just compose-review-roles in deploy.
  4. Settle section 3 either way. If bodies are lazy here, say so in the review artifact, because the artifact reporting "composed body bytes" invites the eager reading.
  5. Re-measure p95 on the lane after the change, under service.name = sirens-dowel (deploy#657 records the telemetry discontinuity at the rename).

What is already done

Dowel's persona, the engineer flip, the retired shared-identity claim, and the Temporal credential move are in coilyco-bridge/deploy#661. The definition manifest now sits in that lane's rollout config hash, so a bundle change actually rolls the pod. It did not before, which means an earlier persona or role edit could have applied cleanly and never reached a running process.

**Filed by Olaf (ops seat), 2026-08-18.** Ops-layer validation of Kai's direction that Dowel should have "every school my native acompose engineers have and then some", including `kai-engineering-voice`. Kai has an AI Engineer and an Engineer on the fix. This is the deploy-layer measurement beside it, not a competing proposal. Context: coilyco-bridge/deploy#658 (the flip), coilyco-bridge/deploy#661 (the flip as landed), coilyco-bridge/deploy#644 (freeze). ## 1. The flip, as it stands today, removes capability From `coilyco-bridge/deploy` `services/sirens-echo/rendered/roles-bundle.txt`, which is generated from the pinned image's own expander: * `role creator`: **24 skills**, identity card 2,643 B, composed body 48,398 B, **19 sources admitted** * `role engineer`: **6 skills**, identity card 2,797 B, composed body 11,172 B, **0 sources admitted** The six are `role-engineer`, `boundary-modify-live-system`, `boundary-seek-external-validation`, and `personality-curious` / `-meticulous` / `-tenacious`. That is the roster identity and nothing else. **So `SIRENS_ECHO_ROLE=engineer` on Dowel today is a 24-to-6 reduction.** The register change is real and is what #658 asked for, but the lane arrives at the stream with fewer skills than it had as a creator. Kai's instruction reads as correcting exactly this, and it should be read as a prerequisite of the flip rather than an enhancement on top of it. ## 2. `kai-engineering-voice` is matched by no engineer glob `coilyco-bridge/agentic-os-kai` `.agents/roles.kdl`, `role "engineer"`: ``` composed-skill "kai-*-release" composed-skill "kai-*-access" composed-skill "kai-*-review" composed-skill "kai-*-auth" composed-skill "kai-*-env" composed-skill "kai-public-repos" ``` None match `kai-engineering-voice`. It needs either an exact entry or a `kai-*-voice` glob, **and that glob also admits `kai-linkedin-voice`** (2,904 B plus one reference file), which is a LinkedIn register on a Discord agent. Prefer the exact entry. ## 3. The two layers disagree about what a skill costs `coilyco-bridge/agentic-os-kai` `docs/context-budget-creator-current.yaml` measures the **native acompose** creator bundle: * eager: 96 components, **24,402 B / 6,132 tokens** - frontmatter only * lazy: 175 components, 270,570 B / 67,672 tokens - bodies and resources * `aosk/kai-engineering-voice: {eager: 48, lazy: 3245, resources: 3}` Natively a skill costs **48 tokens** until it is invoked. "And then some" is nearly free there, which is why the instruction is reasonable on its face. **This harness looks like it does not do that.** `docs/lane-values-rationale.md` records the 2026-08-18 00:20-00:56Z window running a **byte-identical 61,142-byte system prompt** on both lanes, both on creator at the time. Creator's identity card plus composed body is 2,643 + 48,398 = **51,041 B**, leaving ~10,100 B of harness scaffolding. That fit is close enough that I read the composed bodies as **eager** here. **Marking that as inference.** I did not read the prompt assembly - this repository is not checked out on my seat. What settles it is wherever the composed bundle is concatenated into the system prompt. If bodies are in fact lazy here, section 4 does not apply and I would want to know. ## 4. If bodies are eager, the ask roughly doubles the prompt Summing `COMPOSED.md` for every skill the engineer globs in `agentic-os` and `agentic-os-kai` admit - that is the native engineer set Kai named: **33 skills, 89,086 B**, plus the 13,969 B roster identity = **~103,055 B composed**. Against creator's 51,041 B today. Projected system prompt ~113 KB against the 61,142 B measured. `kai-engineering-voice` adds ~3.1 KB plus three reference files on top. ## 5. Why that specific number is uncomfortable on this specific lane This is the lane that took p95 `community.turn` **182.2s against sirens-deep's 32.2s on that byte-identical prompt**, dropped 3 of 14 turns, and ran 92 tool calls with 17 truncated results. #940 records that Kai **declined both a tool-round cap and a reduction of the 86-tool roster**, so the loop stays unbounded and the only lever is making each round cheaper. **System prompt size is per-round cost on every round of an unbounded loop.** Doubling it pushes the wrong direction on the one metric that failed, under the one constraint that cannot move. That is not an argument against the skills. It is an argument that this is a load change and wants measuring rather than assuming. ## What I would ask of the fix 1. **Land the skills.** A 6-skill engineer is the actual defect and the flip is incomplete without it. 2. **Add `kai-engineering-voice` by exact name**, not `kai-*-voice`. 3. **Regenerate `rendered/roles-bundle.txt`** and read the new engineer body bytes off it rather than off this estimate. `just compose-review-roles` in deploy. 4. **Settle section 3 either way.** If bodies are lazy here, say so in the review artifact, because the artifact reporting "composed body bytes" invites the eager reading. 5. **Re-measure p95 on the lane after the change**, under `service.name = sirens-dowel` (deploy#657 records the telemetry discontinuity at the rename). ## What is already done Dowel's persona, the engineer flip, the retired shared-identity claim, and the Temporal credential move are in coilyco-bridge/deploy#661. The definition manifest now sits in that lane's rollout config hash, so a bundle change actually rolls the pod. It did not before, which means an earlier persona or role edit could have applied cleanly and never reached a running process.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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-gaming/sirens-echo#955
No description provided.