core/docs
Shay ce6b2f5173
docs(ADR-0170): injector contract widening + DCS-S1 schema-gap finding (#372)
DCS-S1 (proper-noun possession sub-shape expansion) investigation
revealed that the recognizer-injector path's `CandidateInitial`-only
return type is a substrate-level constraint blocking four Wave-Next
sub-shape categories — not just one.

## Two artifacts

1. **`docs/handoff/DCS-S1-FINDING.md`** — investigation result. Of
   the 21 DCS-refused GSM8K cases, zero are pure S1-only blockers.
   Acquisition-verb expansion (`collected`, etc.) conflicts with
   ADR-0131.G.1's branch-disagreement discipline. The right fix is
   the DCS injector emitting `CandidateOperation(add)`, but the
   `inject_from_match` return type doesn't allow that.

2. **`docs/decisions/ADR-0170-injector-contract-widening.md`** —
   scoping ADR. Names the contract change, the four categories it
   unblocks (DCS-S1 acquisition, A1 currency, A3 multiplicative,
   A4 temporal), the three load-bearing rules it must preserve
   (ADR-0131.G.1, SentenceChoice union, admissibility gates), and
   a 5-step implementation outline.

## Pattern recognised

Wave-Next surfaced four schema gaps. All four trace to the same
constraint: per-category injectors can only emit `CandidateInitial`.
The right next-capability work is ADR-0170 ratification, then a
small no-behavior-change PR widening the contract, then per-injector
follow-up PRs against the widened contract.

That is the actual lift-per-risk path for GSM8K Round-1 closure.

## Test plan

Docs-only. No code, no test, no eval, no pack change.

## Cross-references

- ADR-0163.D.2 — original parsed_anchors → solver-state ADR
- ADR-0131.G.1 — branch-disagreement discipline ADR-0170 preserves
- ADR-0167 — parallel teaching-corridor mechanism (independent)
- ADR-0167-FOLLOWUPS §7 — Wave-Next findings backlog
- WAVE-NEXT-REVISED — parent plan; ADR-0170 is the upstream blocker
- PR #369 — A2's schema-refusal artifact (first observation of gap)
2026-05-27 10:51:46 -07:00
..
adr
architecture
audit fix(phase2): close W-006/W-010/W-013/W-014/W-019 operator decisions (#270) 2026-05-25 11:34:19 -07:00
briefs feat(W-019): learning-arc demo — engine-authored proposal from contemplation (ADR-0152) (#276) 2026-05-25 13:03:10 -07:00
curriculum
decisions docs(ADR-0170): injector contract widening + DCS-S1 schema-gap finding (#372) 2026-05-27 10:51:46 -07:00
evals
handoff docs(ADR-0170): injector contract widening + DCS-S1 schema-gap finding (#372) 2026-05-27 10:51:46 -07:00
handoffs docs(handoff): Brief 11 — Phase 2 reader closure + capability snapshot sequencing (#342) 2026-05-27 05:03:40 -07:00
implementation
plans docs(plan): add CORE general advancement path (#314) 2026-05-26 18:32:08 -07:00
sessions docs(session): 2026-05-26 corridor closure — first GSM8K lift + workbench operational (#305) 2026-05-26 13:49:08 -07:00
workbench feat(W-028): chat surface + trace drawer (#303) 2026-05-26 13:22:11 -07:00
admissibility-exemplars.md feat(ADR-0163.B.2): four new exemplar corpora — discrete_count_statement, multiplicative_aggregation, currency_amount, plus temporal_aggregation v2 widening (#306) 2026-05-26 14:36:59 -07:00
capability_roadmap.md
ethics_packs.md
EVAL_AUDIT_2026-05-20.md
eval_methodology.md
formation_pipeline_plan.md
frontier_baselines.md
gaps.md
hitl-backpressure.md feat(ADR-0161.3): submission-time invariants — duplicate + dependent_on_pending auto-reject (#313) 2026-05-26 16:46:25 -07:00
holdout_recipients.txt
identity_packs.md
master-plan-post-substrate-audit.md docs(session): 2026-05-26 corridor closure — first GSM8K lift + workbench operational (#305) 2026-05-26 13:49:08 -07:00
pack_inventory_2026-05-21.md
PROGRESS.md docs(session): 2026-05-26 corridor closure — first GSM8K lift + workbench operational (#305) 2026-05-26 13:49:08 -07:00
recognizer-registry.md feat(ADR-0163.D): wire ratified RecognizerSpecs into math_candidate_graph admissibility surface (#302) 2026-05-26 13:11:47 -07:00
refusal-taxonomy.md feat(ADR-0163.A): refusal taxonomy lane — shape categorization of GSM8K admissibility gaps (#297) 2026-05-26 11:27:11 -07:00
reviewers.yaml fix(quarantine): drain all 60 quarantined tests — QUARANTINE=∅ (#267) 2026-05-25 11:22:12 -07:00
runtime_contracts.md
RUST.md
safety_packs.md
teaching_order.md
test-debt-quarantine.md ci: full-pytest gate + QUARANTINE registry (49 known failures, uv) (#263) 2026-05-25 06:21:04 -07:00
truth_seeking_schema.md
Whitepaper.md
Yellowpaper.md