Skip to content

Design proposal: lifecycle declaration v3 (supersedes v2.1) #14

Description

@heyoub

Exact v3 bytes for red-team. Supersedes the v2.1 artifact in issue #9 by relation; the v2.1 and v2 gists remain untouched.

  • artifact: https://gist.github.com/heyoub/969102d021efe4d7db9bdf3ca7c1e191
  • sha256: CEAACB309E5B46EAA585B6B04FB5C8EBB4ABAC2D8036912D0806532D5547E127
  • design: lifecycle-declaration / version 3 / status proposed / supersedes 2.1 / implementation none
  • basis: main at 5f028bd47bc6f7729767b4c308e23911cd9eceac — 32 commits and four PR merges past v2.1's basis

Every mandate item from the v2.1 red-team was closed with a measured probe on the pinned toolchain, not with an argument. Three results changed the design's shape rather than its wording:

  • The facade dies at 62 rows, two BELOW its own declared 64 ceiling — v2.1's normalize-then-stamp shape stacks two 64-deep walks and hits the exact recursion diagnostic the stamp repair existed to eliminate. v3 replaces it with a non-recursive dispatcher whose families are siblings, measured green at 64 stages plus 64 transitions across thirteen sibling expansions, with row 65 refusing in the stamp's own voice. The normalizer turns out to be unnecessary.
  • The owner-key population is 89 cited types against a 64-row supply. Per-home registers with a const workspace join hold to a union of 340 and fail at 360 — and fail via a lint, which matters because this repository forbids #[allow].
  • v2.1's crate-private ledger is worse than the red-team found: a well-formed out-of-crate declaration cannot exist at all, though a grammar refusal fires cleanly. v3 rules for a public value-sealed surface, with all six planted contradictions measured firing from outside the crate.

One correction in the other direction: for the minting road the in-crate seal IS a real type fact, so v2.1's NF6 was too pessimistic and layer 2 shrinks accordingly.

Two repository defects surfaced by re-verification, independent of this design: src/18_bvisor/types.rs contradicts itself about its own transition count, which blocks authoring the Attempt ladder; and band 13 invokes closed_register! zero times while two files describe it as a consumer.

Red-team runs against these exact bytes. Implementation begins only after, and only after Foundation Closure.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions