This repository is the canonical public source for reviewed IICP protocol text, intent registry state, and conformance fixtures. It is not a blind mirror of an implementation worktree.
- Gather current implementation evidence and the corresponding approved working specification changes. A proposed change must distinguish deployed behavior, draft behavior, and research.
- Update the candidate protocol text, registry, fixtures, and conformance rows together in this repository. Semantic profiles and experiments stay marked draft until independently implemented and reviewed.
- Update
spec/v1.9/release-integrity-manifest.jsononly after review, using the exact digests of the canonical candidate artifacts. - Run
tools/check_spec_release_integrity.py, the fixture gates, and the relevant cross-implementation tests. A changed digest without a reviewed manifest update is a release blocker. - Commit one coherent canonical spec change. Consumer repositories may link to this source or carry a clearly labeled synchronized reference; they MUST NOT silently overwrite canonical text through a generic copy script.
- Bump the Protocol Suite version only through its explicit versioning process. A draft profile or fixture update does not by itself ratify a suite release.
- Build the release archive from a clean detached tag. Publish only immutable assets with SHA-256 checksums; never rebuild or replace an existing tag.
- Run
tools/check_public_artifact_closure.py. A release or standards-review input that depends on a private repository, missing local file or workstation path is not portable and MUST NOT be published.
- Classify every changed artifact as research, pre-normative, or ratified.
- Link implementation and conformance evidence for registry or normative changes.
- Update schema and fixture digests in the same reviewed change.
- Run both release-integrity and profile-fixture gates in the pull request.
- Record compatibility, deprecation and successor behavior where applicable.
- Ratify only after the required independent implementations pass the pinned fixture; otherwise retain the artifact's draft status.
- Verify that status terms follow
SPEC_STATUS.mdand version axes followVERSIONING.md. - Recheck every external registry claim immediately before publishing.
- Confirm that the archive contains its root license, governance, security, contribution and continuation instructions.
- Run
python3 tools/check_public_artifact_closure.py --all-publicto catch stale private dependencies elsewhere in the tracked public research and documentation corpus before tagging.
- Current executable behavior can expose a contradiction in historical prose; record it and propose the correction. It cannot override a released normative contract or retroactively reinterpret wire behavior.
- Registry entries require implementation evidence and payload/schema review.
- Base-frame changes require an independent compatibility, malformed-input, and cross-implementation evidence package. Semantic profiles are preferred.
- Website and implementation-repository documentation are public references, not substitutes for this canonical source.
- Public technical research records the evidence and reasoning behind product
decisions. Private development methodology is neither normative evidence nor
a release dependency. The boundary is defined in
docs/governance/public-artifact-boundary.md.