Start a new SiXiS project

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

Draft cdaac6c3…

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:

---
This project is to handle all SEO work for Towmarx... here are 2 handoffs from 2 different claude code chats:

SiXiS handoff — TowMarX content engine. Operator: quangholio. The TowMarX project is CLOSED (status=shipped, owner=quangholio, ended_at 2026-06-06) in both Supabase (5b5ef641-f7c6-4ae4-8578-0e4192121430) and the SQLite dashboard mirror. The autonomous publisher continues running on its own and YOU are the human-in-the-loop for its outputs.

Read the cold-start brief first, then operate from it:
  cat ~/.claude/scheduled-tasks/towmarx-batch-2-publish/HANDOFF.md

Quick context: Batch 2 shipped 2026-06-05 (towmarx.com 33 -> 38 published, dashboard.sixis.ai cycle 0f9c6839 visible). The recurring autonomous publisher is armed (cron "7 9 3,17 * *", next firing 2026-06-17 ~9:07am, voters DeepSeek+GPT+Claude, judge Gemini). Permissions are already wide open at the settings level (bypassPermissions + Bash(*) + mcp__*).

Your job:
1. Watch for the autonomous publisher's report each firing (it posts as its own fresh chat after the cron fires).
2. If the report flags an issue (failed deploy, broken article, council-blocker), step in and fix it.
3. If a published Batch article needs an adjustment after the user reviews, handle it.
4. If the publisher reports "candidates exhausted, recommend pausing" — that's the final natural close; pause the recurring task and log a final session_handoff.
5. Otherwise: do nothing. The engine runs. Do not collapse the council cadence, don't publish anything early on your own, and don't re-open the closed project just to add work.

Known cosmetic noise to ignore: Vercel sends a "failed CLI deploy" email each `sixis publish` because dashboard_v0_1/.vercel/project.json points at a sixis-dashboard project misconfigured under the TowMarX Vercel team. Real dashboard deploys go through the GitHub integration and succeed regardless. Safe cleanup whenever: `rm -rf ~/Documents/Claude/Projects/SixiS/projects/dashboard_v0_1/.vercel` and re-link to a SiXiS-side project.

Substrate caveats: `sixis session-start --user quangholio` will fail (event_source CHECK constraint — quangholio not in source enum, known SiXiS-meta bug tracked in draft-a9e00e08). HANDOFF.md plus the logged session_handoff Supabase event ARE the real handoff; skip the broken CLI command. Also, `sixis publish` may hang on its Vercel CLI step — if you need to push the dashboard, write ui/data.json manually from SQLite and `git push` to sixisstudio/sixis-dashboard; the GitHub integration handles the rebuild.

cd ~/Documents/Claude/Projects/SixiS/projects/dashboard_v0_1 && \
set -a && source ~/Documents/Claude/Projects/SixiS/projects/integrate_supabase_v0_1/.env && set +a && \
SIXIS_OPERATOR=tommy python3 scripts/sixis.py session-start \
  --user tommy \
  --project p_towmarx_seo_recovery_hands_free_weekly_r
---

## 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: cdaac6c3-4af1-4e57-be0a-6a8011466703
- 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 cdaac6c3-4af1-4e57-be0a-6a8011466703 --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 cdaac6c3-4af1-4e57-be0a-6a8011466703 --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 cdaac6c3-4af1-4e57-be0a-6a8011466703 --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 cdaac6c3-4af1-4e57-be0a-6a8011466703 --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 cdaac6c3-4af1-4e57-be0a-6a8011466703
Brain dump (raw)
Original input from /new-project. Stored as raw evidence per FORCED_RULE_PO_02; never edited in place.
This project is to handle all SEO work for Towmarx... here are 2 handoffs from 2 different claude code chats:

SiXiS handoff — TowMarX content engine. Operator: quangholio. The TowMarX project is CLOSED (status=shipped, owner=quangholio, ended_at 2026-06-06) in both Supabase (5b5ef641-f7c6-4ae4-8578-0e4192121430) and the SQLite dashboard mirror. The autonomous publisher continues running on its own and YOU are the human-in-the-loop for its outputs.

Read the cold-start brief first, then operate from it:
  cat ~/.claude/scheduled-tasks/towmarx-batch-2-publish/HANDOFF.md

Quick context: Batch 2 shipped 2026-06-05 (towmarx.com 33 -> 38 published, dashboard.sixis.ai cycle 0f9c6839 visible). The recurring autonomous publisher is armed (cron "7 9 3,17 * *", next firing 2026-06-17 ~9:07am, voters DeepSeek+GPT+Claude, judge Gemini). Permissions are already wide open at the settings level (bypassPermissions + Bash(*) + mcp__*).

Your job:
1. Watch for the autonomous publisher's report each firing (it posts as its own fresh chat after the cron fires).
2. If the report flags an issue (failed deploy, broken article, council-blocker), step in and fix it.
3. If a published Batch article needs an adjustment after the user reviews, handle it.
4. If the publisher reports "candidates exhausted, recommend pausing" — that's the final natural close; pause the recurring task and log a final session_handoff.
5. Otherwise: do nothing. The engine runs. Do not collapse the council cadence, don't publish anything early on your own, and don't re-open the closed project just to add work.

Known cosmetic noise to ignore: Vercel sends a "failed CLI deploy" email each `sixis publish` because dashboard_v0_1/.vercel/project.json points at a sixis-dashboard project misconfigured under the TowMarX Vercel team. Real dashboard deploys go through the GitHub integration and succeed regardless. Safe cleanup whenever: `rm -rf ~/Documents/Claude/Projects/SixiS/projects/dashboard_v0_1/.vercel` and re-link to a SiXiS-side project.

Substrate caveats: `sixis session-start --user quangholio` will fail (event_source CHECK constraint — quangholio not in source enum, known SiXiS-meta bug tracked in draft-a9e00e08). HANDOFF.md plus the logged session_handoff Supabase event ARE the real handoff; skip the broken CLI command. Also, `sixis publish` may hang on its Vercel CLI step — if you need to push the dashboard, write ui/data.json manually from SQLite and `git push` to sixisstudio/sixis-dashboard; the GitHub integration handles the rebuild.

cd ~/Documents/Claude/Projects/SixiS/projects/dashboard_v0_1 && \
set -a && source ~/Documents/Claude/Projects/SixiS/projects/integrate_supabase_v0_1/.env && set +a && \
SIXIS_OPERATOR=tommy python3 scripts/sixis.py session-start \
  --user tommy \
  --project p_towmarx_seo_recovery_hands_free_weekly_r
Event timeline (12)
Every event tagged with this draft_id, in chronological order.
project_draft_started system · 2026-06-06 05:53:01+00:00
You started a new project draft via /new-project (draft_id=cdaac6c3-4af1-4e57-be0a-6a8011466703).
draft_saved system · 2026-06-06 05:53:01+00:00
You saved the brain-dump for draft cdaac6c3-4af1-4e57-be0a-6a8011466703: "This project is to handle all SEO work for Towmarx... here are 2 handoffs from 2 different claude code chats: SiXiS handoff — TowMarX content engine. Operator: quangholio. The TowMarX project is CL…"
discovery_prompt_generated system · 2026-06-06 05:53:01+00:00
Generated the discovery drill prompt for draft cdaac6c3-4af1-4e57-be0a-6a8011466703 using prompt_templates.discovery_drill v3.
ui_launch_event system · 2026-06-06 05:53:07+00:00
You clicked 'Copy prompt' on /new-project for draft cdaac6c3-4af1-4e57-be0a-6a8011466703 — prompt taken to Claude Code (prompt_hash=55b74c7b9b8f…).
discovery_answer_logged tommy · 2026-06-06 05:54:46+00:00
Q: "Is this new project the umbrella that absorbs the existing autonomous content en…" — A: "New umbrella project. The other TowMarX projects are already closed out. This project absorbs everything SEO under one r…"
discovery_answer_logged tommy · 2026-06-06 05:56:29+00:00
Q: "What's the driving outcome — recovery from a decline, growth from a healthy base…" — A: "All of it if possible — recovery, growth, and authority-building all in scope. Maximalist posture, no single-axis priori…"
discovery_answer_logged tommy · 2026-06-06 05:58:05+00:00
Q: "Fully autonomous self-deploying on a recurring cron, or with an approval gate fo…" — A: "Fully autonomous execution with no per-change approval gate — it self-deploys all classes of change. BUT the trigger is …"
discovery_answer_logged tommy · 2026-06-06 06:01:11+00:00
Q: "Is the autonomous mandate scoped to on-site work, with off-site (GBP, backlinks)…" — A: "Off-site (GBP, backlinks, local) is OUT OF SCOPE entirely. The core job is: monitor Google Search Console AND Google Ana…"
discovery_answer_logged tommy · 2026-06-06 06:02:43+00:00
Q: "Is the autonomous write-surface limited to article bodies, or does it also inclu…" — A: "Both. The engine autonomously does article work (new + updates) AND non-article on-page/technical fixes (meta titles/des…"
discovery_answer_logged tommy · 2026-06-06 06:04:08+00:00
Q: "Guardrail posture for autonomously rewriting live ranking pages: trust the counc…" — A: "Trust the council (level 1) — conditioned on proper polling, cross-polling, and reviewer work being done per SiXiS proto…"
discovery_synthesis_logged claude · 2026-06-06 06:06:05+00:00
Claude synthesized the discovery drill intent for draft cdaac6c3-4af1-4e57-be0a-6a8011466703: "TowMarX Autonomous SEO Engine (v1): a single umbrella engine absorbing the now-closed TowMarX content engine, owning on-site SEO for towmarx.com end-to-end. TRIGGER: user manually initiates each run; …"
wizard_step_completed claude · 2026-06-06 06:06:27+00:00
Claude marked the discovery drill complete for draft cdaac6c3-4af1-4e57-be0a-6a8011466703. Wizard advances from discovery to intent-freeze step.