2 OpenSpec-29-rules-before-models
~Larandar edited this page 2026-09-02 07:57:03 +00:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Authoritative engineering contract for #29. Source: docs/handoff.md §Slice 3, §Fact pipeline 34, §Datalog unification; ADR-0002 §4.

Proposal

Deterministic rules decide everything that does not require an LLM: readiness, blockers, decomposition, missing predicates — with rule digests on every decision, rendered into the canonical comment at projection v2.

Specification Delta

  • ADD structural fact lowering to event/subject/field/nests.
  • ADD alias-preserving entity resolution; no embedding merges.
  • ADD minimal refinement ruleset with typed predicate-miss routing.
  • CHANGE canonical comment projection v1 → v2: real digests, canonical_comment/2 effect key.
  • EXIT: fixture corpus refines offline, byte-stable goldens.

Design

handoff §Fact pipeline; placeholder replacement contract in ADR-0002 §4. Rules are reviewed files; the engine is Slice 2's substrate (#28).

Tasks

#7 · #9 · #8 · #10 · #11