Onchain Rewind
Project development logs
How this app was built. Every ticket is planned, coded by an AI developer, checked by two independent AI reviewers, then merged. Nothing here is typed in by hand: it is read from GitHub and the Vinaya log.
Saved copy as of , taken when this version of the site was built. Checking for anything newer…
Milestone
Onchain Rewind v1: demo-ready
32 of 33 tickets merged
Time per ticket
34 min
Median developer plus reviewer time per ticket, from the Vinaya round log. Waiting for a human is not counted.
Second rounds
11 of 32
Reviewed tickets where the reviewers asked for changes and the developer went round again.
Problems caught
103
Raised by the two reviewers before merge:Code review: 7 blocker · 21 major · 36 minorSecurity: 2 high · 12 medium · 25 low
Typical size
10 files
Median change: 491 lines added or removed.
Model tokens
1.5M out
1.3B read in total, developer and reviewers together.
Where the time goes
Developer writes the code: 23 h 51 min (84%)Reviewers check it: 4 h 41 min (16%)
Across every round the log has seen. Humans stepped in 5 times. The loop recovered from a platform failure on its own on 1 ticket.
Guardrails
39 automated checks ran across 18,508 runs before code could be committed, pushed or merged. 130 runs stopped a bad change.
The rules are enforced by code, not by asking the AI politely. From the Vinaya log, as of the saved copy.
Ticket by ticket
Rounds is how many times the developer and reviewers went back and forth. Problems are what each reviewer, code review and security, raised, by severity — not every problem stops a merge; some are recorded and fixed later.
- TicketTimeRoundsSizeProblemsTokens
- #2Merged
[rewind-v1] 1 — The Ariakit primitives, the RewindFacts contract and the fixtures live in the app, and /system shows the primitives
Pull request #17Started Code review: approveSecurity: pass
Time30 minRounds1 roundSize14 files+749 −4ProblemsCode review:2 minorSecurity:2 lowTokens45k out59.0M read- Round 1Approved
Developer 17 minReviewers 14 min14 files · +749 −4
Problems raised: 2 minor · 2 low
1 round · 30 min of developer and reviewer time.
- #3Merged
[rewind-v1] 2 — One server-only Zerion client authenticates, caches, backs off and maps errors to typed results
Pull request #19Started Code review: approveSecurity: pass
Time30 minRounds1 roundSize5 files+549 −5ProblemsCode review:1 major3 minorSecurity:1 medium5 lowTokens36k out16.2M read- Round 1Approved
Developer 20 minReviewers 10 min5 files · +549 −5
Problems raised: 1 major · 3 minor · 1 medium · 5 low
1 round · 30 min of developer and reviewer time. A human paused the loop at least once.
- #4Merged
[rewind-v1] 6 — A pure engine turns trimmed Zerion pages into RewindFacts, with every aggregation rule proven by tests
Pull request #22Started Code review: approveSecurity: pass
Time17 minRounds1 roundSize4 files+829 −7ProblemsCode review:noneSecurity:noneTokens70k out18.4M read- Round 1Approved
Developer 14 minReviewers 3 min4 files · +829 −7
1 round · 17 min of developer and reviewer time.
- #5Merged
[rewind-v1] 7 — The user sets their wallet once, by address, ENS name or demo pick, and the app remembers it as connected
Pull request #24Started Code review: approveSecurity: pass
Time31 minRounds1 roundSize13 files+684 −6ProblemsCode review:noneSecurity:1 mediumTokens93k out87.9M read- Round 1Approved
Developer 27 minReviewers 4 min13 files · +684 −6
Problems raised: 1 medium
1 round · 31 min of developer and reviewer time.
- #6Merged
[rewind-v1] 9 — A tested useRewind hook pages a wallet's transactions, feeds the engine, and reports progress, completion and failure
Pull request #25Started Code review: approveSecurity: pass
Time1 h 12 minRounds1 roundSize2 files+886 −0ProblemsCode review:noneSecurity:noneTokens130k out42.8M read- Round 1Approved
Developer 47 minReviewers 25 min2 files · +886 −0
1 round · 1 h 12 min of developer and reviewer time.
- #7Planned
[rewind-v1] 11 — The Rewind is live at a public URL and shareable as an image and as a link with a working preview
Time—Rounds—Size—Problems—Tokens— - #9Merged
[rewind-v1] 3 — Every story component runs on fixtures in the app, and /system shows each one in every state
Pull request #20Started Code review: approveSecurity: pass
Time1 h 49 minRounds2 roundsSize17 files+1,338 −7ProblemsCode review:4 major11 minorSecurity:2 lowTokens68k out13.1M read- Round 1Changes requested
Developer 35 minReviewers 28 min15 files · +1,198 −3
Problems raised: 2 major · 6 minor · 1 low
- Round 2ApprovedConfidence 88%
Developer 26 minReviewers 19 min17 files · +1,338 −7
Problems raised: 2 major · 5 minor · 1 low
2 rounds · 1 h 49 min of developer and reviewer time.
- #10Merged
[rewind-v1] 5 — The particle reveal runs on /system, driven by fixture counts, through gather, burst, fail and reduced motion
Pull request #23Started Code review: approveSecurity: pass
Time30 minRounds1 roundSize8 files+1,017 −6ProblemsCode review:1 minorSecurity:noneTokens28k out28.8M read- Round 1Approved
Developer 26 minReviewers 4 min8 files · +1,017 −6
Problems raised: 1 minor
1 round · 30 min of developer and reviewer time.
- #11Merged
[rewind-v1] 4 — Server functions return the trimmed Zerion data the Rewind needs, in shapes the engine can read
Pull request #21Started Code review: approveSecurity: pass
Time1 h 8 minRounds1 roundSize20 files+7,545 −12ProblemsCode review:2 major2 minorSecurity:2 medium2 lowTokens144k out36.8M read- Round 1Approved
Developer 58 minReviewers 10 min20 files · +7,545 −12
Problems raised: 2 major · 2 minor · 2 medium · 2 low
1 round · 1 h 8 min of developer and reviewer time.
- #12Merged1 human ruling
[rewind-v1] 15 — A page load autoplays the real Rewind: the reveal streams real transactions, then the five cards play
Pull request #39Started Code review: approveSecurity: pass
Time2 h 17 minRounds1 roundSize8 files+695 −62ProblemsCode review:1 blocker2 majorSecurity:noneTokens44k out38.8M read- Round 1Approved
Developer 2 h 10 minReviewers 7 min8 files · +695 −62
Problems raised: 1 blocker · 2 major
1 round · 2 h 17 min of developer and reviewer time.
- #13Merged1 human ruling
[rewind-v1] 8 — The full RewindPlayer plays each fixture on /system, and the arrow keys work while a button has focus
Pull request #26Started Code review: approveSecurity: pass
Time53 minRounds3 roundsSize7 files+629 −105ProblemsCode review:1 blocker2 minorSecurity:noneTokens111k out57.6M read- Round 1Changes requested
Developer 24 minReviewers 7 min5 files · +546 −86
Problems raised: 1 blocker · 2 minor
- Round 2ApprovedConfidence 88%
Developer 12 minReviewers 4 min7 files · +629 −105
- Round 2 · re-review after a human rulingApprovedConfidence 88%
Developer —Reviewers 7 min7 files · +629 −105
3 rounds · 53 min of developer and reviewer time.
- #18Merged2 human rulings
[rewind-v1] 16 — Every component and /system work in light and dark, the app chrome follows the system setting, and the story stays dark
Pull request #42Started Code review: approveSecurity: pass
Time1 h 36 minRounds2 roundsSize20 files+544 −45ProblemsCode review:noneSecurity:noneTokens17k out14.4M read- Round 1Changes requested
Developer 46 minReviewers 33 min17 files · +352 −43
Stopped for a human decision before the reviewers' verdict.
- Round 1 · re-review after a human rulingApproved
Developer 14 minReviewers 3 min20 files · +544 −45
2 rounds · 1 h 36 min of developer and reviewer time. A human paused the loop at least once.
- #27Merged
[rewind-v1] 14 — Every story card and the share card are visible: their entrance ends at full opacity instead of 0
Pull request #29Started Code review: approveSecurity: pass
Time5 h 47 minRounds2 roundsSize8 files+244 −23ProblemsCode review:noneSecurity:1 mediumTokens113k out22.4M read- Round 1Changes requested
Developer 5 h 28 minReviewers 4 min6 files · +221 −21
Problems raised: 1 medium
- Round 2ApprovedConfidence 92%
Developer 10 minReviewers 5 min8 files · +244 −23
2 rounds · 5 h 47 min of developer and reviewer time. The loop recovered from a platform failure on its own.
- #30Merged
[rewind-v1] 17 — Every story card stays visible after its slide-in, at full motion and after moving back and forth
Pull request #31Started Code review: approveSecurity: pass
Time1 h 39 minRounds1 roundSize4 files+231 −1ProblemsCode review:noneSecurity:noneTokens35k out41.0M read- Round 1Approved
Developer 1 h 32 minReviewers 7 min4 files · +231 −1
1 round · 1 h 39 min of developer and reviewer time.
- #32Merged
[rewind-v1] 19 — The story's last card shows its share panel instead of leaving it invisible
Pull request #33Started
Time23 minRounds1 roundSize6 files+340 −41ProblemsCode review:noneSecurity:noneTokens511 out8.7M read- Round 1Approved
Developer 20 minReviewers 4 min6 files · +340 −41
1 round · 23 min of developer and reviewer time. A human paused the loop at least once.
- #34Merged
[rewind-v1] 20 — The Vinaya log's review-loop events become a round-by-round record for each task, read on the server
Pull request #43Started Code review: approveSecurity: pass
Time1 h 6 minRounds1 roundSize9 files+830 −0ProblemsCode review:2 minorSecurity:1 mediumTokens31k out81.1M read- Round 1Approved
Developer 1 h 2 minReviewers 4 min9 files · +830 −0
Problems raised: 2 minor · 1 medium
1 round · 1 h 6 min of developer and reviewer time.
- #35Merged
[rewind-v1] 21 — The GitHub record of every task becomes a development record: times, review rounds, findings, tokens and size
Pull request #49Started Code review: approveSecurity: pass
Time36 minRounds2 roundsSize10 files+1,815 −0ProblemsCode review:1 majorSecurity:1 high3 mediumTokens23k out44.4M read- Round 1Changes requested
Developer 21 minReviewers 4 min9 files · +1,591 −0
Problems raised: 1 major · 1 high · 1 medium
- Round 2ApprovedConfidence 92%
Developer 7 minReviewers 4 min10 files · +1,815 −0
Problems raised: 2 medium
2 rounds · 36 min of developer and reviewer time. A human paused the loop at least once.
- #36Merged1 human ruling
[rewind-v1] 22 — /logs shows the project's development logs: the milestone, its tickets, and each ticket's review loop round by round
Pull request #52Started Code review: approveSecurity: pass
Time1 h 9 minRounds3 roundsSize16 files+1,881 −8ProblemsCode review:4 blocker1 majorSecurity:1 high3 medium2 lowTokens28k out58.0M read- Round 1Changes requested
Developer 30 minReviewers 5 min14 files · +1,409 −4
Problems raised: 1 major · 1 high · 1 medium · 1 low
- Round 2Changes requestedConfidence 78%
Developer 17 minReviewers 6 min16 files · +1,554 −7
Problems raised: 4 blocker · 2 medium · 1 low
- Round 3ApprovedConfidence 90%
Developer 9 minReviewers 3 min16 files · +1,881 −8
3 rounds · 1 h 9 min of developer and reviewer time.
- #40Merged
[rewind-v1] 23 — The Rewind runs within the free Demo plan's limits and says so plainly when the day's budget is spent
Pull request #41Started Code review: approveSecurity: pass
Time47 minRounds1 roundSize15 files+384 −109ProblemsCode review:noneSecurity:1 lowTokens22k out54.2M read- Round 1Approved
Developer 44 minReviewers 3 min15 files · +384 −109
Problems raised: 1 low
1 round · 47 min of developer and reviewer time.
- #44Merged
[rewind-v1] 24 — The development record reads the Vinaya log correctly: NDJSON pages, developer time on the right round, failed dispatches not running
Pull request #45Started Code review: approveSecurity: pass
Time20 minRounds1 roundSize5 files+224 −42ProblemsCode review:noneSecurity:1 lowTokens28k out23.3M read- Round 1Approved
Developer 17 minReviewers 3 min5 files · +224 −42
Problems raised: 1 low
1 round · 20 min of developer and reviewer time.
- #46Merged
[rewind-v1] 25 — A year cut short by a failed page reads as at least that much: the counts carry a plus, and onchain since is never a false date
Pull request #48Started Code review: approveSecurity: pass
Time44 minRounds1 roundSize19 files+338 −77ProblemsCode review:noneSecurity:noneTokens21k out46.6M read- Round 1Approved
Developer 40 minReviewers 4 min19 files · +338 −77
1 round · 44 min of developer and reviewer time.
- #47Merged
[rewind-v1] 26 — The whole app follows the light or dark theme, the story and the share image included
Pull request #50Started Code review: approveSecurity: pass
Time37 minRounds1 roundSize15 files+229 −78ProblemsCode review:1 majorSecurity:1 lowTokens15k out44.8M read- Round 1Approved
Developer 29 minReviewers 8 min15 files · +229 −78
Problems raised: 1 major · 1 low
1 round · 37 min of developer and reviewer time.
- #51Merged
[rewind-v1] 27 — The count climbs without pausing, the story can be left with Escape, and the demo opens on pranksy.eth
Pull request #53Started Code review: approveSecurity: pass
Time48 minRounds1 roundSize18 files+381 −55ProblemsCode review:2 major2 minorSecurity:noneTokens40k out82.4M read- Round 1Approved
Developer 39 minReviewers 9 min18 files · +381 −55
Problems raised: 2 major · 2 minor
1 round · 48 min of developer and reviewer time.
- #54Merged
[rewind-v1] 28 — The home page and /logs carry a site footer and the Zerion logo, and the /logs table header stays pinned
Pull request #56Started Code review: approveSecurity: pass
Time38 minRounds2 roundsSize12 files+244 −30ProblemsCode review:1 minorSecurity:noneTokens43k out93.2M read- Round 1Changes requested
Developer 30 minReviewers —12 files · +244 −30
Checks failed before review.
- Round 1 · re-reviewApproved
Developer 1 minReviewers 7 min12 files · +244 −30
Problems raised: 1 minor
2 rounds · 38 min of developer and reviewer time.
- #55Merged
[rewind-v1] 29 — A browser that remembered vitalik.eth opens on pranksy.eth
Pull request #57Started Code review: approveSecurity: pass
Time24 minRounds3 roundsSize2 files+78 −18ProblemsCode review:1 blocker1 majorSecurity:1 lowTokens108k out26.2M read- Round 1Changes requested
Developer 11 minReviewers —2 files · +79 −18
Checks failed before review.
- Round 1 · re-reviewChanges requested
Developer 5 minReviewers 3 min2 files · +79 −18
Problems raised: 1 blocker · 1 major · 1 low
- Round 2ApprovedConfidence 92%
Developer 4 minReviewers 1 min2 files · +78 −18
3 rounds · 24 min of developer and reviewer time.
- #58Merged
[rewind-v1] 30 — / lands on Play, the reveal can be skipped, and the footer links to the development stats
Pull request #59Started Code review: approveSecurity: pass
Time21 minRounds1 roundSize8 files+139 −37ProblemsCode review:noneSecurity:noneTokens13k out41.7M read- Round 1Approved
Developer 20 minReviewers 2 min8 files · +139 −37
1 round · 21 min of developer and reviewer time.
- #60Merged
[rewind-v1] 31 — /dev-stats has a centred loader, a visible round expander and a way back home
Pull request #61Started Code review: approveSecurity: pass
Time29 minRounds2 roundsSize16 files+139 −43ProblemsCode review:3 major2 minorSecurity:3 lowTokens16k out72.2M read- Round 1Changes requested
Developer 22 minReviewers 3 min13 files · +100 −33
Problems raised: 3 major · 1 minor · 3 low
- Round 2ApprovedConfidence 92%
Developer 2 minReviewers 2 min16 files · +133 −36
Problems raised: 1 minor
2 rounds · 29 min of developer and reviewer time.
- #67Merged
[rewind-v1] 32 — Production is Principal-only: no agent runs a Vercel production command, and agent builds are unaliased and reviewed
Pull request #70Started Code review: approveSecurity: pass
Time5 minRounds1 roundSize4 files+39 −1ProblemsCode review:1 minorSecurity:noneTokens5k out1.0M read- Round 1Approved
Developer 4 minReviewers 1 min4 files · +39 −1
Problems raised: 1 minor
1 round · 5 min of developer and reviewer time.
- #68Merged
[rewind-v1] 33 — The Rewind never fails on a quota limit: a rate-limited or spent Zerion API plays a recorded vitalik.eth snapshot instead of an error
Pull request #71Started Code review: approveSecurity: pass
Time20 minRounds1 roundSize22 files+646 −242ProblemsCode review:1 minorSecurity:noneTokens11k out23.0M read- Round 1Approved
Developer 19 minReviewers 1 min22 files · +646 −242
Problems raised: 1 minor
1 round · 20 min of developer and reviewer time.
- #69Merged
[rewind-v1] 34 — /dev-stats paints the last known development record within 2 seconds on a cold visit, then refreshes live
Pull request #72Started Code review: approveSecurity: pass
Time28 minRounds2 roundsSize20 files+777 −36ProblemsCode review:2 major4 minorSecurity:3 lowTokens11k out19.9M read- Round 1Changes requested
Developer 18 minReviewers 1 min16 files · +478 −35
Problems raised: 2 major · 3 minor · 2 low
- Round 2ApprovedConfidence 85%
Developer 7 minReviewers 2 min20 files · +777 −36
Problems raised: 1 minor · 1 low
2 rounds · 28 min of developer and reviewer time.
- #73Merged
[rewind-v1] 35 — /dev-stats explains itself: findings read by reviewer, and no message names a variable or a server internal
Pull request #74Started Code review: approveSecurity: pass
Time6 minRounds1 roundSize10 files+191 −54ProblemsCode review:1 minorSecurity:2 lowTokens8k out1.6M read- Round 1Approved
Developer 5 minReviewers 1 min10 files · +191 −54
Problems raised: 1 minor · 2 low
1 round · 6 min of developer and reviewer time.
- #82Merged
[rewind-v1] 38 — /dev-stats counts every finding the reviewers raised, and each ticket's numbers add up
Pull request #83Started Code review: approveSecurity: pass
Time16 minRounds1 roundSize15 files+356 −46ProblemsCode review:noneSecurity:noneTokens10k out16.5M read- Round 1Approved
Developer 14 minReviewers 1 min15 files · +356 −46
1 round · 16 min of developer and reviewer time.
- #84Merged
[rewind-v1] 39 — A round sent back without review findings says why
Pull request #85Started Code review: approveSecurity: pass
Time15 minRounds3 roundsSize7 files+286 −2ProblemsCode review:1 major1 minorSecurity:noneTokens103k out53.1M read- Round 1Approved
Developer 8 minReviewers 2 min7 files · +247 −2
- Round 2Changes requestedConfidence 70%
Developer —Reviewers 2 min7 files · +286 −2
Problems raised: 1 major · 1 minor
- Round 3ApprovedConfidence 88%
Developer 1 minReviewers 2 min7 files · +286 −2
3 rounds · 15 min of developer and reviewer time.