docs(plugin): the instruction surfaces teach moments - reading a line that arrived at one, correcting a misfire, and giving a new rule its moments (milestone 458 step 8, #4926)
CI & Build / Python lint (push) Successful in 13s
CI & Build / Plugin hooks (push) Successful in 16s
CI & Build / TypeScript typecheck (push) Successful in 56s
CI & Build / integration (push) Successful in 1m38s
CI & Build / Python tests (push) Failing after 1m59s
CI & Build / Build & push image (push) Skipped

Until now only the tool arguments knew moments existed. The guidance
surfaces described rules as reached by resemblance alone:

- using-scribe: a short reflex paragraph and a new reference file,
  moments.md. It covers reading "at <moment>, reached by <action>", the
  reply held once at reply.report, map_action / unmap_action offered in
  one line, and the step 7 proposal line answered with judge_rule_moments.
- writing-records: asks WHEN a rule applies as well as what it is about.
  A rule, preference or process about a point in the work gets
  moments=[...] as it is written, and the trigger stays as the net.
- missed-retrieval: a missed WHEN is mounted or mapped, not reworded. A
  misfire is unmounted or unmapped.
- _INSTRUCTIONS: one clause (list_moments; mount rules about WHEN),
  1594 of 1600 chars.
- static context: injected lines include the rules mounted on a moment
  that was reached.
- test_guidance_ownership: three owned topics, so the text cannot quietly
  drop out.

Plugin minted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-05 16:39:47 -04:00
co-authored by Claude Opus 5.5
parent c404a3127a
commit a72a422534
8 changed files with 132 additions and 8 deletions
+9
View File
@@ -87,6 +87,12 @@ Two constraints on *how* that's achieved:
then the global rules plus that project's own, never another project's. `enter_project(id)` lists the project's own
rules by title.
**A rule about WHEN arrives at its moment, by lookup.** A rule mounted on a
moment of work (`list_moments`: `work.deliver`, `reply.report`, …) arrives
whenever an action reaches that moment, in a line naming both — nothing
said needs to resemble it. [moments.md](moments.md) says how to read those
lines, how to correct a moment that misfires, and when to mount one.
**`kind` says how much force a record carries, and it is never something to
infer.** A **rule** must be followed: ignoring it breaks something or
crosses a boundary. A **preference** records how the operator wants work
@@ -288,6 +294,9 @@ moment rather than on every turn:
before giving a note a check.
- [missed-retrieval.md](missed-retrieval.md) — a rule that missed the moment it
governed, or keeps arriving where it doesn't apply.
- [moments.md](moments.md) — a line that says a rule arrived *at* a moment, a
reply held for one read, an action that reached the wrong moment or none,
and a line proposing a mount.
## You are the judge of what the record says