Start a new SiXiS project

PROJECT-ONBOARDING-V0-1 / PHASE 1 / PASTE-BASED FLOW

Draft 58b57cb3…

PROD ADMIN VIEW · READ-ONLY · WRITES STILL ON LOCAL
Resume this draft in a fresh Claude Code session
Owner: tommy. Two ways to pick this up:
OPTION A — Bootstrap prompt (works for any operator, no slash command needed)
You are operating as the SiXiS Project Onboarding orchestrator brain (Claude).

A user has initiated a new SiXiS project via the dashboard at http://localhost:8787/new-project. They have provided this brain dump:

---
I want to build a hand history logger that will log hands played on the site hijackpoker.com. The game is played on a web-browser. 

The hand history needs to be either saved locally in a txt file, or if online, a way for me to download as a txt file.

Once hands are saved properly, the next step would be to create the hand histories that are in the proper format at import into the program Hold'em Manager 3.

The goal of this project is to record hands played so that a user can review them.
---

## CURRENT STACK & DEPLOY STATE (auto-injected from substrate)

**Hosting:**
- `dashboard.sixis.ai` → Vercel static export (`ui/`)
- `dashboard.sixis.ai/new-project` + `/api/ui-launch-event` → Vercel proxy to Railway: `sixis-wizard-production.up.railway.app`
- Other admin endpoints (drafts/amendments/draft/<id>/amendment/<id>) → also Vercel proxy to this Railway service as of PUI Phase D close-out (2026-05-10). Honor-system admin gate via ?owner= URL param. Declare-convergence/ratify-amendment endpoints not yet ported (next cycle).

**Substrate (canonical):**
- Supabase project `nfxikyofbtatvzrfoqbv` — current event count: 1324
- Local SQLite (`sixis_dashboard.db`) is an archive after Phase B replay caught up (2026-05-07). Phase B step 4 (2026-05-11) migrated discovery-drill CLI paths (`log-discovery-answer`, `log-discovery-synthesis`, `log-discovery-complete`, `report-breakdown`) + the DeepSeek API client's substrate logging to write directly to Supabase. Remaining SQLite-writing CLI paths sync up via the post-invoke mirror.
- The wizard backend (this very Railway service) writes events directly to Supabase, no dual-write.

**Active projects (most recent first):** Sweats Trading Platform v1 — RESUME (draft-d662c946), Gemini Synthesis Judge v0.1 (gemini-synthesis-judge-v0-1), Active Attention Engine (active-attention-engine)

**Last shipped change:** Built gcloud ADC + venv + gsc_pull.py demand-brief tool; tested end-to-end; scheduled task updated to pull GSC before Batch 3.

**Council relay discipline — CORRECTED MATRIX (ratified by Tommy 2026-05-11T02:14, Universal Shell amendment in flight):**
- `cross-poll` defaults `--auto-relay ON`. The orchestrator (Claude Code session) drives all brains directly. API/CLI is the PRIMARY path for the two non-browser brains; browser control is FOR THE TWO REMAINING BROWSER-ONLY BRAINS ONLY:
  - **DeepSeek (voter)** → API via `deepseek_api_v0_1/sixis/deepseek_client.py` (`call_deepseek`). Browser fallback at chat.deepseek.com (Expert/DeepThink mode) ONLY when the API client returns `ok=False` with `fallback=browser`.
  - **Gemini (judge + reviewer)** → CLI/API via `gemini-synthesis-judge-v0-1/` (and `gemini-cli-judge-wrapper-v0-1/`). No browser path needed.
  - **GPT (voter)** → ChatGPT desktop app via computer-use MCP. New chat created INSIDE the "SiXiS" project folder (per per-project chat-thread rule).
  - **Claude.ai (voter)** → claude.ai via Claude-in-Chrome MCP. New chat created INSIDE the SiXiS project folder.
- Tommy is NOT a packet-routing relay node. Pipeline: prompt DeepSeek first via API (longest reasoning), kick off GPT + Claude.ai in browser windows while DeepSeek streams, capture all three responses in any order they arrive.

**Ratification cadence (extended convergence rule, ratified 2026-05-07):**
- Genuine multi-brain convergence at any tier (1/2/3) = automatic ratification — orchestrator proceeds without explicit Tommy ask.
- "Doubt is the cross-poll trigger" — when orchestrator has uncertainty, fire a cross-poll, don't decide unilaterally and don't ask Tommy.
- Sovereign-only matters (red-line risks, irreversible data destruction, money movement, account creation) still always escalate.

**Discoveries fold into scope (rule established 2026-05-07):** anything surfaced during this drill that's adjacent and relevant folds INTO the project's scope by default — don't punt to followups unless folding shifts the tier.


Wizard IDs (use these in the CLI commands below — DO NOT change them):
- draft_id: 58b57cb3-079b-4559-9cb8-85ceaad52b44
- cycle_id: 37245c60-914e-443b-bede-66a36fe09099

## Your job

Per FORCED_RULE_PO_01 (Conversational Discovery Drill), drill the user ONE QUESTION AT A TIME.

The internal checklist below is YOUR scaffolding — NOT an interrogation script for the user. Pick the most upstream open question, ask it, listen, let the answer pivot/collapse/deepen the queue.

Internal checklist:
- intent (the frozen Z1 statement of what they want to build)
- scope (in scope vs explicitly out of scope)
- consumers (who/what uses this)
- constraints (technical, time, resources, external commitments)
- success criteria (how they know it shipped well)
- failure modes (what could break, how they'd detect)
- reversibility / tier classification (Tier 1/2/3)
- required artifacts / deliverables
- known unknowns

Do NOT batch questions. Do NOT pre-load 5+ at once. Per FORCED_RULE_PO_01 this is a hard rule from the project's own Cycle Zero — the rule was generated as a candidate Universal Shell amendment after the orchestrator violated it during the project's design phase.

## Substrate logging

After EACH user answer, log it to substrate:
```
cd ~/Documents/Claude/Projects/SixiS/projects/dashboard_v0_1 && python3 scripts/sixis.py log-discovery-answer --draft-id 58b57cb3-079b-4559-9cb8-85ceaad52b44 --cycle-id 37245c60-914e-443b-bede-66a36fe09099 --question "<the question you asked>" --answer "<their answer>"
```

When you reach pollable sufficiency (the council can disagree productively without first asking what the project is), summarize the sharpened intent and ask the user to confirm. Then log the synthesis:
```
cd ~/Documents/Claude/Projects/SixiS/projects/dashboard_v0_1 && python3 scripts/sixis.py log-discovery-synthesis --draft-id 58b57cb3-079b-4559-9cb8-85ceaad52b44 --cycle-id 37245c60-914e-443b-bede-66a36fe09099 --synthesis "<your sharpened-intent summary>"
```

After the user confirms the synthesis, mark discovery complete:
```
cd ~/Documents/Claude/Projects/SixiS/projects/dashboard_v0_1 && python3 scripts/sixis.py log-discovery-complete --draft-id 58b57cb3-079b-4559-9cb8-85ceaad52b44 --cycle-id 37245c60-914e-443b-bede-66a36fe09099
```

Then propose firing the council cross-poll. The standard SiXiS Protocol cross-poll → 2-round mandatory ratification (per amendment 926869fb) → Layer B drafting cycle applies from there.

## Error handling

If anything crashes, the user reports a wizard issue, or you encounter a malformed/unworkable state mid-drill, log a breakdown:
```
cd ~/Documents/Claude/Projects/SixiS/projects/dashboard_v0_1 && python3 scripts/sixis.py report-breakdown --draft-id 58b57cb3-079b-4559-9cb8-85ceaad52b44 --cycle-id 37245c60-914e-443b-bede-66a36fe09099 --source claude --description "<what went wrong>"
```

The user can also report breakdowns from the dashboard "Report breakdown" button (pre-fills draft_id automatically).
Paste into any fresh Claude Code chat — Claude runs the discovery drill on the brain dump.
OPTION B — Slash-command shortcut (Tommy's setup only — needs ~/.claude/commands/sixis-pickup.md installed)
/sixis-pickup 58b57cb3-079b-4559-9cb8-85ceaad52b44
Brain dump (raw)
Original input from /new-project. Stored as raw evidence per FORCED_RULE_PO_02; never edited in place.
I want to build a hand history logger that will log hands played on the site hijackpoker.com. The game is played on a web-browser. 

The hand history needs to be either saved locally in a txt file, or if online, a way for me to download as a txt file.

Once hands are saved properly, the next step would be to create the hand histories that are in the proper format at import into the program Hold'em Manager 3.

The goal of this project is to record hands played so that a user can review them.
Event timeline (45)
Every event tagged with this draft_id, in chronological order.
project_draft_started system · 2026-05-11 07:09:24+00:00
You started a new project draft via /new-project (draft_id=58b57cb3-079b-4559-9cb8-85ceaad52b44).
draft_saved system · 2026-05-11 07:09:24+00:00
You saved the brain-dump for draft 58b57cb3-079b-4559-9cb8-85ceaad52b44: "I want to build a hand history logger that will log hands played on the site hijackpoker.com. The game is played on a web-browser. The hand history needs to be either saved locally in a txt file, …"
discovery_prompt_generated system · 2026-05-11 07:09:24+00:00
Generated the discovery drill prompt for draft 58b57cb3-079b-4559-9cb8-85ceaad52b44 using prompt_templates.discovery_drill v3.
ui_launch_event system · 2026-05-11 07:09:31+00:00
You clicked 'Copy prompt' on /new-project for draft 58b57cb3-079b-4559-9cb8-85ceaad52b44 — prompt taken to Claude Code (prompt_hash=9a9405876c3b…).
cross_poll claude · 2026-05-11 07:14:00+00:00
Hijack Poker Hand History Logger — rank tradeoffs and recommend across 4 open architectural questions: (Q1) stealthy WS capture mechanism, (Q2) MV3 file-append cross-platform, (Q3) hero hole-card timing in WS, (Q4) schema-drift resilience without phone-home telemetry.
brain_response_logged claude · 2026-05-11 07:19:00+00:00
CLAUDE Round 1 response for draft 58b57cb3-079b-4559-9cb8-85ceaad52b44: "# Claude.ai R1 — Hijack Logger Cross-poll Reading this as a Round-1 cross-poll prompt. Tier 1, personal tool, stealth-critical. Going tight, per the format. ## Q1 — Stealthy WS capture **Leading: (…"
brain_response_logged gpt · 2026-05-11 07:20:00+00:00
GPT Round 1 response for draft 58b57cb3-079b-4559-9cb8-85ceaad52b44: "# GPT R1 — Hijack Logger Cross-poll [BRAIN: gpt] Q1 — WS capture Leading recommendation: do not build around stealthy page tampering. Technically, the only browser-native path that can see frame bo…"
brain_response_logged deepseek · 2026-05-11 07:21:00+00:00
DEEPSEEK Round 1 response for draft 58b57cb3-079b-4559-9cb8-85ceaad52b44: "## Q1. Stealthy WS capture mechanism **Leading recommendation:** (a) Page-context `WebSocket` constructor proxy in MAIN world. **Top two tradeoffs:** 1. **Stealth vs. detection risk** — Proxy inject…"
cross_poll claude · 2026-05-11 07:29:00+00:00
Hijack Logger R2 cross-check: review R1 syntheses and confirm/refine the architectural recommendations. Explicit RATIFY or REFUSE signal required.
brain_response_logged claude · 2026-05-11 07:34:00+00:00
CLAUDE Round 2 response for draft 58b57cb3-079b-4559-9cb8-85ceaad52b44: "# Claude.ai R2 — Hijack Logger Cross-poll (Ratification Round) ## R2 — Hold, refine, flip ### Q1 — Hold on (a), but accept GPT's phase ordering I'm not flipping. Page-context proxy in MAIN world is…"
brain_response_logged gpt · 2026-05-11 07:35:00+00:00
GPT Round 2 response for draft 58b57cb3-079b-4559-9cb8-85ceaad52b44: "# GPT R2 — Hijack Logger Cross-poll (Ratification Round) [BRAIN: gpt] ## 1. Q1 — hold/refine **Refine, not flip.** I accept (a) page-context proxy as the likely architecture target **only after Ph…"
brain_response_logged deepseek · 2026-05-11 07:36:00+00:00
DEEPSEEK Round 2 response for draft 58b57cb3-079b-4559-9cb8-85ceaad52b44: "## DeepSeek Round 2 Position — Ratified ### 1. Q1: Hold architecture target (a), but precondition on Phase 0 recon **Hold** the page-context `WebSocket` proxy as the architecture target, **refined**…"
convergence claude · 2026-05-11 07:39:00+00:00
R2 convergence (Hijack Logger): three-brain unanimous on architecture — (Q1) page-context WebSocket constructor proxy hardened against toString/prototype integrity checks, injected via chrome.scripting.executeScript({world:'MAIN'}); (Q2) File System Access API with persisted directory handle (chrome.downloads rejected — overwrite-per-hand flashes the downloa…
breakdown claude · 2026-05-11 08:04:54+00:00
TEST_PHASE_B_STEP_4 verifying cycle auto-resolution from Supabase. If you see this please ignore.
discovery_answer_logged tommy · 2026-05-11 08:08:26+00:00
Q: "Does hijackpoker.com offer any hand history export already, or are we starting f…" — A: "No export. The site shows a janky summary in chat for only a few recent hands and lacks key data like betting actions. W…"
discovery_answer_logged tommy · 2026-05-11 08:08:27+00:00
Q: "How is hijackpoker.com rendering the table and how does game state flow over the…" — A: "DevTools screenshot shows Unity WebGL client (DOTween animation library warnings). Two WebSockets observed: wss://game-w…"
discovery_answer_logged tommy · 2026-05-11 08:08:28+00:00
Q: "What game variants/formats must this support at v1 (variants, cash vs tournament…" — A: "PLO cash only. Multi-tabling required (must handle N concurrent tables)."
discovery_answer_logged tommy · 2026-05-11 08:08:28+00:00
Q: "HM3 ingest plan — license status, target format, file granularity?" — A: "HM3 license owned. Start with PokerStars text format target (adjust if it doesn't work). One .txt file per session — cla…"
discovery_answer_logged tommy · 2026-05-11 08:08:29+00:00
Q: "File-per-session granularity confirmation — one file per table per session (a), …" — A: "(a) — one file per table per session, PokerStars-style. Plus cross-platform constraint added: scraper must work while pl…"
discovery_answer_logged tommy · 2026-05-11 08:08:30+00:00
Q: "Live append vs end-of-session dump, and session-end trigger?" — A: "(a) Always live append — each completed hand appended to the table's .txt immediately so HM3 can tail-import live during…"
discovery_answer_logged tommy · 2026-05-11 08:08:30+00:00
Q: "Mac/Windows HM3 routing — synced folder (a), local Downloads + manual shuttle (b…" — A: "(b) Local Downloads folder on each machine, manual shuttle when reviewing on Windows."
discovery_answer_logged tommy · 2026-05-11 08:08:31+00:00
Q: "Session-end trigger — tab close (a), manual button (b), browser quit (c), idle t…" — A: "(a) — table tab close ends the session for that table. No manual stop button in v1."
discovery_answer_logged tommy · 2026-05-11 08:08:32+00:00
Q: "Distribution / tier — just you (a), you + buddies (b), public (c)? ToS risk flag…" — A: "(b) You + a few buddies via sideload. Tier 1. ToS-risk acknowledged: Hijack ToS almost certainly prohibits third-party s…"
discovery_answer_logged tommy · 2026-05-11 08:08:32+00:00
Q: "Robustness / missed-hand policy — silent best-effort (a), visible best-effort (b…" — A: "(b) Visible best-effort. Per-table popup counter, incomplete hands flagged in popup log, no intrusive in-play alerts. Pr…"
discovery_answer_logged tommy · 2026-05-11 08:08:33+00:00
Q: "Synthesis confirmation + any additional requirements?" — A: "Confirmed. Additional hard requirement: maximum stealth / undetectable as possible to Hijack's client."
discovery_synthesis_logged claude · 2026-05-11 08:08:34+00:00
Claude synthesized the discovery drill intent for draft 58b57cb3-079b-4559-9cb8-85ceaad52b44: "Hijack Poker Hand History Logger (PLO Cash v1). Sideload-installable Chrome extension capturing PLO cash hands at game.hijack.poker by intercepting Unity WebGL client's two WebSockets (wss://game-ws.h…"
wizard_step_completed claude · 2026-05-11 08:08:35+00:00
Claude marked the discovery drill complete for draft 58b57cb3-079b-4559-9cb8-85ceaad52b44. Wizard advances from discovery to intent-freeze step.
breakdown claude · 2026-05-11 08:08:36+00:00
Protocol breakdown — relay mechanism. Orchestrator was instructed by the wizard backend build_stack_state() prompt + Tommy's auto-memory entry 'DeepSeek browser chats — switch to Expert mode' to relay DeepSeek via chat.deepseek.com Expert mode through Claude-in-Chrome MCP. Tommy corrected 2026-05-11T02:14: CORRECT relay matrix is DeepSeek + Gemini via API/CL…
breakdown claude · 2026-05-11 08:08:36+00:00
Substrate FK constraint failure on ALL log-discovery-* and report-breakdown calls during Hijack Logger onboarding drill. Root cause: wizard backend writes drafts to Supabase, local sixis.py CLI reads/writes SQLite where draft row does not exist. Phase B step 4 (CLI -> Supabase for admin/discovery paths) has not shipped. Cross-cutting impact: EVERY future Pro…
discovery_answer_logged tommy · 2026-05-11 08:50:14+00:00
Q: "Phase 0 Gate 1: Is window.WebSocket the vanilla browser native at game load time…" — A: "PASS. Unity client does NOT wrap WebSocket. Observed at game.hijack.poker/ post-Unity-bootstrap (readyState=complete, 1 …"
discovery_answer_logged tommy · 2026-05-11 08:52:40+00:00
Q: "Phase 0 Gate 4: Encryption probe on WS frames — entropy + protobuf signature che…" — A: "PASS. NO ENCRYPTION on either channel. Two WS observed: (1) wss://game-ws.hijackpoker.com/?token=<JWT> — plain JSON text…"
discovery_answer_logged tommy · 2026-05-11 08:56:37+00:00
Q: "Phase 0 Gate 2 + Gate 3: Frame taxonomy + semantic completeness (spectator-mode …" — A: "PASS (95% — hero hole-card slot fill pending seat test). Captured live spectator-view 'gotOmaha' payload (21209 bytes, 4…"
discovery_answer_logged tommy · 2026-05-11 09:06:25+00:00
Q: "Phase 0 Gate 2 FINAL: Hero hole-card delivery confirmation via seat test" — A: "100% PASS. Hero hole cards arrive in real-time via the existing 'gotOmaha' WebSocket event — no separate event needed. S…"
discovery_answer_logged tommy · 2026-05-11 09:15:57+00:00
Q: "Usage scope / risk-posture clarification: how will Tommy use HM3 with captured h…" — A: "REVIEW-ONLY. HM3 used for post-session hand review only, NOT for real-time gameplay assistance, NOT as a HUD overlay dur…"
discovery_answer_logged tommy · 2026-05-11 10:21:54+00:00
Q: "INSTALL COMMAND — copy-paste this to Claude Code on any machine to install Hijac…" — A: "Install from https://github.com/sixisstudio/cash-review-v1 — Claude clones the repo to ~/Tools/cash-review-v1/, reads IN…"
discovery_answer_logged tommy · 2026-05-11 10:30:41+00:00
Q: "Phase 1 build milestone: capture+relay+parse+write+sidecar+drift-detect pipeline…" — A: "DONE. Full extension build at github.com/sixisstudio/cash-review-v1 commit 5d5ff0b. Both repos in sync (SiXiS monorepo d…"
discovery_answer_logged tommy · 2026-05-11 18:38:04+00:00
Q: "CANONICAL INSTALL ONE-LINER — paste this verbatim into Claude Code on any Mac to…" — A: "Read https://raw.githubusercontent.com/sixisstudio/cash-review-v1/main/INSTALL.md and follow it. That's the entire comm…"
discovery_answer_logged tommy · 2026-05-11 18:46:58+00:00
Q: "Can the install one-liner run on a Windows PC?" — A: "YES — as of 2026-05-11, install playbook v0.2 (cash-review-v1 commit 674465f). Cross-platform (Mac + Windows + Linux). S…"
discovery_answer_logged tommy · 2026-05-11 19:21:34+00:00
Q: "Scope clarification: which hands should be written to .txt — only hero's played …" — A: "ALL OBSERVED HANDS. Tommy clarified 2026-05-11: he wants spectator hands written too, not just hands he was dealt into. …"
discovery_answer_logged tommy · 2026-05-11 19:41:46+00:00
Q: "Bug fix v0.1.4: why no .txt files were being written despite popup showing 'hand…" — A: "ROOT CAUSE: FileSystemDirectoryHandle was passed from popup to service worker via chrome.runtime.sendMessage. Chrome's r…"
breakdown tommy · 2026-05-11 23:49:34+00:00
Wizard friction reported (severity=medium, step=/draft/58b57cb3-079b-4559-9cb8-85ceaad52b44): the hand history is weird and it's showing different player's hole cards (probably after they show it on showdown) but it's not tracking me correctly as the hero That's a real diagnostic problem with the hand history format itself, not a PT4 setting. If the Hijack …
breakdown tommy · 2026-05-12 00:15:00+00:00
Wizard friction reported (severity=medium, step=/draft/58b57cb3-079b-4559-9cb8-85ceaad52b44): 07:14:17 pm: Error: PokerStars: Invalid stack: Player_U339fDCS (Hand #105061) 07:14:17 pm: Error: PokerStars: Invalid pot size (0.00 vs pot: 4.00 rake: 0.00 jpt: 0.00) for hand #105062 07:14:17 pm: Error: PokerStars: Player Rin bet 1.00 with zero stack (Hand #266792…
breakdown tommy · 2026-05-12 00:42:03+00:00
Wizard friction reported (severity=medium, step=/draft/58b57cb3-079b-4559-9cb8-85ceaad52b44): 07:39:56 pm: Importing files from disk... 07:39:56 pm: Import file: G:\My Drive\HiJack_HH\HH20260511-155938 T156-1.txt 07:39:56 pm: Error: PokerStars: MaxxPayne action out of sequence (Hand #105081) (Line #42) 07:39:56 pm: Error: PokerStars: Invalid pot size (3.00 v…
breakdown tommy · 2026-05-12 00:54:36+00:00
Wizard friction reported (severity=medium, step=/draft/58b57cb3-079b-4559-9cb8-85ceaad52b44): 07:53:54 pm: Importing files from disk... 07:53:54 pm: Import file: G:\My Drive\HiJack_HH\HH20260511-185258 T156-1.txt 07:53:54 pm: Error: PokerStars: Invalid pot size (0.00 vs pot: 1.00 rake: 0.00 jpt: 0.00) for hand #105196 (Line #766) 07:53:55 pm: + Complete (1…
breakdown tommy · 2026-05-12 00:56:23+00:00
Wizard friction reported (severity=medium, step=/draft/58b57cb3-079b-4559-9cb8-85ceaad52b44): 07:53:55 pm: Import file: G:\My Drive\HiJack_HH\HH20260511-155938 T156-1.txt 07:53:55 pm: Error: PokerStars: Invalid pot size (3.00 vs pot: 3.50 rake: 0.00 jpt: 0.00) for hand #105085 (Line #186) 07:53:55 pm: Error: PokerStars: Invalid stack: Player_U2ooEol4 (Hand #…