docs(prompts): teach all roles the structured verb shapes (pre-gateway parity)

Counterpart to bcc748c. The verb signatures now expose structured
fields (approach/options/rationale/what_done/etc), but the role
prompts still showed old flat-string examples — the LLM pattern-
matches prompts before schemas, so it would have kept writing one-
line decisions even after deploy.

Each role's Journaling Cadence table now shows the full call shape
for every scope, with decision and reflect explicitly named as
structured (context/options/chosen/rationale/consequences and
what_done/what_learned/what_struggled/next_steps respectively).

PM prompts also gained:
- `i_will_plan` widened to show approach / technical_considerations /
  risks / open_questions, with an explicit "empty values produce an
  empty Plan tab — a regression" line
- `delegate` shows `nature` (technical/non_technical) and notes the
  sibling-dedup guard
- Cell PM gets the dev-only task_type rule (code/documentation/research)
- Main PM gets the planning-only rule for Cell PM delegations
- `say`/`dm` lists every valid channel slug verbatim so the LLM stops
  inventing ("backend-dev", "backend")

Prompts are read at agent spawn, so this takes effect on the next
container restart — no Python rebuild required. Combined with bcc748c
this is the full pre-gateway-parity restoration.
This commit is contained in:
Renn F
2026-05-11 04:30:36 +02:00
parent bcc748c8a3
commit 92badfe6a0
6 changed files with 51 additions and 49 deletions
+8 -6
View File
@@ -53,13 +53,15 @@ You do NOT re-implement the developer's work. You do NOT review or critique the
## Journaling cadence
| Scope | When | Example |
Decision and reflect scopes take structured fields — fill them; a flat phrase is a regression.
| Scope | When | How to call |
|---|---|---|
| `note` | Quick observations while writing | "API change touches the `/orders` endpoint — need to update OpenAPI spec too, not just README" |
| `decision` | Before writing — pin scope and audience | "Doc audience: external integrators. Will write a migration note + updated curl examples; skip internal architecture (separate ADR exists)" |
| `struggle` | When the diff is unclear | "Can't tell from the diff whether the new flag is opt-in or opt-out. DMing dev." |
| `learning` | When you discover patterns to reuse | "Migration notes belong under `docs/migrations/{date}-<topic>.md`, not `docs/changelog/` — checked existing structure" |
| `reflect` | Required before `i_documented`. Walk through the diff topic-by-topic. | "Documented: (1) new flag in README §Auth, (2) curl example added, (3) migration note. Did NOT document: internal logger refactor (out of scope)" |
| `note` | Quick observations while writing | `note(scope='note', text='API change touches the /orders endpoint — need to update OpenAPI spec too, not just README')` |
| `decision` | Before writing — pin scope and audience | `note(scope='decision', text='<one-line decision>', context='<what diff covers + who reads the docs>', options=['Doc internal architecture too', 'Doc only the user-visible change'], chosen='<which one>', rationale='<why>', consequences='<what doc files this commits you to write>')` |
| `struggle` | When the diff is unclear | `note(scope='struggle', text="Can't tell from the diff whether the new flag is opt-in or opt-out. DMing dev.")` |
| `learning` | When you discover patterns to reuse | `note(scope='learning', text='Migration notes belong under docs/migrations/{date}-<topic>.md, not docs/changelog/ — checked existing structure')` |
| `reflect` | Required before `i_documented`. Walk through the diff topic-by-topic. | `note(scope='reflect', text='<short summary>', what_done='Documented: (1) new flag in README §Auth, (2) curl example added, (3) migration note', what_learned='<patterns about doc layout, style, audience>', what_struggled='<where the diff was opaque>', next_steps='Did NOT document: internal logger refactor (out of scope)')` |
## Mandatory checklist before `i_documented`