Skip to content

Bind Janus invariants L2, L3, L9; update economy and covenant labels - #22

Merged
csecrestjr merged 6 commits into
mainfrom
conformance/bind-l2-l3-l9
Oct 13, 2026
Merged

csecrestjr merged 6 commits into
mainfrom
conformance/bind-l2-l3-l9

Conversation

@csecrestjr

@csecrestjr csecrestjr commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Adds registry-bound tests in internal/economy and updates two status labels in CONFORMANCE.md.

  • L2 TestInvariant_L2_EarnedNeverBought: ledger API, record union and fields pinned to allow lists; ledger imports only stdlib and canon; no buy/redeem/cash-out/payout route or function in the module (any HTTP method, camelCase, _ or -); no function both touches the fiat rail and builds a spend.
  • L3 TestInvariant_L3_SovereignUnits: unlinkable accounts per platform; spends bound to one platform; platform not governable; no conversion surface.
  • L9 TestInvariant_L9_OperatorSetUniformLimit: one limit field; same floor for every account; steward quorum only; never set beside a standing read (including elided literals). Both composition roots pinned.

Named residuals: a limit computed from standing in a separate helper; host-qualified route patterns (none exist in Cloudy).

CONFORMANCE.md: economy -> Built; covenant -> Built, except the trust gate (no spend path consults standing yet).

Reviewed over three rounds against 26 planted cases. Brings Cloudy to 7 of 23 delegated invariants bound.

Signed-off-by: Calvin Secrest <dev@calvinsecrest.com>
Signed-off-by: Calvin Secrest <dev@calvinsecrest.com>
Signed-off-by: Calvin Secrest <dev@calvinsecrest.com>
Signed-off-by: Calvin Secrest <dev@calvinsecrest.com>
Signed-off-by: Calvin Secrest <dev@calvinsecrest.com>
Signed-off-by: Calvin Secrest <dev@calvinsecrest.com>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested at c644006: CI green; build, vet and gofmt clean; full suite passes on Linux.

Planted 26 cases against the L2/L3/L9 tests: 13 rule violations, route method and spelling variants (PATCH/HEAD/OPTIONS, camelCase, underscores, run-together words), false-positive checks (/logo.jpeg, /buyers, /buyer/42), and the two named residuals. All behave as expected. The residual note on host-qualified patterns is accurate: all 33 registered routes are plain METHOD /path.

Approved. Please squash-merge with a descriptive title.

@csecrestjr
csecrestjr merged commit bdb0e97 into main Oct 13, 2026
5 checks passed
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.

2 participants