core/docs/adr/ADR-0195-product-promotion-bridge.md
Shay 54e6bfc0d0
docs: reorganize docs landscape
Implements the 4-phase documentation reorganization master plan.

- Consolidation: Merged brief/, handoff/, planning/, and decisions/ into briefs/, handoffs/, plans/, and adr/ respectively (101 ADRs relocated)
- Root Cleanup: Relocated HANDOFF-gpt55-*.md and key top-level docs (runtime_contracts.md, etc.) to canonical folders. Added superseded alerts.
- Indices & Navigation: Created docs/README.md navigation document, docs/sessions/README.md index, docs/adr/README.md index
- Note: Also includes prior commit adding ADR-0200+ corpus hygiene governance (ADR-0225, dependency map, backfilled cross-references)
2026-06-30 16:59:36 -07:00

1.5 KiB

ADR-0195 — Product Promotion Bridge

Status: Accepted / Implemented. Date: 2026-05-30.

Decision

Promote only a narrow subset of the pooled derivation reader into the serving candidate-graph path: complete pure-product readings whose question asks for an aggregate product target, and whose surface lacks known non-product hazards.

This is not a wholesale import of resolve_pooled. The pooled reader solves GSM8K train-sample 0003 and 0021, but still commits eight known wrong products on the same 50-case sample. The bridge therefore acts as a correction gate over the pooled reader.

Guard

generate.derivation.product_bridge.resolve_promotable_product() admits only when:

  • resolve_pooled() resolves uniquely;
  • the selected derivation is classified complete;
  • every step is multiply and no step is a comparative scalar;
  • the question target is revenue/money-made or total moved weight;
  • hazard surfaces such as rate questions, percentages, residual state, profit/equation targets, same-amount group totals, and comma-number extraction gaps are absent.

Evidence

The official train-sample lane moves from 4/46/0 to 6/44/0:

  • newly correct: gsm8k-train-sample-v1-0003, gsm8k-train-sample-v1-0021;
  • wrong remains 0;
  • case 0050 remains refused;
  • the eight known pooled-reader wrong commits remain unpromoted.

The ADR-0126 exit threshold remains unmet (correct >= 10), so the runner still exits nonzero even though the metric improves.