Video 09 — P1: Proto Metadata API
Protagonist: Alex (implementer) → Jordan (reviewer) → automated pipeline Arc: Engineering (hero episode — full flow) Target length: 6:00 Apps in frame: AI Agent Manager · Task Board · Issue Manager · Workspace Manager · PR Review · CI Monitor · Deploy Tracker · Notifications
Why this is the hero episode
This is the single episode that shows the entire RobOS development loop end-to-end on one real story. Every subsequent engineering episode abbreviates the flow — because viewers have already seen it here — and focuses on what’s unique about that phase. The flow shown in this video is the thing RobOS is selling: pick up → AI drafts → human reviews → AI answers questions → PR opens → reviewer reviews → merge → deploy → demo → dashboards update. All inside RobOS. No terminal tabs, no context switches, no browser.
The real engineering work
Story BBF-1 — in buildbarn-forms-proto:
- Extend
scripts/generate-protos.shto also output abuf build --output descriptors.pbbindescriptor set. - Write
scripts/extract-descriptors.tsthat reads the.pbbin, walks every message and field, and emitsdist/proto-descriptors.jsonwith shape{ [messageName]: { fields: [{ name, protoType, cardinality, oneof?, map? }, ...] } }. - Update
package.jsonscripts sonpm run buildproduces bothproto-comments.jsonandproto-descriptors.json. - Add a Node-level test that round-trips one well-known message (
ApplicationConfiguration) and asserts key fields are present. - Open PR, review, merge. Deploy to the VM’s local Verdaccio as
@hermetiq/buildbarn-forms-proto@0.2.5.
Scene list (longer than usual because this is the hero)
Act 1 — Pickup (0:00–0:45)
- Alex’s Task Board. Filter to assignee=@me → empty. Filter off → the 10 backlog stories. Alex clicks BBF-1.
- Issue Manager opens: story title, acceptance criteria, the “Proto Field Metadata API” description Pat drafted. State chip
backlog. - Alex clicks Start Work → transition button in the sidebar → state moves to
in_progress. Automation Studio rule fires in the background (visible briefly as a toast).
Act 2 — AI pair-coding (0:45–3:00)
- AI Agent Manager auto-opens as part of the “start work” flow (because the workflow Dana defined has
on_enter_prompton thein_progressstate). - Claude starts a new session in the buildbarn-forms-proto workspace, primed with the issue body + the knowledge graph source. Narration explains the context plumbing.
- Claude asks the AI Questionnaire: “Use buf descriptor set, custom AST walker, or protobuf-descriptors crate? I recommend buf because you already use it.” Alex picks buf.
- Claude streams a plan, then the diff.
generate-protos.shupdated,extract-descriptors.tscreated,package.jsonscript wired. - Alex scrolls the diff in the human-review panel. Accepts 3 of 4 hunks; rewrites one line by hand (narration: “The human is still in the loop”).
- AI Quiz fires: “Explain what
oneofcardinality in the descriptors file represents.” Alex types an answer. Green check.
Act 3 — PR (3:00–3:45)
- Create PR button. Title + body are drafted from the questionnaire answers + diff. Opens on GitHub (mocked).
- Task Board view — Alex’s card moves to
in_review. - Notification toast on Jordan’s side of the screen split (we cut to Jordan’s desktop): “Review requested on PR #3”.
Act 4 — Review (3:45–4:45)
- Cut to Jordan’s desktop. Jordan clicks the notification. PR Review Board opens on PR #3.
- AI Review tab → Generate Summary. Risk: low. Coverage: good. One concrete suggestion: “consider pinning
bufversion in the script”. Jordan agrees, leaves an inline comment, clicks Request Changes. - Cut back to Alex. Toast fires: “Changes requested on PR #3”.
- Alex opens the PR. Pins the buf version as Jordan asked. Pushes. CI runs green again. Jordan’s PR Review Board auto-refreshes. Jordan Approves.
Act 5 — Merge + ship (4:45–6:00)
- Alex clicks Merge. Automation Studio rule fires: CI Monitor lights up with the build + publish runs → green.
- Deploy Tracker appends an entry:
@hermetiq/buildbarn-forms-proto@0.2.5 → verdaccio-local. - Stage Demo Viewer auto-generates a walkthrough of the BBF-1 diff.
- Notifications fire for Pat (“Stage demo ready”) and Dana (“Story shipped”).
- Final beat: cut to Manager Dashboard — velocity chart ticks up by one story, BBF-1 moves to “Deployed” in the sprint board.
Narration (fuller draft — this episode deserves tight writing)
| # | At | Text |
|---|---|---|
| 1 | 0:00 | Alex picks up the first story off the backlog — the proto metadata API. This is the episode that shows the whole RobOS loop end-to-end. Every episode after this one is a variation on what you’re about to see. |
| 2 | 0:30 | Moving the ticket to In Progress fires a workflow rule that Dana wired up in episode one: it opens a Claude session with the story context already loaded. |
| 3 | 1:00 | The AI Questionnaire is the first moment of human judgment. Claude proposes three implementation approaches. Alex picks one, and that choice shapes everything that follows. |
| 4 | 1:30 | Claude drafts the diff. Alex doesn’t accept it blindly — every hunk gets reviewed, some get rewritten by hand. |
| 5 | 2:15 | After the draft, the AI Quiz checks that Alex actually understands what just got written. It’s not a gate, it’s a forcing function against blind acceptance. |
| 6 | 3:00 | Create PR. Title and body are drafted from the questionnaire answers plus the final diff — no “fix stuff” commit messages. |
| 7 | 3:30 | Jordan gets the review notification on the other side of the screen. |
| 8 | 3:45 | AI Review summarizes the diff. Low risk, good coverage, one suggestion. Jordan agrees, leaves an inline comment, requests changes. |
| 9 | 4:15 | Alex sees the request, fixes the comment, pushes. CI runs green. Jordan approves. |
| 10 | 4:45 | Merge triggers the pipeline Jordan set up in episode three. Build, publish to the local registry, stage-demo generation, notifications fan out. |
| 11 | 5:30 | One story shipped. Manager Dashboard ticks up. Pat has a walkthrough to review. Jordan has a green pipeline. Alex has BBF-2 already loaded on the Task Board. |
| 12 | 5:50 | This is what RobOS does. Every episode from here on is one story through this same loop. |
Blockers / ready-checklist
- Canned Claude response for BBF-1 — write the actual diff + the answers for the Questionnaire + Quiz, save under
packages/robos-test/sandbox/data/model-problem/bbf-1/. - PR creation flow via
ghstub needs to return a plausible PR URL and state. - Jordan’s AI Review response for BBF-1 should produce the “pin buf version” suggestion — add to the stub response library.
- Cut-between-desktops recording: easiest approach is to record Alex’s session first, then Jordan’s from the same VM logged in as Jordan, then weave in post. Or use a two-monitor layout with both users logged in simultaneously. Decide before recording.
- The automation rule that advances BBF-1 to
deployedon merge — confirm it’s set up in Video 03’s deliverables.
What this video proves
- RobOS doesn’t just visualize a dev workflow — it is the workflow.
- AI is a pair programmer, not an autopilot; the Questionnaire + Quiz keep the human engaged.
- Every status transition, every notification, every dashboard update happens automatically from real events.