# Executable Product Projections

Last updated: 2026-07-26

The three product contracts now produce concrete, generated navigation
artifacts rather than only describing intended audiences. They still share the
canonical Quarto chapters, source inventory, claim records, proofs, tests, and
release state. No projection is allowed to become a second authority.

## Narrative technical book

`products/narrative_product_spine.json` defines a 22-unit thesis-to-method
route. Each unit uses one representative canonical chapter while routing its
compound and specialist owners through the complete reference. Each selected
chapter has one canonical core-claim reference and three explicit projections:
a plain-language thesis for comprehension, a normative engineering rule for
design responsibility, and a bounded machine contract with a noninheritance
boundary. It also carries one reader question, running example, strongest
objection, failure story, evidence that would change the conclusion, and
handoff. The reader generator places all three projections in the opening
orientation instead of asking one overloaded core-claim sentence to serve
human, normative, and machine interfaces. It can materialize the bounded
candidate with:

```bash
python3 scripts/build_reader_edition.py \
  --narrative-spine products/narrative_product_spine.json \
  --output build/narrative_product
```

The generated orientation is derivative editorial navigation. It adds no
evidence and changes no support state. The other 65 chapters remain visible in
the architecture reference and are not rejected or deleted. The candidate is
not a reviewed reader release; here, "reviewed" means that the final artifact
gates have not yet been run, not that external-human review is required.
Final-candidate continuity, repetition, accessibility, figure, and format
gates still apply. No external-human review is a prepublication requirement.

`products/narrative_unit_crosswalk.json` assigns every canonical chapter to
exactly one unit. The generated product page now expands each unit into its
specialist reference-owner list and gives every one of the 65 owners a direct
Human-view chapter link. Each route also states the owner's canonical distinct
responsibility, claim identity, claim label, and current support ceiling. This
changes routing, not ownership: representative
chapters do not absorb the sources, claims, evidence, or authority of their
specialist owners. The root projection manifest binds the crosswalk digest,
and product validation rejects omitted, hidden, stale, support-inflated, or
multiply assigned owners.

`products/narrative_running_example_trace.json` makes the running example
cumulative rather than thematic. It begins with one human repository-change
request and adds one distinct artifact at each unit, including the
responsibility map, cost ledger, authority/failure map, claim record,
constitutional disposition, replacement contract, command and plan,
world-model reconciliation, semantic IR, context and memory records,
verification and claim review, typed work and observed effects, substrate and
development records, readiness/liveness decision, lifecycle-cost ledger,
integrated trace, and book-change record. It is regenerated by
`python3 scripts/build_narrative_running_example.py`; every step consumes only
artifacts already carried forward and hands off to the next unit.

`python3 scripts/validate_narrative_running_example.py` checks all 22 editorial
contracts, including the three projections and each machine contract's
noninheritance boundary, plus canonical selection order, scenario continuity,
23 cumulative artifact identities, prior causes, handoffs, and the
no-promotion/no-release boundary. Six controls reject order drift,
cumulative-state reset, an unknown consumed artifact, a skipped handoff,
duplicate output identity, and editorial continuity presented as support or
release approval.

The earlier 15-chapter candidate's 20-page/40-view browser receipt remains
historical. The new candidate has its own 27-page HTML render and passed 54
desktop/mobile page-view pairs, recorded in
`docs/c1_c8_22_unit_reader_render_review_2026_07_25.md`. Authorial
meaning-preservation, synthesis-figure, and automated accessibility-preparation
checks are complete. Final line editing, full accessibility conformance,
reader comprehension, and EPUB/PDF/DOCX/audio quality remain publication
work.

## Architecture reference specification

The generated architecture route is a complete 87-chapter lookup index in
canonical manifest order. Every row carries the canonical chapter and
core-claim identity, distinct responsibility, claim label, support ceiling,
and assignment to one of the three defended contributions. Protocol schemas,
implementation horizons, and the glossary remain supporting routes.
Completeness of the index does not establish a deployed implementation or
architecture quality.

## Evidence, proof, and release registry

The evidence route begins from the canonical status and groups claim, source,
proof, test, replay, release, review, and residual surfaces. Repository-backed
JSON and Markdown records are copied into the projection as content-addressed
snapshots with SHA-256 digests; rendered Quarto pages remain links to their
owning public surfaces. A snapshot proves byte identity only, not claim truth,
reviewer competence, or open-world record faithfulness.

## Build and release integration

After a clean Quarto render and canonical-status build, release CI runs:

```bash
python3 scripts/build_product_projections.py \
  --output _site/products \
  --status _site/status/canonical-public-status.json
```

The product pages are therefore created before the moving `/latest/` mirror
and tested-site bundle are hashed. The deployment workflow still consumes only
the exact tested bundle; it does not rebuild product pages.

## Validation boundary

`scripts/validate_product_projections.py` regenerates all projections and the
bounded reader source in temporary workspaces. It checks canonical order,
complete routing, all three generated orientation projections, explicit
machine-contract noninheritance, source digests, canonical counts, and
unchanged `argument` support. Eight mutation controls reject a 23-unit
narrative, a missing machine contract, a substantial-looking machine contract
without a noninheritance boundary, out-of-order selection, a changed evidence
snapshot, a specialist owner hidden from its unit, a stale responsibility, and
an inflated support state. With `--site _site`, it also checks the
rendered canonical-status binding, product manifests and pages, every chapter
target, every visible specialist-owner link, every rendered evidence route,
content-addressed snapshots, the current crosswalk digest, and the presence of
the product manifest inside the moving `/latest/` mirror.

These controls establish projection consistency. They are not independent
editorial review, artifact approval, empirical architecture evidence, or a
chapter-core support transition.
