Skip to content

Commit b0e32fc

Browse files
committed
plan: ready spine for fresh conversation — cleanup state + UI/UX-before-PR-5.1 directive
Record the 2026-06-11 history cleanup (143 -> 6 commits, rebased onto develop, new per-phase SHAs, backup ref) and the user directive to do a UI/UX optimization + potential redesign round before PR-5.1. Add a new top SESSION HANDOFF, demote the prior one, and correct the stale SHA/backup-ref notes inside it. Signed-off-by: "Connor Tsui" <connor@spiraldb.com>
1 parent a908d0d commit b0e32fc

1 file changed

Lines changed: 16 additions & 6 deletions

File tree

.big-plans/ct__bench-v4.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ current_pr: PR-5.1
1212
pr_index: 4
1313
outstanding_must_fix: 0
1414
deferred_items_total: 22
15-
last_user_touchpoint: 2026-06-12T00:30:00Z
16-
last_user_touchpoint_what: "PR-5.1.5 CLOSED (Step 2.5). Read-path perf shipped, deployed, live-verified, and gauntlet-accepted at the project ~3-cycle cap; full close-out in the PR-5.1.5 Implementation status entry. Skip scans (15b778b01) + sargable (2e637401e) + write-path commit_timestamp (e3861734e) + 3 gauntlet-fix commits (572b3bdf6 cycle 1, cbe2b97b2 cycle 2, b20904ae0 cycle 3). Live: /api/groups cold 0.64-1.07s (was 6.0s) / 0.079s cached; tpch chart 13.6s->0.094s. Migrations 006+007 applied to prod as master + VACUUM ANALYZE. PR-5.0 deferred data-checks RESOLVED (chart-count sets match live v2 bench.vortex.dev; 5-slug latest-value spot-check within variance). All suites green (web vitest 214, migrate Rust 100, python 154). Gauntlet: 3 cycles, executor=parallel (Claude+Codex per lens); cycle-3 must-fixes were operator-runbook doc drift (infra/README.md + provision.sh) + tests, zero production-logic, accepted at cap. NEXT: PR-5.1 (promote v4 --postgres ingest to required + drop v3 --server write from the 3 CI workflows; pre-promotion gate = re-run the PR-3.5 cross-check clean; ship scripts/psql-bench.sh). Each prod write remains harness-gated. Pre-squash backup ref refs/backups/ct-bench-v4-pre-squash-386ea347b created at the old 143-commit tip (386ea347b). The granular Phase-4-remainder + Phase-5 history was then squashed to one commit per phase and the branch rebased onto origin/develop (clean, no conflicts), giving Phase 4 = b9fc6220d, Phase 5 = 856bf7146; phase_entry_sha + last_commit re-pointed accordingly. Recreate a fresh backup ref before any PR-5.3/final squash."
15+
last_user_touchpoint: 2026-06-11T20:00:00Z
16+
last_user_touchpoint_what: "HISTORY CLEANED + REBASED (2026-06-11) and a UI/UX optimization + potential redesign is queued BEFORE PR-5.1 — read the 2026-06-11 SESSION HANDOFF at the top of this file first. PR-5.1.5 CLOSED (Step 2.5). Read-path perf shipped, deployed, live-verified, and gauntlet-accepted at the project ~3-cycle cap; full close-out in the PR-5.1.5 Implementation status entry. Skip scans (15b778b01) + sargable (2e637401e) + write-path commit_timestamp (e3861734e) + 3 gauntlet-fix commits (572b3bdf6 cycle 1, cbe2b97b2 cycle 2, b20904ae0 cycle 3). Live: /api/groups cold 0.64-1.07s (was 6.0s) / 0.079s cached; tpch chart 13.6s->0.094s. Migrations 006+007 applied to prod as master + VACUUM ANALYZE. PR-5.0 deferred data-checks RESOLVED (chart-count sets match live v2 bench.vortex.dev; 5-slug latest-value spot-check within variance). All suites green (web vitest 214, migrate Rust 100, python 154). Gauntlet: 3 cycles, executor=parallel (Claude+Codex per lens); cycle-3 must-fixes were operator-runbook doc drift (infra/README.md + provision.sh) + tests, zero production-logic, accepted at cap. NEXT: PR-5.1 (promote v4 --postgres ingest to required + drop v3 --server write from the 3 CI workflows; pre-promotion gate = re-run the PR-3.5 cross-check clean; ship scripts/psql-bench.sh). Each prod write remains harness-gated. Pre-squash backup ref refs/backups/ct-bench-v4-pre-squash-386ea347b created at the old 143-commit tip (386ea347b). The granular Phase-4-remainder + Phase-5 history was then squashed to one commit per phase and the branch rebased onto origin/develop (clean, no conflicts), giving Phase 4 = b9fc6220d, Phase 5 = 856bf7146; phase_entry_sha + last_commit re-pointed accordingly. Recreate a fresh backup ref before any PR-5.3/final squash."
1717
subagent_invocations_this_pr: 0
1818
subagent_invocations_total: 162
1919
review_cycles_this_pr: 0
@@ -26,12 +26,22 @@ last_commit: 856bf7146
2626
last_cycle_commits: []
2727
```
2828

29-
## SESSION HANDOFF — 2026-06-12 (PR-5.1.5 CLOSED; PR-5.1 next — READ THIS FIRST)
29+
## SESSION HANDOFF — 2026-06-11 (history cleaned + rebased; UI/UX redesign queued BEFORE PR-5.1 — READ THIS FIRST)
3030

31-
**Resume via `/spiral:big-plans` in the `vortex4` worktree.** `Current State` routes you to `current_pr: PR-5.1`. PR-5.1.5 (read-path perf) is fully CLOSED — do NOT redo it; its complete record is the `### PR-5.1.5:` Implementation status entry. HEAD = `origin/ct/bench-v4` = `4575b1d3d`, working tree clean.
31+
**Newest handoff — supersedes the 2026-06-12 section below** (the two sessions' clocks differ by ~1 day; this is the latest). Resume via `/spiral:big-plans` in the `vortex4` worktree.
32+
33+
**1. Branch history was cleaned + rebased (2026-06-11).** The granular 143-commit branch is now **6 commits — one squashed commit per phase** (Phase 1-5) plus a `plan:` re-point commit, rebased clean onto `origin/develop` (no conflicts) and force-pushed. **HEAD = `origin/ct/bench-v4` = `a908d0d0c`**, working tree clean. New per-phase SHAs: Phase 4 = `b9fc6220d`, Phase 5 = `856bf7146`. `phase_entry_sha` (`b9fc6220d`) + `last_commit` (`856bf7146`) were re-pointed and verified live (`git diff b9fc6220d..HEAD` spans exactly Phase 5). **Pre-squash backup: `refs/backups/ct-bench-v4-pre-squash-386ea347b`** (= old 143-commit tip; fully recoverable). Every SHA quoted in the historical handoff sections below is now ORPHANED — trust THIS section + the `Current State` block, not the older sections, for live SHAs.
34+
35+
**2. USER DIRECTIVE — UI/UX optimization + potential redesign comes BEFORE PR-5.1.** Before starting the PR-5.1 CI-promotion work (described in the 2026-06-12 section below), the user wants a round of **UI/UX optimization and potential redesign** of the benchmarks site. This is **not yet scoped**. On resume: **do NOT auto-start PR-5.1.** First scope the UI/UX work WITH the user — use `superpowers:brainstorming` then `spiral:grill-me` to pin intent (what to optimize, redesign vs. incremental polish, success criteria, which pages/components) — then **amend Phase 5** (Step 3.5 Amend flow) to insert it as a new sub-PR slotted ahead of PR-5.1. PR-5.1 begins only after that UI/UX sub-PR closes. (Context for scoping: the current site is the v4 Next.js 15 read service at `https://benchmarks-web.vercel.app`; the read path is already fast post-PR-5.1.5, so this round is about UX/visual quality, not query perf.)
36+
37+
**3. After the UI/UX work: PR-5.1 is the next planned step** — full scope in the **2026-06-12 section immediately below** (promote v4 `--postgres` ingest to required, drop the v3 `--server` write from 3 CI workflows, ship `scripts/psql-bench.sh`; gated on a prod cross-check WRITE). That section is still accurate; only its HEAD/commit-trail SHAs are stale (superseded by item 1 above).
38+
39+
## SESSION HANDOFF — 2026-06-12 (PR-5.1.5 CLOSED; PR-5.1 detail — superseded as "read first" by the 2026-06-11 section above)
40+
41+
**Resume via `/spiral:big-plans` in the `vortex4` worktree.** `Current State` routes you to `current_pr: PR-5.1`. PR-5.1.5 (read-path perf) is fully CLOSED — do NOT redo it; its complete record is the `### PR-5.1.5:` Implementation status entry. (HEAD/commit SHAs in THIS section are STALE after the 2026-06-11 history cleanup — see the top section for live SHAs; HEAD is now `a908d0d0c`.) **PR-5.1 is now GATED behind the UI/UX optimization/redesign work the user queued (top section) — do not start PR-5.1 until that lands.**
3242

3343
### PR-5.1.5 outcome (one paragraph, so you don't re-open it)
34-
Shipped + deployed + live + gauntlet-accepted (3 cycles, executor=parallel Claude+Codex). Recursive-CTE skip scans replaced the three whole-table read-path scans (`/api/groups` cold 6.0s -> ~1s; tpch chart 13.6s -> 0.094s; all byte-identical vs the replaced queries on testcontainer + full prod seed). Write-path `commit_timestamp` stamping in `post-ingest.py` + the Rust loader. Migrations 006/007 applied to prod as master + VACUUM ANALYZE. PR-5.0 deferred data-checks resolved (chart-count sets match live v2 `bench.vortex.dev`). Commit trail `93ccf970e`..`4575b1d3d`. All suites green (web vitest 214, migrate Rust 100, python 154).
44+
Shipped + deployed + live + gauntlet-accepted (3 cycles, executor=parallel Claude+Codex). Recursive-CTE skip scans replaced the three whole-table read-path scans (`/api/groups` cold 6.0s -> ~1s; tpch chart 13.6s -> 0.094s; all byte-identical vs the replaced queries on testcontainer + full prod seed). Write-path `commit_timestamp` stamping in `post-ingest.py` + the Rust loader. Migrations 006/007 applied to prod as master + VACUUM ANALYZE. PR-5.0 deferred data-checks resolved (chart-count sets match live v2 `bench.vortex.dev`). Commit trail (pre-cleanup `93ccf970e`..`4575b1d3d`; now squashed into the Phase 5 commit `856bf7146`). All suites green (web vitest 214, migrate Rust 100, python 154).
3545

3646
### PR-5.1 — what's next (NOT started)
3747
Scope (spine PR-enumeration row PR-5.1): **promote the v4 `--postgres` ingest to required and drop the v3 `--server` write** from the 3 ingest workflows; `post-ingest.py` runs only with `--postgres`; **ship + document `scripts/psql-bench.sh`** (phase-4 end-review fold-in — file does NOT exist yet).
@@ -45,7 +55,7 @@ Scope (spine PR-enumeration row PR-5.1): **promote the v4 `--postgres` ingest to
4555
- **Prod master DSN** (further migrations/VACUUM): `AWS_PROFILE=bench-prod aws rds describe-db-instances ... MasterUserSecret.SecretArn` -> `aws secretsmanager get-secret-value` -> `PGUSER`/`PGPASSWORD` + `PGHOST=vortex-bench-prod.c4f8qygk4xdp.us-east-1.rds.amazonaws.com PGDATABASE=vortex_bench PGSSLMODE=verify-full PGSSLROOTCERT=~/rds-ca.pem`. bench_read pw: `~/.bench-read-pw`; CA: `~/rds-ca.pem`. **Every prod write is harness auto-mode-gated** even under broad approval — surface + get per-action approval. The user approved prod READS this session.
4656
- **Gauntlet flow used this session** (reuse it): `executor=parallel` via `compose_prompts.py --reference-dir <gauntlet>/reference --executor-routing fresh=parallel,correctness=parallel`; dispatch Claude lenses via `Agent`, Codex lenses via `node ~/.config/claude/plugins/cache/openai-codex/codex/1.0.4/scripts/codex-companion.mjs task --model gpt-5.5 --effort xhigh --prompt-file <f>` (background); then a synthesizer subagent over the 4 executor-tagged blobs. The project **~3-cycle cap** (spine Key-decision) governs: fix-and-accept or defer at cycle 3, never spiral.
4757
- migrations dir is repo-root `migrations/` (NOT benchmarks-website/migrations/). `schema-deploy.yml` is develop-only so ct/bench-v4 pushes only fire `web-deploy.yml`. Live URL: `https://benchmarks-web.vercel.app`.
48-
- **OUTSTANDING (unrelated to PR-5.1):** the pre-squash backup ref `backup/bench-v4-pre-squash-*` is still MISSING — recreate it before the PR-5.3 / final squash.
58+
- **Pre-squash backup ref EXISTS now:** `refs/backups/ct-bench-v4-pre-squash-386ea347b` (created 2026-06-11 at the old 143-commit tip). Recreate a fresh one before the PR-5.3 / final squash.
4959

5060
## SESSION HANDOFF — 2026-06-11 (PR-5.1.5 read-path-perf DEPLOYED) [HISTORICAL — PR-5.1.5 CLOSED; superseded by the 2026-06-12 handoff above]
5161

0 commit comments

Comments
 (0)