feat: comprehensive pipeline skill upgrades from PAI learnings

- reflect: enforce-before-adding pattern gate, proactive synthesis step,
  improvements.md triage, debrief must list every file modified
- housekeeping: domain INDEX.md rebuild step, briefing bridge SSOT rule
  and richer section format with compression rules
- foresight: cruising velocity classification, non-obvious rule,
  anti-patterns section, scenario candidate format in nudge output,
  thread current-state in memory reads
- scenario: full rewrite with body template (Decision Point, Dependencies,
  Branches, Timeline Overlay, Contingency Map, Retrospective), anti-patterns,
  trigger threshold, related-threads frontmatter
- evolve: route content issues step, scorecard generation, architecture-only
  constraint on Next Run Priorities
- history: simple vs deep triage note
- CLAUDE.md: structured action items format, briefing-bridge and
  foresight-nudge in file edit table

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcio Puga
2026-03-23 07:59:41 +11:00
parent d47510b0f6
commit 28aa16226a
7 changed files with 276 additions and 69 deletions

View File

@@ -102,7 +102,9 @@ Rules:
## 7. Write Briefing Bridge
Write key findings to `memory/cog-meta/briefing-bridge.md` so foresight can pick them up:
Write key findings to `memory/cog-meta/briefing-bridge.md` so foresight can pick them up. Overwrite the file each run.
**SSOT rule**: Every line in the bridge must include a `[[source]]` link to its canonical file. The bridge summarizes and links — it NEVER introduces original facts.
```markdown
# Briefing Bridge
@@ -111,18 +113,19 @@ Write key findings to `memory/cog-meta/briefing-bridge.md` so foresight can pick
## Stale Items (>2 weeks)
- <item> — <age> — suggested action: <action>
- **Compression rule**: Items stale >4 weeks — group by domain as a single line
## Birthday Prep
- <name> birthday in <N> days — interests: <from entities>
- <name> birthday in <N> days — interests: <from entities> — gift ideas: <suggestions>
## Dormant Domains
- <domain> — last activity: <date>
- <domain> — last activity: <date> — recommendation: <shelf/reactivate/shut down>
## Health Escalation
- <item> — open <N> months
- <item> — open <N> months — urgency: <high/medium>
```
Only include sections that have content.
Only include sections that have content. Empty sections should be omitted.
## 8. L0 Header Maintenance
@@ -132,7 +135,32 @@ Check all active memory files for missing `<!-- L0: ... -->` headers. If a file
L0 headers are the first tier of the retrieval protocol — they let any skill scan what a file contains before deciding to read it.
## 9. Compose Debrief
## 9. Rebuild Domain Indexes
Regenerate `INDEX.md` for each domain directory. These files power the memory router — the system prompt only shows a light domain table; the model reads INDEX.md on demand to find specific files.
**For each domain** (scan `memory/` for directories, skip `glacier/`):
1. List all `.md` files in the domain (exclude `INDEX.md`, `hot-memory.md`, and empty files)
2. Extract the L0 summary from each file (same logic as step 8)
3. Count total files
4. Write `memory/{domain}/INDEX.md`:
```markdown
# {Domain} Index
<!-- L0: {domain summary} — {N} files -->
<!-- Auto-generated by housekeeping. Do not edit. -->
<!-- Last updated: YYYY-MM-DD -->
- **{filename}** — {L0 summary}
- **{filename}** — {L0 summary}
...
```
- Sort entries alphabetically by filename
- Domain summary: use the `label` from `memory/domains.yml` for the matching domain
- If a file has no L0, list it as just `**{filename}**` (no summary)
## 10. Compose Debrief
Summarize everything done:
- What was archived/pruned