Context
A naming seam between design authority and shipped substrate, surfaced by the fable budget-regime planning audit (2026-07-04): ADR 0029 §2.2 names a NEW persisted schema neo.harness.dockPerspective.v1; the perspective substrate that actually landed (#14651/#14652/#14667, merged) ships neo.harness.dockLayout.v2 (capture-scope + fingerprint + perspective fields on the existing envelope family) + dockLayoutCollection.v1. Two names, one capability territory. Filed to the delegatable bar: non-fable implementable — it is a decision-then-docs leaf with a bounded code option.
The Problem
Future leaves (#14653/#14668 restore, #14669 store, #14616 presets, #14649 NL tools) will cite one name or the other; unreconciled, the substrate accumulates dual vocabulary and a future agent burns a session proving they are (or are not) the same thing. The ADR's anti-anchor already bans "a third collection shape" — the reconciliation must not mint one.
The Architectural Reality
- Shipped truth:
DockZoneModel.LAYOUT_SCHEMA = 'neo.harness.dockLayout.v2' (+ LAYOUT_SCHEMA_V1 read-path, LAYOUT_COLLECTION_SCHEMA), with captureScope: 'window'|'topology', windowFingerprint, perspectiveName, windowDocuments — functionally covering §2.2's capture scopes.
- ADR posture: amend-this-first (a leaf that contradicts a section amends the ADR in its own reviewed change, ADR-0005 lifecycle).
- Two clean resolutions: (a) amend ADR 0029 §2.2 to name the shipped
dockLayout.v2 envelope as the perspective carrier (v1 of the CAPABILITY, v2 of the ENVELOPE — one sentence + table row edit), or (b) ship a thin dockPerspective.v1 alias/wrapper — REJECTED-by-default: it is the "third collection shape" the ADR's own anti-anchor forbids unless a falsifier shows the envelope cannot carry a §2.2 obligation.
The Fix
One PR, option (a) unless falsified during intake: amend ADR 0029 §2.2 naming (ADR-0005 lifecycle, cross-family review), sweep the open dock tickets' prose for the stale name, and add the schema-name row to HarnessDockZoneModel.md's persistence section so both tiers agree.
Acceptance Criteria
Out of Scope
Restore semantics (#14653/#14668) · the store leaf (#14669) · any envelope field changes.
Related
Parent #13158 · authority ADR 0029 §2.2 + ADR 0005 lifecycle · shipped substrate #14651/#14652/#14667. Decision Record impact: amends ADR 0029 (naming only).
Live latest-open sweep: latest 20 at 2026-07-04T13:15Z, no equivalent. A2A in-flight sweep: all-states 30 at 13:15Z, no competing claim.
Origin Session ID: fa2a6fd5-7488-4af6-a0d2-3855c86003e4
Retrieval Hint: "dockPerspective dockLayout v2 schema naming reconciliation"
Context
A naming seam between design authority and shipped substrate, surfaced by the fable budget-regime planning audit (2026-07-04): ADR 0029 §2.2 names a NEW persisted schema
neo.harness.dockPerspective.v1; the perspective substrate that actually landed (#14651/#14652/#14667, merged) shipsneo.harness.dockLayout.v2(capture-scope + fingerprint + perspective fields on the existing envelope family) +dockLayoutCollection.v1. Two names, one capability territory. Filed to the delegatable bar: non-fable implementable — it is a decision-then-docs leaf with a bounded code option.The Problem
Future leaves (
#14653/#14668restore,#14669store,#14616presets,#14649NL tools) will cite one name or the other; unreconciled, the substrate accumulates dual vocabulary and a future agent burns a session proving they are (or are not) the same thing. The ADR's anti-anchor already bans "a third collection shape" — the reconciliation must not mint one.The Architectural Reality
DockZoneModel.LAYOUT_SCHEMA = 'neo.harness.dockLayout.v2'(+LAYOUT_SCHEMA_V1read-path,LAYOUT_COLLECTION_SCHEMA), withcaptureScope: 'window'|'topology',windowFingerprint,perspectiveName,windowDocuments— functionally covering §2.2's capture scopes.dockLayout.v2envelope as the perspective carrier (v1 of the CAPABILITY, v2 of the ENVELOPE — one sentence + table row edit), or (b) ship a thindockPerspective.v1alias/wrapper — REJECTED-by-default: it is the "third collection shape" the ADR's own anti-anchor forbids unless a falsifier shows the envelope cannot carry a §2.2 obligation.The Fix
One PR, option (a) unless falsified during intake: amend ADR 0029 §2.2 naming (ADR-0005 lifecycle, cross-family review), sweep the open dock tickets' prose for the stale name, and add the schema-name row to
HarnessDockZoneModel.md's persistence section so both tiers agree.Acceptance Criteria
Out of Scope
Restore semantics (
#14653/#14668) · the store leaf (#14669) · any envelope field changes.Related
Parent
#13158· authority ADR 0029 §2.2 + ADR 0005 lifecycle · shipped substrate#14651/#14652/#14667. Decision Record impact: amends ADR 0029 (naming only). Live latest-open sweep: latest 20 at 2026-07-04T13:15Z, no equivalent. A2A in-flight sweep: all-states 30 at 13:15Z, no competing claim. Origin Session ID: fa2a6fd5-7488-4af6-a0d2-3855c86003e4 Retrieval Hint: "dockPerspective dockLayout v2 schema naming reconciliation"