Golden Egg was built by 38 agent workers in parallel, under one rulebook (AGENTS.md), from the first PR at Sat 05:12. Every number here was read from the repo and GitHub at Sun 10:53.
How Golden Egg was built the loop every agent runs, from AGENTS.md · one real feature traced through it
One real feature, followed through every step: ai-client, one server-side AI client (Claude preferred, Gemini fallback) with validated JSON output and claim labels
Every feature starts as a spec with its dependencies and the paths it alone may change
An agent takes the first ready feature and opens a draft PR at once: the draft is the claim
CI rejects a PR that touches files its title doesn't own, or lands new features during a freeze
The agent drives the real build (Playwright on a production build) and pastes the result
Green CI, then the agent squash-merges its own PR. Plans and rule changes wait for a person
Every merge to main deploys. Follow-up fixes go through the same loop, scoped to the feature
Guardrails: 39 plan PRs and 13 contract PRs (scope and frozen-file changes) merged · 0 reverts · a STOP file on main halts every agent.
Watch it get built every feature in dependency order · hover to trace · click one for its spec and PR
press space to watch it get built
- #515 feat(idea-scan): the story, a 36 s presenter walkthrough of the parking-app joke
- #514 fix(live-mentor-ui): put How it was built beside Team, and line Team up with the header row
- #513 fix(foreman): lead with the story of how it was built, one real feature traced through the loop
The crew every PR on its worker's row · up to 18 open at once · then what each has open at the snapshot · dot = CI
table
| worker | PR | type | opened | ended |
|---|---|---|---|---|
| claude-context | #5 contract: add event context (rubric, prizes, deadlines) | plan · contract | Sat 05:21 | merged Sat 05:22 |
| claude-context | #6 contract: correct event context (rubric anchors, prize wording) | plan · contract | Sat 05:25 | merged Sat 05:26 |
| eric-claude-agent-1 | #32 feat(bootstrap): Next.js app shell, database, checks and verifier | feature | Sat 05:43 | merged Sat 05:51 |
| eric-claude-agent-1 | #33 feat(corpus-fetch): fetch, clean and dedupe real hackathon projects | feature | Sat 05:52 | merged Sat 06:03 |
| eric-claude-agent-1 | #41 feat(corpus-embed): embed, project to 3D, load into Neon, export stars | feature | Sat 06:21 | merged Sat 06:45 |
| eric-claude-agent-1 | #50 contract: bump next to 15.5.27 so Vercel deploys again | plan · contract | Sat 06:27 | merged Sat 06:30 |
| eric-claude-agent-1 | #106 chore: name the Neon test branch variable in .env.example | fix · refactor · test | Sat 09:03 | merged Sat 09:05 |
| eric-claude-agent-1 | #110 fix(guest-workspace): record the passing real-database verification | fix · refactor · test | Sat 09:12 | merged Sat 09:33 |
| eric-claude-agent-1 | #122 feat(idea-revisions-api): propose revisions and create a new version only on accept | feature | Sat 09:51 | merged Sat 10:03 |
| eric-claude-agent-1 | #124 feat(neighbor-evidence-ui): evidence cards for each neighbor | feature | Sat 10:04 | merged Sat 10:12 |
| eric-claude-agent-1 | #133 feat(team-vote-api): private votes revealed only when both teammates have voted | feature | Sat 10:21 | merged Sat 10:28 |
| eric-claude-agent-1 | #138 feat(team-vote-ui): private teammate votes, revealed only when both have voted | feature | Sat 10:29 | merged Sat 10:39 |
| eric-claude-agent-1 | #160 feat(strongest-alternative-ui): the strongest existing alternative beside the evidence cards | feature | Sat 11:21 | merged Sat 11:30 |
| eric-claude-agent-1 | #197 feat(moment-api): turn a saved idea version into a three-step judge interaction | feature | Sat 12:41 | merged Sat 12:57 |
| eric-claude-agent-1 | #202 feat(moment-ui): show the three-step demo moment in the share panel | feature | Sat 12:58 | merged Sat 13:13 |
| eric-claude-agent-1 | #223 feat(constellation-ui): the idea's assumptions as a small map | feature | Sat 13:31 | merged Sat 13:46 |
| eric-claude-agent-1 | #228 feat(research-api): GitHub and Hugging Face research, product versus building block | feature | Sat 13:47 | merged Sat 14:03 |
| eric-claude-agent-1 | #233 feat(problem-evidence-ui): dated, sourced evidence that the idea's problem is real | feature | Sat 14:11 | merged Sat 14:18 |
| eric-claude-agent-1 | #239 feat(research-ui): related GitHub and Hugging Face work, product versus building block | feature | Sat 14:31 | merged Sat 14:39 |
| eric-claude-agent-1 | #241 fix(problem-evidence-ui): readable dates and the chart's type in the idea card's evidence sections | fix · refactor · test | Sat 14:43 | merged Sat 14:57 |
| eric-claude-agent-1 | #251 feat(search-filters-ui): filter search by event and year, label created years | feature | Sat 15:01 | merged Sat 15:15 |
| eric-claude-agent-1 | #255 feat(rehearsal-api): a pitch from what is built, and three judge questions | feature | Sat 15:16 | merged Sat 15:30 |
| eric-claude-agent-1 | #260 fix(search-filters-ui): add the completion note | fix · refactor · test | Sat 15:31 | merged Sat 15:33 |
| eric-claude-agent-1 | #261 feat(rehearsal-ui): rehearse the pitch in the share panel | feature | Sat 15:32 | merged Sat 15:49 |
| eric-claude-agent-1 | #265 fix(moment-ui): neighbour evidence fixtures and a scoped step count in the e2e | fix · refactor · test | Sat 15:54 | merged Sat 15:56 |
| eric-claude-agent-1 | #268 feat(challenge-resume-ui): resume the latest challenge session after a reload | feature | Sat 16:02 | merged Sat 16:35 |
| eric-claude-agent-1 | #290 feat(idea-interview-api): follow-up questions until the idea is understood | feature | Sat 16:51 | merged Sat 16:59 |
| eric-claude-agent-1 | #294 fix(idea-interview-api): record how rounds are counted in the spec | fix · refactor · test | Sat 16:59 | merged Sat 17:01 |
| eric-claude-agent-1 | #296 feat(idea-scorecard-api): five criteria, each with reasons for and against | feature | Sat 17:03 | merged Sat 17:12 |
| eric-claude-agent-1 | #298 feat(build-plan-ui): a Plan step after deciding on an idea | feature | Sat 17:13 | merged Sat 17:20 |
| eric-claude-agent-1 | #303 feat(idea-scorecard-ui): an idea's scorecard, five criteria with reasons | feature | Sat 17:21 | merged Sat 17:29 |
| eric-claude-agent-1 | #323 fix(build-plan-ui): keep the newest plan through a failed regenerate, and the browser e2e | fix · refactor · test | Sat 18:13 | merged Sat 18:24 |
| eric-claude-agent-1 | #327 test(idea-scorecard-ui): the browser e2e, now that the shell mounts the panel | fix · refactor · test | Sat 18:26 | merged Sat 18:35 |
| eric-claude-agent-1 | #333 fix(idea-scorecard-api): record the live Gemini run in the done note | fix · refactor · test | Sat 18:45 | merged Sat 18:48 |
| eric-claude-agent-1 | #334 fix(build-plan-ui): record the live Gemini run in the done note | fix · refactor · test | Sat 18:46 | merged Sat 18:49 |
| eric-claude-agent-1 | #336 perf: the galaxy stays usable at 30k-100k stars | fix · refactor · test | Sat 19:05 | merged Sat 19:21 |
| eric-claude-agent-1 | #344 perf(galaxy-explainer): reuse the galaxy's stars.json load instead of a third fetch and parse | fix · refactor · test | Sat 19:22 | merged Sat 19:26 |
| eric-claude-agent-1 | #346 perf(voice): load the speech SDK when someone reaches for the mic, not with the page | fix · refactor · test | Sat 19:30 | merged Sat 19:40 |
| eric-claude-agent-1 | #350 perf(galaxy-classes-ui): cache the classes pass-through at the CDN | fix · refactor · test | Sat 19:42 | merged Sat 19:48 |
| eric-claude-agent-1 | #363 perf(corpus-embed): embed several batches at once so embedding keeps up with the 5 rps fetch | fix · refactor · test | Sat 20:43 | merged Sat 20:51 |
| eric-claude-agent-1 | #378 plan: an observatory theme over the galaxy, one set of controls, no broken chrome (ui-redesign) | plan · contract | Sat 21:57 | merged Sat 22:00 |
| eric-claude-agent-1 | #379 feat(ui-redesign): an observatory theme over the galaxy, one set of controls, no broken chrome | feature | Sat 22:00 | merged Sun 00:07 |
| eric-claude-agent-1 | #390 perf(galaxy-3d): first load about twice as fast at 30k–100k stars | fix · refactor · test | Sun 00:11 | merged Sun 01:16 |
| eric-claude-agent-1 | #393 perf(galaxy-classes-ui): check the classes file with a loop instead of zod per project | fix · refactor · test | Sun 01:16 | merged Sun 01:38 |
| eric-claude-agent-1 | #394 feat(ai-image-input): read a bounded sponsor-brief image through the shared AI client | feature | Sun 01:39 | merged Sun 01:50 |
| eric-claude-agent-1 | #395 fix(design-refresh): give the sheet's flick test device timestamps, as a finger has | fix · refactor · test | Sun 02:20 | merged Sun 02:22 |
| eric-claude-agent-1 | #396 fix(ui-redesign): correct the change note's e2e gap, which was my test setup | fix · refactor · test | Sun 02:23 | merged Sun 02:24 |
| eric-claude-agent-1 | #398 fix(galaxy-classes-ui): measure each region label's height before checking it for overlap | fix · refactor · test | Sun 03:01 | merged Sun 03:03 |
| eric-claude-agent-1 | #400 fix(experience-shell): measure the desktop layout once the galaxy canvas has its real size | fix · refactor · test | Sun 03:29 | merged Sun 03:31 |
| eric-claude-agent-1 | #424 fix(corpus-classify): label the rest of the 76,901 frozen set with Haiku agents | fix · refactor · test | Sun 05:23 | merged Sun 05:25 |
| eric-claude-agent-1 | #425 docs: plays log, the opposite of incidents, starting with the 645-agent Haiku labelling run | other | Sun 05:26 | merged Sun 05:28 |
| eric-claude-agent-1 | #431 fix(corpus-classify): classes.json for the 57,301-star release, built from the label store | fix · refactor · test | Sun 05:45 | merged Sun 05:49 |
| eric-claude-agent-1 | #437 fix(workspace-restore-ui): read snapshot history only after the guest workspace starts | fix · refactor · test | Sun 05:49 | merged Sun 05:52 |
| eric-claude-agent-1 | #440 feat(sponsor-challenges-api): import sponsor briefs and assess an idea's fit with cited evidence | feature | Sun 05:55 | merged Sun 07:10 |
| eric-claude-agent-1 | #482 fix(galaxy-classes-ui): rail legend shows whole names, separated readouts and a scroll cue | fix · refactor · test | Sun 07:38 | merged Sun 07:41 |
| eric-claude-agent-1 | #488 fix(galaxy-classes-ui): repair the classes and legend e2e for the 57k corpus and the live-mentor shell | fix · refactor · test | Sun 07:59 | merged Sun 08:01 |
| eric-claude-agent-1 | #495 fix(search): rank neighbours on ids first, so a search answers in ~1 s instead of ~4 s | fix · refactor · test | Sun 08:33 | merged Sun 08:36 |
| eric-claude-agent-1 | #497 feat(sponsor-challenges-ui): sponsor challenge import, review, and cited fit assessment | feature | Sun 08:40 | open |
| eric-claude-agent-1 | #505 fix(idea-scorecard-api): an unscored criterion is never labelled supported | fix · refactor · test | Sun 09:11 | merged Sun 09:14 |
| eric-claude-agent-1 | #507 fix(idea-scan): show the scan readout only once the active idea's own scan has started | fix · refactor · test | Sun 09:37 | merged Sun 09:40 |
| eric-claude-agent-1 | #511 fix: pressed toggles keep their state under forced colors, and the timeline and explainer format their counts | fix · refactor · test | Sun 09:54 | merged Sun 09:57 |
| kiro-agent-1 | #34 feat(galaxy): explore and select corpus projects in one GPU buffer | feature | Sat 05:54 | closed Sat 06:01 |
| kiro-agent-1 | #35 feat(guest-workspace): protect guest sessions and single-use teammate invites | feature | Sat 06:02 | merged Sat 09:07 |
| kiro-agent-1 | #39 contract: support native Windows verification paths | plan · contract | Sat 06:12 | merged Sat 06:41 |
| kiro-agent-1 | #48 fix: allow an isolated local verification port | fix · refactor · test | Sat 06:22 | merged Sat 06:39 |
| kiro-agent-1 | #49 feat(ai-client): validate Gemini output and source-backed claims | feature | Sat 06:23 | merged Sat 06:49 |
| kiro-agent-1 | #51 contract: patch Next 15.5 for secure deployments | plan · contract | Sat 06:27 | closed Sat 06:30 |
| kiro-agent-1 | #66 fix(ai-client): allow the full provider verification retry budget | fix · refactor · test | Sat 07:32 | merged Sat 07:37 |
| kiro-agent-1 | #92 feat(voice-replies-api): stream short spoken replies from the server | feature | Sat 07:40 | closed Sat 14:06 |
| kiro-agent-1 | #100 plan: separate guest workspace API and browser acceptance | plan · contract | Sat 08:26 | closed Sat 08:38 |
| kiro-agent-1 | #107 fix(ai-client): allow explicit local production verifier fixtures | fix · refactor · test | Sat 09:07 | merged Sat 09:28 |
| kiro-agent-1 | #109 feat(idea-create-api): interpret and save workspace ideas as immutable versions | feature | Sat 09:10 | merged Sat 09:34 |
| kiro-agent-1 | #117 feat(neighbor-evidence-api): store source-labelled evidence for saved idea versions | feature | Sat 09:36 | merged Sat 09:56 |
| kiro-agent-1 | #123 feat(idea-revisions-api): propose revisions and preserve accepted sibling versions | feature | Sat 09:51 | closed Sat 09:57 |
| kiro-agent-1 | #128 feat(challenge-api): ground three-round critic sessions in saved ideas | feature | Sat 10:05 | merged Sat 10:18 |
| kiro-agent-1 | #130 feat(decision-snapshot-api): freeze chosen versions and their evidence | feature | Sat 10:15 | merged Sat 10:56 |
| kiro-agent-1 | #152 feat(share-qr-api): share frozen decisions with revocable links | feature | Sat 10:57 | merged Sat 11:07 |
| kiro-agent-1 | #154 feat(strongest-alternative-api): compare the nearest alternative on the saved workflow | feature | Sat 11:03 | merged Sat 11:15 |
| kiro-agent-1 | #163 fix: isolate concurrent verification servers | fix · refactor · test | Sat 11:24 | merged Sat 11:40 |
| kiro-agent-1 | #170 feat(live-smoke): verify API flows against real providers | feature | Sat 11:36 | open |
| kiro-agent-1 | #173 feat(rubric-overlay-api): ground event-track fit in stated ideas | feature | Sat 11:49 | merged Sat 12:12 |
| kiro-agent-1 | #176 fix: preserve Next canonical origins in verification | fix · refactor · test | Sat 11:52 | merged Sat 12:04 |
| kiro-agent-1 | #190 plan: sponsor brief uploads, grounded assessment, and broader product vision | plan · contract | Sat 12:25 | merged Sat 21:29 |
| kiro-agent-1 | #195 feat(combinations-api): propose workflows joining real neighboring projects | feature | Sat 12:37 | merged Sat 14:45 |
| kiro-agent-1 | #206 fix: bound production file tracing to the app checkout | fix · refactor · test | Sat 13:08 | merged Sat 14:09 |
| kiro-agent-1 | #225 fix(compare-api): keep comparisons concise within the provider budget | fix · refactor · test | Sat 13:35 | merged Sat 14:35 |
| kiro-agent-1 | #235 fix(problem-evidence-api): retain attributable domains for unresolved sources | fix · refactor · test | Sat 14:22 | merged Sat 14:49 |
| kiro-agent-1 | #243 fix(compare-api): fit validated comparisons within the provider budget | fix · refactor · test | Sat 14:51 | closed Sun 04:29 |
| kiro-agent-1 | #252 feat(workspace-restore-api): restore saved workspace state and revoke listed shares | feature | Sat 15:07 | merged Sat 15:20 |
| kiro-agent-1 | #285 feat(corpus-classify): publish versioned Gemini classifications with source checks | feature | Sat 16:39 | merged Sat 19:29 |
| kiro-agent-1 | #311 fix(demo-flow): guard saving, vote privacy and shared version identity | fix · refactor · test | Sat 17:40 | merged Sat 18:55 |
| kiro-agent-1 | #340 docs: make the release reproducible and prepare the judging package | other | Sat 19:08 | merged Sat 19:16 |
| kiro-agent-1 | #343 plan: add team fit and chosen scope to the existing decision flow | plan · contract | Sat 19:16 | merged Sat 22:06 |
| kiro-agent-1 | #349 plan: prioritize live ElevenLabs mentorship with grounded app tools | plan · contract | Sat 19:40 | merged Sat 19:54 |
| kiro-agent-1 | #355 feat(live-mentor-api): authenticate live mentorship and ground its tools | feature | Sat 19:56 | merged Sun 07:27 |
| kiro-agent-1 | #443 plan: coordinate multiple ideas and confirmed deletion | plan · contract | Sun 06:17 | merged Sun 06:25 |
| kiro-agent-1 | #448 fix(idea-create-api): support confirmed workspace idea deletion | fix · refactor · test | Sun 06:26 | merged Sun 07:28 |
| planner | #36 plan: widen the trunk with ai-client, push-to-talk first, corpus-release and a backlog | plan · contract | Sat 06:02 | merged Sat 06:21 |
| planner | #54 plan: split ten unstarted mixed features into -api and -ui halves | plan · contract | Sat 06:42 | merged Sat 07:32 |
| planner | #93 plan: add visual-polish ahead of the ten -ui halves | plan · contract | Sat 07:45 | merged Sat 07:49 |
| planner | #97 plan: move galaxy-history (F02) into core | plan · contract | Sat 07:59 | merged Sat 08:04 |
| planner | #99 plan: mount voice-replies-ui inside the voice bar | plan · contract | Sat 08:13 | merged Sat 08:15 |
| planner | #101 plan: separate guest workspace API and browser acceptance (carries #100) | plan · contract | Sat 08:37 | merged Sat 08:46 |
| planner | #103 plan: add demo-flow, one end-to-end run of the judge's path | plan · contract | Sat 08:54 | merged Sat 08:58 |
| planner | #144 plan: promote F26 strongest-alternative and F27 prove-it into submission | plan · contract | Sat 10:45 | merged Sat 10:49 |
| planner | #159 plan: add live-smoke and the F11 rubric overlay to submission | plan · contract | Sat 11:19 | merged Sat 11:34 |
| planner | #180 plan: second submission wave, F28 combinations, F23 change-your-mind, F30 the moment | plan · contract | Sat 12:11 | merged Sat 12:17 |
| planner | #201 plan: drop the safe-demo and core deadlines; keep only the submission freeze | plan · contract | Sat 12:54 | merged Sat 14:55 |
| planner | #211 plan: third submission wave, F24 constellations, F13+F14 research, F12 problem evidence | plan · contract | Sat 13:18 | merged Sat 13:24 |
| planner | #236 plan: research-ui renders in the idea card, not the evidence panel | plan · contract | Sat 14:25 | merged Sat 14:27 |
| planner | #266 plan: challenge-resume-ui, resume the latest challenge after a reload | plan · contract | Sat 15:55 | merged Sat 16:00 |
| planner | #310 fix(corpus-fetch): 2 requests per second with a 429 backoff, and capture gallery cards | fix · refactor · test | Sat 17:39 | merged Sat 17:46 |
| planner | #360 fix(corpus-fetch): resume from the last gallery page handled, not page 1 | fix · refactor · test | Sat 20:21 | merged Sat 20:31 |
| planner | #366 fix(corpus-fetch): ceiling 8 requests per second, 8 workers | fix · refactor · test | Sat 20:50 | merged Sat 20:55 |
| planner | #389 feat(corpus-summaries): summary-only records from gallery cards | feature | Sun 00:06 | merged Sun 00:35 |
| planner | #510 fix(live-mentor-ui): the conversation fills the Idea step and pulls up related projects | fix · refactor · test | Sun 09:46 | open |
| eric-frontend-agent | #37 feat(galaxy): explorable 3D galaxy of the corpus | feature | Sat 06:04 | merged Sat 06:55 |
| eric-frontend-agent | #58 feat(galaxy-explainer): explain what the galaxy shows and what it doesn't | feature | Sat 06:56 | merged Sat 07:15 |
| eric-frontend-agent | #95 feat(visual-polish): shared panel states, claim badges and one visual pass | feature | Sat 07:50 | merged Sat 08:03 |
| eric-frontend-agent | #96 fix: compile JSX in Vitest so unit tests can render components | fix · refactor · test | Sat 07:52 | merged Sat 07:56 |
| eric-frontend-agent | #98 feat(galaxy-history): reveal the galaxy's projects over time | feature | Sat 08:05 | merged Sat 08:23 |
| eric-frontend-agent | #116 feat(idea-create-ui): type an idea, correct it, see it become a star | feature | Sat 09:35 | merged Sat 09:48 |
| eric-frontend-agent | #120 fix: scope e2e status lookups to the galaxy region | fix · refactor · test | Sat 09:48 | merged Sat 09:50 |
| eric-frontend-agent | #126 feat(idea-revisions-ui): accept or reject suggested revisions, and the revision trail | feature | Sat 10:05 | merged Sat 10:14 |
| eric-frontend-agent | #132 feat(challenge-ui): challenge an idea, one assumption per round | feature | Sat 10:20 | merged Sat 10:30 |
| eric-frontend-agent | #139 feat(branches-ui): branch an idea into up to three directions | feature | Sat 10:34 | merged Sat 10:44 |
| eric-frontend-agent | #145 feat(compare-ui): compare two or three idea versions on explicit criteria | feature | Sat 10:45 | merged Sat 10:54 |
| eric-frontend-agent | #151 feat(decision-snapshot-ui): choose a version and view its frozen snapshot | feature | Sat 10:57 | merged Sat 11:09 |
| eric-frontend-agent | #156 feat(share-qr-ui): share a snapshot as a read-only link with a QR code | feature | Sat 11:10 | merged Sat 11:27 |
| eric-frontend-agent | #165 feat(demo-flow): one end-to-end run of the judge's demo path | feature | Sat 11:28 | merged Sat 11:45 |
| eric-frontend-agent | #188 feat(rubric-overlay-ui): event-track fit and user proof in the snapshot view | feature | Sat 12:20 | merged Sat 12:34 |
| eric-frontend-agent | #208 fix(visual-polish): one star-chart look for the whole page | fix · refactor · test | Sat 13:10 | merged Sat 13:17 |
| eric-frontend-agent | #209 fix: name the product and let the galaxy fill its chart | fix · refactor · test | Sat 13:10 | merged Sat 13:15 |
| eric-frontend-agent | #222 plan: experience-shell, a galaxy-first desktop shell and a four-screen phone flow (#212) | plan · contract | Sat 13:31 | merged Sat 16:56 |
| eric-frontend-agent | #242 feat(combinations-ui): joined workflows from two real neighbors, in the evidence panel | feature | Sat 14:50 | merged Sat 15:01 |
| eric-frontend-agent | #259 fix(compare-ui): write the compare stub in compare-api's compact matrix (after #243) | fix · refactor · test | Sat 15:24 | closed Sun 04:29 |
| eric-frontend-agent | #289 feat(galaxy-classes-ui): colour the galaxy by domain, ring prize winners, filter by both | feature | Sat 16:50 | merged Sat 17:17 |
| eric-frontend-agent | #302 feat(experience-shell): galaxy-first desktop shell and four-screen phone flow | feature | Sat 17:17 | merged Sat 17:55 |
| eric-frontend-agent | #312 fix(galaxy-classes-ui): one-row search bar on desktop | fix · refactor · test | Sat 17:48 | merged Sat 17:51 |
| eric-frontend-agent | #316 plan: 2D star map, Material 3 + Apple design refresh, true 2D layout | plan · contract | Sat 17:57 | merged Sat 18:26 |
| eric-frontend-agent | #321 fix(experience-shell): mount the scorecard and the plan step (Plan as a fifth phone destination) | fix · refactor · test | Sat 18:05 | merged Sat 18:08 |
| eric-frontend-agent | #332 feat(galaxy-2d): a flat, pannable 2D star map | feature | Sat 18:38 | merged Sat 19:00 |
| eric-frontend-agent | #335 feat(design-refresh): Material 3 tokens, Apple materials, a calmer brainstorming flow | feature | Sat 19:02 | merged Sat 19:42 |
| eric-frontend-agent | #351 fix(design-refresh): calm failure states, one place for every panel | fix · refactor · test | Sat 19:43 | merged Sat 19:51 |
| eric-frontend-agent | #367 plan: a 3D galaxy with by-category and by-meaning layouts; cut corpus-layout-2d | plan · contract | Sat 21:14 | merged Sat 21:17 |
| eric-frontend-agent | #368 feat(galaxy-3d): a 3D galaxy with by-category and by-meaning layouts | feature | Sat 21:18 | merged Sat 21:44 |
| eric-frontend-agent | #375 fix(design-refresh): drop the flat rings behind the galaxy, which no longer turn with it | fix · refactor · test | Sat 21:34 | merged Sat 21:37 |
| eric-frontend-agent | #376 fix(galaxy-3d): move across the galaxy like a map, zooming where you point | fix · refactor · test | Sat 21:55 | merged Sat 21:57 |
| worktree-cleanup | #38 contract: agents remove their worktree after merge | plan · contract | Sat 06:06 | merged Sat 06:25 |
| issue-claims | #52 contract: claim an issue before working it | plan · contract | Sat 06:30 | merged Sat 06:35 |
| eric-claude-agent-2 | #53 feat(voice): push-to-talk with text as the fallback | feature | Sat 06:38 | merged Sat 06:48 |
| eric-claude-agent-2 | #57 feat(search): search the corpus by meaning or text | feature | Sat 06:53 | merged Sat 07:01 |
| eric-claude-agent-2 | #64 feat(project-drawer): open a star's project record with its source link | feature | Sat 07:08 | merged Sat 07:21 |
| eric-claude-agent-2 | #108 feat(guest-workspace-ui): first-visit workspace and teammate invite journey | feature | Sat 09:08 | merged Sat 09:23 |
| eric-claude-agent-2 | #155 feat(prove-it-api): ten-minute experiments from challenged assumptions | feature | Sat 11:08 | merged Sat 11:21 |
| eric-claude-agent-2 | #162 feat(prove-it-ui): run a ten-minute experiment from a challenge round | feature | Sat 11:23 | merged Sat 11:33 |
| eric-claude-agent-2 | #196 feat(change-mind-api): the assumptions an idea rests on and what would reverse each | feature | Sat 12:38 | merged Sat 12:59 |
| eric-claude-agent-2 | #203 feat(change-mind-ui): what would change your mind, in the challenge panel | feature | Sat 12:59 | merged Sat 13:11 |
| eric-claude-agent-2 | #258 feat(workspace-restore-ui): reload keeps the chosen idea, snapshots and revocable share links | feature | Sat 15:23 | merged Sat 15:45 |
| eric-claude-agent-2 | #280 fix(decision-snapshot-ui): stub neighbour evidence and assert no re-snapshot in the e2e | fix · refactor · test | Sat 16:35 | merged Sat 16:37 |
| eric-claude-agent-2 | #284 fix(share-qr-ui): stub neighbour evidence before choosing a version in the e2e | fix · refactor · test | Sat 16:39 | merged Sat 16:41 |
| eric-claude-agent-2 | #291 feat(idea-interview-ui): ask the interview's questions before saving the idea | feature | Sat 16:53 | merged Sat 17:05 |
| eric-claude-agent-2 | #325 fix(idea-interview-ui): open the Idea destination before the phone check | fix · refactor · test | Sat 18:22 | merged Sat 18:24 |
| eric-claude-agent-2 | #348 feat(era-board-ui): when projects were started, beside the AI coding tools of the time | feature | Sat 19:38 | merged Sat 19:47 |
| eric-claude-agent-2 | #397 feat(decision-context-api): team fit, scope recommendations and selections, frozen into snapshots | feature | Sun 02:50 | merged Sun 03:59 |
| eric-claude-agent-2 | #405 feat(summary-records-api): say when a neighbour is only a gallery card, and mark summary-only search hits | feature | Sun 04:01 | merged Sun 04:31 |
| eric-claude-agent-2 | #418 feat(summary-records-ui): label summary-only projects in the drawer and in evidence excerpts | feature | Sun 04:32 | merged Sun 04:43 |
| eric-claude-agent-2 | #441 docs: incident, a one-minute phone check written up as an access-control problem | other | Sun 06:10 | merged Sun 06:13 |
| eric-claude-agent-2 | #477 fix(search): fold the results panel away on a pick, a click outside, or Escape | fix · refactor · test | Sun 07:11 | merged Sun 07:58 |
| eric-claude-agent-2 | #485 test(visual-polish): reopen the search panel before checking every panel's tokens | fix · refactor · test | Sun 07:46 | merged Sun 07:50 |
| eric-claude-agent-2 | #493 fix(idea-scan): frame the scan where the stars are going, and never on the previous idea's neighbours | fix · refactor · test | Sun 08:23 | merged Sun 08:29 |
| eric-claude-agent-2 | #499 fix(live-mentor-ui): the first saved-idea restore keeps a project picked while the list loaded | fix · refactor · test | Sun 08:49 | merged Sun 08:52 |
| eric-claude-agent-2 | #500 test(search): give search's tests a three-star map and a cold-embedding wait, so they time search, not the galaxy | fix · refactor · test | Sun 08:59 | merged Sun 09:02 |
| eric-claude-agent-2 | #501 fix(galaxy-3d): centre By meaning, let the event filter dim the map, and fit the phone toggle | fix · refactor · test | Sun 09:04 | merged Sun 09:08 |
| eric-claude-agent-2 | #503 fix: close the Team menu on Escape, give the page an h1, label search scores | fix · refactor · test | Sun 09:08 | merged Sun 09:11 |
| eric-claude-agent-2 | #506 fix: open the phone project sheet above the header, and drop its Step label | fix · refactor · test | Sun 09:24 | merged Sun 09:26 |
| eric-claude-agent-2 | #508 fix: rename the app from Uncharted to Golden Egg | fix · refactor · test | Sun 09:42 | merged Sun 09:47 |
| eric-claude-agent-2 | #509 fix(share-qr-ui): the shared idea page says Golden Egg | fix · refactor · test | Sun 09:44 | merged Sun 09:47 |
| eric-claude-agent-2 | #512 fix: the red angular theme on the steel layout | fix · refactor · test | Sun 09:55 | merged Sun 10:07 |
| eric-claude-agent-2 | #515 feat(idea-scan): the story, a 36 s presenter walkthrough of the parking-app joke | feature | Sun 10:28 | merged Sun 10:51 |
| claude-anthropic-provider | #56 contract: add @anthropic-ai/sdk as a second generation provider | plan · contract | Sat 06:51 | merged Sat 06:57 |
| claude-anthropic-provider | #59 fix(ai-client): add Claude as the preferred provider with Gemini fallback | fix · refactor · test | Sat 07:00 | merged Sat 07:08 |
| claude-anthropic-provider | #60 chore: document the Anthropic env vars in .env.example | fix · refactor · test | Sat 07:00 | merged Sat 07:10 |
| mac-codex-agent-1 | #62 feat(corpus-release): validate and prepare the full corpus release | feature | Sat 07:01 | merged Sat 13:44 |
| mac-codex-agent-1 | #115 fix(corpus-embed): bound provider waits and preserve completed batches | fix · refactor · test | Sat 09:34 | merged Sat 09:42 |
| mac-codex-agent-1 | #134 feat(branches-api): suggest and accept sibling idea directions | feature | Sat 10:22 | merged Sat 10:33 |
| mac-codex-agent-1 | #141 feat(compare-api): compare versions using grounded rubric reasons | feature | Sat 10:35 | merged Sat 10:44 |
| mac-codex-agent-1 | #166 feat(vultr-deploy): package the standalone app for a Vultr VM | feature | Sat 11:32 | closed Sun 04:29 |
| mac-codex-agent-1 | #191 fix(corpus-embed): publish the validated full corpus | fix · refactor · test | Sat 12:30 | merged Sat 13:37 |
| mac-codex-agent-1 | #229 feat(problem-evidence-api): find grounded evidence for a saved problem | feature | Sat 13:49 | merged Sat 14:08 |
| mac-codex-agent-1 | #230 fix(ai-client): export the guarded fixture reader for grounded search | fix · refactor · test | Sat 13:52 | merged Sat 13:58 |
| mac-codex-agent-1 | #257 fix(search): preserve exact cosine ranking across the full corpus | fix · refactor · test | Sat 15:19 | merged Sat 15:28 |
| mac-codex-agent-1 | #292 feat(build-plan-api): turn a chosen idea into a grounded build plan | feature | Sat 16:54 | merged Sat 17:08 |
| mac-codex-agent-1 | #304 contract: require the existing schema rollout after table-adding merges | plan · contract | Sat 17:22 | open |
| claude-plan-optional | #112 plan: move cut features to Later (optional) on the roadmap | plan · contract | Sat 09:15 | closed Sat 12:32 |
| foreman | #118 plan: add foreman, an unlisted build-status page | plan · contract | Sat 09:44 | merged Sat 09:46 |
| foreman | #121 feat(foreman): unlisted build-status page for the team and judges | feature | Sat 09:51 | merged Sat 10:02 |
| foreman | #129 fix(foreman): replay the build on the site plan | fix · refactor · test | Sat 10:10 | merged Sat 10:12 |
| foreman | #131 fix(foreman): refresh itself, label each agent's model, fit a phone | fix · refactor · test | Sat 10:18 | merged Sat 10:20 |
| foreman | #135 fix(foreman): show judges the loop the agents run, with live numbers | fix · refactor · test | Sat 10:23 | merged Sat 10:25 |
| foreman | #137 fix(foreman): show build time per feature and mark missed ones | fix · refactor · test | Sat 10:28 | merged Sat 10:31 |
| foreman | #140 fix(foreman): heat from lines changed, not PR count | fix · refactor · test | Sat 10:34 | merged Sat 10:36 |
| foreman | #142 fix(foreman): demo keys for the judge walkthrough | fix · refactor · test | Sat 10:39 | merged Sat 10:41 |
| foreman | #143 fix(foreman): tell a returning viewer what changed since their last look | fix · refactor · test | Sat 10:44 | merged Sat 10:46 |
| foreman | #150 fix(foreman): open a feature's card in place; an open PR beats the cut list | fix · refactor · test | Sat 10:54 | merged Sat 10:56 |
| foreman | #153 perf(foreman): serve the page from cache, regenerated once a minute | fix · refactor · test | Sat 11:02 | merged Sat 11:04 |
| foreman | #157 fix(foreman): name what each milestone has left, and project when it lands | fix · refactor · test | Sat 11:11 | merged Sat 11:13 |
| foreman | #158 fix(foreman): bring small text up to WCAG AA contrast | fix · refactor · test | Sat 11:16 | merged Sat 11:19 |
| foreman | #164 fix(foreman): one live sentence saying what this page is | fix · refactor · test | Sat 11:27 | merged Sat 11:29 |
| foreman | #174 fix(foreman): flag a cut feature that agents can still pick | fix · refactor · test | Sat 11:50 | merged Sat 11:52 |
| foreman | #178 fix(foreman): name the deployed build beside the data's commit | fix · refactor · test | Sat 11:59 | merged Sat 12:02 |
| foreman | #192 plan: foreman: one snapshot per deploy, a static page that survives GitHub failing | plan · contract | Sat 12:32 | merged Sat 12:34 |
| foreman | #194 fix(foreman): collect once per deploy; a static page that survives GitHub failing | fix · refactor · test | Sat 12:35 | merged Sat 13:05 |
| foreman | #210 plan: foreman: a build-up chart and a crew timeline from the snapshot | plan · contract | Sat 13:11 | merged Sat 13:20 |
| foreman | #213 fix(foreman): a build-up chart and a crew timeline | fix · refactor · test | Sat 13:21 | merged Sat 13:27 |
| foreman | #305 plan: move the submission freeze from Sun 06:00 to 08:30 | plan · contract | Sat 17:25 | merged Sat 17:28 |
| foreman | #306 docs: freeze time in design-references note is 08:30 | other | Sat 17:28 | merged Sat 17:31 |
| foreman | #307 plan: foreman's 40-second judge tour, the replay first | plan · contract | Sat 17:30 | merged Sat 17:32 |
| foreman | #309 fix(foreman): the 40-second judge tour, the replay first | fix · refactor · test | Sat 17:33 | merged Sat 17:48 |
| foreman | #319 plan: foreman tour motion polish (#318) | plan · contract | Sat 18:02 | merged Sat 18:05 |
| foreman | #322 fix(foreman): tour motion polish | fix · refactor · test | Sat 18:05 | merged Sat 18:16 |
| foreman | #338 plan: foreman tour hierarchy and first-screen taste pass (#337) | plan · contract | Sat 19:06 | merged Sat 19:08 |
| foreman | #341 fix(foreman): tour hierarchy and first-screen taste pass | fix · refactor · test | Sat 19:11 | merged Sat 19:13 |
| foreman | #359 fix(foreman): keep the terminal's square amber controls under the app's Material buttons | fix · refactor · test | Sat 20:17 | merged Sat 20:19 |
| foreman | #388 plan: foreman story mode, a presenter-driven walk past the 40-second tour | plan · contract | Sat 22:30 | merged Sat 22:32 |
| foreman | #392 fix(foreman): story mode, five presenter-stepped beats past the tour | fix · refactor · test | Sun 00:49 | merged Sun 00:52 |
| codex-issue-fixes-01a12697 | #181 fix(decision-snapshot-api): generate missing evidence before freezing a choice | fix · refactor · test | Sat 12:17 | merged Sat 13:04 |
| codex-issue-fixes-01a12697 | #286 test(share-qr-api): prepare neighbor evidence before snapshot verification | fix · refactor · test | Sat 16:42 | merged Sat 17:02 |
| codex-issue125-01a12697 | #193 contract: protect shared database tables during schema updates | plan · contract | Sat 12:34 | merged Sat 12:39 |
| claude-hotfix | #198 contract: set [release].url to the production alias | plan · contract | Sat 12:44 | merged Sat 12:52 |
| claude-hotfix | #218 plan: infrastructure and polish wave: db-sync, workspace restore, search filters, F18 rehearsal | plan · contract | Sat 13:26 | merged Sat 14:59 |
| claude-hotfix | #237 fix(idea-create-ui): record the canonical pass now that the corpus bundle matches | fix · refactor · test | Sat 14:25 | merged Sat 14:43 |
| claude-hotfix | #240 fix(foreman): self-host the stencil font so builds stop failing in next/font | fix · refactor · test | Sat 14:36 | merged Sat 14:40 |
| claude-hotfix | #244 feat(db-sync): additive-only production schema sync and a health check that names missing tables | feature | Sat 14:59 | merged Sat 15:10 |
| claude-hotfix | #254 contract: smoke-check /api/health/schema in release verification | plan · contract | Sat 15:11 | merged Sat 15:13 |
| claude-hotfix | #256 feat(search-filters-ui): filter search by event and year; label years as created years | feature | Sat 15:16 | closed Sat 15:17 |
| codex-issue136-01a12697 | #199 fix(idea-create-ui): follow the selected idea version in the saved card | fix · refactor · test | Sat 12:52 | merged Sat 14:04 |
| codex-issue161-01a12697 | #200 fix: label revision reasons in both suggestion panels | fix · refactor · test | Sat 12:52 | merged Sat 14:53 |
| codex-issue161-01a12697 | #204 fix(idea-revisions-api): return checked claims for revision reasons | fix · refactor · test | Sat 13:05 | closed Sat 13:14 |
| codex-issue161-01a12697 | #224 fix(challenge-ui): label revision reasons before the API claim rollout | fix · refactor · test | Sat 13:33 | merged Sat 14:46 |
| codex-issue219-01a12697 | #221 fix(voice): require sessions and persist token rate reservations | fix · refactor · test | Sat 13:29 | merged Sun 05:56 |
| codex-issue207-01a12697 | #227 contract: recognize superseded cancelled check runs | plan · contract | Sat 13:47 | merged Sat 13:58 |
| codex-issue231-01a12697 | #232 fix(research-api): find Hugging Face results for multiword queries | fix · refactor · test | Sat 14:06 | merged Sat 14:24 |
| mac-claude-coordinator | #270 plan: category galaxy, prize classes and the idea flow | plan · contract | Sat 16:29 | merged Sat 16:32 |
| mac-claude-coordinator | #287 plan: start the P0 UIs on fixtures and add idea focus from the design references | plan · contract | Sat 16:44 | merged Sat 16:46 |
| mac-claude-coordinator | #295 fix: self-host the app's fonts so builds stop fetching Google Fonts (#226) | fix · refactor · test | Sat 17:02 | merged Sat 17:09 |
| mac-claude-coordinator | #364 fix(corpus-classify): per-project label store and an agent provider for the grown corpus | fix · refactor · test | Sat 20:44 | merged Sat 21:02 |
| mac-claude-galaxy-style | #281 style(galaxy): bare, depth-attenuated base stars so clusters show | fix · refactor · test | Sat 16:35 | merged Sat 16:50 |
| claude-corpus-grow | #301 fix(corpus-embed): lay the galaxy out as star systems instead of one cloud | fix · refactor · test | Sat 17:17 | merged Sat 17:27 |
| claude-corpus-grow | #317 plan: corpus goal, every Devpost project, 100k as the bar | plan · contract | Sat 18:00 | merged Sat 21:21 |
| claude-corpus-grow | #328 fix(ai-client): fall through to a spare Gemini key when the main one is spent | fix · refactor · test | Sat 18:27 | merged Sat 18:30 |
| claude-corpus-grow | #356 fix(corpus-fetch): keep up to 5 project pages in flight, ceiling 5 requests per second | fix · refactor · test | Sat 20:02 | merged Sat 20:04 |
| claude-corpus-grow | #411 fix(corpus-embed): publish 57,301 projects with the star-systems layout | fix · refactor · test | Sun 04:20 | merged Sun 04:30 |
| claude-corpus-grow | #413 fix(galaxy-3d): keep the cloud-overlap check exact and fast on a 57k-star corpus | fix · refactor · test | Sun 04:24 | merged Sun 04:27 |
| claude-corpus-grow | #478 fix(corpus-embed): publish 76,316 projects | fix · refactor · test | Sun 07:29 | merged Sun 07:58 |
| codex-corpus-parallel | #362 fix(corpus-fetch): isolate collectors and merge project provenance | fix · refactor · test | Sat 20:35 | merged Sat 20:52 |
| codex-corpus-parallel | #404 fix: publish matching labels for the completed 17558-project corpus | fix · refactor · test | Sun 04:01 | closed Sun 04:37 |
| codex-corpus-parallel | #407 fix(corpus-embed): publish the completed 17558-project map | fix · refactor · test | Sun 04:11 | closed Sun 04:37 |
| codex-conversation-ui | #365 plan: make live mentorship conversation-first under Codex ownership | plan · contract | Sat 20:44 | merged Sat 21:18 |
| codex-conversation-ui | #369 feat(live-mentor-ui): build conversation-first mobile shell | feature | Sat 21:19 | merged Sun 07:32 |
| codex-conversation-ui | #480 fix(live-mentor-ui): remove internal guidance from Add idea status | fix · refactor · test | Sun 07:34 | merged Sun 07:39 |
| codex-conversation-ui | #484 fix(live-mentor-ui): restore saved idea details on reload | fix · refactor · test | Sun 07:41 | merged Sun 07:47 |
| eric-claude-galaxy-sharp | #399 fix(galaxy-3d): stars sharpen as you zoom in, with names up close | fix · refactor · test | Sun 03:17 | merged Sun 03:26 |
| eric-claude-galaxy-sharp | #401 fix(galaxy-3d): zoomed-in stars look like stars, not flat dots | fix · refactor · test | Sun 03:36 | merged Sun 03:49 |
| eric-codex-agent-1 | #402 plan: add Jev classification with reviewed 10k label checkpoints | plan · contract | Sun 03:53 | merged Sun 03:54 |
| eric-codex-agent-1 | #403 fix(corpus-classify): validate Jev decisions in a 500-project trial | fix · refactor · test | Sun 04:00 | open |
| eric-codex-agent-1 | #504 fix: enable confirmed idea deletion in production | fix · refactor · test | Sun 09:08 | merged Sun 09:15 |
| eric-frontend-agent-2 | #406 fix(foreman): show each feature's PR count and pulse nodes on every merge in the replay | fix · refactor · test | Sun 04:10 | merged Sun 04:13 |
| eric-frontend-agent-2 | #444 fix(foreman): take the main site's observatory theme instead of the site-office terminal | fix · refactor · test | Sun 06:19 | merged Sun 06:30 |
| eric-frontend-agent-2 | #450 fix(galaxy-explainer): show a How this was built link above the panel | fix · refactor · test | Sun 06:29 | merged Sun 06:42 |
| eric-frontend-agent-2 | #513 fix(foreman): lead with the story of how it was built, one real feature traced through the loop | fix · refactor · test | Sun 10:05 | merged Sun 10:08 |
| eric-frontend-agent-2 | #514 fix(live-mentor-ui): put How it was built beside Team, and line Team up with the header row | fix · refactor · test | Sun 10:25 | merged Sun 10:28 |
| eric-bug-fix-agent | #409 fix(team-vote-ui): tell a lone voter the reveal needs a teammate and point at the invite | fix · refactor · test | Sun 04:18 | merged Sun 04:21 |
| eric-bug-fix-agent | #421 fix(galaxy-3d): right-drag turns the galaxy; left-drag still moves across it | fix · refactor · test | Sun 04:58 | merged Sun 05:07 |
| eric-bug-fix-agent | #427 fix(galaxy-3d): zoomed-out map no longer blows out to white at 57k stars | fix · refactor · test | Sun 05:35 | merged Sun 05:37 |
| eric-claude-agent-3 | #410 plan: idea-scan, the demo's central moment | plan · contract | Sun 04:18 | merged Sun 04:27 |
| eric-claude-agent-3 | #414 feat(idea-scan): the scan - an idea reaches its real nearest projects one by one | feature | Sun 04:28 | merged Sun 04:47 |
| eric-claude-agent-3 | #423 fix: the project list shows clouds or the projects in view, not all 57k | fix · refactor · test | Sun 05:20 | merged Sun 05:22 |
| eric-claude-agent-3 | #442 fix(galaxy-3d): name only stars that stand apart, from 4x in, and zoom to 50x | fix · refactor · test | Sun 06:17 | merged Sun 06:19 |
| claude-incident-doc | #416 docs: incident log, two agents racing to load production | other | Sun 04:29 | merged Sun 04:32 |
| agent-2 | #432 fix(ui-redesign): pitch-black observatory theme, red accent, square controls | fix · refactor · test | Sun 05:46 | merged Sun 05:49 |
| agent-2 | #445 fix(galaxy-3d): hide category colors toggle, no category labels in By meaning | fix · refactor · test | Sun 06:20 | merged Sun 06:38 |
| agent-2 | #483 fix(ui-redesign): the live-mentor shell's steel blue across the whole app | fix · refactor · test | Sun 07:40 | merged Sun 08:11 |
| agent-2 | #490 fix(live-mentor-ui): a lone voice bubble, a floating phone nav, and no overlap at the map's top | fix · refactor · test | Sun 08:06 | merged Sun 08:11 |
| agent-2 | #492 fix(galaxy-classes-ui): keep earlier labels when the corpus grows | fix · refactor · test | Sun 08:15 | merged Sun 08:18 |
| agent-2 | #498 fix(live-mentor-ui): Fred the dragon is the voice button's face | fix · refactor · test | Sun 08:46 | merged Sun 08:49 |
| trust-security | #433 fix(idea-scorecard-api): preserve evidence uncertainty labels | fix · refactor · test | Sun 05:46 | merged Sun 05:54 |
| trust-security | #449 fix(voice): remove the app-imposed demo token quota | fix · refactor · test | Sun 06:28 | merged Sun 06:35 |
| trust-security | #496 fix: keep rubric generation within provider limits | fix · refactor · test | Sun 08:37 | merged Sun 08:48 |
| decision-flow | #434 fix(decision-snapshot-api): preserve snapshot decisions | fix · refactor · test | Sun 05:46 | merged Sun 06:10 |
| decision-flow | #435 fix(idea-revisions-api): ground proposals in saved evidence | fix · refactor · test | Sun 05:47 | merged Sun 05:53 |
| decision-flow | #438 fix(branches-api): ground directions in saved evidence | fix · refactor · test | Sun 05:52 | merged Sun 06:03 |
| corpus_compatibility | #436 fix: keep saved ideas compatible with corpus releases | fix · refactor · test | Sun 05:48 | merged Sun 06:00 |
| uncharted-fix-coordinator | #439 fix(problem-evidence-api): retain audience and workflow in grounding | fix · refactor · test | Sun 05:55 | merged Sun 06:10 |
| eric-claude-agent-4 | #451 plan: give the header to header-nav, a navigation-only header with Explore and Build | plan · contract | Sun 06:31 | open |
| eric-claude-agent-4 | #455 feat(header-nav): navigation-only header with Explore / Build, search and filters in a dock | feature | Sun 06:52 | open |
| eric-claude-agent-4 | #456 fix(galaxy-3d): the first paint bursts the stars out from the core | fix · refactor · test | Sun 06:59 | merged Sun 07:02 |
| uncharted-mentor-quality | #453 fix(live-mentor-api): keep demos continuous and ground mentor advice | fix · refactor · test | Sun 06:34 | merged Sun 06:46 |
| uncharted-mentor-quality | #454 fix(live-mentor-ui): show recent sources during grounded conversations | fix · refactor · test | Sun 06:39 | merged Sun 06:54 |
| sol-data-01a12697 | #494 fix(corpus-fetch): clean scraped description markers | fix · refactor · test | Sun 08:25 | merged Sun 08:35 |
For the team · where the build stands and what needs a person
Will we make it? countdown to each milestone · cells = its features
table
| time | built | feature |
|---|---|---|
| Sat 05:12 | 0 | before the first PR |
| Sat 05:51 | 1 | bootstrap |
| Sat 06:03 | 2 | corpus-fetch |
| Sat 06:45 | 3 | corpus-embed |
| Sat 06:48 | 4 | voice |
| Sat 06:49 | 5 | ai-client |
| Sat 06:55 | 6 | galaxy |
| Sat 07:01 | 7 | search |
| Sat 07:15 | 8 | galaxy-explainer |
| Sat 07:21 | 9 | project-drawer |
| Sat 08:03 | 10 | visual-polish |
| Sat 08:23 | 11 | galaxy-history |
| Sat 09:07 | 12 | guest-workspace |
| Sat 09:23 | 13 | guest-workspace-ui |
| Sat 09:34 | 14 | idea-create-api |
| Sat 09:48 | 15 | idea-create-ui |
| Sat 09:56 | 16 | neighbor-evidence-api |
| Sat 10:03 | 17 | idea-revisions-api |
| Sat 10:12 | 18 | neighbor-evidence-ui |
| Sat 10:14 | 19 | idea-revisions-ui |
| Sat 10:18 | 20 | challenge-api |
| Sat 10:28 | 21 | team-vote-api |
| Sat 10:30 | 22 | challenge-ui |
| Sat 10:33 | 23 | branches-api |
| Sat 10:39 | 24 | team-vote-ui |
| Sat 10:44 | 25 | branches-ui |
| Sat 10:56 | 26 | decision-snapshot-api |
| Sat 11:07 | 27 | share-qr-api |
| Sat 11:09 | 28 | decision-snapshot-ui |
| Sat 11:15 | 29 | strongest-alternative-api |
| Sat 11:21 | 30 | prove-it-api |
| Sat 11:27 | 31 | share-qr-ui |
| Sat 11:30 | 32 | strongest-alternative-ui |
| Sat 11:33 | 33 | prove-it-ui |
| Sat 11:45 | 34 | demo-flow |
| Sat 12:12 | 35 | rubric-overlay-api |
| Sat 12:34 | 36 | rubric-overlay-ui |
| Sat 12:57 | 37 | moment-api |
| Sat 12:59 | 38 | change-mind-api |
| Sat 13:11 | 39 | change-mind-ui |
| Sat 13:13 | 40 | moment-ui |
| Sat 13:44 | 41 | corpus-release |
| Sat 13:46 | 42 | constellation-ui |
| Sat 14:03 | 43 | research-api |
| Sat 14:08 | 44 | problem-evidence-api |
| Sat 14:18 | 45 | problem-evidence-ui |
| Sat 14:39 | 46 | research-ui |
| Sat 14:45 | 47 | combinations-api |
| Sat 15:01 | 48 | combinations-ui |
| Sat 15:10 | 49 | db-sync |
| Sat 15:15 | 50 | search-filters-ui |
| Sat 15:20 | 51 | workspace-restore-api |
| Sat 15:30 | 52 | rehearsal-api |
| Sat 15:45 | 53 | workspace-restore-ui |
| Sat 15:49 | 54 | rehearsal-ui |
| Sat 16:35 | 55 | challenge-resume-ui |
| Sat 16:59 | 56 | idea-interview-api |
| Sat 17:05 | 57 | idea-interview-ui |
| Sat 17:08 | 58 | build-plan-api |
| Sat 17:17 | 59 | galaxy-classes-ui |
| Sat 17:20 | 60 | build-plan-ui |
| Sat 17:55 | 61 | experience-shell |
| Sat 19:00 | 62 | galaxy-2d |
| Sat 19:29 | 63 | corpus-classify |
| Sat 19:42 | 64 | design-refresh |
| Sat 21:44 | 65 | galaxy-3d |
| Sun 00:07 | 66 | ui-redesign |
| Sun 00:35 | 67 | corpus-summaries |
| Sun 01:50 | 68 | ai-image-input |
| Sun 03:59 | 69 | decision-context-api |
| Sun 04:31 | 70 | summary-records-api |
| Sun 04:43 | 71 | summary-records-ui |
| Sun 07:10 | 72 | sponsor-challenges-api |
| Sun 07:27 | 73 | live-mentor-api |
| Sun 07:32 | 74 | live-mentor-ui |
| Sun 10:51 | 75 | idea-scan |
Needs a person 12 open · agents can't clear these themselves
- merge meplan: give the header to header-nav, a navigation-only header with Explore and Build#451 waits for a person to merge
- dead?fix(corpus-classify): validate Jev decisions in a 500-project trial#403: no push for 394 min at snapshot; the session may be dead
- merge mecontract: require the existing schema rollout after table-adding merges#304 waits for a person to merge
- dead?feat(live-smoke): verify API flows against real providers#170: no push for 1189 min at snapshot; the session may be dead
- decidePhone acceptance blocked: grant access to combined live mentor preview#430 · needs-human
- decideDevpost's Terms of Service prohibit scraping: keep growing the corpus, pause, or ask permission?#320 · needs-human · one-way-door
- decideGemini is out of credit: every live model call fails (429 spending cap / 402 prepayment depleted)#297 · needs-human · blocked
- decideInvestigate live Gemini comparison provider failure in smoke verification#179 · blocked
- decideProduction demo run blocked: Vercel Authentication on the deploy, no [release].url, schema not pushed (#113)#171 · needs-human
- decideRun every AI route once against the real providers and check what comes back#167 · blocked
- decideAnthropic key needs a workspace: set ANTHROPIC_WORKSPACE_ID or use a workspace-scoped key#61 · needs-human
- cut?voice-replies-api is cut but still pickableon core's cut list and in its features, dependencies done: the next agent may start it. A plan: PR can drop it
81 done features carry a gap or aren't verified: merged ≠ verified live ≠ tried by a user
- ai-client — All-provider verification at 20261010T175314Z failed on the existing Claude PROVIDER_ERROR (#61); the passing run configured Gemini alone. Claude remains unverified; no provider or validation behavior changed.
- ai-image-input — not verified · Claude image input is untested live until #61 is fixed (unit tests cover its request shape). No route or UI uses it
- bootstrap — `pnpm db:push` (pgvector + schema push) is untested: no `DATABASE_URL` yet (#11). The first feature with a schema (corpus-embed or guest-workspace) proves it.
- branches-api — Verified implementation committed as 45a3719: test Neon, real HF embeddings, test-only generation fixture; no live generation-provider quality check or user trial. All spec Validation steps passed; 141 unit tests, typecheck, lint, ownership, gates and markers passed. Corpus remains frozen.
- branches-ui — Directions are stubbed in the e2e; this hasn't been run with live Gemini (#61).
- build-plan-api — Fixture acceptance also passed at 20261010T210051Z (concurrent append, unchanged old rows, foreign workspace, bad origin, invalid output). Live Gemini used test Neon and real saved neighbor excerpts; its 10-hour plan froze at hour 8.5. Production schema remains coordinated under #113; no frontend, corpus changes, production acceptance or user trial claimed.
- build-plan-ui — Live plan through the API (not the panel), 2026-10-10 22:5xZ at 146b4cb, test database, spare Gemini key: 201 in 17 s, 3 tour steps, 3 cuts, timeline 2/5/7/8.5 h ending in Code freeze within the 10 hours, 2 risks; the one supported line cites a source. Production AI still needs the spare key in Vercel (#297). Earlier plans are kept only for the session; the API returns only the newest.
- challenge-api — Production schema is pending (#113); no live critic-generation or user trial claimed. Failed generation/assessment consumes a round; after three slots the user explicitly starts a new session. Five-minute recovery leases are unit-checked; normal concurrency and failed-grounding recovery passed against Neon.
- challenge-resume-ui — The state route doesn't expose the lease, so a stuck session can't say whether skipping will work until it's tried. constellation-ui's geometry check is flaky (fix to follow).
- challenge-ui — Critic questions and outcomes are stubbed in the e2e; this hasn't been run with live Gemini (#61).
- change-mind-api — The `assumptions` table exists only on the test branch; the main database needs the SQL in the decision file (#125).
- change-mind-ui — Assumptions are listed on request, not automatically on save (decision file); output is stubbed in e2e, no live model run.
- combinations-api — Generation used the required AI fixture; HTTP, embeddings and dedicated TEST-Neon persistence were real. Production schema/application and Mac-owned UI are separate; one existing deployment-only Foreman unit test skipped.
- combinations-ui — Live model output wasn't run.
- compare-api — Canonical generation used fixtures with real TEST Neon/HF. One saved-input live Gemini replay passed in 24,258ms after the unchanged prompt timed out at 29,690ms; this is not a reliability claim or a full live-smoke pass (#170). Existing deployment-only Foreman test skipped. Source provenance is not semantic truth; missing cards yield inferred reasons. No production changes or user trial.
- compare-ui — Comparisons are stubbed in the e2e; this hasn't been run with live Gemini (#61). The e2e's reasons are inferred, so the supported-with-quote badge isn't exercised here.
- constellation-ui — Not seen with live model assumptions; cited project titles come from the version's evidence cards and fall back to a short id when none are stored.
- corpus-classify — The corpus growth release (#262) will change `corpus_version` and the project ids. Classification has to be re-run on the new version before that release reaches production; otherwise the galaxy refuses this file ("classes.json is for another corpus"). The cache is keyed per 25-record batch, so a new version reuses little of it.
- corpus-embed — not verified · The junk filter runs at release, not in `corpus/fetch`. Pooled sessions opened before the `ef_search` change keep the old value until Neon recycles them, so index-ordered neighbour queries (branches, revisions) may briefly use 200; search is an exact scan (#257) and unaffected. `classes.json` keys the previous version until corpus-classify labels the ~19k new ids and rebuilds it. The ~101k gallery-only cards aren't published. Year is project creation year.
- corpus-fetch — Cross-machine HTTP requests are not exactly-once: event manifests and exported skip lists reduce overlap; canonical merge enforces final dataset uniqueness. Merge only stable snapshots. Historical observations remain in the retained JSONL, while existing database fields retain project/event links. Summary-only records are not embedded or published. Unknown event dates remain null; first resume on an old checkpoint still re-walks once. Full growth, Mac handoff and combined database/bundle publication are separate ongoing operations (#262); this PR performs no database replacement. Already-loaded descriptions are unchanged; repairing or reloading them remains a separate follow-up before #467 is closed.
- corpus-release — Historical fetch totals and provider cost are unknown. HNSW recall failed on the first full test load; #191 rebuilds its index, and unchanged golden checks then passed. Rollback and actual receipts are preserved locally. Browser-verified, not yet tried by a person in this run; corpus frozen after this one publication.
- corpus-summaries — Classification of summary records wasn't timed (needs a provider run); corpus-classify allows a null/empty description and should label most as `insufficient_text`.
- db-sync — Production `--apply` not run by this PR: run it from a clean `origin/main` after merge (person approved on #113, option A).
- decision-context-api — Production tables:** the tables exist on the test branch only. Production needs `scripts/db-sync.mjs --apply` from a clean `origin/main` after merge (not run here).
- decision-snapshot-api — Full live browser acceptance remains unverified: demo-flow at 69f4413 exceeded its 30-second snapshot assertion while Saving (20261010T162522Z); the unchanged retry exceeded the 240-second server-start limit before tests (20261010T163523Z). Missing cards can require three serial model calls. No production/user trial or full-demo pass claimed; no own-feature Validation skipped and no test limit weakened.
- decision-snapshot-ui — No unit tests: the panel is rendering only, and the e2e covers the spec.
- demo-flow — Production demo (Validation 2) remains pending Vercel spare-key configuration by its owner (#297); Windows lacks that team access. Release health/secret scan passed at f206dce and homepage snapshot was saved at 77055d8, not this commit (Validation 3 still needs its final receipt). Human microphone and Claude are untested. First cold build exceeded the unchanged 240-second startup limit; one cached retry passed without weakening checks.
- design-refresh — Failed and partial states are calm in every panel (shared PanelState, Validation 6); each panel's message wording is its own feature's and unchanged, and visual-polish's golden test pins the default "Something went wrong." On a phone, category labels overlap at the fit zoom (galaxy labels). The phone sheet hangs from the top, not the bottom, so search and voice stay reachable (spec Plan 3). Not checked on a real touch device; drag tested with a mouse in Playwright.
- era-board-ui — When the grown corpus (#262) ships before classes.json is re-run for it, the board shows start dates only and says tool use isn't loaded.
- experience-shell — Plan 2 changed: the idea textbox stays in the Idea card (`specs/decisions/experience-shell-composer.md`). Plan 3's voice states aren't built (a `fix(voice)` PR; voice shows only its existing hold / listening / added / blocked texts). Decide has no event-tracks panel (none exists yet). The scorecard (Idea) and the plan step (its own destination; after Decide on desktop) are mounted (#299); the interview renders inside the Idea card. Validation 5: visual-polish, voice, galaxy-history, galaxy-explainer, idea-create-ui, project-drawer pass; galaxy and bootstrap fail on main's /api/workspace/state 401 (#288); demo-flow needs live models (not run); search's "type a query" test fails without this change too.
- foreman — Story mode is checked by the e2e with keys; not yet with a real presentation clicker, or rehearsed aloud from the run sheet.
- galaxy — Real corpus not rendered yet: `stars.json` comes from corpus-embed (not done); e2e uses a synthetic fixture.
- galaxy-2d — Draws today's x/y (a top-down view of the 3D layout) until corpus-layout-2d ships true 2D positions. The category glow needs `classes.json`, which isn't published yet (#285): until then the map is one neutral hue. 60 fps at ~55k stars is designed for (grid picking, on-demand drawing) but not measured: the bigger corpus doesn't exist yet. Neighbour suites pass except galaxy's console-error test, which fails on main's /api/workspace/state 401 (#288).
- galaxy-3d — Motion smoothness and the real-GPU look were checked only in headless SwiftShader; the person checks the deployed site. Once, in headed Chromium on an M2, the view looked about 3x closer with identical camera numbers: unexplained, and not reproduced in headless. The flat background rings in `app/page.module.css` weren't this PR's; #375 removed them. Validation 6's neighbour suites pass (galaxy-history, galaxy-classes-ui, galaxy-explainer, the rest of galaxy and experience-shell) except two that fail the same way on origin/main 5fb6eba: galaxy's console-error test (/api/workspace/state 401, #288) and experience-shell's desktop sizes (the canvas is measured at its default 300 px before it's sized). Validation 7 (#399): unit tests pass and `sharp.spec.ts`'s blur check passed locally (49.4% blown, 398 peaks on cd9b1b7 vs 11.4%, 526 here; real-GPU screenshots on an M2); the rest of the local e2e timed out under a machine load average of 40-56 from other agents, so CI is the e2e verdict. No Validation step was skipped.
- galaxy-classes-ui — The real `public/classify/classes.json` isn't on main (corpus-classify #285, draft): until it lands the live page shows "Categories not loaded" and the e2e serves a fixture built from the real stars.json ids. Galaxy and bootstrap e2e still fail on main's `/api/workspace/state` 401 (#288), not on this change; search, search-filters-ui, project-drawer, visual-polish and idea-create-ui pass. Reduced motion: no animated transition is added, so nothing to turn off; not separately tested.
- galaxy-explainer — Checked against the 100-record corpus (`2026-10-10-100`, 4 events). The full corpus lands later; the e2e reads whichever `stars.json` is committed.
- galaxy-history — The shipped corpus has one year (all 100 records are 2026), so the reveal has a single step until the full corpus lands. The e2e uses a synthetic multi-year fixture.
- guest-workspace — API Validation 1–4 passed against the test branch, not production. Browser acceptance belongs to `guest-workspace-ui` and is not completed by this feature.
- guest-workspace-ui — The main `DATABASE_URL` database has no `workspaces`/`members`/`invites` tables (only the test branch does), so the app outside tests answers 503 and shows "Couldn't start your workspace" until the schema is pushed there.
- idea-create-api — not verified · Deletion is intentionally restricted to DATABASE_URL matching nonblank TEST_DATABASE_URL; production deletion rollout is not enabled or verified. Human voice/browser acceptance remains separate. Earlier verifier startup timeouts are superseded by this passing canonical run.
- idea-create-ui — Interpretation and revisions are stubbed in the e2e; no live AI or user trial claimed. The earlier canonical FAIL at `9b111d4` was the neighbor golden reading the 100-record bundle against an 8,409-record database; #191 published the matching bundle and it passes now.
- idea-interview-api — Rounds are counted by answers (nine), so rounds with fewer questions allow more rounds. Whether a question assumes facts is a prompt rule, not checked by code. No UI yet (idea-interview-ui).
- idea-interview-ui — The questions route is stubbed in the browser (idea-interview-api, #290, isn't merged); no live model run.
- idea-revisions-api — `revision_suggestions` was created on the test branch with additive SQL, not `drizzle-kit push`: a push from this branch would have dropped another in-flight feature's `evidence_cards` table. Production schema is not pushed (#113). Live provider output is not asserted, only its shape.
- idea-revisions-ui — Suggestions are stubbed in the e2e; this hasn't been run with live Gemini (#61).
- idea-scan — not verified · The route's SQL is pinned only by a stubbed-db unit test here; the person's preview run is its only live check. galaxy3d "picking centres it" failed twice on this branch under heavy software-GL load (a direct repro settled in ~1.4 s) and passes on main here: unconfirmed, needs a real-GPU run. Other galaxy-3d, galaxy and experience-shell e2e failures reproduce on origin/main in this container (software GL, no AI_STUB_DIR or database). Motion was seen only in headless SwiftShader by this worker.
- idea-scorecard-api — Live run (Validation 2), 2026-10-10 22:5xZ at 146b4cb on the test database with the spare Gemini key (#297, #328): POST 200 in 67 s (evidence for the neighbours, then the scorecard), GET returned the same card. Originality 2 (supported), Functionality 2, Wow Factor 1; the model gave Technical Understanding and Design no score, so they read "evidence is insufficient". Validation 1 asks for a 1-5 score on each, which held with stubs but not live for those two. Both supported points cite a real neighbour (Meal Mate, HackPilot, Code Connections). 67 s is slow for a demo click. Production table comes through db-sync; production AI still needs the spare key set in Vercel (#297).
- idea-scorecard-ui — No live scorecard: Gemini is out of credit (#297).
- live-mentor-api — not verified · Provider setup must follow matching client-tool deployment; existing databases need the reviewed 20-minute-to-2-hour constraint update (TEST applied, production not claimed). Human voice/interrupt quality and full browser acceptance remain unverified; no production completion claim. Provider limits and outages remain possible. Existing privacy and save-confirmation decisions are preserved.
- live-mentor-ui — not verified · The human accepted this change for merge; real-audio naturalness, latency, the complete browser journey and end-to-end decision/share acceptance remain pending.
- moment-api — Production schema pending (#113). The live run's model output is checked by eye, not asserted.
- moment-ui — Step text in the test is fixture text (the API was run live once in #197). Production schema pending (#113).
- neighbor-evidence-api — Generation is stubbed only for the specified E2E acceptance; no live evidence-generation claim. Test schema is applied; production schema rollout remains pending (#113). Earlier real verification caught PostgreSQL overlaps quoting (42601), fixed before this pass; textual provenance does not establish source truth.
- neighbor-evidence-ui — Not run against a live model: card text in the test is fixture text. Production schema is still pending (#113), so the panel only works where `evidence_cards` exists. No unit tests: the component only renders API data, and the e2e covers its states.
- problem-evidence-api — not verified · New local built-app verification did not reach tests: the shared ElevenLabs dependency install lacks generated modules; CI/Vercel build checks passed. Live grounding Validation 1 was not repeated for this fix. Existing snapshots stay immutable; unknown URLs/dates remain null. No new user trial.
- problem-evidence-ui — Not seen with a live grounded search (the API ran one live in #229). Production schema pending (#113).
- project-drawer — The e2e test serves `stars.json` with one real record placed at the origin, so the click lands on a known spot; the record and its URL come from the real database.
- prove-it-api — The `experiments` table exists only on the test branch; the main database needs the SQL in `specs/decisions/prove-it-api-schema.md` (#125, #113).
- prove-it-ui — The draft is stubbed in e2e; no live model run.
- rehearsal-api — Production table comes through db-sync. The retry count for Validation 3 is pinned in `tests/ai-client/generate.test.ts`; the e2e checks the resulting 502 and empty table. No UI yet (rehearsal-ui, #247).
- rehearsal-ui — Not drafted live in the browser (rehearsal-api ran live in #255). `tests/e2e/moment-ui` fails on main because choosing a version now generates neighbour evidence with no fixture; fixed separately.
- research-api — Live validation used real Gemini, HF embedding, GitHub/HF searches and test Neon persistence at service level; canonical HTTP validation used recorded search/generation responses. The original production schema rollout remains tracked in #113; production behavior and a user trial are not claimed. Keyword length is a bounded heuristic; some terms can be broad and a source can still have no matches. The original GitHub search rate limit still applies.
- research-ui — Not seen with a live search in the browser (research-api ran one live in #228). Production schema pending (#113).
- rubric-overlay-api — Generation used explicit fixtures; Neon and Hugging Face embeddings were real. Live provider output and production deployment were not verified. User proof is not independently certified; prose filters have semantic limits documented in the decision. No specified Validation step skipped; frontend belongs to rubric-overlay-ui.
- rubric-overlay-ui — Live model output wasn't run; the fixture covers one quoted claim, one inferred claim and one demoted claim.
- search — Four live test-branch checks pass, including all three title goldens, selection/clear, fallback and filters. Screenshot/JSON retained; actual galaxy highlight pixels and concurrent load are not asserted. Exact scans cost about 62 ms on this corpus and need remeasurement if it grows; no production-data or layout changes.
- search-filters-ui — Highlighted stars are set from the same ids as the list but aren't inspected on the canvas. Option counts and the empty-query list use each project's first event only (stars.json has no more). The header's search column (560px, shell-owned) keeps the input at ~290px beside the filters. `tests/e2e/search` fails on main independently (#253).
- share-qr-api — Evidence generation is stubbed; no new deployed or user trial claimed. QR/page rendering belongs to share-qr-ui. An already-read response cannot be recalled; later requests return 410. No Validation step skipped. Other #267 suites remain with their owners.
- share-qr-ui — The QR code is checked to be a PNG data URL, but nothing scans it.
- sponsor-challenges-api — Not release-ready: no live provider run (Validation 5).** Both Gemini keys are out of credit (#408) and Anthropic is blocked on #61. The live image and text assessment is still to do once a provider works (#170, #179).
- strongest-alternative-api — Production schema awaits #113; no deployed/live-generation/user trial claimed. Corpus alternatives only; workflow action phrases must quote the saved text. Test table applied with additive SQL as required. No Validation step skipped.
- strongest-alternative-ui — Not run against a live model (point text is fixture text). Production schema pending (#113).
- summary-records-api — Live provider run (Validation 3): not done.** At 08:33Z every local provider failed. Gemini's main key is out of credit (402) and the spare is at its spending cap (429), as tracked in #297. Claude got a 400 because `.env.local` lacks `ANTHROPIC_WORKSPACE_ID`. Whether a real model obeys the gallery-card rule is untested.
- summary-records-ui — Collapsed details:** the summary line still reads "Uncertainty and source excerpt", so the gallery-card heading shows once the details are opened.
- team-vote-api — `votes` was created on the test branch with additive SQL: `drizzle-kit push` from this branch would drop in-flight `snapshots` (#130). Production schema is pending (#113). Editing only a concern doesn't count as a changed vote (decision in the commit message).
- team-vote-ui — While waiting, the panel says both teammates must vote and points at Invite a teammate (#220); the API has no member count, so it can't say which case applies, and the one-member case isn't in the e2e. The test blocks the evidence API, which isn't under test, to avoid live model calls. Only the waiting hint has a unit test; the e2e covers the other states.
- ui-redesign — Layout (bottom-centre entry, contextual side panel, filters, header) is live-mentor-ui's (#369) and untouched, so the
- visual-polish — `ClaimBadge` isn't used anywhere yet: no finished panel shows claims. The idea and evidence `-ui` features should import it.
- voice — not verified · Live human microphone transcription (Validation 1) remains untested. The no-key browser case previously skipped because a live key was configured; unit tests cover 503. The unused limiter table remains in production because removing it would be destructive; token issuance no longer reads or writes it.
- workspace-restore-api — Real TEST-Neon/HTTP/browser verification used explicitly fictional stored fixtures and cleaned up its workspaces; no provider, production or user trial claimed. Frontend restoration is the separate workspace-restore-ui feature. The existing public share API returns410 and its client page renders revoked; the spec now names both accurately.
- workspace-restore-ui — Model output is stubbed; no live run. Challenge-session resume is out of scope (spec); a follow-up is still to file.
- live-mentor-api11h31
- live-mentor-ui10h13
- corpus-release6h43
- idea-scan6h24