Drop the rulebook import — a migration, not a product feature #90

Merged
bvandeusen merged 1 commits from dev into main 2026-07-31 09:49:48 -04:00
Owner

One commit, 23a385e. CI green (run 3135). No migrations.

Operator's call: the rulebook -> design-system path is a one-time migration on one install, not something any future user needs. Removed from the service, the REST route, the MCP tool, the UI panel, the API client and its tests (rule #22 — removed, not flagged off).

The better argument, which I had missed: the parser was worse at this than doing it by hand. propose_tokens left radius steps and type sizes valueless because "Small 4px" isn't a hex — a limitation I documented carefully and shipped anyway. That limitation only existed because the importer had to run unattended. Done as work rather than as a feature, those values are simply read and written.

Kept: extract_expectations / design_expectations. The live /design drift panel still reads them until it's repointed at a resolved design system (#2295); removing them now would take that page's only content with it.

Also on this branch and already merged, for deploy context: the fresh-install create button fix and the Design nav consolidation (8eef9e7, PR #89).

One commit, `23a385e`. CI green (run 3135). No migrations. Operator's call: the rulebook -> design-system path is a one-time migration on one install, not something any future user needs. Removed from the service, the REST route, the MCP tool, the UI panel, the API client and its tests (rule #22 — removed, not flagged off). The better argument, which I had missed: **the parser was worse at this than doing it by hand.** `propose_tokens` left radius steps and type sizes valueless because "Small 4px" isn't a hex — a limitation I documented carefully and shipped anyway. That limitation only existed because the importer had to run unattended. Done as work rather than as a feature, those values are simply read and written. **Kept:** `extract_expectations` / `design_expectations`. The live `/design` drift panel still reads them until it's repointed at a resolved design system (#2295); removing them now would take that page's only content with it. Also on this branch and already merged, for deploy context: the fresh-install create button fix and the Design nav consolidation (`8eef9e7`, PR #89).
bvandeusen added 1 commit 2026-07-31 09:49:40 -04:00
revert(design-systems): drop the rulebook import — a migration, not a feature
CI & Build / Python lint (push) Successful in 3s
CI & Build / Plugin hooks (push) Successful in 9s
CI & Build / integration (push) Successful in 19s
CI & Build / TypeScript typecheck (push) Successful in 32s
CI & Build / Python tests (push) Successful in 43s
CI & Build / Build & push image (push) Successful in 44s
23a385e2db
Operator's call, and it corrects a scope error rather than a bug:

  "this is a path for a user to go from a rulebook to a design system. we don't
   need to build this path in the app itself ... you should be the one that does
   the import ... going forward no one else should have to do such a migration."

Right. Nobody starting from a design system will ever go rulebook -> system, so
the whole path was permanent product code serving a single act on one install.
Rule #22: remove it, don't flag it off. Gone from the service, the REST route,
the MCP tool, the UI panel, the API client and its tests.

There is a second consequence I had missed, and it is the better argument. The
parser was WORSE at this than doing it by hand. `propose_tokens` leaves radius
steps and type sizes valueless because "Small 4px" is not a hex and nothing here
parses it — a limitation I documented carefully and shipped anyway. But that
limitation only exists because the importer had to run unattended. Done as work
rather than as a feature, those values are just read and written, and the result
is a complete design system instead of one with a dozen blanks and a count
explaining them.

Scaffolding built around my own absence from the loop, when I am the loop.

KEPT: `extract_expectations` and `design_expectations` in
services/design_rulebook_import.py. The live drift panel still reads them until
it is repointed at a resolved design system (#2295), and removing them now would
take the /design page's only content with it. They go with that change, not this
one.
bvandeusen merged commit 7872e7d9ec into main 2026-07-31 09:49:48 -04:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bvandeusen/FabledScribe#90