<!-- REFERENCE COPY — do not edit this file. Edit the installed working copy at
     docs/planning/packet.md (installed by scripts/init.sh). -->
<!--
  Planning packet template.
  Machine-checked by scripts/check-readiness.sh. Do NOT remove or rename the
  <!-- CHECK: ... --> markers — the checker keys on them.
  Blockquote lines ("> ...") are guidance and NEVER count as content:
  a pristine template reports NOT READY by design. Replace each guidance
  block with real prose. "## " headings are section boundaries — use
  "### " or deeper for subheadings inside a section.

  Anti-ceremony (CHECKLIST.md A12):
  - Consumer: the planning agent filling it; the reviewer and check-readiness.sh verifying it (A3).
  - Gate: A3 execution-readiness — missing field means NOT READY.
  - Defect class: plans with holes the agents find for you; optional fields nobody fills.
  - Delete when: superseded by a machine packet schema (none in this kit; keep this file).
-->

# Planning Packet — <project name>

> PLACEHOLDER: one paragraph. What is being built, for whom, and what
> "working" means. If you cannot state the success condition in two
> sentences, the project is not ready to plan.
> Machine check: ≥3 real (non-guidance) lines; no vocabulary requirement.

## 1. Problem
<!-- CHECK: PROBLEM -->
> PLACEHOLDER: the problem, the user, the success condition. Name the
> single most important outcome; everything else is secondary.
> Machine check: ≥3 real lines; no vocabulary requirement.

## 2. Non-goals — what this is NOT
<!-- CHECK: NON-GOALS -->
> PLACEHOLDER: explicit exclusions, one per line. The suite's best version
> of this is frankengit's "What FrankenGit is not". Write yours
> before anyone writes code: every non-goal is a future argument you will
> not have to have.
> Machine check: ≥3 real lines AND at least 1 of these words (any case):
> not, never, no, "out of scope", "will not", "won't", "does not".

## 3. State-of-the-art survey
<!-- CHECK: SOTA -->
> PLACEHOLDER: the incumbent, pinned at version + commit SHA. Per source:
> adopt / adapt / reject with a one-line reason. For every rejected idea
> record the retry condition under which it would be worth revisiting.
> Origin: frankensympy docs/SOURCE_PROJECT_AUDIT.md; frankensearch plan §4.
> Machine check: ≥3 real lines AND at least 1 of: sha, commit, version, pinned.

## 4. Work packets
<!-- CHECK: PACKETS -->
> PLACEHOLDER: the work decomposed into packets (bead-sized units). Each
> packet states: goal, legacy anchors, target files/crates, oracle tests,
> fixture manifest (happy / edge / adversarial), risk note, acceptance gate.
> Missing any field => the packet is NOT READY (franken_numpy).
> List the packet IDs here; the packets themselves live in the beads graph.
> Machine check: ≥3 real lines AND at least 5 of: goal, anchor, target,
> oracle, fixture, risk, acceptance.

## 5. Claim inventory
<!-- CHECK: CLAIM-INVENTORY -->
> PLACEHOLDER: every public claim this project will make, registered before
> it is made. Each claim: label, status (planned), proof slot (the artifact
> that will prove it). Statuses: planned / documented / implemented_uncertified
> / validated / certified / blocked / retired (frankensympy). Register in
> registries/claims.tsv; summarize here.
> Machine check: ≥3 real lines AND at least 1 of: planned, claims.tsv.

## 6. Evidence design
<!-- CHECK: EVIDENCE-DESIGN -->
> PLACEHOLDER: what counts as proof. Evidence classes (tests, differential
> runs, benchmarks, audits); receipt format — every receipt records commit,
> tool versions, host, worker; generation binding — a receipt from a different
> generation is not evidence for this release (frankenterm §4b).
> Machine check: ≥3 real lines AND at least 2 of: commit, version, host, worker.

## 7. Honesty machinery
<!-- CHECK: HONESTY-MACHINERY -->
> PLACEHOLDER: where the negative-evidence ledger lives and its row schema;
> which demotion rules apply (docs/evidence/demotion-rules.md); the ledger
> preflight (what blocks a row from landing); the resurrection cadence
> (how often rejected rows are re-audited). Origin: frankenscipy
> docs/OPTIMIZATION_PROTOCOL.md; frankenfs docs/planning/MODULARITY_RUNBOOK.md.
> Machine check: ≥3 real lines AND at least 2 of: ledger, demot, resurrect, predicate.

## 8. Proof taxonomy [PROVISIONAL]
<!-- CHECK: PROOF-TAXONOMY -->
> PLACEHOLDER: the admissible proof categories for this project and the
> explicit non-proof list (things that look like evidence but are not).
> Only one suite project did this well (frankenterm docs/proof-taxonomy.json:
> 11 proof categories, 4 non-proof classifications). Keep it short; expand
> it only when a dispute forces you to.
> Machine check: ≥3 real lines AND at least 1 of: non-proof, non_proof.

## 9. Release gate
<!-- CHECK: RELEASE-GATE -->
> PLACEHOLDER: what blocks publication. List the clauses that cannot be
> waived and the clauses that can be waived only with a public, expiring,
> recorded waiver (owner, rationale, expiry, compensating controls).
> Origin: frankenterm docs/release/attestation-checklist.md ("incomplete
> producer evidence MUST block publication"); asupersync wasm GA packet.
> Machine check: ≥3 real lines AND the word "waiv" (waive/waiver/waivable).

## 10. Phase exit criteria
<!-- CHECK: EXIT-CRITERIA -->
> PLACEHOLDER: the gates between phases. Rule: no phase gate may claim a
> result whose transitive dependency closure contains an unresolved [OPEN]
> (franken_nlp). Name each phase, its entry conditions, and its exit proof.
> Machine check: ≥3 real lines AND both words: exit, entry.

## 11. Independent review
<!-- CHECK: REVIEW -->
> PLACEHOLDER: who reviewed this plan independently (fresh-eyes agent,
> second model, adversarial duel) and what changed as a result. An
> unreviewed plan is a first draft wearing a sign-off. Origin: frankensearch
> divergence register; frankenterm DUELING_WIZARDS_REPORT.md.
> Solo project with no second reviewer? Write exactly this, honestly:
> "Independent review: not performed (solo) — nothing was independently
> changed. Residual risk accepted by <name>, <date>." The machine verifies
> the attestation exists — it can never verify the review's quality.
> A missing or hedged attestation is a finding, not a pass.
> Machine check: ≥3 real lines AND the word "chang" (changed/changes).

## 12. Execution sign-off
<!-- CHECK: SIGN-OFF -->
> PLACEHOLDER: name, date, and the statement: "I sign off — Phase A of
> docs/CHECKLIST.md is green; this plan is execution-ready. Signed: <name>,
> <date>." Unsigned packets do not execute (frankenscipy PHASE2C_SIGNOFF:
> dated, agent-attributed sign-off).
> If §11 records no independent review, say so here too — the sign-off
> covers the plan as written, not as reviewed.
> Machine check: ≥2 real lines, the word "sign", and a YYYY-MM-DD date.
