Elnor Repo Reader

DOC14_CROSS_DOCUMENT_DELTA_COMPANION_R2.md

Current Specs/DOC14/DOC14_CROSS_DOCUMENT_DELTA_COMPANION_R2.md

Generated 2026-06-09T01:23:58.539Z from commit dbaa25962edc11ab30e8d4ca1715f9ae5bf77331. Worktree: clean.

Open text page · Open raw txt · Open path URL

# DOC14 Cross-Document Delta Companion R2

**Date:** 2026-03-30  
**Revision:** R2 — full reconstruction synchronized to DOC14 R7, preserving all R1.2 structure with validated improvements  
**Status:** Working companion / active memory aid for DOC14 R7 and companion-owner revisions  
**Primary driver:** DOC14 R7

## 0. Purpose and Operating Rules

This document is the **single operational memory aid** for all cross-document changes required by DOC14.

It exists to do four jobs:
1. list every owner doc that must change because of DOC14;
2. state the missing contract in implementation-ready language;
3. track acceptance / implementation status;
4. define degraded behavior and ship-gate consequences when a dependency is absent.

This document does **not** replace owner docs.
- DOC12 still owns room execution, commands, read models, linked-room mechanics, bootstrap, transport, and room-side projections.
- DOC11 still owns runtime truth, context manifests, effective prompt truth, overlay packet truth, and review-target inclusion truth.
- DOC15 still owns recommendation nodes, retrieval, and context matching.
- DOC8 still owns replay / canary / promotion / retirement / prompt artifact lifecycle.
- DOC10 still owns authority rows and integration-ledger registration.
- DOC13 still owns cost and supervision-cost primitives.
- DOC17 still owns overlay / recipe / prompt-advisor semantics and Prompt Lab UX.
- DOC16 still owns the broader linked-room / matter-workbench planning wave.

### 0.1 Status vocabulary
- `pending` — not yet accepted in the owner doc
- `accepted` — accepted in the owner doc in materially complete spec form
- `accepted_with_modification` — accepted in principle and mostly specified, but still missing details that DOC14 depends on
- `implemented` — implemented in code (not required for spec progress)
- `closed` — accepted and no longer needs active tracking here

### 0.2 Ship-gate vocabulary
- `yes` — missing this blocks the relevant DOC14 feature from shipping truthfully
- `no` — missing this may degrade the feature but does not block baseline truthful operation

### 0.3 R1.2 -> R2 change summary
R2 reflects the following:
- DOC14 R7 is now the primary driver (full reconstruction from R5.2 completeness baseline with R6/R6.1 patches merged).
- DOC12 R7.1 is treated as the accepted room-side substrate; DOC12 rows reclassified to accepted / accepted_with_modification.
- New shared-contract rows added for: launch capability snapshots, recommendation source/apply/revert/invalidation, mutation envelopes, export artifacts, event bundles, manual extract, finding edit audit, cache promotion response, convergence override, child preview, anchor/chunk/search response schemas, configurator state, batch recovery, ghost judgment rubric, pre-launch target preview.
- New DOC12 delta rows for: child preview route, import-back idempotency, anchor/chunk/search navigation, manual extract routes, finding edit routes, export routes, convergence override route, event-bundle SSE consumption.
- New DOC11 delta rows for: recommendation mutation truth, launch snapshot truth.
- New DOC15 delta rows for: recommendation room-facing adapter, invalidation support.
- DOC8, DOC10, DOC13 rows updated to match R7 wording.
- Action wiring catalog expanded with all R7 mutation and query routes.
- UI dependency matrix expanded for new surfaces.
- Canonical event dictionary expanded to 21 events.
- All row IDs are unique — no duplicate numbering.

## 1. Dependency Map

| Owner doc | Why DOC14 depends on it | Blocking? | Current status | Notes |
|---|---|---:|---|---|
| DOC12 | rooms, commands, read models, child-room launch/import, review-target projection, prompt-plan room projections, SSE | Yes | accepted_with_modification | R7.1 landed the room-side bundle in spec form; a few event/view-model/retry details remain open |
| DOC11 | effective prompt truth, packet truth, trim reasons, review-target inclusion truth, candidate-apply blockers | Yes | pending | still the biggest open blocker for learned-prompt application |
| DOC15 | prompt artifact recommendation nodes, retrieval, reverse-path fields, novelty/review outcomes | Yes | pending | ingestion is closer than retrieval; reverse path still incomplete |
| DOC8 | prompt variant / assignment / replay / canary / promotion / ranking lifecycle | Yes | pending | no current accepted artifact family in owner doc yet |
| DOC10 | authority rows, route-trace correlation, telemetry registration | Yes | pending | explicit DOC14 rows still missing |
| DOC13 | cost and supervision-cost primitives, launch-time estimate inputs | No (Phase 0 baseline), Yes (advanced UX) | pending | baseline operation can degrade honestly |
| DOC17 | prompt-artifact semantic alignment, Prompt Lab offline proposal posture | Partial | accepted_with_modification | semantics aligned; conflict detection and shared-import cleanup still tracked |
| DOC16 | child rooms remain must-have scope; broader linked-room wave later | Partial | accepted | planning alignment retained |
| DOC6 / DOC4 / DOC3 | room-backed panel bridge, starter agents, legal research family | No | pending notes | keep visible, not blocking DOC14 core |

## 2. Shared Red-Team Interoperability Contract Bundle

These contracts should live in a shared contracts package and be imported across owner docs.

### 2.1 Canonical shared contracts
- `PromptArtifactKindSchema`
- `PromptMethodUsedSchema`
- `PromptIdentityRefSchema`
- `PromptArtifactObservationEnvelopeSchema`
- `PromptObservationEmitSchema`
- `TopologyOutcomeSignalSchema`
- `FindingJudgmentSchema`
- `FindingNoveltySchema`
- `ReviewOutcomeSchema`
- `ReviewTargetBindingRefSchema`
- `PreferredReviewTargetMaterializationModeSchema`
- `RealizedReviewTargetMaterializationModeSchema`
- `ReviewTargetMaterializationPlanSchema`
- `ParticipantPromptPlanViewModelSchema`
- `FindingsPanelViewModelSchema`
- `RoomHealthViewModelSchema`
- `RoomConvergenceViewModelSchema`
- `ConvergenceBannerViewModelSchema`
- `BatchReviewProgressSchema`
- `BatchJudgmentRecoveryViewModelSchema`
- `ChildRoomPromptArtifactSelectionSchema`
- `ChildRoomEffectivePromptPlanViewModelSchema`
- `PromptArtifactRecommendationNodeSchema`
- `RecommendationDiffViewModelSchema`
- `UnparsedContributionSchema`
- `FindingAdjudicationRecordSchema`
- `FindingLineageSchema`
- `RedTeamDegradedStateSchema`
- `RedTeamErrorCodeSchema`
- `ManualExtractRequestSchema` *(R2 addition)*
- `ManualExtractResponseSchema` *(R2 addition)*
- `FindingEditAuditSchema` *(R2 addition)*
- `FindingEditRequestSchema` *(R2 addition)*
- `FindingEditResponseSchema` *(R2 addition)*
- `RoomPromoteCachedFindingRequestSchema` *(R2 addition)*
- `RoomPromoteCachedFindingResponseSchema` *(R2 addition)*
- `RoomOverrideConvergenceRequestSchema` *(R2 addition)*
- `RoomOverrideConvergenceResponseSchema` *(R2 addition)*
- `RoomExportRequestSchema` *(R2 addition)*
- `RoomExportResponseSchema` *(R2 addition)*
- `CandidateApplyBlockReasonSchema` *(R2 addition)*
- `PromptArtifactMutationEnvelopeSchema` *(R2 addition)*
- `RecommendationApplyRequestSchema` *(R2 addition)*
- `RecommendationApplyResponseSchema` *(R2 addition)*
- `RecommendationSourceViewModelSchema` *(R2 addition)*
- `RecommendationInvalidationStateSchema` *(R2 addition)*
- `LaunchCapabilitySnapshotSchema` *(R2 addition)*
- `ConfiguratorStateViewModelSchema` *(R2 addition)*
- `FindingDetailViewModelSchema` *(R2 addition)*
- `RecommendationListViewModelSchema` *(R2 addition)*
- `ChildRoomPreviewRequestSchema` *(R2 addition)*
- `ChildRoomPreviewResponseSchema` *(R2 addition)*
- `ChildImportBackRequestSchema` *(R2 addition)*
- `ChildImportBackResponseSchema` *(R2 addition)*
- `ReviewTargetSearchRequestSchema` *(R2 addition)*
- `ReviewTargetSearchResponseSchema` *(R2 addition)*
- `ReviewTargetChunkResponseSchema` *(R2 addition)*
- `ReviewTargetAnchorResponseSchema` *(R2 addition)*
- `AnchorManifestEntrySchema` *(R2 addition)*
- `PreLaunchTargetPreviewRequestSchema` *(R2 addition)*
- `PreLaunchTargetPreviewResponseSchema` *(R2 addition)*
- `EvidenceGateOutcomeSchema` *(R2 addition)*
- `ContextSymmetryResultSchema` *(R2 addition)*
- `ScoringWeightTableSchema` *(R2 addition)*
- `PromptObservationWeightsSchema` *(R2 addition)*
- `GhostJudgmentRubricSchema` *(R2 addition)*

### 2.2 Canonical event dictionary
The following event names remain canonical across docs:
- `room.finding.created`
- `room.finding.judged`
- `room.finding.status_changed`
- `room.finding.promoted_from_cache`
- `room.finding.adjudicated`
- `room.finding.lineage_updated`
- `room.batch_judgment.progress`
- `room.batch_judgment.reconciled`
- `room.health.updated`
- `room.convergence.reached`
- `room.convergence.overridden`
- `room.review_target.binding_missing`
- `room.review_target.materialization_changed`
- `room.review_target.search_performed`
- `room.prompt_observation.emitted`
- `room.prompt_artifact.inherited`
- `room.prompt_artifact.trimmed`
- `room.prompt_artifact.recommendation_applied`
- `room.prompt_artifact.recommendation_reverted`
- `room.prompt_artifact.proposal_only`
- `room.child.created`
- `room.child.imported_back`
- `room.child.launch_failed`

#### R2 addition — event payload and consumption rules

Every canonical event must have:
- a typed payload schema (defined in DOC14 R7 Appendix F3 or companion shared contracts),
- an owner doc responsible for SSE emission,
- consuming docs that subscribe,
- and parity coverage in the shared-contract appendix table.

DOC12 hook dispatch must iterate `PostTurnResultSchema.event_bundle` and emit each event via SSE with the typed payload. If `event_bundle` is empty, DOC12 may emit only `room.post_turn.completed`.

### 2.3 Shared package recommendation
```text
packages/contracts/src/redteam/
  prompt-artifacts.ts
  prompt-method.ts
  prompt-observation-envelope.ts
  finding-judgment.ts
  review-outcome.ts
  review-target.ts
  prompt-plan-view.ts
  recommendation-diff.ts
  child-room-effective-plan.ts
  batch-judgment-recovery.ts
  unparsed-contribution.ts
  sse-events.ts
```

## 3. Delta Register by Owner Doc

### 3A. DOC12 Delta Register

#### D12-RT-001 — Canonical single-finding judgment command
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted
- Ship gate: yes
- Required addition: `room_judge_finding`, `POST /api/rooms/:roomId/findings/:findingId/judgments`, optimistic concurrency and idempotency.
- Owner acceptance notes: accepted in DOC12 R7.1.

#### D12-RT-002 — Canonical batch judgment command
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted_with_modification
- Ship gate: yes
- Required addition: `room_batch_judge_findings`, `POST /api/rooms/:roomId/findings/judgments:batch`, partial-success row errors, `BatchJudgmentRecoveryViewModel`.
- Remaining gap: row-level retry/read-model semantics need to be fully typed.

#### D12-RT-003 — Cached finding promotion command
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted_with_modification
- Ship gate: yes
- Required addition: `room_promote_cached_finding`, `POST /api/rooms/:roomId/findings/cache/:cacheEntryId/promote`, projection and SSE update.
- Remaining gap: response typing and conflict state closure.

#### D12-RT-004 — Adjudication command family
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted_with_modification
- Ship gate: yes
- Required addition: `room_adjudicate_finding`, adjudication route, detail query route, dispositions `resolve_accept`, `resolve_reject`, `park_disputed`, `escalate_to_human`.
- Remaining gap: full response and read-model closure.

#### D12-RT-005 — Lineage upsert/query path
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted_with_modification
- Ship gate: yes
- Required addition: `room_upsert_lineage`, lineage query route, verification-basis refs.
- Remaining gap: response typing and successor-room carry-forward polish.

#### D12-RT-006 — Review-target binding and active-target projection
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted
- Ship gate: yes
- Required addition: `ReviewTargetBindingSchema`, `ReviewTargetMaterializationProjectionSchema`, review-target query route, active binding rule.
- Notes: DOC12 distinguishes preferred materialization policy from realized projection truth.

#### D12-RT-007 — Prompt-plan query + room-level overlay state
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted_with_modification
- Ship gate: yes
- Required addition: `RoomOverlayStateSchema`, `ParticipantOverlayPrecedenceViewSchema`, `ParticipantPromptPlanProjectionSchema`, prompt-plan query route.
- Remaining gap: effective child-room prompt-plan preview/read model and some truth-to-UI closure.

#### D12-RT-008 — Child red-team launch route
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted_with_modification
- Ship gate: yes
- Required addition: `room_launch_child_redteam`, launch route, prompt-selection payload, expected-version semantics.
- Remaining gap: effective plan preview/read model and overlay conflict handling closure.

#### D12-RT-009 — Child-room import-back route / packet binding
- Priority: P1
- Phase: Phase 0 Core
- Status: accepted_with_modification
- Ship gate: yes
- Required addition: minimal import-back route and status projection.
- Remaining gap: richer packet/read-model closure reserved for DOC16 wave.

#### D12-RT-010 — Findings / cache / health / detail query surfaces
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted_with_modification
- Ship gate: yes
- Required addition: findings list, finding detail, cache, health, review-target, prompt-plan queries.
- Remaining gap: convergence query/read model and stale markers.

#### D12-RT-011 — Typed SSE payload schemas for all red-team surfaces
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted_with_modification
- Ship gate: yes
- Required addition: typed payload schemas for every canonical event, not just event names.
- Remaining gap: some events still need explicit payload schemas, especially `room.finding.created` and reconciliation events.

#### D12-RT-012 — Execution-turn-mode derivation
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted
- Ship gate: yes
- Required addition: derive red-team execution-turn mode from room policy.

#### D12-RT-013 — Scheduler reserve / minimum viable completion support
- Priority: P1
- Phase: Phase 0 Core
- Status: accepted
- Ship gate: no
- Required addition: room reserve support for synthesis/export completion.

#### D12-RT-014 — `red_team_policy` typing
- Priority: P1
- Phase: Phase 0 Core
- Status: accepted_with_modification
- Ship gate: yes
- Required addition: typed room-side policy contract.
- Remaining gap: final shared-import hygiene.

#### D12-RT-015 — Human correction queue and pause primitive
- Priority: P1
- Phase: Phase 0 Core
- Status: accepted_with_modification
- Ship gate: no
- Required addition: queue semantics and explicit pause primitive.

#### D12-RT-016 — Partial close-room state and replay-safe journal
- Priority: P1
- Phase: Phase 0 Core
- Status: accepted_with_modification
- Ship gate: no
- Required addition: partial close-room state and replay-safe execution journal.

#### D12-RT-017 — Delta-since read-model refresh for large rooms
- Priority: P2
- Phase: Phase 1
- Status: accepted_with_modification
- Ship gate: no
- Required addition: `delta_since` refresh / pagination support.

#### D12-RT-018 — Child effective prompt-plan preview / resolver
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: `ChildRoomEffectivePromptPlanViewModel`, deterministic resolver, bootstrap preview reference.
- Why required: child-room modal cannot truthfully show inheritance / explicit selections without it.

#### D12-RT-019 — Review-target anchor / chunk / search navigation routes
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: anchor lookup, chunk query, search-assisted target query routes.
- Why required: evidence-anchor truth for large docs.

#### D12-RT-020 — Batch judgment partial-failure reconciliation
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: `BatchJudgmentRecoveryViewModel`, retry-failed-only semantics, stale-version row handling.

#### D12-RT-021 — Convergence read model and override route
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: `GET /api/rooms/:roomId/convergence`, `POST /api/rooms/:roomId/convergence/override`.

#### D12-RT-022 — Event-bundle SSE consumption *(R2 addition)*
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted_with_modification
- Ship gate: yes
- Required addition: DOC12 hook dispatch must iterate `PostTurnResultSchema.event_bundle` and emit each event via SSE with typed payload. If `event_bundle` is empty, emit only `room.post_turn.completed`.
- Why required: without this, the Findings Panel, Health Chip, and Convergence Banner never update reactively.

#### D12-RT-023 — Manual extract and unparsed contribution routes *(R2 addition)*
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition:
  - `GET /api/rooms/:roomId/unparsed-contributions`
  - `POST /api/rooms/:roomId/unparsed-contributions/:contributionId/extract`

#### D12-RT-024 — Finding edit/rewrite audit routes *(R2 addition)*
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition:
  - `POST /api/rooms/:roomId/findings/:findingId/edit`

#### D12-RT-025 — Export artifact route family *(R2 addition)*
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition:
  - `POST /api/rooms/:roomId/exports/findings-pack`
  - `POST /api/rooms/:roomId/exports/review-outcome`
  - `POST /api/rooms/:roomId/exports/decision-pack`

#### D12-RT-026 — Child-room import-back idempotency *(R2 addition)*
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: `ChildImportBackRequestSchema`, `ChildImportBackResponseSchema`, duplicate suppression, `already_imported` status, idempotency key handling.

#### D12-RT-027 — Child effective prompt-plan preview route *(R2 addition)*
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: `POST /api/rooms/:roomId/child-redteam/preview` with `ChildRoomPreviewRequestSchema` / `ChildRoomPreviewResponseSchema`.
- Why required: child-room launch modal cannot truthfully show inheritance without it.

#### D12-RT-028 — Pre-launch target preview route *(R2 addition)*
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: `POST /api/redteam/preview-target-binding` with `PreLaunchTargetPreviewRequestSchema` / `PreLaunchTargetPreviewResponseSchema`.

### 3B. DOC11 Delta Register

#### D11-RT-001 — Participant prompt-plan truth view model
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: `ParticipantPromptPlanViewModelSchema` with prompt artifacts, recipe, overlays, dropped overlays, trim reasons, evidence grade, apply blockers.

#### D11-RT-002 — Overlay packet truth / trim reasons
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: explicit packet truth showing applied, dropped, and trimmed overlays/recipes.

#### D11-RT-003 — Review-target inclusion truth
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: active review-target inclusion truth, realized materialization mode, anchorability, dropped reasons.

#### D11-RT-004 — Prompt truth degraded-state contract
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: `available | degraded | unavailable` with reason codes.

#### D11-RT-005 — Candidate apply gate truth
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: `candidate_apply_allowed`, `candidate_apply_block_reason`, recommendation source.

#### D11-RT-006 — Runtime packet inspector expansion
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: packet inspector surfacing artifacts, trim reasons, review-target inclusion, search/chunk mode.

#### D11-RT-007 — Recommendation diff / current-vs-proposed truth support
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: enough truth fields to drive `RecommendationDiffViewModel` and apply/revert affordances honestly.

#### D11-RT-008 — Recommendation mutation and invalidation truth *(R2 addition)*
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: `PromptArtifactMutationEnvelopeSchema` truth handling, `RecommendationInvalidationStateSchema`, current-vs-proposed diff truth, blocked apply/revert reasons.

#### D11-RT-009 — Launch capability snapshot and packet inspector support *(R2 addition)*
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: show launch snapshot, capability snapshot, and packet-trim truth in debugging drawers / packet inspector.

### 3C. DOC15 Delta Register

#### D15-RT-001 — Prompt artifact recommendation node
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: `PromptArtifactRecommendationNodeSchema`.

#### D15-RT-002 — Recommendation retrieval path
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: query/retrieval API for room/configurator recommendation preview.

#### D15-RT-003 — Reverse-path fields in recommendation outputs
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: `suggested_overlay_ids`, `suggested_prompt_recipe_ids`, `prompt_artifact_ids`, `candidate_apply_allowed`, `candidate_apply_block_reason`, evidence grade.

#### D15-RT-004 — Finding novelty / review outcome ingestion
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: novelty-aware finding and review-outcome ingestion for CIL.

#### D15-RT-005 — Context matcher expansion for workflow/doc-role facts
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: matcher awareness of role, target kind, length bucket, materialization mode, workflow stage.

#### D15-RT-006 — Recommendation diff preview support
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: support for current-vs-proposed artifact diff previews.

#### D15-RT-007 — Room-facing recommendation adapter and invalidation *(R2 addition)*
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: route or adapter contract for room-facing recommendation retrieval, `RecommendationDiffViewModelSchema`, `RecommendationInvalidationStateSchema`, source-node and evidence-grade propagation.
- Note: DOC15 does not own mutation execution, but its recommendation payloads must preserve enough identity and pre/post-state references for DOC11/DOC14 mutation envelopes.

### 3D. DOC8 Delta Register

#### D8-RT-001 — Shared prompt variant artifact family acceptance
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: `PromptVariantSchema`, shared import hygiene.

#### D8-RT-002 — Prompt assignment artifact
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: `PromptAssignmentSchema`.

#### D8-RT-003 — Replay trial artifact and evaluation contract
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: replay trial schema, evaluation input/output, holdout/golden-room requirements.

#### D8-RT-004 — Canary artifact and promotion/retirement lifecycle
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: canary lifecycle and promotion/retirement rules.

#### D8-RT-005 — Critic-strength ranking artifact (advanced)
- Priority: P2
- Phase: Phase 1+
- Status: pending
- Ship gate: no
- Required addition: conditioned rating artifact.

#### D8-RT-006 — Minimum prompt-learning stub for DOC14 production
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: enough ingestion/state to make prompt observations real instead of decorative.

#### D8-RT-007 — Scoring-version / novelty / prompt-method ingestion
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: store and query these enriched observation fields.

#### D8-RT-008 — Bulk topology-outcome ingestion endpoint
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: explicit owner-doc ingestion surface for room-close outcome signals.

### 3E. DOC10 Delta Register

#### D10-RT-001 — Authority rows for red-team commands
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: authority rows for judgment, batch judgment, promote cache, adjudicate, lineage, child-room launch/import, convergence override.

#### D10-RT-002 — Prompt-artifact lifecycle authority rows
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: proposal/apply/revert/canary/promotion authority rows.

#### D10-RT-003 — Telemetry registration rows
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: explicit rows for all canonical DOC14 red-team events.

#### D10-RT-004 — Route trace correlation requirements
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes
- Required addition: required correlation fields across room events and optimizer observations.

#### D10-RT-005 — Canonical event dictionary registration
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: alignment of event dictionary between DOC14 shared contracts and DOC10 ledger.

### 3F. DOC13 Delta Register

#### D13-RT-001 — Room/participant cost tagging inputs
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: cost tagging dimensions compatible with room/participant/reporting.

#### D13-RT-002 — Supervision-cost snapshot primitive
- Priority: P0
- Phase: Phase 0 Core
- Status: pending
- Ship gate: yes for advanced learning, no for baseline runtime
- Required addition: snapshot primitive consumable by DOC14.

#### D13-RT-003 — Launch-time estimate support for red-team configurator
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: estimate inputs / preflight cost preview.

#### D13-RT-004 — Batch-review / evaluation estimate hints
- Priority: P2
- Phase: Phase 1
- Status: pending
- Ship gate: no
- Required addition: estimated supervision effort hints.

#### D13-RT-005 — Red-team configurator cost-estimate route *(R2 addition)*
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: cost estimation query compatible with `ConfiguratorStateViewModelSchema.estimated_cost_usd` and `cost_estimate_state`.

### 3G. DOC17 Alignment Register

#### D17-RT-001 — Shared prompt-artifact family alignment
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted_with_modification
- Ship gate: yes
- Required addition: shared import of prompt-artifact enums/contracts.

#### D17-RT-002 — No duplicate optimizer authority
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted
- Ship gate: yes
- Required addition: keep Prompt Lab proposal-only and DOC8-owned lifecycle.

#### D17-RT-003 — Overlay / prompt-recipe / rewrite observation emission alignment
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted_with_modification
- Ship gate: yes
- Required addition: observation emission aligned to shared envelope.

#### D17-RT-004 — Active overlay ids / recipe ids alignment across contracts
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted_with_modification
- Ship gate: yes
- Required addition: exact field naming parity across docs.

#### D17-RT-005 — Overlay + recipe conflict detection semantics
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: deterministic collision/precedence semantics when both are active.

#### D17-RT-006 — Shared-import cleanup (no local enum duplication)
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: remove duplicated local enum definitions in favor of shared contracts.

### 3H. DOC16 Sync Register

#### D16-RT-001 — Child rooms remain must-have scope
- Priority: P0
- Phase: Phase 0 Core
- Status: accepted
- Ship gate: yes
- Required addition: keep child rooms as must-have compatibility scope.

#### D16-RT-002 — Litigation / linked-room implementation sequence update
- Priority: P1
- Phase: Phase 0 Core
- Status: accepted
- Ship gate: no
- Required addition: preserve broader linked-room wave sequencing outside DOC14.

#### D16-RT-003 — Cross-reference update after owner-doc acceptance
- Priority: P1
- Phase: Phase 0 Core
- Status: pending
- Ship gate: no
- Required addition: keep DOC16 synced after owner-doc acceptance.

### 3I. DOC6 / DOC4 / DOC3 Notes
- D6-RT-001 — room-backed panel bridge acceptance (pending, not blocking DOC14 core)
- D4-RT-001 — starter visible agent profiles for first-party packs (pending, not blocking DOC14 core)
- D3-RT-001 — legal research capability family (pending, linked to later workflow wave)

## 4. Action Wiring Catalog

| UI action | Route / command | Owner doc | Durable write | SSE / event | Read model refreshed | Blocking dependency |
|---|---|---|---|---|---|---|
| Accept finding | `POST /api/rooms/:roomId/findings/:findingId/judgments` | DOC12 | judgment log + findings projection | `room.finding.judged` | findings panel | DOC12 |
| Batch review | `POST /api/rooms/:roomId/findings/judgments:batch` | DOC12 | batch op log + findings | `room.batch_judgment.progress` | findings panel + footer | DOC12 |
| Retry failed batch rows | same batch route or recovery route | DOC12 | batch op log + recovery | `room.batch_judgment.reconciled` | batch footer | DOC12 |
| Promote cached finding | `POST /api/rooms/:roomId/findings/cache/:cacheEntryId/promote` | DOC12 | cache + findings | `room.finding.promoted_from_cache` | findings + cache drawer | DOC12 |
| Adjudicate finding | `POST /api/rooms/:roomId/findings/:findingId/adjudications` | DOC12 | adjudication log + finding projection | `room.finding.adjudicated` | detail modal + findings panel | DOC12 |
| Open lineage trail | `GET /api/rooms/:roomId/findings/:findingId` | DOC12 | n/a | none | finding detail modal | DOC12 |
| Launch child red-team | `POST /api/rooms/:roomId/child-redteam-launch` | DOC12 | linked room + child selection projection | `room.child.created` | child-room navigator | DOC12 + DOC11 |
| Preview child effective plan | `POST /api/rooms/:roomId/child-redteam/preview` | DOC12 | n/a (read-only computation) | none | child launch modal preview | DOC12 |
| Import child results | `POST /api/rooms/:roomId/child-redteam-imports` | DOC12 | import-back status + finding refs | `room.child.imported_back` | parent room summary / findings | DOC12 |
| Open review-target anchor | `GET /api/rooms/:roomId/review-target/anchors/:anchorId` | DOC12 | n/a | none | review target viewer | DOC12 |
| Open review-target chunk | `GET /api/rooms/:roomId/review-target/chunks/:chunkId` | DOC12 | n/a | none | review target viewer | DOC12 |
| Search review target | `POST /api/rooms/:roomId/review-target/search` | DOC12 | search query log optional | `room.review_target.search_performed` | review target viewer | DOC12 |
| Manual extract | `POST /api/rooms/:roomId/unparsed-contributions/:contributionId/extract` | DOC12 | unparsed → finding + audit | `room.finding.created` | findings + cache drawer | DOC12 |
| Edit/rewrite finding | `POST /api/rooms/:roomId/findings/:findingId/edit` | DOC12 | edit audit + finding version update | `room.finding.status_changed` | finding detail modal | DOC12 |
| Preview recommendation | `GET /api/rooms/:roomId/recommendations` | DOC15 + DOC11 | n/a | optional | configurator / preview card | DOC15 + DOC11 |
| Preview recommendation diff | `GET /api/rooms/:roomId/recommendations/:recommendationId/diff` | DOC15 + DOC11 | n/a | none | diff preview modal | DOC15 + DOC11 |
| Open recommendation source | `GET /api/rooms/:roomId/recommendations/:recommendationId/source` | DOC15 | n/a | none | source signal panel | DOC15 |
| Apply recommendation | `POST /api/rooms/:roomId/recommendations/:recommendationId/apply` | DOC15+DOC11 | mutation envelope + truth update | `room.prompt_artifact.recommendation_applied` | prompt-plan drawer + preview card | DOC11 + DOC15 |
| Revert recommendation | `POST /api/rooms/:roomId/recommendations/:recommendationId/revert` | DOC15+DOC11 | mutation envelope + truth update | `room.prompt_artifact.recommendation_reverted` | prompt-plan drawer + preview card | DOC11 + DOC15 |
| Override convergence | `POST /api/rooms/:roomId/convergence/override` | DOC12 | convergence override record | `room.convergence.overridden` | convergence view / banner | DOC12 |
| Generate findings export | `POST /api/rooms/:roomId/exports/findings-pack` | DOC12+DOC10 | export artifact write / job | optional | post-run summary | DOC12 |
| Generate review outcome export | `POST /api/rooms/:roomId/exports/review-outcome` | DOC12+DOC10 | export artifact write / job | optional | post-run summary | DOC12 |
| Generate decision pack export | `POST /api/rooms/:roomId/exports/decision-pack` | DOC12+DOC10 | export artifact write / job | optional | post-run summary | DOC12 |
| Preview target binding | `POST /api/redteam/preview-target-binding` | DOC14 + DOC12 | n/a (read-only) | none | configurator target preview | DOC12 + DOC13 |

## 5. UI Dependency Matrix

| UI surface | Needs route? | Needs read model? | Needs SSE? | Needs companion support? |
|---|---:|---:|---:|---|
| Room Configurator | yes | yes | maybe | DOC12 + DOC13 + DOC15 + DOC11 |
| Findings Batch Review | yes | yes | yes | DOC12 |
| Batch Review Recovery Footer | yes | yes | yes | DOC12 |
| Finding Detail Modal | yes | yes | yes | DOC12 |
| Critique Cache Drawer | yes | yes | yes | DOC12 |
| Unparsed Contributions List | yes | yes | no | DOC12 |
| Review Target Viewer | yes | yes | maybe | DOC12 + DOC11 |
| Review Target Search Results | yes | yes | no | DOC12 |
| Prompt Plan Drawer | yes | yes | yes | DOC11 + DOC12 |
| Prompt Artifact Recommendation Preview | yes | yes | maybe | DOC15 + DOC11 |
| Recommendation Diff Modal | yes | yes | maybe | DOC15 + DOC11 |
| Recommendation Source Panel | yes | yes | no | DOC15 |
| Child-Room Launch Modal | yes | yes | maybe | DOC12 + DOC11 + DOC17 |
| Child Effective Plan Preview | yes | yes | maybe | DOC12 + DOC11 |
| Post-run Summary | yes | yes | maybe | DOC12 + DOC11 + DOC15 + DOC13 |
| Unpatchable Insights Panel | yes | yes | no | DOC12 |
| Convergence Banner/Modal | yes | yes | yes | DOC12 |
| Health Chip + Drilldown | yes | yes | yes | DOC12 |
| Export Controls | yes | yes | maybe | DOC12 + DOC10 |
| Configurator Cost Preview | yes | yes | maybe | DOC13 |

State inventory required for every surface:
- loading
- empty (if applicable)
- populated
- degraded
- blocked
- error
- stale (if applicable)

General UI rule:
- no phantom buttons
- no fake badges
- no decorative "unavailable" data dumps
- if a dependency is absent, omit or reduce the section honestly

Required state inventory for every surface:
- loading
- empty
- populated
- degraded
- blocked
- error
- stale (if applicable)

## 6. Lifecycle / State-Machine Matrix

| Lifecycle | Owner doc | Exists now? | Required for DOC14? | Current R2 read |
|---|---|---:|---:|---|
| Finding lifecycle | DOC14 + DOC12 | yes (partial) | yes | command family accepted; disposition-to-state map fixed in R7; guard matrix in DOC14 Appendix D |
| Adjudication lifecycle | DOC14 + DOC12 | yes (partial) | yes | minimal path landed; response/detail closure still open |
| Lineage lifecycle | DOC14 + DOC12 | yes (partial) | yes | upsert/query path landed; verification discipline still open |
| Review-target binding lifecycle | DOC12 + DOC11 | yes (partial) | yes | room projection landed; runtime truth still pending |
| Prompt recommendation lifecycle | DOC15 + DOC11 + DOC8 | no | yes | still open |
| Child-room launch / import-back lifecycle | DOC12 + DOC11 | yes (partial) | yes | launch/import path landed; resolver real code in R7; preview route still pending |
| Batch judgment recovery lifecycle | DOC12 | no | yes | schema defined in R7; retry route still pending |
| Prompt artifact lifecycle | DOC8 + DOC17 + DOC11 | no | yes | still open |
| Manual extract lifecycle | DOC14 + DOC12 | yes (partial) | yes | schemas and routes defined in R7; DOC12 route still pending |
| Edit/rewrite lifecycle | DOC14 + DOC12 | yes (partial) | yes | audit schema defined in R7; DOC12 route still pending |
| Export generation lifecycle | DOC14 + DOC12 | yes (partial) | yes | request/response defined in R7; DOC12 routes still pending |
| Recommendation apply/revert lifecycle | DOC15 + DOC11 | no | yes | mutation envelope defined in R7; DOC15/DOC11 still open |

## 7. Capability and Ship Gates

- If DOC11 prompt truth is missing → prompt-plan details omitted (single explanatory line); recommendation apply/revert disabled; baseline prompting only.
- If DOC12 batch judgment route is missing → batch review disabled.
- If DOC12 child-room launch route is missing → `Red-team this draft` disabled.
- If DOC12 child effective-plan preview route is missing → restrict child launch to explicit-only safe modes or show degraded preview.
- If DOC12 anchor/chunk/search routes are missing → review target viewer falls back to limited mode with disclosure.
- If DOC15 recommendation retrieval is missing → recommendation preview omitted or replaced by one explanatory line (no fake working card).
- If DOC8 replay/canary lifecycle is missing → prompt learning remains observational only.
- If DOC13 estimate input is missing → no cost preview; supervision-cost rollup degraded.
- If DOC17 shared-import cleanup is missing → shared package must remain canonical and docs must not locally diverge.
- If export routes are missing → export buttons hidden or disabled with explanation.

General rule: no phantom buttons, no fake badges, no decorative dead shells. If a dependency is absent, omit or reduce the section honestly.

## 8. Implementation Order

### Recommended revision order after R2
1. DOC12 R7.1+ closure for open route/read-model/SSE gaps (D12-RT-022 through D12-RT-028).
2. DOC11 prompt truth revision (D11-RT-001 through D11-RT-009).
3. DOC15 room-facing recommendation adapter (D15-RT-001 through D15-RT-007).
4. DOC10 authority / telemetry ledger rows (D10-RT-001 through D10-RT-005).
5. DOC13 estimate + supervision-cost revision (D13-RT-001 through D13-RT-005).
6. DOC8 minimum prompt-learning lifecycle stub (D8-RT-001 through D8-RT-008).
7. DOC14 R7 integration refinement if needed.
8. DOC17 cleanup/alignment pass if shared-import or conflict-detection deltas remain.

### Why this order
DOC12 R7.1 already covers the core room-side substrate. The next blockers are DOC11 (prompt truth), DOC15 (recommendations), and DOC10 (authority/telemetry). DOC14 is strongest when it references accepted owner-doc reality rather than speculating.

## 9. Working Notes for DOC14 R7

### 9.1 DOC14-local closure notes carried by R7
These are DOC14-local items that are now resolved in R7 and no longer treated as open owner-doc deltas:
- storage-path registry
- evidence-gate algorithm
- convergence algorithm (measures creation, not acceptance)
- context-symmetry epoch algorithm
- selectMaterializationMode real implementation
- appendMaterializationTools tool injection
- ghost-judgment rubric
- configurator state view model
- batch recovery view model
- export request/response contracts
- recommendation source view model and blocked-reason handling
- typed event payload schemas for the canonical event family
- phantom-UI rule made normative
- no-placeholder rule made normative
- scoring weight table with v1 baseline weights
- emitPromptObservationFromJudgment adapter fully wired
- FINDING_STATE_FROM_DISPOSITION used in handler (four-revision bug fixed)
- finding_severity added to FindingJudgmentSchema
- event_bundle added to PostTurnResultSchema
- PromptObservationEmitSchema enrichment fields added
- child-room resolver real implementation (24 mode combinations)
- Save Preset phase-gated out of Phase 0 active UI

### 9.2 Still-open obligations
- DOC11 prompt truth (primary blocker for Phase 1+)
- DOC15 room-facing recommendation retrieval/apply adapter
- DOC8 minimum lifecycle / replay / canary stub
- DOC10 authority / telemetry / route-trace rows
- DOC13 cost and supervision-cost primitives
- DOC12 remaining open rows (event-bundle SSE consumption, child preview route, import-back idempotency, anchor/chunk/search parity, batch recovery closure)

## 10. Final stance

R2 is the operative cross-document governance companion for DOC14 R7.

DOC12 is no longer the main uncertainty. The core room-side substrate is accepted. The main open blockers are:
1. **DOC11** truth surfaces (prompt-plan, trim reasons, candidate-apply gates, packet truth),
2. **DOC15** room-facing recommendation retrieval/apply adapter,
3. **DOC8** minimum prompt-learning lifecycle stub,
4. **DOC10** authority / telemetry / route-trace rows,
5. **DOC13** cost and supervision-cost primitives.

All row IDs in this companion are unique. No duplicate numbering. All R5.2/R1.2 structure is preserved. All R7 additions are clearly marked. Nothing accepted has been dropped.