feat(spec-phase): surface zero-classification edge-probe requirements as unclassified candidates (#1110) (#1117)
Edge-probe now surfaces a zero-classification requirement (non-empty prose, no shape cue matched, no `shapes` override) as a single soft `unclassified — review manually` candidate instead of silently dropping it — the exact blind spot the probe exists to catch. Dismissible like any edge; the `shapes: []` opt-out stays silent; `TAXONOMY` (the closed 8 categories) is unchanged. Under `--auto` the candidate is left `unresolved`, never auto-`backstop` (a missing shape is not evidence an edge exists). Closes #1110
This commit is contained in:
@@ -295,6 +295,9 @@ For each Requirement gathered so far:
|
||||
- **Dismiss (reason)** → mark `dismissed` with a required non-empty reason.
|
||||
- **Backstop with a test** → mark `backstop`; note "held-out edge test" for plan-phase.
|
||||
- **Defer** → leave `unresolved`.
|
||||
- An `unclassified` row (probe `unclassified — review manually`) means the requirement's
|
||||
prose matched no shape cue (#1110) — treat it like any other candidate (**Specify**,
|
||||
**Dismiss (reason)**, or **Defer**). A manual-review nudge, not a hard block.
|
||||
|
||||
**Soft gate (after resolving):**
|
||||
- All applicable edges resolved → proceed to Step 6.
|
||||
@@ -310,6 +313,14 @@ For each Requirement gathered so far:
|
||||
otherwise auto-`backstop` (never auto-dismiss — a wrong dismissal is the exact silent
|
||||
failure being eliminated). Log: `[auto] edge coverage: C covered, B backstop, U unresolved`.
|
||||
|
||||
**`unclassified` exception (#1110):** `--auto` leaves an `unclassified` candidate
|
||||
**`unresolved`** (the soft gate surfaces it as a flagged planner assumption) — it never
|
||||
auto-`backstop`s it. A missing shape is not evidence an edge exists, so minting a held-out
|
||||
edge obligation on a requirement that may be genuinely edge-free would be a false claim and
|
||||
risks a vacuous edge test. Leaving it `unresolved` keeps the zero-cue requirement visible
|
||||
(never a silent drop) without fabricating an edge — which is exactly #1110's purpose: surface
|
||||
it for review, do not auto-handle it.
|
||||
|
||||
Populate the `## Edge Coverage` section of SPEC.md from the resolved edges.
|
||||
|
||||
## Step 5.6: Prohibition-Completeness Probe (must-NOT)
|
||||
|
||||
Reference in New Issue
Block a user