Skip to content

[HC-014] Hard cutover docs and spec to one truthful capability matrix #8145

@doublemover

Description

@doublemover

Hard cutover policy: documentation states implemented behavior, rejected behavior, and reserved behavior through one capability matrix. No stale roadmap comments in source headers, no old-anchor redirect surface in active docs, no claim wording unsupported by executable evidence.

Source facts already established:

  • README is honest about incomplete runtime behavior, ARC automation, errors, async, actors, metaprogramming, and interop.
  • Source headers and docs repeatedly use milestone, lane, anchor, proof, and readiness wording.
  • native/objc3c/CMakeLists.txt still describes a monolithic src/main.cpp state despite split target libraries.
  • docs/reference/legacy_spec_anchor_index.md remains linked from active navigation.
  • Spec files contain fallback, compatibility, old mode, and deferred runtime notes.

Required documentation tree:

  • docs/support/
    • capability_matrix.md: sole public support matrix.
    • capability_matrix.schema.json: matrix schema.
    • evidence_map.md: executable evidence mapping.
  • docs/compiler/
    • architecture.md
    • parser.md
    • semantic_analysis.md
    • lowering_and_ir.md
    • runtime.md
    • public_c_api.md
  • docs/workflows/
    • commands.md
    • ci.md
    • validation.md
  • docs/spec/
    • language_core.md
    • object_model.md
    • ownership.md
    • runtime_dispatch.md
    • modules.md
    • errors.md
    • concurrency_reserved.md

Required capability states:

  • implemented: parser, sema, lowering, runtime, docs, and executable tests exist.
  • rejected: parser or sema emits a canonical diagnostic.
  • reserved: syntax or concept remains unavailable and documented as unavailable.
  • internal: implementation helper not part of public Objective-C 3.0 behavior.

Required work:

  • Create the capability matrix and schema.
  • Move active docs to the tree above.
  • Delete old-anchor redirect links from active docs and generated site navigation.
  • Delete stale comments from CMake, public headers, AST, runtime headers, and pipeline headers.
  • Replace milestone/lane/proof language with behavior contracts and evidence links.
  • Update generated docs to consume the capability matrix.
  • Make docs fail validation on unsupported support claims.

Maximum effort shared hoist pass:

  • Hoist support claim parsing to one docs validation helper.
  • Hoist evidence link validation to one helper.
  • Hoist command docs generation to the workflow registry.
  • Hoist spec capability statuses to the matrix schema.

Acceptance criteria:

  • Active docs contain no stale monolithic-main comment, old-anchor navigation, runtime fallback claim, or old mode support claim.
  • Every implemented capability links to an executable test.
  • Every reserved capability links to a canonical diagnostic or reserved-status entry.
  • Public docs read as product docs, not milestone logs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions