Files
Dune/AGENTS.md
T
Quintine 4a0b1ee00a Verify native Advanced full-plan card interactions
Replace the Basic-then-flip battle fixture with actual Advanced setup and add
five tests covering Truthtrance, Voice, ordinary Prescience, Ghola preparation,
private inspection and interrupted decisions. No runtime changes were needed.
Keep the special offer deadline and target-first ordering explicitly provisional.

Update the development maintenance policy per the user's instruction: restart
only when a change or observed server condition warrants it, preserving saves
and verifying restoration. No hourly schedule or recurring automation.

Validation: npm run check passed: types, lint and all 4,205 offline tests
(124.980 seconds). Source fingerprint:
5792403ddfed7ea7f4e0b247d367e7c000dfce6c81e1553204d9c00db376c3f6.
Private report: 20260913-full-plan-final/report.json.
Earlier build and HTTP evidence are reused for unchanged runtime code.
Independent source/test review found no actionable defect in this boundary.
Browser AZC4HGLB covers human inspection and Medium AI Ghola preparation,
desktop/phone readability and private refresh after the completed restart.
The earlier inventory seat also restored; all 64 saved room versions/hashes
remain unchanged. No mode or publication gate is opened.

Aggregate goal counters: 59,151,671 at batch start to 59,509,237 after completed
verification, or 357,566 tokens before final Git and new goal-steering overhead.
One bounded workhorse helper reused for source and independent test review;
one stable broad check. This is an audit batch, not a new gameplay capability.
2026-09-13 11:55:09 +10:00

4.3 KiB

Working on Dune

Unofficial Dune board game: React 19, TypeScript, Vinext/Vite, Cloudflare Workers and D1. Use npm and the checked-in lockfile; Node >=22.13 is required for the in-memory SQLite tests. tsx is a pinned development dependency.

Start small

  • Read README.md and this guide first. See docs/DEVELOPMENT.md for the architecture map and focused verification commands.
  • Read docs/CURRENT_STATUS.md for current gates and docs/RULE_DECISIONS.md for existing rulings before reopening research.
  • Run git status --short before editing; preserve other work.
  • Search the relevant feature in game/, components/, tests/, and docs/. Use rg -n and bounded reads for game/engine.ts and components/game-table.tsx; both are large orchestration files.
  • docs/IMPLEMENTATION_STATUS.md is a historical evidence log, newest first. Read its opening checkpoint and the relevant feature document rather than loading the entire log. Verify historical claims against current code/tests.
  • Do not read github.md for routine development: it is ignored private local credential material. Do not put secrets in logs or tracked files.

Implement and verify

  • Keep rule calculations/validation in focused game/ modules; integrate them through the engine, player view, bots and UI as the feature requires.
  • Preserve rejected-action immutability, physical card/force custody, private information boundaries, and JSON save/restore behavior. Reuse shared rule quotes instead of independently duplicating legality in bots or components.
  • Add meaningful regressions to tests/**/*.test.ts; discovery is automatic. HTTP tests must start with // @dune-suite integration. Tests importing node:sqlite are classified as in-memory recovery tests automatically.
  • During iteration: npm test -- <filename-fragment>; multiple fragments form a union. Use --list to inspect selection and --name <regex> to narrow cases. A filename typo fails rather than silently passing an empty suite.
  • Before handing off code changes: npm run check (types, lint, offline tests). Run npm run build for app/build/dependency changes. Run npm run test:integration against a development server for HTTP, auth or persistence changes. Documentation-only edits need link/command review.
  • Extend testing when failures or changed behavior justify it. Do not run AI calibration or browser acceptance for unrelated maintenance changes.
  • If a sandbox blocks test subprocess pipes with EPERM, rerun the exact check with approved subprocess permissions. Do not disable isolation or skip tests to obtain a green result; the runner self-test checks real failure propagation.
  • Report actual check results and limitations. Passing focused tests does not certify a complete faction, expansion or rules mode; preserve release gates.

Preserve development state

  • The user-authorized 2026-09-13 reset cleared old local games once; see docs/VERIFICATION_WORKFLOW.md. Preserve all games created afterward.
  • Keep .wrangler/state and all saved games. Never reset a database to fix a test, migration, connection or gameplay problem. Migrations are additive.
  • Reuse a running dev server. Restart only when a code/configuration change or observed server condition warrants it; there is no hourly restart schedule. Warn before interrupting human play, defer to a safe point, and verify restoration after a necessary restart. No recurring maintenance automation is installed; do not recreate it without a request.
  • .openai/hosting.json identifies the existing Sites project. Preserve it. Follow the applicable Sites skills for site work; publication has existing completion and verification gates documented in README.md.
  • Keep generated builds, caches and editor backups out of version control. Avoid mass formatting, unrelated dependency updates and broad engine rewrites.

Efficient checkpoints

  • Use docs/VERIFICATION_WORKFLOW.md for compact source-bound check reports and private saved-game/seat checks. Keep artifacts outside the checkout.
  • Use subagents selectively for bounded independent tasks and complex reviews; they remain explicitly authorized. Share concise briefs and file ownership.
  • Review, verify, commit and push completed checkpoints automatically under “Push all from now on.” Confirm push success; never force-push or expose secrets.