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 need to initate protocol to build a staff scheduling AI agent to tie into the staffing. There needs to be a text bot for a staff to tell the agent their needs are, and the agent creates a schedule for the week and let's the staff know.
For the admin side, there needs to be an AI Agent for Mangers so they can discuss what they want to see and the agent will use that to augment the schedule that will properly allocate times and shifts.
This is for the 20 to 1 social poker club that we've built the backoffice for.
---
## 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: 1402
- 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:** 20to1 Tournament & Floor Ops LAYER C COMPLETE (minus Tommy-deferred member accounts/self-tag/player chip self-tracking). Shipped + prod-verified 2026-08-10: mig
**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: 9af2eb77-1d97-46b2-b172-d9b05d599f9d
- 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 9af2eb77-1d97-46b2-b172-d9b05d599f9d --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 9af2eb77-1d97-46b2-b172-d9b05d599f9d --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 9af2eb77-1d97-46b2-b172-d9b05d599f9d --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 9af2eb77-1d97-46b2-b172-d9b05d599f9d --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)
Original input from /new-project. Stored as raw evidence per FORCED_RULE_PO_02; never edited in place.
I need to initate protocol to build a staff scheduling AI agent to tie into the staffing. There needs to be a text bot for a staff to tell the agent their needs are, and the agent creates a schedule for the week and let's the staff know.
For the admin side, there needs to be an AI Agent for Mangers so they can discuss what they want to see and the agent will use that to augment the schedule that will properly allocate times and shifts.
This is for the 20 to 1 social poker club that we've built the backoffice for.
Event timeline (27)
Every event tagged with this draft_id, in chronological order.
You started a new project draft via /new-project (draft_id=9af2eb77-1d97-46b2-b172-d9b05d599f9d).
draft_savedsystem · 2026-07-16 10:12:04+00:00
You saved the brain-dump for draft 9af2eb77-1d97-46b2-b172-d9b05d599f9d: "I need to initate protocol to build a staff scheduling AI agent to tie into the staffing. There needs to be a text bot for a staff to tell the agent their needs are, and the agent creates a schedule f…"
Q: "When the staff-side agent creates a schedule for the week, does it land as a dra…" — A: "That's a decision to let the GM Agent handle it with the GM"
Q: "Are the staff agent and GM agent two chat surfaces on top of one solver, or two …" — A: "Wrong question for the PO drill — those are technical/architecture questions the council + judge should decide when pres…"
Q: "Access: which SMS provider account and which LLM API account?" — A: "Use the existing TowMarX Twilio account alongside for now to speed things up (sovereign-blessed account reuse). LLM = An…"
Q: "Anthropic org created; console is on the buy-credits screen — fund now?" — A: "Defer the API credits/key to LAST — Tommy needs CFO authorization to credit the account. Anthropic org exists, billing p…"
Claude synthesized the discovery drill intent for draft 9af2eb77-1d97-46b2-b172-d9b05d599f9d: "Build an AI scheduling-agent layer on top of the existing 20to1-staffing backoffice (Next.js + Supabase: scheduled_shifts, time_off, multi-position staff, draft/published states). Two surfaces: (1) a …"
GPT Round 1 response for draft 9af2eb77-1d97-46b2-b172-d9b05d599f9d: "My recommendation is to optimize for one source of truth, one scheduling engine, one planner, and treat every conversation (staff or GM) as an interface into that planner—not as independent "AI employ…"
CLAUDE Round 1 response for draft 9af2eb77-1d97-46b2-b172-d9b05d599f9d: "Council Verdict: One Engine, Two Mouths, One New Service
A) Topology — one deterministic engine, two conversational surfaces
Two negotiating agents is architecture theater at this scale. There's one…"
GPT Round 2 response for draft 9af2eb77-1d97-46b2-b172-d9b05d599f9d: "SWITCH — RAILWAY_NOW.
My strongest reason is architectural separation of responsibilities, not raw execution time.
The scheduling agent is a long-lived operational service that owns asynchronous wor…"
CLAUDE Round 2 response for draft 9af2eb77-1d97-46b2-b172-d9b05d599f9d: "RAILWAY_NOW. No switch.
Single strongest reason: the ACK-then-work pattern is not optional for Twilio, and Vercel Hobby has no legitimate way to do it. A webhook must return 200 fast, then run an LLM…"
DEEPSEEK Round 2 response for draft 9af2eb77-1d97-46b2-b172-d9b05d599f9d: "SWITCH to VERCEL_FIRST.
Single strongest reason: Maintain operational simplicity by keeping all code in one deployable unit until a concrete latency or timeout issue forces separation — premature mic…"
GPT Round 1 response for draft 9af2eb77-1d97-46b2-b172-d9b05d599f9d: "Key principle: The customer agent should be an authenticated read-only personalization layer, not a customer-service authority.
Executive Summary: (A) Phone number + member PIN, optional front-desk a…"
CLAUDE Round 1 response for draft 9af2eb77-1d97-46b2-b172-d9b05d599f9d: "A) Identity: member number (or card scan — keyboard-wedge scanner) + self-set 4-6 digit PIN, enrolled ONLY at the front desk (anti-guessing wall: attacker needs valid member number AND an in-person PI…"
DEEPSEEK Round 2 response for draft 9af2eb77-1d97-46b2-b172-d9b05d599f9d: "PHONE_FIRST — I switch. One strongest reason: shoulder-surfing is a material privacy risk in a gambling context that phone-first eliminates entirely (member's own screen, no shared session hygiene), w…"
GPT Round 1 response for draft 9af2eb77-1d97-46b2-b172-d9b05d599f9d: "Overall principle: optimize for TRUST first, optimization second. Every feature must pass: would a reasonable employee use the assistant MORE because of this, or less?
(A) Cost: calculate and PERSIST…"
CLAUDE Round 1 response for draft 9af2eb77-1d97-46b2-b172-d9b05d599f9d: "A) Cost: store cost at write time — add cost_usd numeric to agent_messages from a small model_pricing table (model, input_/MTok, output_/MTok, effective_date) at insert. Write-time cost is a fact; rea…"
GPT Round 1 response for draft 9af2eb77-1d97-46b2-b172-d9b05d599f9d: "KEY PRINCIPLE: "A conversation is not a workflow." Many proposed features try to overload "threads" to also be tasks, approvals, investigations, projects — that gets messy. Separate the concepts now.
…"
DEEPSEEK Round 1 response for draft 9af2eb77-1d97-46b2-b172-d9b05d599f9d: "**DEEPSEEK Round 1 response for poll: AGENT CONVERSATION ARCHITECTURE — 20to1 Social Club**
*(Poll context provided in cycle document; no external tool calls. This is a direct analysis response.)* …"
CLAUDE Round 1 response for draft 9af2eb77-1d97-46b2-b172-d9b05d599f9d: "A) GM chat — one main thread + short-lived FOCUS threads, manually spawned. Neither pure option wins: full topic-threading fragments the agent's memory where cross-topic reasoning is the value; one et…"