Project status
Year-1 spec scorecard
Section titled “Year-1 spec scorecard”| Surface | Spec | Shipped | Status |
|---|---|---|---|
| Charm catalog | ~92 | 109 | ✅ +18% |
| Drawback charms + negotiation UX | 15 + UX | 18 + UX | ✅ |
| Heavy Mark charms | 6 | 6 | ✅ |
| Verb-deviation builds (Withdrawal/Plunger/Twinned) | 12 | 12 | ✅ |
| Long-Game Multiplier | 1 baseline rule | live | ✅ |
| Death’s Hesitation | 1 baseline rule | live | ✅ |
| Voice corpus | ~700 lines | 717 | ✅ |
| Book of Hours | ~60 pages | 60 | ✅ |
| Act Break beat | 1 (Night 4½) | live | ✅ |
| Pieces (named, with arcs) | 7 × 5-7 lines | 8 × 5 | ✅ |
| Endings | 3 | live | ✅ |
| Modes | 7-night + single-night | both | ✅ |
| Campaign infrastructure | full | full | ✅ |
| Dealer-knows-name beat | required | live | ✅ |
| Arcana art | implicit | 109/109 | ✅ |
| Tests | (no spec) | 1869 | — |
Phase 1 / Year 1 of WEEK_AT_THE_TABLE: complete.
What’s not in v1.0 (deliberately deferred)
Section titled “What’s not in v1.0 (deliberately deferred)”| Feature | Why deferred | Spec phase |
|---|---|---|
| Tarot deck specialization (12 Major-Arcana-aware charms) | Bundled with Year-2 Q5 | v2.0 |
| Bone deck specialization (10 onBoneSpend charms) | Bundled with Year-2 Q6 | v2.0 |
| Endless mode | One-quarter feature | v2.0 |
| Daily Challenge mode + leaderboards | One-quarter feature | v2.0 |
| Insurance build (Notary) | Insurance affordance not fully wired | v2.0 |
| Multi-table mythology | Year 3 | v3.0 |
Production-engine wiring (not yet)
Section titled “Production-engine wiring (not yet)”The Long-Game Multiplier and Death’s Hesitation are live in the
harness (Monte Carlo balance validation runs against them) but not
yet wired into the production scoring path. The night.dart
_resolveCascadeEvents is a trace-emission renderer that consumes a
pre-computed cascade — making the rules shape real gameplay scoring
requires restructuring the upstream cascade computation. That’s a
separate refactor on the v1.0 polish-phase track.
The drawback flags vow_of_plunger:any_double_allowed,
strangers_half:any_split_allowed, and the bust-penalty-factor flags
similarly ship as data primitives — NightRunner reads them at
action-gate time but the upstream gating logic still uses the older
strict checks. Phase 5 recalibration covers this.
Repo state
Section titled “Repo state”- Tests: 1869 passing, 3 skipped.
- Analyzer: clean for production code; a few pre-existing warnings in test files (unused locals, prefer-single-quotes).
- Goldens: ~145 golden snapshots, regenerated each iteration.
- Build platforms: Web (PWA, palejack.com), macOS, Windows, Linux desktop. iOS/Android pending.
Recent activity
Section titled “Recent activity”The single-night demo is live at palejack.com. The desktop campaign build is in pre-release. Watch the GitHub repo for releases.