Library Contract Name Cleanup
Milestone 8 of the contract production roadmap removed ambiguous
*-contract vocabulary from library domain-model source names. Library source
now uses precise schema vocabulary for validation shapes, wire schemas,
profile schemas, policy schemas, model schemas, and related accessor names.
Evidence
The source-owned evidence is:
release/library-contract-name-inventory.tsv: every old library source token
that used contract, its replacement, source path, surface, and rename kind;
release/library-contract-rename-ledger.tsv: every public function or
constructor rename that needs registry compatibility metadata;
libs/symbol-aliases.tsv: registry-level old-symbol to new-symbol aliases;libs/symbol-deprecations.tsv: deprecation and removal metadata for old
public symbols.
Run:
make library-contract-naming-check
The gate checks that no contract tokens remain in libs/*/src/lib.0x0, that
every old public symbol has a registry alias and deprecation row, that every new
symbol is present in source, and that the release discipline includes this gate.
Naming Rule
Use schema for library values that describe validated data shape. Use a more
specific noun when the domain requires it:
wire-schemafor serialized wire shapes;api-schemafor API request/response shapes;policy-schemafor validated policy values;profile-schemafor validated profiles;model-schemafor validated model inputs;layout-schemafor validated layout values.
Use contract only for the audited contract taxonomy in
docs/contract-taxonomy.tsv, not for library domain data.
Compatibility
The old names are not current source names. They remain visible only through
registry compatibility metadata in libs/symbol-aliases.tsv and
libs/symbol-deprecations.tsv. Public docs and package pages should display the
new schema names and may mention old names only in compatibility or release
notes.