The pinned artifact carried verdict counts only. The runner's docstring
justified that: prose is "presentation, not decision", so the pinned bytes
"stay stable against wording-only changes; wording is covered by
tests/test_deduction_surface.py."
Measured, that justification was false. With render._display_noun sabotaged
so every clause reads "all SABOTAGE_dogs are SABOTAGE_animals":
11 lane SHA pins -> 11/11 byte-identical, blind
test_deduction_serve_lane + _license -> 20 passed, blind
tests/test_deduction_surface.py -> 41 passed, blind
(the named wording guard)
evals/grammar_roundtrip -> RED, the only witness
So CORE's user-visible output was unguarded by its own hash pins, which is
how the ratified v1b band served "all dog are mammal" for the entire arc
with wrong=0 intact.
build_report now emits surface_sha256 + per-case surfaces from the real
deduction_grounded_surface — the same call chat serving makes, so what is
hashed is what a user reads. Note build_combined_report re-projects five
named fields per split, so a field added to build_report alone never reaches
the pinned bytes; both had to change. The payload is not the report.
Surfaces are recorded, not just digested, so a moved pin shows the exact
sentence that changed in review instead of an opaque hash to go re-derive.
2,766 -> 37,280 bytes.
deduction_serve_v1 under sabotage: BEFORE byte-identical (blind)
AFTER 52370b73 vs c855d55c (RED)
Re-pinned surgically, one line, old hash recorded beside it, never --update.
Verdicts untouched: 166/166 correct, wrong=0. The hash moved because the
payload grew.
test_surface_hash_moves_when_the_renderer_is_sabotaged makes it permanent:
it corrupts the renderer, requires a digest to move, AND asserts the
aggregate counts are unchanged — proving the digest tracks PROSE rather than
smuggling in a decision change. A pin that cannot fail guards nothing.
Accepted cost: wording-only changes now move this pin. That is the intent —
a wording change IS a user-visible change and should require a deliberate
re-pin. The other 10 lanes are untouched; deduction_serve was fixed because
it is the one demonstrably serving prose to users.
[Verification]: in-worktree on CPython 3.12.13, uv sync --locked —
smoke 621 unchanged; deductive 405 (403 + 2 new);
scripts/verify_lane_shas.py 11/11 with the new pin, and 10/11 (RED on
deduction_serve_v1) under the sabotage it previously could not see.
|
||
|---|---|---|
| .. | ||
| adr | ||
| agents/grok | ||
| analysis | ||
| architecture | ||
| audit | ||
| benchmarks | ||
| briefs | ||
| curriculum | ||
| decisions | ||
| evals | ||
| examples | ||
| handoff | ||
| handoffs | ||
| implementation | ||
| issues | ||
| lab | ||
| outreach | ||
| paradigm-archive | ||
| plans | ||
| research | ||
| sessions | ||
| specs | ||
| workbench | ||
| zig | ||
| 3lang-depth-pr-plan.md | ||
| admissibility-exemplars.md | ||
| ci-optimization.md | ||
| core-rd-base-prompts.md | ||
| ethics_packs.md | ||
| EVAL_AUDIT_2026-05-20.md | ||
| eval_methodology.md | ||
| frontier_baselines.md | ||
| gaps.md | ||
| handoff_template.md | ||
| hitl-backpressure.md | ||
| holdout_recipients.txt | ||
| identity_packs.md | ||
| master-plan-post-substrate-audit.md | ||
| memo.html | ||
| model_dependency_size_tally.md | ||
| pack_inventory_2026-05-21.md | ||
| position_paper.md | ||
| PROGRESS.md | ||
| README.md | ||
| recognizer-registry.md | ||
| refusal-taxonomy.md | ||
| reviewers.yaml | ||
| RUST.md | ||
| safety_packs.md | ||
| sponsors.md | ||
| teaching_order.md | ||
| test-debt-quarantine.md | ||
| testing-lanes.md | ||
| Whitepaper.md | ||
| Yellowpaper.md | ||
CORE Documentation Index
This is the central index for all documentation in the CORE project.
Canonical Root Documents
- Whitepaper.md - The CORE architectural and philosophical whitepaper.
- Yellowpaper.md - Technical specifications and mathematical formulation of the CORE engine.
- PROGRESS.md - High-level project progress tracking.
- specs/runtime_contracts.md - Critical invariants and bounds for the runtime execution flow.
Directories
Architecture & Design
- adr/ - Architecture Decision Records (ADRs). The canonical history of all ratified engineering choices.
- architecture/ - High-level architectural documents (e.g., pipelines, schemas).
- analysis/ - Deep dives and master plans for structural changes.
- specs/ - Detailed technical specifications and invariants.
Planning & Progress
- plans/ - Capability roadmaps and implementation plans.
- briefs/ - Project briefs and scoping documents for upcoming work.
- issues/ - Detailed issue analyses and technical reproductions (not standard trackers).
- audit/ - Audit reports and claims ledgers.
Operations & Usage
- examples/ - Usage examples and reference integrations.
- workbench/ - Documentation for the CORE workbench UI and related tooling.
- agents/ - Agent-specific operational guides.
Note regarding
agents/grok/: Operational guide for using Grok 4.3 + Grok Build with CORE. This is not architecture documentation.
Learning & Evaluation
- curriculum/ - Documentation on the teaching/learning order and knowledge progression.
- evals/ - Evaluation methodology and performance criteria documentation.
- benchmarks/ - Benchmark evidence and performance tracking logs.
Historical & Experimental
- sessions/ - Chronological session logs documenting the "decision trail" and intellectual history of major choices.
- handoffs/ - Legacy brief, audit, and investigation notes (historical; the formal HANDOFF mechanism is retired — see AGENTS.md for the current lightweight
session-break-summary-<DATETIME>.mdconvention). - research/ - Raw research notes and preliminary findings.
- lab/ - Experimental content (Warning: Not ratified; must not be referenced as authoritative in production PRs).