Skip to main content

Documentation Contract

Hexis documentation must make the difference between reality and intent impossible to miss. Every page carries structured status, freshness, AI-context, and executability metadata. The site banner, validation, and generated AI artifacts all read that same source.

Status vocabulary

StatusMeaning
Documentation policyRules for maintaining or interpreting the docs
Current-source evidenceVerified observation of the named current checkout, with explicit evidence limits
Target contractNormative behavior Hexis intends to implement; syntax may not ship yet
Future directionProduct research useful for planning but not binding
ImplementedVerified against a named implementation and every required acceptance lane
Legacy v3 referenceHistorical API material retained during replacement and excluded from normal AI context

An example on a planned page is a proposed acceptance example, not evidence that the call works today.

What is normative

The target architecture is normative about:

  • ownership between Lua, Java/native code, and server packs;
  • action lifecycle, cancellation, cleanup, and error semantics;
  • capability permissions and the hexis.raw boundary;
  • server-agnostic core behavior;
  • the validation gates required before an API is marked implemented.

Cross-cutting lifecycle and result rules are normative. Navigation syntax is the first frozen vertical-slice target. Other domain operation names and request tables remain candidate vocabulary until their representative tasks establish the correct semantic center.

Source-of-truth order

When sources disagree, use this order:

  1. current runtime behavior and focused tests;
  2. the current hexis-mod source;
  3. an implemented contract page tied to a build;
  4. target architecture pages;
  5. legacy API pages and historical discussions.

No documentation claim can promote itself to Implemented merely because it was written first.

Change protocol

Every new capability should land vertically:

  1. choose a representative user task;
  2. stabilize one Java/native mechanism;
  3. define its typed contract and permissions;
  4. expose one Lua binding;
  5. use it in a realistic script;
  6. test cancellation, failure, cleanup, and world changes;
  7. evaluate AI generation and repair;
  8. revise the contract, then mark that slice implemented.

Documentation and contract tests should be reviewed in the same change as the binding. A page becomes Implemented only when it sets executable: true and points implementation_ref at versioned source and tests. The documentation check rejects invalid promotions.

The documentation pipeline generates the AI discovery index, implementation bundle, runnable API bundle, clean per-page Markdown, and machine-readable manifest from authored metadata. The runnable bundle intentionally remains empty until a capability passes its acceptance matrix.

Legacy pages

Legacy v3 pages stay reachable through the legacy archive because they contain useful implementation history. They are unlisted, excluded from normal search and generated AI context, and are not the foundation of the redesign. Verify any legacy call against the current mod before using it in a production script.