fix(capability): stop Echo promising a memory it is about to have #402

Merged
coilysiren merged 2 commits from fix/capability-tells-the-truth-about-the-scratchpad into main 2026-08-13 12:25:17 +00:00
Member

closes #389

This is what the scratchpad rollout is held on. Deploy half is built and mergeable at coilyco-bridge/deploy#445; Olaf correctly asked that it not roll until this lands.

The false sentence

At most twelve recent channel messages accompany a request. Nothing else carries across requests. There is no stored note, member profile, record of an earlier conversation, or learning from a correction.

With a /scratch mount, every clause after the first becomes false — and false in a document written to be authoritative about what this service does.

The wording is ported, not authored

The Deep lane already carries a conditional version that is true either way. That is the property that matters: the service describes what it was given rather than what a document assumes. It now checks the offered tools instead of trusting prose.

Why it is a new file

capability.md was exactly at the 80-line cap. Trimming to make room would have dropped something true to add something true, which is not a trade worth making.

The cost, stated rather than rounded away

The prompt budget goes up by 858 bytes, paid on every turn, forever. That is the real price of this feature. It is worth it — a service that can write files must be told when it cannot, and the alternative is one that offers a write surface it does not have — but it belongs in the record.

I was wrong to decline this earlier

I said capability files were Lucia's and their wording was not mine to write. Both halves were wrong: it is a factual claim about system behaviour, not a communication recommendation, and the wording already existed on the Deep lane. It sat unclaimed for two and a half hours holding a rollout Kai approved at 07:57Z.

ward exec gate green: build, policy-check, vet, test, test-skips, pre-commit.

closes #389 **This is what the scratchpad rollout is held on.** Deploy half is built and mergeable at https://forgejo.coilysiren.me/coilyco-bridge/deploy/pulls/445; Olaf correctly asked that it not roll until this lands. ## The false sentence > At most twelve recent channel messages accompany a request. **Nothing else carries across requests.** There is no stored note, member profile, record of an earlier conversation, or learning from a correction. With a `/scratch` mount, every clause after the first becomes false — and false in a document written to be authoritative about what this service does. ## The wording is ported, not authored The Deep lane already carries a conditional version that is true either way. That is the property that matters: **the service describes what it was given rather than what a document assumes.** It now checks the offered tools instead of trusting prose. ## Why it is a new file `capability.md` was exactly at the 80-line cap. Trimming to make room would have dropped something true to add something true, which is not a trade worth making. ## The cost, stated rather than rounded away **The prompt budget goes up by 858 bytes, paid on every turn, forever.** That is the real price of this feature. It is worth it — a service that can write files must be told when it cannot, and the alternative is one that offers a write surface it does not have — but it belongs in the record. ## I was wrong to decline this earlier I said capability files were Lucia's and their wording was not mine to write. Both halves were wrong: it is a **factual claim about system behaviour**, not a communication recommendation, and the wording already existed on the Deep lane. It sat unclaimed for two and a half hours holding a rollout Kai approved at 07:57Z. `ward exec gate` green: build, policy-check, vet, test, test-skips, pre-commit.
fix(capability): stop Echo promising a memory it is about to have
Some checks failed
ci / image-build (pull_request) Successful in 3m20s
ci / test (pull_request) Failing after 11m2s
ci / publish-echo-image (pull_request) Has been cancelled
ci / publish-observed (pull_request) Has been cancelled
fa3b4981b2
The reference said nothing carries across requests, and named a stored note and
a record of an earlier conversation as things that do not exist. With a mounted
scratchpad every clause after the first becomes false, and it is false in a
document written to be authoritative about what this service does.

The conditional wording is ported from the Deep lane rather than authored. It
was proven there and it is true either way, which is the property that matters:
the service must describe what it was given rather than what a document
assumes.

Split into its own reference because capability.md was exactly at the 80 line
cap. Trimming to make room would have dropped something true to add something
true, which is not a trade worth making.

The prompt budget goes up by 858 bytes, paid on every turn forever. That is the
real cost of this feature and it belongs in the record rather than in a rounding
error: a service that can write files needs to be told when it cannot, and the
alternative is a service that offers a write surface it does not have.

Deploy half: coilyco-bridge/deploy#444, held on this deliberately.

closes #389

Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Merge branch 'main' into fix/capability-tells-the-truth-about-the-scratchpad
All checks were successful
ci / test (pull_request) Successful in 31s
ci / publish-echo-image (pull_request) Has been skipped
ci / publish-observed (pull_request) Has been skipped
ci / image-build (pull_request) Successful in 18s
6fda89c0ed
Sign in to join this conversation.
No reviewers
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-gaming/sirens-echo!402
No description provided.