メインコンテンツへスキップ

ARC 2.0.0-beta.28

Contracts and evidence

Classify ARC documentation claims as current contract, architecture, experimental, or lineage, and know what evidence each status requires.

Every present-tense product sentence needs a status. Without one, readers treat vision, history, and shipping behaviour as the same contract.

Status vocabulary

StatusMeaningAllowed on public pagesRequired evidence
Current contractBehaviour you may design against for a named target runtimeYes, as “supports / does / rejects”Current source or types and tests or observed local run on the target version
ArchitectureHow layers fit; orientation onlyYes, clearly as explanationConsistent with current structure; must not invent new public APIs
Experimental / gapIncomplete, partial, or not E2E-verifiedYes, only if labelled as suchState what is missing or unproven; do not soften into a promise
LineageWhy an older name still appearsYes, with explicit non-promisesProduct records, reference apps, or dependency facts—not feature parity
UnresolvedNeeds a product or engineering decisionPrefer issue / review notes; short public caution onlyName the decision; do not invent a default

Evidence order (mandatory)

  1. Current code, types, tests, and a local run prove “now supports.”
  2. Merged PRs prove a change landed once. Re-check the current tree; later commits may have removed or narrowed it.
  3. Planning docs, open issues, draft architecture notes, articles are archaeology. They may guide research; they do not establish a public contract alone.
  4. When sources conflict, public docs state the current implementation, and the conflict goes to research-ledger.md or an issue comment—not into a marketing rewrite.

How to classify a sentence

Draft sentenceCorrect statusRewrite pattern
arc afs ls lists a path”Current contractKeep only after running it on the documented CLI version
“AFS UI relates UI work to AFS paths”ArchitectureKeep as explanation; do not add “stable extension API”
“Instance DID lifecycle is complete for all remotes”Experimental / gap (if unproven)Say what is verified locally; mark remote lifecycle separately
“Discuss Kit was absorbed into ARC”LineageState reference Blocklet / surfaces; deny full old-feature equivalence
“Third parties can ship any UI device”Unresolved / not currentDo not publish as contract until code + E2E sample exist

What each board type should carry

Board typePrimary status mix
Architecture (this board)Architecture + lineage; pointers to contracts
AFS / AUP / Web Device / Blocklets / Identity / CLIMostly current contract; mark experimental gaps explicitly
Product marketing pagesMay use lineage language; never invent developer contracts

Version pinning

When a page includes commands or field-level behaviour:

  1. Name the CLI or package version used for verification.
  2. Show actual outputs or error shapes when the page teaches a command.
  3. If your install differs, re-run before treating the page as authority.

This board’s orientation facts were checked with arc 2.0.0-beta.28 and ARC source 44fbd616f. Sibling boards may pin their own versions; prefer the stricter or more recent check for operational work.

Red lines that override status

Reader-visible text still follows site positioning constraints (product and technical claims only; no price or return promises; no banned marketing phrases; no claiming unimplemented features as shipped). Architecture status does not excuse a §1C overclaim.