<?xml version="1.0" encoding="UTF-8"?>
<spec xmlns="https://vibevm.org/spec/1">
  <title id="root">DRIFT-NNN — &lt;one-line goal: which promise becomes true&gt;</title>
  <status stage="spec" state="done" comment="B2 2026-07-24: template in force since Phase A (DRIFT-001..003 written from it); the task&apos;s own document marker is the fenced example below"/>
  <fence p="1">&lt;status stage="impl" state="plan" ref="DRIFT-NNN"/&gt;</fence>
  <p p="2"><fact id="status-legend" status="spec/done">**Status:** queued | in-progress | review | done | returned</fact></p>
  <p p="3"><fact id="EXECUTOR-SPLIT" status="spec/done">**Executor:** Opus. **Reviewer:** Fable, against §6 verbatim.</fact></p>
  <p p="4"><fact id="cluster-field" status="spec/done">**Cluster:** &lt;registry | workspace | resolver | cli | common&gt;</fact></p>
  <p p="5"><fact id="UNIT-STABILITY" status="spec/done">**Unit-stability check (release precondition):** every anchor cited in §2 has
no open obligation in the findings ledger and no `unknown` marker.</fact></p>
  <section id="goal" title="1. Goal">
    <p p="6"><fact id="goal-format" status="spec/done">One sentence. What promise, made where, becomes true.</fact></p>
  </section>
  <section id="contract" title="2. Contract">
    <p p="7"><fact id="CONTRACT-VERBATIM" status="spec/done">Verbatim quotes of the governing spec units — never paraphrase:</fact></p>
    <fence p="8">&gt; &lt;quoted unit text&gt;
&gt; — `spec://org.vibevm.core/vibevm/…#anchor`</fence>
    <list ordered="false" p="9">
      <item><fact id="CONTRACT-LIST-ALL" status="spec/done">List every anchor this task realises.</fact></item>
      <item><fact id="PREMATURE-RETURN" status="spec/done">If units disagree, the task is premature — return it to stitching.</fact></item>
    </list>
  </section>
  <section id="current" title="3. Current state">
    <p p="10"><fact id="current-evidence" status="spec/done">From campaign verification evidence (do not re-discover):</fact></p>
    <list ordered="false" p="11">
      <item><fact id="cs-what-exists" status="spec/done">`crates/&lt;…&gt;/src/&lt;file&gt;.rs:&lt;line&gt;` — what exists;</fact></item>
      <item><fact id="cs-what-missing" status="spec/done">what is missing / broken, with the verification verdict refs.</fact></item>
    </list>
  </section>
  <section id="behavior" title="4. Required behavior">
    <p p="12"><fact id="BEHAVIOR-EXHAUSTIVE" status="spec/done">Step by step, exhaustively — inputs, outputs, error paths, edge cases. Spell
out everything the spec left implied; nothing here may require judgment:</fact></p>
    <fence p="13">1. …
2. …</fence>
    <p p="14"><fact id="behavior-edges" status="spec/done">Edge cases: … Error paths (exact error types/codes): …</fact></p>
  </section>
  <section id="boundaries" title="5. Boundaries">
    <list ordered="false" p="15">
      <item><fact id="bd-not-touch" status="spec/done">Files/subsystems NOT to touch: …</fact></item>
      <item><fact id="bd-construction-sites" status="spec/done">Sanctioned construction sites to respect (e.g. conform R-001): …</fact></item>
      <item><fact id="BD-NEVER-EDIT-SPEC" status="spec/done">Never edit spec text or golden tests. Spec doubts → §8, not improvisation.</fact></item>
    </list>
  </section>
  <section id="acceptance" title="6. Acceptance">
    <p p="16"><fact id="ACCEPTANCE-EXECUTABLE" status="spec/done">Executable, complete — the review runs exactly this:</fact></p>
    <fence lang="bash" p="17">cargo test -p &lt;crate&gt; &lt;filter&gt;        # new tests listed below must pass
bash tools/self-check.sh              # floor stays green</fence>
    <list ordered="false" p="18">
      <item><fact id="acc-new-tests" status="spec/done">New tests to write: `&lt;test_name&gt;` asserts &lt;what&gt;; …</fact></item>
      <item><fact id="acc-cli-scenario" status="spec/done">CLI scenario (when applicable): `vibe &lt;…&gt;` → expected output verbatim.</fact></item>
      <item><fact id="ACC-DISCIPLINE" status="spec/done">Discipline: `#[spec(implements = "spec://…#anchor")]` on new items (closes
  the specmap orphan), `cargo fmt --all`, clippy clean, atomic commits per
  the repo rules, no AI attribution anywhere.</fact></item>
      <item><fact id="ACC-UPDATE-MARKERS" status="spec/done">On completion update the unit markers: `impl/work → impl/done` (+ next
  marker per plan, typically `test/plan`), same commit discipline.</fact></item>
    </list>
  </section>
  <section id="analogies" title="7. Analogies">
    <p p="19"><fact id="analogies-format" status="spec/done">"Do it like X": `crates/&lt;…&gt;` — the closest existing shape to imitate.</fact></p>
  </section>
  <section id="stop" title="8. Stop rule">
    <list ordered="false" p="20">
      <item><fact id="STOP-RULE" status="spec/done">If the spec is silent or ambiguous on a point you need: STOP, mark
  `&lt;!-- REVIEW: &lt;question&gt; --&gt;` at the code point, record the question in the
  task file under this section, set status `returned`. Do not invent semantics.</fact></item>
      <item><fact id="BUDGET-SIGNAL" status="spec/done">Budget signal: if the change grows past &lt;N&gt; files / &lt;M&gt; lines, stop and
  return with findings — the task was mis-scoped.</fact></item>
    </list>
  </section>
  <section id="log" title="9. Log">
    <p p="21"><fact id="log-format" status="spec/done">Appended by executor/reviewer: claimed &lt;ts&gt;, returned/review notes, done &lt;ts&gt;.</fact></p>
  </section>
</spec>
