Gen-1 Origin
Put the vibe-coded qdash prototype at the start of the page-evolution record — recovered screenshots now, a populated rebuild as its own thread
New in this cycle: Gen-1 origin (c97): six PR 521 screenshots of the vibe-coded qdash prototype recovered from qcontrol git history and placed as the first moment on Fleet Overview, Inventory, Control Center, Enforcement, Alerts, and Targets — origin + asOf fields on the manifest let pre-cycle artifacts sort at their own date
Why
c96 built the evolution view, but every subject's history starts at a design mock. The product's real origin is earlier: Devin's single-file qdash prototype (qcontrol crates/qdash/src/assets/index.html, 2026-06-01), the "Gen-1 substrate" the c64 timeline names, replaced by the Nuxt port on 2026-07-29. No design capture of it exists. Six screenshots of it do — committed to qcontrol by the CI bot for PR 521 on 2026-06-30 (Fleet Overview, Control Center, Enforcement, Alerts, Targets, Agent Inventory), shot with no data, deleted later. Mark: "I'd love to have the initial prototype that Devin vibe coded added to some of these."
Objective
Make Gen-1 the first moment on the evolution pages it belongs to, honestly labelled (origin, not cycle; empty-state, recovered from git), and leave a plan for capturing the prototype populated.
Scope
- In: the six PR 521 screenshots imported into
public/cycles/design/with subjects, anoriginlabel the strip shows in place of a cycle, anasOfdate so a later populated capture sorts at the state's date rather than the capture's; an archive entry; thegen1-rebuildthread plan (not executed). - Out: running the prototype (the rebuild thread); Gen-1 for pages that have no design counterpart beyond a card of their own (Alerts, Targets start their own subjects).
Key Changes
Kick-off (2026-09-25): Cycle created from the c96 close conversation; the six PNGs recovered from qcontrol commit 9c9371601 into the scratchpad and reviewed.
Import executed (2026-09-25): The six PNGs copied to public/cycles/design/gen1-<view>.png and added to the manifest with capturedAt / asOf = the bot's commit time (2026-06-30T21:44Z), local: true, surface: app, explicit subjects (page/fleet-overview, page/inventory, page/control-center, page/policy-enforcement, page/alerts, page/targets), hash routes (/#fleet-overview — the prototype switched views on location.hash), captions, one newThing, and a new origin: { id: 'gen1', label: 'Gen-1 prototype', note }. Evolution builder: origin stands in for the cycle in the moment key and on the strip / record (with its note in italics), asOf drives a moment's date and sort so a later rebuild can shoot the prototype today and still land in June; subject summaries gain origins, and the index card's span reads "Gen-1 prototype → c92". Verified on :3000: Inventory reads Gen-1 → c81 → c92 across qdash → mock → qdash, Fleet Overview and Control Center and Enforcement each gain their Gen-1 first moment, Alerts and Targets stand alone; console clean. Archive entry 2026-06-30-c97-gen1-prototype.md (designer devin, era seed, phase 0.9; "recovered, not captured" stated). gen1-rebuild-prompt.md + -plan.md written for the populated capture — worktree at PR 521 4af0e01dc, event replay, program with origin + asOf; not executed. The gen-1 filename prefix keeps the atlas out (it keys on c<N>-), so the prototype shows only where it belongs: the evolution pages and the archive. Capture c97-evolution-inventory (+full).
gen1-rebuild executed (2026-09-25): gen1-rebuild-plan.md run end to end, every decision on its default. Worktree at PR 521 4af0e01dc; cargo build -p qdash took eleven seconds; the June binary's ingest --from-file accepted a generated NDJSON pair (gen1-replay.mjs → gen1-replay-run.jsonl 237 events / gen1-replay-scan.jsonl 8 — three users, four agents, a yolo + root run, credential-file reads, non-allowlisted and plaintext egress, two untapped installs) and serve --port 7899 rendered every view populated (8 agents, 6 sessions, $7.95, 15 findings). Two traps, both recorded in the program: the prototype has no URL routing — one page, views switched only by .nav-item clicks — so the first pass returned fifteen Fleet Overviews and the second, with the view in the route string, fifteen 404s; the working program points every page at / and switches with clickSel "[data-view='<id>']". The recovered six had their /#view routes corrected to /. capture.mts now copies a program-level origin + asOf onto entries. Fifteen shots (+ fulls) as gen1-<view>[-populated].png, asOf 2026-07-01 (the merge date) so they form the second Gen-1 moment after the empty 06-30 set; nine views had no surviving image before this. Archive entry gallery extended. Capture c97-evolution-teams (+full). Gen-1.5 (the June 30 Nuxt branch in qcontrol-qdash-ref) not added — decision 3's "if smoothly" clause was met, but it is a different artifact and deserves its own line in the record; left for a later thread. Worktree removed, port 7899 released.
Outcome
Closed 2026-09-25. The product's origin is in the record. Fifteen evolution subjects now open at the Gen-1 prototype: six with the empty-state screenshots recovered from qcontrol PR 521 (2026-06-30) and all fifteen with the prototype rebuilt from that PR's commit and fed a replayed event stream (2026-07-01 moment). Teams, Inventory, Findings, Compliance, Control Center, Enforcement, and Fleet Overview each read Gen-1 → mock → preview → qdash where those later moments exist; Cost Center, Performance, Targets, Security Posture, Data Protection, Agent Identity, Alerts, and Integrations stand as Gen-1 alone until a design pass recaptures them. Two manifest fields made it honest — origin in place of a cycle, asOf for a state's own date — and the replay generator in the cycle directory makes the rebuild repeatable. Archive entry: qdash Gen-1 — The Vibe-Coded Prototype.
Lesson: a single-file app with no routing cannot be captured by URL; inventory the controls first (the /capture rule) and switch views by click. Follow-on: Gen-1.5 — the June 30 Nuxt branch — as its own origin moment.
Visual record
4 captures — heroes, page slices, and full-page renders. Click to view.




In the archive
Artifacts
- initial-prompt.md
- thread: gen1-rebuild — prompt + plan
- initial-prompt.md