feat(moments): a mount that keeps arriving where it does not apply proposes its own removal (milestone 458 step 7b, #4955)
CI & Build / Python lint (push) Successful in 2s
CI & Build / Plugin hooks (push) Successful in 16s
CI & Build / TypeScript typecheck (push) Successful in 54s
CI & Build / integration (push) Successful in 1m19s
CI & Build / Python tests (push) Successful in 2m3s
CI & Build / Build & push image (push) Successful in 18s
CI & Build / Python lint (push) Successful in 2s
CI & Build / Plugin hooks (push) Successful in 16s
CI & Build / TypeScript typecheck (push) Successful in 54s
CI & Build / integration (push) Successful in 1m19s
CI & Build / Python tests (push) Successful in 2m3s
CI & Build / Build & push image (push) Successful in 18s
The open-after-moment signal proposes a mount; nothing proposed taking one off, so a wrong mount was noise at every occurrence until someone happened to notice. rule_misfired(rule_id, moment, why, reached_by) records a report against a MOUNTED pair, counted per distinct day (the MCP door carries no session id) on a new rule_moment_judgments.misfire column (migration 0119, backup v24). At three days the response carries a line asking the agent to offer the operator the fix - reject takes the rule off, unmap_action stops the action reaching the moment, confirm keeps the mount and stops the asking - and Settings > Moments lists it as an unmount proposal with the reasons and the actions that reached it. A re-mount clears the count. Taught in moments.md, missed-retrieval.md and the reply hold's wording. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,8 @@
|
||||
|
||||
Part of the using-scribe skill. Read it when a line says a rule arrived *at* a
|
||||
moment, when a reply is held for one read, when an action reached the wrong
|
||||
moment or none, and when a line proposes mounting a rule.
|
||||
moment or none, when a mounted rule arrived and did not apply, and when a line
|
||||
proposes mounting or unmounting a rule.
|
||||
|
||||
## What a moment is
|
||||
|
||||
@@ -50,6 +51,26 @@ is a deliver and nothing fired — map it?"), and make it on their yes. The
|
||||
correction lasts for every later session on the install; `list_moments` shows
|
||||
what each action reaches now.
|
||||
|
||||
## When a mounted rule arrives and does not apply
|
||||
|
||||
A mount delivers its rule at every occurrence of the moment, so a mount that
|
||||
is wrong is noise every time — and a rule you read and set aside leaves no
|
||||
trace anyone else can see. When a rule arrived *at* a moment, you read it,
|
||||
and it has nothing to do with what you were doing there, say so with
|
||||
`rule_misfired(rule_id, moment, why, reached_by)`: one call, nothing asked of
|
||||
the operator. Name the action the line said reached the moment, and say what
|
||||
you were doing, because the reports are what the operator decides from —
|
||||
whether the rule does not belong at the moment, or one action is reaching it
|
||||
that is not that moment here.
|
||||
|
||||
Reports gather across days. Once a rule has them on three, the response
|
||||
carries a line asking you to offer the fix, and the operator sees it under
|
||||
Settings › Moments too: `judge_rule_moments` `reject` takes the rule off,
|
||||
`unmap_action` stops the action reaching the moment, and `confirm` keeps the
|
||||
mount and ends the question. A rule that applied — even one you were already
|
||||
following — is not a misfire, and a rule that arrived by its words rather
|
||||
than a mount is fixed through its trigger instead.
|
||||
|
||||
## When a line proposes a mount
|
||||
|
||||
A rule that keeps being opened just after the same moment, across several
|
||||
|
||||
Reference in New Issue
Block a user