Appends an 'Alternatives considered (recall / representation / packaging side)' addendum to ADR-550: the two NEW spec-phase-side rejections (the withdrawn LLM requirement classifier #652, and a deterministic prohibition-recall engine) plus cross-references to the two already-decided ones (no polarity field on truths — D3; deferred single dispatcher CLI — D7e). Enforcement-side alternatives stay in ADR-1606. Closes #1607.
This commit is contained in:
@@ -142,3 +142,40 @@ This ratifies the **deterministic SOURCE** for the test-tier `CheckDescriptor` t
|
||||
5. **Out of scope (unchanged boundaries).** Machine-proven fail-first (a violation-fixture / RuleTester-invalid proof replacing the `failFirst` caller attestation) stays tracked as **#1279**. The `dispositionForProhibition` green/fail-closed **policy** is untouched. No new check kinds are added.
|
||||
|
||||
Net effect on D3: the prohibition-item shape is extended with three optional, backward-compatible flat-scalar keys that give the test-tier locate a deterministic spec-phase source; the contract's CI-testable surface (D5) gains the projection round-trip parity (CHK-03), the fail-closed guard (CHK-06), and the byte-stable backward-compat fixture (CHK-07). The decision also lives in `src/probe-core.cts` / `src/prohibition-enforcement.cts` comments, the `verify-phase.md` / `spec-phase.md` prose, and the #1278 changeset.
|
||||
|
||||
## Addendum (2026-06-22) — Alternatives considered (recall / representation / packaging side)
|
||||
|
||||
This consolidates the spec-phase-side rejected and deferred alternatives for the probe family,
|
||||
so a re-proposal meets a recorded reason rather than a fresh debate. (The enforcement-mechanism
|
||||
alternatives — the flat-vs-nested descriptor, the inline violation snippet, `failFirst`
|
||||
attestation, and mandatory causation control — are recorded in **ADR-1606**, the
|
||||
prohibition-enforcement verify-time seam.)
|
||||
|
||||
- **A standalone LLM requirement *classifier* as a feature — REJECTED (#652, closed
|
||||
2026-06-04).** The enhancement "requirement classification in the spec phase should use an
|
||||
LLM-assisted classifier" was closed without approval: the edge-probe's shape taxonomy plus
|
||||
the prohibition probe's adversarial recall **already capture most of the value** a general
|
||||
classifier would, without adding a separate model-dependent surface to maintain. *Re-open
|
||||
only if* a classifier demonstrably beats both probes on a held-out battery.
|
||||
|
||||
- **A deterministic `prohibition-probe.cjs` recall engine — REJECTED.** Unlike the closed edge
|
||||
taxonomy, the prohibition recall stage is inherently LLM prose reasoning; only the
|
||||
schema/projection layer is real code (Decision 7b). A deterministic recall adapter is the
|
||||
scope-creep flagged in `gsd-core/references/prohibition-probe.md`; recall is validated
|
||||
offline (N18), not asserted in CI. *Re-open only if* recall can be made deterministic without
|
||||
collapsing the adversarial open-question that gives it model-robust reach.
|
||||
|
||||
- **A `polarity` field on `truths` — REJECTED (already decided — see Decision 3).** `truths`
|
||||
are positive observables with no `verify.cjs` handler; a prohibition parked there inherits
|
||||
non-enforcement. Recorded in Decision 3 ("`truths` is left untouched — no `polarity` field is
|
||||
added"); listed here only so the alternatives set is readable in one place.
|
||||
|
||||
- **A single dispatcher CLI for all probes — DEFERRED (already decided — see Decision 7e).**
|
||||
Each probe ships its own bin calling a shared `runProbeCli(...)`; a unified dispatcher is
|
||||
deferred as pure invocation plumbing with no migration debt. Recorded in Decision 7e; listed
|
||||
here only for completeness.
|
||||
|
||||
*Net:* the two NEW entries (#652 classifier, deterministic recall engine) are the only ones
|
||||
this addendum adds to 550's decision record; the other two are cross-references to existing
|
||||
decisions, collected so the probe family's full "alternatives considered" set is readable in
|
||||
one place.
|
||||
|
||||
Reference in New Issue
Block a user