# Historical Module Catalog Semantics

The `modules` array in `full-v3/manifest/protocol/modules.manifest.json` is the
only canonical historical module inventory. Generated catalogs are projections.

For each module, `ported` means a named V3 source implementation exists;
`redesigned` means V3 uses a materially different bounded successor; `deferred`
means no accepted complete V3 successor is available; and `retired` means no V3
successor is planned by this candidate. None of these values implies deployment,
security review, operational availability, payment support, or release readiness.

Every source, test, ABI, artifact, example, and release resource is represented
by a stateful object. `available` and `blocked` resources require a repository
path and exact-file SHA-256. `unavailable` and `not-applicable` resources require
null path, hash, and URL values plus a reason. A URL is never inferred from a
local path.

Solana's `idl` resource is the generated interface, while `artifact` is the
compiled SBF ELF. They are separate required records and cannot substitute for
each other. A current locally tested executable and genuine IDL can be available
for inspection while module parity, independent reproduction, deployment and
funds readiness remain blocked. Historical IDLs stay separately labeled in the
module evidence list and are never relabeled as matching changed native source.

A historical claim without a canonical implementation must retain the exact
working-tree, Git-history, and legacy ABI/deployment searches performed and use
an explicit searched-but-not-found result. Names, interfaces, deployments,
cryptographic guarantees, chain parity, and external integrations must never be
inferred from marketing text or from similarly named modules.

V2 observations remain version-isolated. V3 support cannot inherit V2 deployment
or payment status. Base and Solana records are independent, and shared concepts
do not establish native schema identity or behavioral parity. ML-DSA, ZK, FHE,
payment, deployment, and independent-audit claims remain blocked until their
specific release-bound evidence exists.
