Files
msd-core/docs/proposals
Tom Boucher ae4c198a13 docs(#956): MemPalace proposal — decision/phase ownership + corrected Phase-6 framing (#1753)
* docs(#956): address adr-phase-coverage findings on the MemPalace capability proposal

Resolves the findings from the adr-phase-coverage audit (matrix + interpreted
gaps posted on #956) by embedding durable decision→phase ownership and the
cross-doc gating item into the proposal, so no deliverable sits ownerless
between phases:

- §15.1 Decision → Phase ownership: every §10 decision + user-facing capability
  is the explicit responsibility of one phase. Cross-cutting policies get a
  primary owner (D6 onError:skip → P1 manifest-encoded; D3 transport → P2
  MCP-primary rendering, P5 CLI-fallback headless).
- §15.2 Dependencies & gating items: Phase 6 is GATED on ADR-857's Migrate
  phase (workflows calling loop render-hooks) — recorded as a traced gating
  item, not prose. UX-auto + UX-curator have no other wiring surface; if
  ADR-857's Migrate is descoped, Phase 6 is formally blocked, not silently
  dropped. De-risk: Phases 1–5 ship the full manual-invocation value ahead.
- Phase 3 gate: explicitly verifies the inherited UX-enable surface
  (gsd capability enable mempalace + config-set), not just the internal
  state resolver.
- Phase 6 gate: names the user-observable automatic surface (a
  /gsd-execute-phase run auto-produces MEMORY-RECALL.md at plan:pre, curator
  spawns at ship:post) instead of the wiring mechanism.
- §17 open questions: each is traced to the phase whose acceptance must
  resolve it (wing-identity→P0, replace-migration→P4, curator-tier→P2,
  headless-MCP→P5, phase-6-dep→§15.2 gate, diary-namespacing→P6).

Docs-only (proposal refinement); no runtime change.

Closes #956

* docs(#956): correct the Phase-6 framing — ADR-857 is released, auto-fire is wired and verified

Retracts the 'Phase 6 GATED on ADR-857 Migrate' framing introduced in the prior
commit. ADR-857 (capability system + loop render-hooks + workflow call sites) is
released; the host-loop workflows call loop render-hooks at each canonical point,
so mempalace auto-fires when mempalace.enabled. Verified end-to-end: 'gsd-tools
loop render-hooks plan:pre --raw' with mempalace.enabled:true returns the
mempalace-recall step (capId: mempalace, produces MEMORY-RECALL.md).

- Phase 6 row: 'Loop wiring (shipped via ADR-857)' with the verified gate.
- §15.1 Phase 6 row: wired via shipped ADR-857 infra (no gate).
- §15.2: rewritten from 'Dependencies & gating items' (false premise) to
  'Loop wiring status' — documents the released/shipped state + the retraction.
- §17.5: 'Phase-6 dependency' → 'Loop wiring (resolved — shipped)'.

The §15.1 decision→phase ownership matrix, Phase 3 UX-enable gate, and §17
open-question traceability from the prior commit stand (those were accurate).

---------

Co-authored-by: review-bot <review-bot@gsd>
2026-06-26 09:39:00 -04:00
..