Home Contact
Universal Substratev1.4
/
For agents Markdown

Appendix P. Exact documentation release bundle and agent-discovery contracts

Established unversioned v1.3 section URLs remain resolvable and identify their legacy status. They do not silently become aliases to edited v1.4 content.

Concept & directionLNK

#P1. Route topology

RouteContract
/substrate/living human landing and current-release discovery
/substrate/versions.jsonrelease catalog with exact targets
/substrate/identity-index.jsonstable ID to exact route per release
/substrate/v1.4.0/immutable canonical release landing
/substrate/v1.4/mutable edition alias to newest 1.4 patch
/substrate/latest/mutable alias to latest stable release
/substrate/v1.4.0/reference/{registeredRoute}/immutable canonical human section
matching section.md and section.jsonimmutable canonical machine section
/substrate/v1.4.0/manifest.jsonexact exhaustive release manifest
/substrate/v1.4.0/migrations/from-v1.3.0.jsoncross-release migration map
/substrate/v1.4.0/changes.jsonmachine-readable changelog
/substrate/v1.4.0/deprecations.jsonlifecycle registry

Established unversioned v1.3 section URLs remain resolvable and identify their legacy status. They do not silently become aliases to edited v1.4 content.

#P2. Release catalog and discovery

Table
ReleaseCatalog {
  schema, projectId, latestStableRelease, latestEditionAliases,
  releases[{ edition, releaseVersion, schemaVersion, status,
             canonicalBase, manifestUrl, manifestSha256,
             sourceSha256, compatibility, publishedAt }],
  credit, watermark
}

DocumentationDiscovery {
  schema, projectId, humanEntry, versionsUrl,
  latestStableManifest, identityIndexUrl,
  agentInstructionsUrl, credit, watermark
}

#P3. Exact release manifest

Table
ReleaseManifest {
  schema, projectId, edition, releaseVersion, schemaVersion,
  status, canonicalBase, language, title, credit, watermark,
  source{ filename, sha256, creator }, generatedAt,
  profiles{}, compatibility{}, supersededClauses[],
  migrationRefs[], changeRef, deprecationRef,
  stats{}, sections[], fixtures[], schemas[],
  artifacts[{ path, mediaType, byteLength, sha256 }],
  releaseGate{ status, checks[], twoImplementationProof? }
}

Artifact entries exclude the manifest and manifest.sha256. The manifest is serialized deterministically and manifest.sha256 covers its exact bytes. An optional detached signature signs the exact manifest bytes. Accepted exact releases refuse overwrite unless verification mode proves every byte equal.

#P4. Semantic and artifact digests

Table
semanticDigest = SHA256(JCS({
  schemaVersion, stableId, title, normativeStatus, blocks
}))

artifactSha256 = SHA256(exact_published_bytes)

The semantic digest changes when normative content or stable meaning changes. The artifact digest changes for any byte-level representation change. Build timestamp, absolute source path, and local environment never enter semantic identity.

#P5. Section identity and migration entry

Table
SectionIdentityEntry {
  stableId, registeredRoute, title,
  headingIds[], requirementIds[], fixtureIds[],
  firstRelease, lifecycleStatus, replacementIds[]
}

MigrationEntry {
  priorStableId, currentStableIds[], classification,
  priorTitle, currentTitles[], priorUrls[], currentUrls[],
  priorSemanticDigest, currentSemanticDigests[],
  compatibilityImpact, affectedFixtureIds[], explanation
}

classification is unchanged, modified, renamed, moved, split, merged, deprecated, or removed. Added records are listed with firstRelease. An unchanged classification requires equal semantic digests.

#P6. Build and acceptance sequence

Build all exact release artifacts in a new staging directory. 2. Validate source credit/watermark, stable identities, fixture uniqueness, schemas, cross-links, and canonical routes. 3. Hash every artifact and write the exhaustive manifest. 4. Hash and optionally sign the exact manifest bytes. 5. Rebuild from a clean directory and prove byte-identical output. 6. Atomically promote the exact release directory. 7. Update mutable catalog/aliases only after exact release validation. 8. Package the same bytes into preview and the active application; never regenerate independently.