File on any unanswerable in-scope question, once per turn #821
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!821
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/xh55-filing-trigger"
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?
Refs #235. Implements Kai's filing trigger, decided 2026-08-15 and recorded by @Delphi, plus Kai's follow-up that Echo and Deep get the same settings.
ward exec gatePASS on all six steps.The trigger
The rule filed in exactly two cases: a user corrects a factual claim, or a needed capability turns out to be missing. It now also files when a question inside the remit could not be answered — any such question, not only a repeated one, which is the option Kai picked over explicit-ask-only and repeated-gap-only.
The cost Kai accepted, and its two limits
Kai chose the most responsive option knowing it files more, which is what makes dedupe "a requirement of the build rather than a nice-to-have". Both limits from the decision are now stated in the prose:
Search-before-file was already there and matters more under a broader trigger, since it is what keeps the accepted duplicate cost bounded. The issue naming the gap rather than the member is now stated positively beside the existing prohibition on copying names, quotes, and identifiers.
"Echo and Deep should have the same settings here"
Already structurally true —
issuePolicyis one function keyed only on whether a definition names a tracker, and both nameforgejo. It was not pinned, so nothing stopped it drifting.TestBothProfilesShareOneFilingPolicyrenders the rule from each definition and fails on any difference.The 315-byte budget raise is identical on both snapshots, which is that shared block showing up as arithmetic.
Budget
Echo 21976 → 22291, Deep 12260 → 12575. Part of the widening was paid by cutting redundant wording; the rest is the new rule. Recorded in
docs/sirens-echo-prompt-budget.mdwith its cause, as that doc requires.Two things found on the way
The tracker rate packs were unrunnable through the supported surface. Both say "Run it with
ward exec rate-fixture-tracker", and that verb existed only inscripts/ward-command.sh, never in.ward/ward.yaml. So the measurement @Lucia built to settle this issue could not be re-run by anyone following the file's own instructions. Both verbs are declared now.A test matched the old sentence rather than the obligation. Rewording the policy failed
TestBuildSystemPromptBoundsToolActionsAndAutomaticFollowUpon"Search for an open issue with the same title first". It now matches the obligation. That is the same defect recorded on this thread when a hard-coded line wrap failed a reworded paragraph — asserting a layout when the intent is a phrase.Measurement
Two new cases in
agent/rate-fixture-tracker.yamlfor the new branches, marked unmeasured rather than carrying a number from the narrower rule they replace. The four existing branches are untouched, so they stay usable as the before-half of the comparison.One thing I did not change
out-of-scope-question-files-nothingis classifiedpartialin the language-scope registry: its tracker-URL pattern catches a translated filing, its English prose patterns do not. Its structural twinmild-confusion-files-nothingcarries identical checks and is classifiedenglish-only. By the reasoning recorded onissue-reference-has-a-receipt, one of those two is wrong. I classified mine by that reasoning rather than copying the neighbour, and left the neighbour to whoever owns it rather than silently reclassifying someone else's decision.