Skip to content

Turn D6 into a scope-boundary row in the variant spec - #16

Open
Carr1005 wants to merge 1 commit into
mainfrom
scope-boundary-row-variant
Open

Turn D6 into a scope-boundary row in the variant spec#16
Carr1005 wants to merge 1 commit into
mainfrom
scope-boundary-row-variant

Conversation

@Carr1005

Copy link
Copy Markdown
Collaborator

Mirror of #15 for the variant spec. Same defect, same fix, one clause worded differently.

The problem

D6 asked "anything explicitly unwanted?" and never showed the learner what was already excluded:

  • Unaskable — its Options column held one entry, Add exclusions freely; AskUserQuestion requires 2–4. The only single-option row in the Ledger.
  • Invisible defaultNothing beyond §1 "Not Included" is a pointer, and the gate presents rows one at a time, so the list is never rendered.
  • Near-empty framing — subtraction belongs to integration mode; here the deliverable is fixed and pinned by 20 ACs, and every meaningful subtraction is already an Options pick at D7/D11/D15.

The change

One table row. The question now carries the §1 list so the learner chooses against something visible, and a second option lets them name what they want back — the spec doesn't guess which.

What differs from #15

This file's §1 was rewritten by #14, so the handling rules follow this file's exclusion list, not the canonical one:

Canonical spec.md This variant
"Oracle-specific operations" → defer to D14 "store-specific database administration" → defer to D14 (the bullet is store-agnostic here)
"Integration into an existing codebase" → unavailable "rebuilding or redesigning the app being retrofitted, and porting these mechanisms into a different application" → unavailable (D1 retrofits an existing chat app in this variant)

Everything else — Decision framing, Invariant, Default, Options, Trade-off — is identical to #15.

Scope

Same lowest-risk boundary as #15: §1 is not restructured and the §0 gate is not touched.

Verified: one line changed, D6 keeps the same eight columns as D5 and D7, no rows added or renumbered.

Two notes, both pre-existing and deliberately not fixed here:

  • spec.coding-agent-lab.diff.html is gitignored and now stale relative to this file — regenerate locally if you still use it.
  • The variant's D14 no longer offers Oracle, but §1's store-admin bullet and the D14 provenance note still reference the course's Oracle stack as history. That's intended per the variant's own discipline (remove the build-time choice, keep the historical fact) — flagging it only so it isn't mistaken for something this PR introduced.

🤖 Generated with Claude Code

Mirrors the same fix applied to the canonical spec.md. D6 asked
"anything explicitly unwanted?" without ever showing the learner what
was already excluded, held a single Options entry (so it could not be
asked through AskUserQuestion's 2-4 option requirement), and defaulted
to a pointer at a section the gate never renders.

The row now carries the §1 list into the question and lets the learner
name what they want back, rather than the spec guessing for them.

Routing differs from the canonical row because this variant's §1 was
rewritten: it has no "Oracle-specific operations" bullet (the store
admin bullet is now store-agnostic) and no "integration into an
existing codebase" bullet (replaced by the retrofit-scope bullet, since
D1 here retrofits an existing chat app). The handling rules follow this
file's §1, not the canonical one.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant