mirror of
https://github.com/pbakaus/impeccable.git
synced 2026-09-12 22:26:38 +03:00
The area taxonomy was wrong, and wrong in a way worth recording. It was derived from Mobbin-style categories in the abstract rather than from what the skill can be asked for, and measured against the catalog most of it described problems that were not there: onboarding, settings, empty-state and search each had zero entries. Reframed against demand instead. A user asks for a docs site, an onboarding flow, a landing page, or a data table, and those differ in how much of the product is in play. Register already says what kind of work it is; grain says how much: product, flow, view, region. Named grain rather than scope because scope already means direction-or-surface on every roll and 'surface' is already a register value, so a scope of 'surface' would have collided with both. Platform is the second axis: web, ios, android. Unlike grain it is a hard filter with no fallback, because a composition that leans on hover or a pointer does not degrade on a phone into something slightly worse, it stops working, and an empty deal is a visible gap where a broken one is not. Both fields are optional and absence means eligible everywhere, so nothing needs backfilling and no existing roll changes. The third piece is the one a trace turned up. Asking for an onboarding flow resolves to register=operate, grain=flow, and the catalog holds zero flow-grain compositions, so the top-up would have dealt three plausible single-screen compositions with no signal that none matched. The model would have improvised the flow structure while believing it was handed one, which is the same silent plausibility the axis exists to remove. Selection now returns a match alongside the picks, and the rendered seed says when the structure is borrowed and why. Measured at the time of writing: 137 of 173 approved compositions are view grain, product grain is empty, flow grain holds one. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>