A reviewable replacement for #524 and the 24 open pulls sourced from claude/home-newtype: the same tested tree, split into five commits — model foundations, command surfaces, stack reconciliation, docs, and tests.
The net change proves record identity in model (Item, listing, state, seen and plan), shares the listing/state/pull helpers across pr and issue, and gives stack reconciliation and adoption one model, while keeping main's newer patch-only stacks, text sanitization and plane-aware auth. The conflicts were resolved to keep both sides.
Verification: full cargo test passes — 1043 unit tests and every integration suite, including the stack tests this work adds (pr_flows 56, stack_flows 151). Clippy is clean with -D warnings and the docs build. The final commit's tree is identical to the tested reference; the intermediate commits are logical slices and are not independently buildable. Patch-only because this account has no branch-push access to the upstream knot.