Everyone is building cockpits for AI agents.
We built the crew.
Introducing niwaa crew that can't merge its own work
hackathon.24h
public 24h · 11 Nov 2026
you propose, the crew builds
prize, awarded by a jury: USD 1000 cash + USD 1000 of Tsukumo consulting + lifetime niwa
propose an idea, or vote for others
niwa is a terminal for macOS, Windows and Linux that runs Claude Code and Codex agents on your own machine. They take tickets from a board and work on separate branches. A reviewer that didn't write the code decides what merges.
Six ideas. Built live in 24 hours.
You propose a project and vote. The five with the most votes, plus one niwa pick, get built by the crew in a public 24-hour run. Then the six teams meet live, and a jury awards the prize.
enter.hackathon
Leave your email. We send you a sign-in link now.
proposals open Mon 19 Oct 2026
hackathon.timeline
- proposefrom Mon 19 OctDescribe one small project: the problem, and what done looks like.
- voteuntil Fri 6 NovUpvote the projects you want built. One vote per project per account.
- selectFri 6 NovThe top 5 by votes, at least 5 each, plus one niwa pick.
- buildWed 11 NovThe crew builds all six live in 24 hours, every change through the gate.
- juryafter the runA live with the six teams, then a jury picks the winner.
prize.txt
USD 1000 cash
USD 1000 of Tsukumo consulting
lifetime niwa
awarded by a jury after the live
rules.md
- Small: an idea one person could build in 1 to 3 hours.
- Outside APIs and data only if public, free and self-serve. Never paste a key.
- No personal data.
- The code is published under the MIT licence.
From autocomplete to a crew
autocomplete
next line
+ you accept each one
chat agent
one task, one chat
+ you paste the result
cockpit
approve every command
watch every pane
+ you are the reviewer
niwa · crew + gate
the agent that wrote it never merges it
- board
- worktree
- gate
- merge
Clock 1.1 · toy
local time
Rake 1.1 · toy
niwa.site
version 0.1.0 · built 2026-09-28
by Tsukumo · made in Switzerland
Watching agents is a second job.
A cockpit gives you a better view of your agents. More panes, more diffs, more buttons that say approve. You still read every change. Run five agents that way and you have become their full-time reviewer, for code you didn't write.
We wanted the opposite. Hand the work to a crew and give the crew one rule it can't argue with: the agent that wrote a change never decides whether it merges. Another agent, starting from a clean context, checks the change against the ticket. It approves, or it sends the work back with findings.
You get called when the decision is actually yours. A ticket that keeps failing. A tradeoff the ticket didn't settle. Everything else you read in the morning, in the merge log. See how a ticket moves.
Thirty days of merges
niwa is built by its own crew, so its git history is the record. These figures come straight from it, for 29 August to 28 September 2026.
record.summary · 29 Aug – 28 Sep 2026
441
changes merged into our integration branch
98.9%
carry an approval from a reviewer that wasn't the author (436 of 441)
52%
were sent back at least once before merging (227 of 437)
32
merged through the gate between midnight and 8 a.m. on 28 September
Rounds before merge: 48% one, 31% two, 21% three or more. The five changes without an approval carry no reviewer name in their trailer, and we count them as unapproved.
src: git log origin/v1 @ 041be95839cc · 28 Sep 2026
record.rounds · rounds before merge
| rounds | changes |
|---|---|
| 1 | 210 |
| 2 | 134 |
| 3 | 60 |
| 4 | 19 |
| 5 | 10 |
| 6 | 0 |
| 7 | 2 |
| 8 | 2 |
src: git log origin/v1 @ 041be95839cc · 28 Sep 2026
receipt.trailer
niwa doctor: warn when a repo declares no post-merge check Task: c24ee17b Doer: worker-3 Branch: worker-3/c24ee17b-doctor-postmerge -> v1 Round: 1 Approved-by: review-c24ee17b
The trailer niwa writes on a commit it merges. Who did the work, which round it passed on, who approved it.
src: a commit merged on 28 Sep 2026, names shortened
ledger · drawn to match the record
| ticket | rounds |
|---|---|
| cbd5 | 1 |
| be64 | 2 |
| 43fa | 1 |
| 5dbb | 1 |
| a623 | 3 |
| 7469 | 1 |
| 7c1d | 2 |
| cc91 | 1 |
| 7863 | 2 |
| 2239 | 3 |
| 5ea4 | 1 |
| 115c | 2 |
| ticket | rounds |
|---|---|
| cbd5 | 1 |
| be64 | 2 |
| 43fa | 1 |
| 5dbb | 3 |
| 5b35 | 1 |
| 7469 | 2 |
how.we.counted
the four commands
Run in the niwa repository at origin/v1 = 041be95839cc, 28 Sep 2026.
# changes merged in the window git log 041be95839cc --since=2026-08-29T00:00+02:00 --format=%H | wc -l # -> 441 # with a named reviewer approval git log 041be95839cc --since=2026-08-29T00:00+02:00 --format=%B \ | grep -cE '^Approved-by: review-' # -> 436 # review rounds before merge git log 041be95839cc --since=2026-08-29T00:00+02:00 --format=%B \ | grep -E '^Round: ' | sort | uniq -c # -> 210 x 1, 134 x 2, 60 x 3, 19 x 4, 10 x 5, 2 x 7, 2 x 8 (437 total) # the night of 27 to 28 September git log 041be95839cc --since=2026-09-28T00:00+02:00 \ --until=2026-09-28T08:00+02:00 --grep='^Approved-by:' --format=%H | wc -l # -> 32
The gate
reviewed
Checked by an agent that didn't write it
Every ticket carries acceptance criteria. When an agent submits, niwa starts a separate reviewer on the exact commit that was submitted. The reviewer runs the tests and answers each criterion, pass or fail, with a reason. The merge itself is done by niwa's own code from that verdict, never by an agent. Before main moves, niwa builds the merged result in a scratch worktree and runs the check once more. Red, and main stays where it was. Rejected work goes back to its author with the findings, and the round counter goes up.
autonomous
It keeps going when you stop
Agents claim tickets from the board on their own and pick up the next one when they finish. niwa wakes an idle agent when work arrives for it and resets its context before it overflows. Nobody has to sit there typing "continue".
isolated
One ticket, one branch
Each agent works in its own git worktree, on its own branch, so two agents never edit the same checkout. Two changes can still each pass and then break each other once combined, which is why the check runs on the merged result before main moves. The whole crew runs on your machine.
32 merges between midnight and 8 a.m.
From the board to main
board
You write a ticket with a goal and acceptance criteria. A free agent claims it.
worktree
The agent works on its own branch and talks to the rest of the crew over a relay.
gate
A reviewer starting from a clean context checks the submitted commit against each criterion. A fail goes back with findings.
merge
niwa builds the merged result on the side, runs the check, and only then moves main.
journal · illustrative · one line per decision
02:14:07 claimed t-7c1e "retry the webhook on 5xx, stop after 3" worker-2
02:14:09 worktree t-7c1e worker-2/t-7c1e-webhook-retry
02:31:52 submitted t-7c1e round 1 4b9e2a1
02:31:55 review t-7c1e reviewer started on 4b9e2a1
02:38:40 verdict t-7c1e AC1 pass retries on 502, 503, 504
02:38:40 verdict t-7c1e AC2 fail no cap, a 500 retries forever (webhook.rs:88)
02:38:41 sent back t-7c1e findings to worker-2
02:52:13 submitted t-7c1e round 2 e03f5d7
02:59:02 verdict t-7c1e AC1 pass AC2 pass tests 214/214
02:59:03 approved t-7c1e e03f5d7
03:01:30 checked t-7c1e merged tree green (scratch worktree)
03:01:31 merged t-7c1e e03f5d7 -> main
gate.verdict · t-7c1e · round 1
AC1 pass retries on 502, 503, 504
AC2 fail no cap, a 500 retries forever (webhook.rs:88)
Things niwa won't do
refused.log
- Ask you to approve every shell command.
- Let an agent review its own change.
- Merge because the tests went green. The reviewer still reads the diff against the ticket.
- Put two agents in the same checkout.
- Give you a wall of agent panes to watch.
The rest is open source
niwa sits on four tools we built for ourselves first. You can read and run each of them.
suite/
- niwa/ private, early access
- The terminal, the crew and the gate.
- WRAI.TH/ open source
- The relay the agents talk over: messages, the task board, shared memory. source
- trovex/ open source
- Project memory for agents. Sends each agent to the doc it needs, over MCP. site
- yoru/ open source
- A self-hosted record of what every agent session did. site
- dokan/ open source
- Runs scripts the same way every time and signs a receipt you can check. source
Questions
questions.txt
Which systems does it run on?
macOS, Windows and Linux.
Which agents does it run?
Claude Code and Codex, the command-line agents, signed in with the accounts you already have. niwa doesn't sell model access; you keep paying your provider as you do now.
Where does my code go?
Your repository, the board and the merge record stay on your machine. The agents send their prompts to the model provider you already use, exactly as they do when you run them by hand. niwa itself has no server that sees your code.
Do I have to watch it?
No. Tickets that pass the gate merge on their own. When a ticket keeps failing review, or needs a call the ticket didn't make, niwa escalates it to you, and you approve, reject or drop it from the terminal.
What if the reviewer is wrong?
It will be, sometimes. Reviewers are agents too. So it answers named criteria instead of giving a general opinion, the check has to pass on the merged result before main moves, and the approval is written into the commit, so every merged change can be traced back to its verdict. You can overrule any verdict from the terminal.
Do separate worktrees stop merge conflicts?
They stop two agents from editing the same files at the same time. They don't stop two changes that each look fine from breaking each other. That's why niwa runs the check on the combined result before main moves, and sends the work back with the log if it fails.
How many times can a ticket bounce?
A set number of rounds, which you configure. After that it stops retrying and comes to you with every finding so far.
Is niwa open source?
No. niwa is the product we sell. The relay, the project memory, the session record and the script runner around it are open source.
What does it cost?
There's no public price yet. During early access we set people up one at a time, and we'd rather talk about price once you've seen it work on your own repo.
What does the name mean?
Niwa is Japanese for a garden or courtyard: the open ground where work is tended. Tsukumo, the company behind it, is a studio in Switzerland.
Point it at a real repo.
access.request
Early access is by request. Leave your email and we'll get you set up.