| name | update-section-map |
| description | Writes the canonical substacker shared-context/section-map.md after writer confirmation of review-artifact proposals. Atomic write with backup snapshot. Validates schema before writing. Use as the final step of a Curator run, only after writer has accepted/modified proposals. Trigger keywords — update section map, write section map, commit sections, apply changes. |
Update Section Map
Workflow
After writer confirms review proposals:
- [ ] Step 1: Snapshot current section-map.md to ops/curator/snapshots/YYYY-MM-DD-section-map.md
- [ ] Step 2: Apply confirmed changes: add / rename / merge / retire / reassign
- [ ] Step 3: Sort sections by `Established` date (oldest first for stable ordering)
- [ ] Step 4: Validate schema (every post in exactly one section or unassigned; every section has promise; retired sections preserved)
- [ ] Step 5: Write new section-map.md
- [ ] Step 6: Update the last_updated timestamp + changelog entry
Schema validation rules
- Every post appears in exactly one section OR in
unassigned. No double-assignment.
- Every section has:
slug, promise, fit_confidence, established, posts.
- Retired sections stay in map under
## Retired sections with retired: YYYY-MM-DD and reason.
- Max 5 non-retired sections. If >5, abort and flag.
Guardrails
- Snapshot before every write.
- Validate schema before writing. If invalid, bubble error; don't write partial.
- Never delete retired-section entries.
- Changelog entry on every write (single line with YYYY-MM-DD + summary of changes).
- Atomic: read → snapshot → validate → write. Single operation.