# Roadmap: v1.95 L2 Promotion Pipeline Closure

## Result

`v1.95` closed successfully.

## Phases

- [x] **Phase 169: L2 Canonical Schema Extension**
- [x] **Phase 169.1: L2 Promotion Bridge Code**
- [x] **Phase 169.2: HCI Foundation**

## Target Outcome

- L4→L2 promotion pipeline is structurally complete: every unit type that can
  reach L4 (including `negative_result`) has a defined staging→canonical path
- runtime proof schemas now have explicit promotion-facing package mirrors and
  bridge wiring so downstream promotion decisions can inspect them honestly
- promotion support modules now expose and validate runtime schema context
- the human front door now has bounded `status`, zero-config `hello`, and one
  explicit post-bootstrap next-action hint

## Completion Summary

`v1.95` closed by first repairing the missing canonical and package schema
surfaces for promotion, then wiring runtime proof-packet context into
promotion gates and auto-promotion checks, and finally tightening the operator
front door so the next real E2E run is easier to read and continue.

### Phase 169: L2 Canonical Schema Extension

**Goal:** Extend the canonical schema so every unit type that reaches L4 has a
valid `unit_type` enum entry, and mirror runtime proof schemas onto the
package schema surface.
**Depends on:** `v1.94`
**Plans:** 1 plan

Plans:

- [x] `169-01` Add `negative_result` to canonical-unit.schema.json and create
  runtime proof schema mirrors

### Phase 169.1: L2 Promotion Bridge Code

**Goal:** Wire runtime proof schema context into promotion support modules and
add one dedicated bridge module for runtime proof artifacts.
**Depends on:** Phase `169`
**Plans:** 1 plan

Plans:

- [x] `169.1-01` Add runtime schema loading and bridging to all three promotion
  support modules

### Phase 169.2: HCI Foundation

**Goal:** Make the status / hello / bootstrap front door easier to read and
act on during bounded topic work.
**Depends on:** `v1.94`
**Plans:** 1 plan

Plans:

- [x] `169.2-01` Add structured status output, hello command, and post-bootstrap
  action guidance

## Milestone Summary

**Key accomplishments:**

- `negative_result` now has an active canonical schema path instead of
  stopping at staging-only vocabulary
- the runtime proof packet contracts now also ship in the package-local
  `research/knowledge-hub/schemas/` surface
- promotion gates and auto-promotion now expose and validate runtime proof
  packet schema context through a dedicated bridge module
- the human front door now has tiered `status`, a zero-config `hello`, and a
  durable post-bootstrap next-action hint

**Issues deferred:**

- one full real-topic `L0 -> L4 -> L2` promotion proof remains deferred
- one `negative_result` end-to-end promotion proof remains deferred
- broader packaging and command-group cleanup remain outside this milestone

_For current project status after milestone closure, start the next milestone
with `$gsd-new-milestone`._
