Who writes here
Paulo L. — AI Growth Hacker. I build CommitCycle, and I write everything in Insights.
What I work on
CommitCycle is change management for AI coding agents: grants that are bound to one task and one branch and expire on their own, zones that carry an owner and a risk level, an approval moment when a wall has to move, and a per-task record of what a task declared against what it actually touched.
File a task: the board export times out on large boards.
commitcycle · cc_intake
Filed CC-58 in Triage: Export times out on large boards
A draft of the four answers — correct anything before I save it:
- Goal
- A large board exports in one request instead of timing out.
- Non-goals
- No change to the export format.
- Zones
- None — the export code is unprotected.
- Criteria
- A 2,000-task board exports without a timeout.
Looks right. Save it.
commitcycle · cc_scope
Saved CC-58, and moved it to Todo — all four answered.
CC-58 is ready. Whoever picks it up starts it in the repository: cycle start CC-58.
Add the board’s connector URL and Claude files and scopes the task from the chat — nothing to install. It cannot approve access: the gate and the zone’s owner decide.
Pick up CC-58.
commitcycle · cc_start
CC-58 is In Progress.
task/CC-58-export-times-out-on-large-boards
No protected zone is open — everything this task declared is unprotected.
commitcycle · cc_why
apps/web/src/export.ts — 1 task(s), newest first:
CC-41 · Done · Stream the export instead of building it in memory
CC-41 already streams the export, so the timeout is the query. Paging it.
Edited export.ts +2 −2
commitcycle · cc_submit
CC-58 is In Review. The zones it had open are closed again.
The same connector in Cursor: start the task, read why a file last changed, hand the work in. With the connector alone, nothing on the machine blocks a write.
✓ gate: four fields answered, no high-risk zone to approve
REQ-7 · schema · write · CC-42
Reason: the board query needs an index
Instead: hand the DDL to the owner
1 hour4 hoursUntil the task closes
✓ Approved — schema is open to CC-42 for 4 hours
In the console a task crosses the gate into In Progress, and a zone’s owner answers an access request — for one hour, four, or until the task closes.
> add an index on tasks.updated_at — the board query is slow
● Write(apps/api/migrations/0042_tasks_updated_at.sql)
⎿ PreToolUse:Write — ✗ Denied by CC
zone schema · risk high
owner ana@acme.dev
task CC-42 declared no protected zones
reason path is in a zone the task never asked for
● The schema zone is closed to CC-42. Asking its owner rather than looking for another way in.
● Bash(cycle request-access --zone schema --mode write --reason "the board query needs an index" --alternative "hand the DDL to the owner")
⎿ REQ-7 is with the zone owner
approve or deny: https://dash.commitcycle.com/requests
The hook refuses the write before it lands, names the zone and its owner, and the agent asks for access instead of looking for another way in. Claude Code is where this block has been seen working.
$ cycle start "Export times out on large boards" \ --goal "a large board exports in one request" \ --non-goals "no format change" \ --criteria "2,000 tasks export without a timeout"
board https://dash.commitcycle.com · acme/web
CC-58 is In Progress on task/CC-58-export-times-out-on-large-boards
open no protected zones — everything unprotected is yours already
record .zones/tasks/CC-58.md
$ cycle submit
CC-58 is now In Review
the grant is gone — protected zones are closed again
From a terminal, cycle does each step in one command: start brings the grant onto the machine, submit hands it back.
It exists because the interesting failure with coding agents is not that they write bad code. It is that they write plausible code in places nobody asked them to go, and that the reasons behind a repository's conventions live in people's heads where an agent cannot read them.
Why these posts exist
Most of what is written about AI agents is written by people selling agents. I am selling something too, so that is not a claim to be above it — it is the reason each post here carries a date and a single sentence stating what it argues, and the reason the posts say plainly where the argument stops working.
The line I hold myself to is that a post has to be useful to someone who never installs anything of mine. If the only way a piece pays off is by buying something, it was an advertisement wearing an essay.
What you can check
Everything above is a claim about me, so here is the part that is not. The plugin installs the enforcement and runs on your machine; npm installs the CLI, which is the process without the wall. The documentation is public, including the pages still marked as pending, because a stub labelled as one is more honest than a page pretending to be finished. This site is built with the process the product enforces — changes to it go through a task, a gate and an audit record.
The hosted board is invitation-only while this is small. Saying so is not modesty; it is the single most useful fact for anyone deciding how much weight to put on the rest.
Getting in touch
paulo@commitcycle.com. If you disagree with something in a post, that is the most useful mail I get.