ChangelogWhat shipped · what is next

A rule is only worth
as much as its history.

Every change to the layer is written down here, with what moved and why. What is coming is on the same page, because a roadmap kept somewhere else is a wish list.

Current1.0The rules, all 54 component families, and eight products built against them.
RulesAGENTS.mdRead before any screen is generated; it overrides generic defaults.
CadenceWhen it is readyNo release train. Nothing ships to hit a date.
Sourcecosscom/cossBranch main — last synced 23 Aug 2026, recorded in github.md.
ShippedNewest first

What has moved.

Breaking changes are named as such and never quiet. If a rule changes meaning, it gets a new name rather than a new definition.

01What is coming →

Reckon has had two foundations. Versions 0.3 to 0.6 were built from one registry, and 0.7 replaced that layer wholesale with the cosscom/coss source. The name, the version line and the rules carried across unchanged — nothing forked.

1.0Current

Three layers finished together, because none is evidence on its own. Three products landed here and the five before them were re-audited against the finished rules — which is what makes the count eight rather than a running total.

AddedHome Desk — a house run for the five people in it: ten destinations on a neutral plane, and five chains from preferences to heating, tariff to money
AddedWard Desk — double-sidebar hospital management: a rail of six categories beside the destinations inside it, twenty in all, from the shift board to cost per episode
AddedMarketing Desk — inset-pane sidebar over twelve destinations: journeys, broadcasts and approvals, audiences with the rule each one counts, deliverability as a DNS matrix
ChangedEach product is a templates/<slug>/ folder owning its shell, fixtures, enums and nav, importing nothing from a sibling — deleting a folder deletes the product
AddedThree shell modes and two content frames over one inventory, with a form register naming a primary display axis per product. This is the answer to the defect 0.6.1 diagnosed
ChangedNothing summable is stored: a total is the sum of its lines, paid is the sum of cleared payments. Gates derive too, one predicate read by the badge, the count and the record
AddedSettings that bite: bed counts divide every occupancy figure, a tariff re-prices fourteen days, and a denied action names who may take it instead
AddedFixtures written to be difficult: long names, missing dates, denied permissions, a slow leak visible only as water moving while the house sleeps, twelve import rows nothing could place
KnownFinance Desk’s approval limits are editable but not enforced at payout
0.9Breaking

The rules survived the change of source; their wording did not. AGENTS.md was rewritten against the new component set, and it is still not a style guide — styling is the tokens’ job. Three products landed against it, and the two from 0.8 were re-audited.

AddedFinance Desk — sidebar shell for payment operations: the payout approval queue, card expenses and their review policy, disputes as list-detail, the balance and what claims it, and six auth screens
AddedTalent Desk — top-nav shell for a talent agency: an editorial roster book, fit-and-exclusivity matching, the deal sheet, performance against promise and the facing money ledgers
AddedAI Tool — sidebar shell for a chat workspace: a conversation with its context rail, a composer that really streams, the file index with its failures, and usage derived turn by turn
BreakingOne data state per screen. Loading, empty, no results, error and populated are mutually exclusive branches of one conditional, never neighbours
BreakingActions derive from record state. A fixed action set on a detail view is a defect; disabling to avoid deciding is another
ChangedDerivation restated in the form it now takes: every figure names the array it comes from, and if the array cannot be named the number is wrong
AddedControl contracts and one vocabulary: a commit model per screen, three reversibility tiers, and verbs, time formats and status words fixed product-wide, one table each
AddedTwo product shells and an auth shell with its full route set, verified at 1440, 1024, 768 and 375px
0.8Minor

The component set closed against the new source, and the two shipped sites were recreated so the system could be read in situ rather than as a specimen sheet. The first two products were built against the closed inventory, which is what proved it was closed.

AddedClaims Desk — top-nav cargo claims desk: a deadline burn-down queue, liability-cap reconciliation, an evidence gate, decision with sign-off, payments, customer responses and recovery
AddedRecruitment Desk — a foldable sidebar for whole applications: the same seven-step stepper wherever one appears, panel scorecards, checks, and offers priced against the requisition’s band
AddedAll 54 component families, 177 exported names with compound parts, across actions, forms, data, feedback, overlays and navigation
Added78 cards across 15 groups, 22 of them specimens for colour, type, spacing, elevation, motion and brand
AddedThe two site recreations: the docs and gallery site with its ⌘K palette, and the marketing letter page with its container hairlines and nodes
ChangedEvery family ships a .d.ts props contract and a .prompt.md usage note beside its .jsx, so a consumer reads the contract instead of the implementation
FixedControls stayed at their desktop heights on touch widths; the --*-touch tokens had been declared and never consumed
0.7Breaking

The foundation was replaced. Everything above the token layer stayed; every value below it changed, which is a break in the only sense that matters — a screen built at 0.6 does not render at 0.7. Reckon keeps its name; what it is recreated from is now cosscom/coss.

BreakingTokens re-resolved from cosscom/coss: 207 custom properties over seven files, with a .dark re-resolution, so dark mode costs one class and no component changes
BreakingThe generated brand ramp was removed. There is no --brand-hue knob and no rebrand-from-one-line promise; Reckon is near-monochrome from here and saturated colour is a signal, never decoration
BreakingGeist and Geist Mono replaced by Cal Sans and Paper Mono, the real webfonts, with the wordmark’s own axis settings
AddedHairline elevation: a 1px inset highlight over a 5% black shadow, lighting the top edge in light and the bottom in dark. No gradients, no glows
Added--radius: 10px deriving 4 / 6 / 8 / 10 / 14 / 16, alpha borders so lines compose over any surface, and five semantic hues used only as state
ChangedThe icon set moved to Lucide at 16px, 2px stroke, 80% opacity, matching the source rather than approximating it
UnchangedContent fundamentals: sentence case, buttons that name their object, no gradients, no emoji, tabular figures on money and counts
0.6.1Breaking

Five of nine worked templates deleted on purpose. They proved the rules ran, then proved something worse: nine products structurally identical, every one a dense record table with a rail of property pairs. Correctness was checked; form was merely invited, so form got defaulted.

BreakingFive templates removed. With them gone the evidence for a shared kit went too, which is why absorbing the converged local helpers was deferred rather than shipped
AddedA named primary display axis with a ten-item menu and a minimum of two distinct displays per product; checkability widened from the rows beside a figure to three legal forms
ChangedVariant economics fixed so the default pairing stopped being what silence buys, and one question added to the standard: could a person tell two of these apart?
AddedA form register, one row per product across six axes, and the first two products generated against it
0.6Minor

The checked layer arrived. Rules that could only be stated before could now be run against a screen and reported on, which is the difference between guidance and a test.

AddedAn audit pass that reads a generated screen and reports which rules it breaks, by name
AddedFour worked products, each carried end to end with its hostile fixtures
ChangedDerivation moved from a stated rule to a compiled one; totals can no longer be passed in
FixedStatus enums that allowed an unlisted value when the source data disagreed
0.5Breaking

Shells stopped being templates. Each shell now has to name three expressive choices and give a reason for each, which is what keeps two products built on it from looking identical.

ChangedShells rewritten as recipes; the four archetypes replaced the previous page templates
AddedFixtures carrying the awkward cases: long names, missing dates, denied permissions
ChangedToken names settled on their final scale; the old aliases were removed rather than kept
0.4Minor

The component set grew to cover what business screens actually need, and every state that never makes a mockup was drawn.

AddedLoading, empty, error and permission-denied states on every component
AddedTokens for surface, accent, radius and type, all pointable at a brand
Added21 further primitives from the registry (20 Aug 2026 sync), taking the set past forty, plus new navigation and layout families and overlays as their own group
FixedTabular figures that did not align in table footers at certain weights
0.3Minor

The first rules file a model would follow for more than four screens.

AddedThe stated layer: rules the model reads before it draws anything
AddedThirty observed failures published with their corrections, ordered by the rule each one proves
AddedClaude Design setup, so the layer loads without anything to install
Versions before 0.3 were private. Nothing from them is documented here because nothing from them survived. The one thing that has survived every version, including the change of source at 0.7, is the argument: the component layer was never what failed, and the rules above it are the product.
QuestionsAnswered plainly

Straight answers.

The questions that follow from a log and a roadmap: what breaks, what is promised, and what happens if I stop.

03Back to the top →
Answer 01

No.

It ships components and tokens, but that is not what you are buying. The product is the rules layer that decides what gets computed, what gets shown and what gets refused — plus the machinery that makes those rules checkable.

Answer 02

If it reads a rules file, yes.

It is built for Claude Design users generating business UI. Because the layer is plain markdown loaded as project instructions, anything else that reads a rules file will use it too. There is nothing proprietary to integrate.

Answer 03

No. The judgement, yes.

The tokens are yours to set and brand fit is a config change. The judgement rules are not configurable, because that is the product. If you want a different opinion about derivation, you want a different product.

Answer 04

Nothing breaks.

The rules are written against behaviour rather than internals, so upstream releases move underneath them. Where a rule does need to change, it changes in one file you can read in an afternoon.

Answer 05

Once. Then faster.

Marginally slower on the first generation. Considerably faster by the fourth, because you are not re-prompting it to fix a total that never tied.

Reckon

Ship the screen.
Not the guesswork.

Components are the easy part. What you are missing is the layer that decides what gets computed, what gets shown, and what gets refused.

Built for Claude Design · plain markdown · nothing to run