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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user