Skip to content

R11/R12: cumulative reading and accommodation are decided, documented, and ungated #135

Description

@Kieleth

Two rules were decided 2026-08-16 and written into the protocol. Neither has a gate. This issue exists so that fact is tracked as work rather than only recorded as prose, because a documented guarantee with nothing behind it is the failure this module keeps finding in itself.

The rules

R11. Extraction is cumulative. A passage is read against everything already ingested. Reading order is a dependency order; parallelism is bounded by it as a correctness limit; every reader is handed the passage, the schema, and the graph slice its terms resolve into.

R12. A term used before it is defined creates a provisional concept. Accommodation, not refusal and not a guess. Provisional is a distinct status nothing may execute against; it names the passage that forced it; later references reinforce it, which ranks the queue; the queue closes before the world is playable. Reinforcement measures importance and never resolution.

Normative text: docs/REFLECTION_PROTOCOL.md. Reasoning and prior art: docs/CUMULATIVE_INGESTION.md. Ledger rows: docs/RPG_MODULE.md.

Where it stands

State
Decided Yes, 2026-08-16, ledger rows dated
Documented Yes, five files
In the skill Yes, so the next session inherits it
Gated No. R12's own line reads Gate: NONE
Tracked as work This issue, and nothing before it

The measured gaps, with verdicts already ruled

  1. verify_seed's prerequisites argument is optional, so blind verification is the default. Wrong layer: the ontology must be able to hold a half-known concept, which is malleus work. Filed upstream as MALLEUS_UPSTREAM.md lesson 6.
  2. tools/logosphere_verify.cpp:76 omits prerequisites, so the shipped verifier cannot verify the seeds the game actually loads. Bug.
  3. The accumulation loop is copied into test_chargen.cpp:91 and logovger_app.h:348. The R11 discipline lives inside that loop and a third loader must rebuild it from memory. One owner.
  4. rule_seeds.h documents a dependency order in prose, asserts a wrong order "fails loudly, which is the intended behaviour", and no test has ever loaded them out of order. Bug.
  5. Extractors each choose what prior knowledge to load. Accepted, not a defect: that judgement is what the model is for, and the gate belongs on the output.

Acceptance

  • 2: the verifier CLI takes prerequisites, with a fixture that only passes when they are supplied
  • 3: one accumulator function; both loaders call it
  • 4: a test loads the seeds out of order and asserts the failure, which either proves the documented guarantee or discovers it was never true
  • R12: a provisional status that nothing executable can consume, and a test proving an executable path refuses one
  • R12: the queue closes before a world is playable, enforced by a test rather than a report
  • Reinforcement ranks and never promotes, with a test that a highly-referenced provisional concept is still refused by an executable path

Still open

The grain of an extraction-ledger row (paragraph, sentence, or cell). Recorded as OPEN item 7 in docs/RPG_MODULE.md. Decide before Phase A writes rows.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions