Interview Log: Kanban Production Hardening

Date: 2026-03-27 Interviewer: Claude Output: Two specs — kanban-production-test-plan.md and kanban-offline-queue-soft-delete.md


Turn 1: Scope and Strategy

Questions Asked

  1. Concurrency scenario: Claude-to-Claude races vs Claude + Web App vs both?
  2. Test database: Separate test DB vs production with cleanup?
  3. Resilience scope: Graceful errors only vs retry logic vs offline queue?

Options Presented

Concurrency:

Test DB:

Resilience:

Selections

Deviation from Recommendations

User chose production DB over recommended separate test DB (accepted risk of cleanup failures). User chose the most ambitious resilience option (offline queue) over the recommended graceful-errors-only approach.


Turn 2: Technical Deep Dives

Questions Asked

  1. Web app simulation: Raw SQL, Poketo API calls, or both?
  2. Offline queue scope: Test plan only (defer implementation) or full spec here?
  3. Load scale: Moderate (100), heavy (500+), or progressive?

Options Presented

Web App Sim:

Offline Scope:

Load Scale:

Selections

Deviation from Recommendations

User chose full spec over recommended test-plan-only for the offline queue.


Turn 3: Offline Queue and Concurrency Details

Questions Asked

  1. Queue scope: Queue all commands (reads + writes) or writes only?
  2. Conflict resolution: Last-write-wins, detect-and-prompt, or detect-and-skip?
  3. Race scenarios: Move-move, move+update, or all CRUD races?

Options Presented

Queue Scope:

Conflict Resolution:

Race Cases:

Selections


Turn 4: Implementation Details

Questions Asked

  1. Queue storage: better-sqlite3, plain JSON file, or JSON with lock file?
  2. Sync UX: Sync subcommand, interactive sync, or conflict file + apply?
  3. Load metrics: Full latency profiling (p50/p95/p99) or timeout thresholds?

Options Presented

Queue Store:

Sync UX:

Metrics:

Selections


Turn 5: Thresholds, Undo, and API

Questions Asked

  1. API docs: Available or reverse-engineer?
  2. Latency thresholds: Define now, baseline first, or both?
  3. Undo scope: Safety gates only, soft-delete with TTL, or full audit log?

Options Presented

Thresholds:

Undo:

Selections


Turn 6: Offline Queue Edge Cases

Questions Asked

  1. Queue growth limit: Hard limit, no limit with warning, or time-based expiry?
  2. Queue ordering: Strict FIFO, dependency-aware batching, or FIFO with rollback?
  3. SQLite corruption recovery: Detect and reset, WAL checkpoint + integrity check, or dual-write?

Selections


Turn 7: Final Scope

Questions Asked

  1. Spec structure: One unified spec or split into two?

Options Presented

Selection


Summary of Deviations from Original Draft

Area Original Assumption Final Decision Reasoning
Test DBSeparate test DB recommendedProduction with cleanupUser prefers simplicity; cleanup strategy with [TEST]-prefixed boards mitigates risk
ResilienceGraceful errors only recommendedFull offline queue + soft-deleteUser wants production resilience, not just test coverage
Offline scopeTest plan only recommendedFull feature spec includedUser wants one planning pass, not two
Spec structureStarted as one specSplit into twoTest plan vs feature spec are cleanly separable; keeps each document focused
Conflict resolutionCould have been last-write-wins (simplest)Detect and promptUser values data safety over simplicity; sync subcommand preserves non-interactive contract
Load testingCould have been fixed thresholdProgressive with p50/p95/p99 + hard ceilings + baseline regressionUser wants performance profiling, not just pass/fail