Site Index Source Policy
Site Index Source Policy
site/index.md is generated output from checked-in site owner inputs.
Generated Output Policy
- Generated output:
site/index.md - Generator action:
npm run objc3c -- build-site - Drift-check action:
npm run objc3c -- check-site - Manual edits are unsupported.
- CI must fail when generated output drifts from canonical inputs.
Canonical Inputs
Generation input ownership is deterministic and ordered:
site/src/index.contract.jsondefines the generator contract (site/src/index.body.md, output path, and front matter).site/src/index.body.mdis the public-facing owner input for the generated site.- The site is a curated overview of the specification and current implementation status; it is not a stitched mirror of
spec/*.md. README.mdinputs are excluded from generated output.- Site source files may mark machine-facing appendices with
<!-- SITE:EXCLUDE-START -->/<!-- SITE:EXCLUDE-END -->; those blocks are omitted from generated output.
Ownership
- Public site content owner:
site/src/index.body.md. - Render behavior and policy-check owners:
site/src/index.contract.jsonplus the site builder implementation. - Generated bytes owner path: re-run generator and commit updated
site/index.md. - Command support boundary: the
package.jsonobjc3cscript plusscripts/objc3c_workflow/action_catalog.py; public examples usenpm run objc3c -- <action>. - Capability support boundary:
docs/support/capability_matrix.md,docs/support/capability_matrix.json,docs/support/evidence_map.md, anddocs/support/capability_claim_responsibility.md, with registry-owned schemas fromscripts/objc3c_shared/schema_registry.pyand artifact publication records fromnative/objc3c/src/artifacts/json/capability_support_schema_records.cpp.
Tone and Accessibility Rules
Public site content must optimize for first-read comprehension:
- lead with current status before implementation direction,
- use plain language before implementation jargon,
- define specialist terms by context instead of assuming prior repo knowledge,
- prefer short lists and comparison tables over dense paragraphs,
- give readers a direct next link when a section names a deeper path,
- keep generated artifact paths and evidence inventories out of the public overview unless they are the point of the section.
Non-goals for the public site:
- historical closeout narration,
- machine-facing packet inventories,
- unexplained abbreviations or internal shorthand,
- treating the site as a mirror of the archived
spec/corpus. - advertising retired package-script names or implementation helper commands as public workflows.
Drift Policy
If site/index.md changes without matching owner-input changes, treat it as drift:
- Re-run
npm run objc3c -- build-site. - Review resulting diff against intended source edits under
site/src/. - Commit generated output after owner inputs are correct.