Context
@tobiu flagged (2026-07-06) that resources/content/sandman_handoff.md — the turn-based Golden Path handoff, our most valuable strategic markdown — now carries 2 debugging-analytics tables that do not belong: Edge Deltas (raw graph edge UUIDs + delta + axes) and Open Gaps per Concept (CONCEPT_REVERIFY_DUE analytics). Directive: debugging → a different file; do not bloat the handoff.
The Problem
cbae23dbae (#14505/#14522, 2026-07-03) added the Concept Slice section — a render-only Native-Edge-Graph analytics block (Concepts Touched + Edge Deltas + Open Gaps per Concept) — appended at the top of the handoff. This is raw graph analytics (queryable on demand via the graph tools), not strategic turn handoff. It bloats the artifact the autonomous loop actually consumes.
The Architectural Reality
ai/services/graph/GoldenPathSynthesizer.mjs:1091 — handoffContent += this.constructor.renderConceptSliceHandoffSection({...}) appends the Concept Slice into the handoff string.
:1415-1417 — const handoffFile = aiConfig.handoffFilePath; fs.writeFileSync(handoffFile, handoffContent.trim() + '\n') (ADR-0019 use-site read; fs+path imported).
- Renderer:
ai/services/graph/conceptSliceBuilder.mjs:284 renderConceptSliceSection (3 subsections; the 2 flagged tables at :300 / :311).
The Fix
- Capture the Concept Slice at
:1091 into a local (const conceptSliceSection = …) instead of appending it to handoffContent.
- At the write point, write it to a sibling companion file —
sandman_concept_slice.md, path derived from the resolved handoffFile directory (path.join(path.dirname(handoffFile), 'sandman_concept_slice.md'); ADR-0019-clean — a path-under-root derivation, no new leaf, no re-implementation).
- Gitignore the new file next to
resources/content/sandman_handoff.md (line 131) so the regenerated debug artifact never causes commit noise / merge conflicts.
The whole cohesive Concept Slice block moves (it is one self-described "render-only shared slice contract" unit); the handoff keeps only strategic content.
Acceptance Criteria
Out of Scope
- The Concept Slice's content/format itself (#14505) — this only relocates it.
- Making the sibling path a config leaf (trivial follow-up if desired).
Related
- #14505 / #14522 (the Concept Slice addition being relocated).
Origin Session ID: 9360840f-5d7a-4680-8110-86877722735b
Retrieval Hint: query_raw_memories("sandman handoff concept slice relocate debug bloat")
Live latest-open sweep: checked 2026-07-06; no equivalent found.
Context
@tobiu flagged (2026-07-06) that
resources/content/sandman_handoff.md— the turn-based Golden Path handoff, our most valuable strategic markdown — now carries 2 debugging-analytics tables that do not belong: Edge Deltas (raw graph edge UUIDs + delta + axes) and Open Gaps per Concept (CONCEPT_REVERIFY_DUEanalytics). Directive: debugging → a different file; do not bloat the handoff.The Problem
cbae23dbae(#14505/#14522, 2026-07-03) added the Concept Slice section — a render-only Native-Edge-Graph analytics block (Concepts Touched+Edge Deltas+Open Gaps per Concept) — appended at the top of the handoff. This is raw graph analytics (queryable on demand via the graph tools), not strategic turn handoff. It bloats the artifact the autonomous loop actually consumes.The Architectural Reality
ai/services/graph/GoldenPathSynthesizer.mjs:1091—handoffContent += this.constructor.renderConceptSliceHandoffSection({...})appends the Concept Slice into the handoff string.:1415-1417—const handoffFile = aiConfig.handoffFilePath; fs.writeFileSync(handoffFile, handoffContent.trim() + '\n')(ADR-0019 use-site read;fs+pathimported).ai/services/graph/conceptSliceBuilder.mjs:284 renderConceptSliceSection(3 subsections; the 2 flagged tables at :300 / :311).The Fix
:1091into a local (const conceptSliceSection = …) instead of appending it tohandoffContent.sandman_concept_slice.md, path derived from the resolvedhandoffFiledirectory (path.join(path.dirname(handoffFile), 'sandman_concept_slice.md'); ADR-0019-clean — a path-under-root derivation, no new leaf, no re-implementation).resources/content/sandman_handoff.md(line 131) so the regenerated debug artifact never causes commit noise / merge conflicts.The whole cohesive Concept Slice block moves (it is one self-described "render-only shared slice contract" unit); the handoff keeps only strategic content.
Acceptance Criteria
sandman_handoff.mdno longer contains## Concept Slice,### Edge Deltas, or### Open Gaps per Concept.sandman_concept_slice.md(sibling of the handoff), with a header noting it is the graph-analytics companion.aiConfig.handoffFilePath(no new hardcoded absolute path, no new config leaf required).resources/content/sandman_concept_slice.mdis gitignored.Out of Scope
Related
Origin Session ID: 9360840f-5d7a-4680-8110-86877722735b Retrieval Hint:
query_raw_memories("sandman handoff concept slice relocate debug bloat")Live latest-open sweep: checked 2026-07-06; no equivalent found.