Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
157 commits
Select commit Hold shift + click to select a range
1329d4e
design: delegates — handing a task to an outside harness (draft)
ZeroPoint95 Sep 21, 2026
d215975
design: delegates — one word per delegate starts a task; harness comm…
ZeroPoint95 Sep 21, 2026
8a70b38
design: delegates — swe-pro's control plane is optional and it stream…
ZeroPoint95 Sep 22, 2026
7ae4151
design: delegates — generated command rows, the manual law moves to l…
ZeroPoint95 Sep 22, 2026
9eaf4ab
design: delegates — swe-pro's eager commits are squashed at landing
ZeroPoint95 Sep 22, 2026
21e6d77
design: delegates — rewritten for readability
ZeroPoint95 Sep 22, 2026
83829f4
design: delegates — one generic reader over a four-record protocol; t…
ZeroPoint95 Sep 22, 2026
dc7ff2f
design: delegates — swe-pro speaks the protocol whole: top-level spen…
ZeroPoint95 Sep 22, 2026
9621d37
docs: the delegate protocol, version 1, with swe-pro's conformance table
ZeroPoint95 Sep 22, 2026
d3b990e
delegate: the manifest, the loader, the one protocol reader, the laun…
ZeroPoint95 Sep 22, 2026
7a6ad9e
delegate: /<name> <brief> starts a task the program does on its own; …
ZeroPoint95 Sep 22, 2026
b2fa854
delegate: the chat's manual layers each installed delegate's own page…
ZeroPoint95 Sep 22, 2026
9a5c16d
session: the stop-law ledger names the door that now publishes a run'…
ZeroPoint95 Sep 22, 2026
fcde8b9
delegate: the door crosses the wire, every delegate door is asked off…
ZeroPoint95 Sep 22, 2026
3df3eb0
delegate: the delegates folder is made at launch, so nobody has to mk…
ZeroPoint95 Sep 22, 2026
7909bb6
delegate: the first delegate is senior-dev, the name swe-pro took in …
ZeroPoint95 Sep 23, 2026
4237e01
delegate: a brief reaches the program as written, even when it spells…
ZeroPoint95 Sep 23, 2026
e49bdd1
delegate: the programs are built in, and the manifest road is gone
ZeroPoint95 Sep 23, 2026
4f647c1
delegate: the model route and the program record are fixed before the…
ZeroPoint95 Sep 23, 2026
3cce8db
session: a program's task page carries its conversation with codeaf
ZeroPoint95 Sep 23, 2026
d16758a
tui3: a program's task page is its conversation with codeaf
ZeroPoint95 Sep 23, 2026
aede274
tui3: the manual says the program's record keeps more of each call, n…
ZeroPoint95 Sep 23, 2026
0187ca4
delegate: the program record carries the run's ceiling, so the page c…
ZeroPoint95 Sep 23, 2026
63e7259
seniordev: senior-dev's engine is copied in as it was, before it is a…
ZeroPoint95 Sep 23, 2026
790ee07
seniordev: senior-dev's commits survive a symlinked folder and its ow…
ZeroPoint95 Sep 23, 2026
4a5b872
seniordev: senior-dev runs on the model API codeaf serves it and repo…
ZeroPoint95 Sep 23, 2026
0bae907
seniordev: codeaf carries senior-dev, and the chat's manual knows it
ZeroPoint95 Sep 23, 2026
6a8daf4
modelapi: every run of a carried program gets a model API of its own
ZeroPoint95 Sep 23, 2026
66983f5
run: a delegated run serves its program the model API and meters ever…
ZeroPoint95 Sep 23, 2026
27b57ab
cli: codeaf <name> runs a carried program from a shell, and --help li…
ZeroPoint95 Sep 23, 2026
c2e5bd9
modelapi: a program's reasoning depth rides codeaf's own ladder, xhig…
ZeroPoint95 Sep 23, 2026
fd77921
run: the program record carries the run's ceiling
ZeroPoint95 Sep 23, 2026
bf2d98b
modelapi: a model's working goes out under the router's name and come…
ZeroPoint95 Sep 23, 2026
e1ee5bd
cli: senior-dev itself works a task through a shell run's model API, …
ZeroPoint95 Sep 23, 2026
8702e3e
delegate: the three lanes meet — help fits eighty columns, and the pa…
ZeroPoint95 Sep 23, 2026
8abbd11
cli: senior-dev itself works a task the chat's way, through the run's…
ZeroPoint95 Sep 23, 2026
be2a083
perf: SIZE-BUDGET rises by what senior-dev weighs, and the bill alrea…
ZeroPoint95 Sep 23, 2026
81b726c
delegate: a bare --help is the program's own page
ZeroPoint95 Sep 23, 2026
045a6f0
delegate: the program's page says a bare brief is the same as its def…
ZeroPoint95 Sep 23, 2026
9c4076a
delegate: a program describes itself to the model, and codeaf says wh…
ZeroPoint95 Sep 23, 2026
2ad0a12
perf: the prompt caps rise by what the programs paragraph costs, on t…
ZeroPoint95 Sep 23, 2026
d4ad04c
tui3: every door into a program's task opens its conversation, not a …
ZeroPoint95 Sep 24, 2026
2f72e15
session: a program's task page is read with the belt switch off
ZeroPoint95 Sep 24, 2026
2e9630c
tui3: an approval card stands, and the work above it stays folded
ZeroPoint95 Sep 24, 2026
301982e
tui3: a program run's tab shows its conversation, for the run still w…
ZeroPoint95 Sep 24, 2026
ca679d1
tui3: a room opened on a program's task becomes its page, from every …
ZeroPoint95 Sep 24, 2026
990345f
seniordev: writes stay inside the workspace; reads may leave it
ZeroPoint95 Sep 24, 2026
4f40fe7
delegate: a plain folder is worked in place, and the program is told so
ZeroPoint95 Sep 24, 2026
c45d045
delegate: work lands as its branch, the brief names the copy, the row…
ZeroPoint95 Sep 24, 2026
4576593
delegate: a program works on the conversation's crew by default
ZeroPoint95 Sep 24, 2026
9f283de
scripts: clean-run opens bin/codeaf on a fresh state root with only s…
ZeroPoint95 Sep 24, 2026
cb16b0c
enginehost: a socket path may weigh 103 bytes, not 104
ZeroPoint95 Sep 24, 2026
14e1c34
config: the talk lane's borrow row is read, and the model API pins ar…
ZeroPoint95 Sep 24, 2026
545ff02
run: a run whose own task failed is ended in its store
ZeroPoint95 Sep 24, 2026
d747342
delegate: the program record carries the program's own clock
ZeroPoint95 Sep 24, 2026
ebf014c
run: the worker stamps the program's own clock on its record and endi…
ZeroPoint95 Sep 24, 2026
a3a717f
session: a run's row, checkpoint and page read one pair, the hand-off…
ZeroPoint95 Sep 24, 2026
8db3d53
session: the tasks tool reads a senior-dev run, and it and the landin…
ZeroPoint95 Sep 24, 2026
d10ffcb
session: a hand-off's run reaches the project's index and its convers…
ZeroPoint95 Sep 24, 2026
70a92ac
provider: a queued receipt is owed until it is banked, and gets a fif…
ZeroPoint95 Sep 24, 2026
2512ba6
modelapi: a run's books close with its receipts in, and name who answ…
ZeroPoint95 Sep 24, 2026
44e99d3
run: a program's calls are filed under their conversation and folded …
ZeroPoint95 Sep 24, 2026
ff4848d
codeaf senior-dev: a shell run waits for its last price, files it, an…
ZeroPoint95 Sep 24, 2026
8e4e4be
provider: a run's answer with no usage block is priced by its receipt
ZeroPoint95 Sep 24, 2026
1cc7452
manual: the dollar ceiling cannot hold on a service that reports no p…
ZeroPoint95 Sep 24, 2026
963e38b
senior-dev: a step costs what the service charged, not the catalog's …
ZeroPoint95 Sep 24, 2026
06ebe4c
modelapi: the owed-receipt count unlocks from a defer
ZeroPoint95 Sep 24, 2026
9b5dd81
run: a program's live step goes while its last price is owed
ZeroPoint95 Sep 24, 2026
bd27116
modelapi: the call settings comment names every door it arms
ZeroPoint95 Sep 24, 2026
8ca394a
run: the delegate worker's header says where each call's price goes now
ZeroPoint95 Sep 24, 2026
51481d0
plandb: a run can be ended at the instant it was last seen
ZeroPoint95 Sep 24, 2026
af8547e
session: a run no process holds is a record, never more work
ZeroPoint95 Sep 24, 2026
e5e8d42
run: a run the caller cut is left open, whichever way the select fell
ZeroPoint95 Sep 24, 2026
b820b74
session: a program's work lands on codeaf's task branch wherever it l…
ZeroPoint95 Sep 24, 2026
0ee788f
session: a program run that changed nothing leaves no branch behind
ZeroPoint95 Sep 24, 2026
f565eee
session: the chat is told a program's work was not merged, where it i…
ZeroPoint95 Sep 24, 2026
905dcb0
delegate: a brief names the same place in the copy, once
ZeroPoint95 Sep 24, 2026
6a8c853
session: a program on a plain folder leaves its records in the task, …
ZeroPoint95 Sep 24, 2026
5a062fe
seniordev: the crew's planning seat is not passed, because nothing wo…
ZeroPoint95 Sep 24, 2026
122987a
plandb: the comments stop saying the next hand-off adopts an open run
ZeroPoint95 Sep 24, 2026
f83bcf9
seniordev: the frontier flag's help fits eighty columns
ZeroPoint95 Sep 24, 2026
eac21fb
session: a branch-only landing is a road of its own
ZeroPoint95 Sep 24, 2026
5544b35
session: a moved HEAD's note says only what is true of the landing
ZeroPoint95 Sep 24, 2026
be29f76
session: pin what a moved HEAD's note claims over nothing to land
ZeroPoint95 Sep 24, 2026
63070a7
tui3: a run's clock counts from the record's start and its landed spa…
ZeroPoint95 Sep 24, 2026
8d5e75f
tui3: the task pages the belt switch draws over the conversation obey…
ZeroPoint95 Sep 24, 2026
c994ffb
tui3: a program's task is a room in its conversation's tab
ZeroPoint95 Sep 24, 2026
af77735
session: a run's reading and a question asked of it are in the books,…
ZeroPoint95 Sep 24, 2026
3164fee
delegate: a program's stage is shown in the word it gives a person
ZeroPoint95 Sep 24, 2026
4d9f6b1
session: a run codeaf closed under reads ended on its page and its ro…
ZeroPoint95 Sep 24, 2026
4e5c372
session: a run row codeaf closed under is kept, not the reason the wh…
ZeroPoint95 Sep 24, 2026
21af51b
session: a program row's clock is read in three steps, and a run row'…
ZeroPoint95 Sep 24, 2026
06564ad
session, tui3: a finished run's time is rounded to the second whereve…
ZeroPoint95 Sep 24, 2026
2438f4e
session: a program's commits on its task branch survive the landing, …
ZeroPoint95 Sep 24, 2026
a2c450e
tui3: a run's clocks stop where the run did, and a program room reads…
ZeroPoint95 Sep 24, 2026
ad4ca20
seniordev: the landing stage reads `checking its work`
ZeroPoint95 Sep 24, 2026
623912f
session: a run settled after its process went away says what ended it…
ZeroPoint95 Sep 24, 2026
120a73b
session, tui3: home counts a conversation's dollars once, and its boo…
ZeroPoint95 Sep 24, 2026
9151a5d
modelapi: a sibling model that answered is named, and only a dated bu…
ZeroPoint95 Sep 24, 2026
a155d49
provider: a paid answer cut for its text is priced by its receipt on …
ZeroPoint95 Sep 24, 2026
aa28935
provider: a receipt's 70-second bound is counted from when it was owe…
ZeroPoint95 Sep 24, 2026
c066b0a
codeaf, delegate: a shell run's time is the program's, its summary is…
ZeroPoint95 Sep 24, 2026
2dd087a
delegate: the ignores-TERM test waits for its program's trap before i…
ZeroPoint95 Sep 24, 2026
ed62886
session, seniordev: a program works in the folder it was named, never…
ZeroPoint95 Sep 24, 2026
2091b56
session: a program's card names the project it will work in
ZeroPoint95 Sep 24, 2026
61a349f
session, seniordev, delegate: senior-dev works with the models the pe…
ZeroPoint95 Sep 24, 2026
5f57c2d
session: a model no connected service serves is refused for a program…
ZeroPoint95 Sep 24, 2026
134d850
session: a model spelled with a connected service's prefix is taken a…
ZeroPoint95 Sep 24, 2026
c167939
delegate, seniordev: senior-dev says which step of its process each a…
ZeroPoint95 Sep 24, 2026
d979f47
delegate, run, session, seniordev: a program's task keeps the actions…
ZeroPoint95 Sep 24, 2026
e574ecc
tui3, seniordev, manual: senior-dev's page shows the actions it took,…
ZeroPoint95 Sep 24, 2026
f94355f
seniordev: the scripted run proves a model's shell command reports it…
ZeroPoint95 Sep 24, 2026
362dd41
run: a program's live step is written when its step changes, not on e…
ZeroPoint95 Sep 24, 2026
b033c9c
session, remote: a program's work says which program has it, from the…
ZeroPoint95 Sep 24, 2026
b4d860c
tui3, manual: a program's tasks wear its badge wherever a task is named
ZeroPoint95 Sep 24, 2026
2249cc7
session, seniordev: the chat hands complex coding work to senior-dev …
ZeroPoint95 Sep 24, 2026
fba1baa
tui3: a task's row leaves its clock out while its room is open, rathe…
ZeroPoint95 Sep 24, 2026
3ad6f4c
session, run, delegate, codeaf: a program works in the folder it is g…
ZeroPoint95 Sep 24, 2026
8b6f34a
manual: a program's refusals name both roads, and a moved HEAD reads …
ZeroPoint95 Sep 24, 2026
d3189ea
codeaf, manual: the merged lanes build together, and a landing questi…
ZeroPoint95 Sep 24, 2026
d451c57
tui3, manual: a program's card no longer says its work starts from un…
ZeroPoint95 Sep 24, 2026
5569e01
seniordev: a refused submit leaves the steps after it where they were
ZeroPoint95 Sep 24, 2026
5002e5e
tui3, manual: a long run from before the action log says how many cal…
ZeroPoint95 Sep 24, 2026
a1536bb
tui3: a page onto another conversation's task wears that task's badge…
ZeroPoint95 Sep 24, 2026
33320cb
manual: a page onto another conversation's task wears that task's own…
ZeroPoint95 Sep 24, 2026
f90024f
tui3, manual: home's needs and since-you-left rows and the @ list pay…
ZeroPoint95 Sep 24, 2026
c63b4bf
session, manual: a proposal leaving out the program the person named …
ZeroPoint95 Sep 24, 2026
cecfb5f
session, manual: a correction typed into the turn does not unsay the …
ZeroPoint95 Sep 24, 2026
f605e81
session, manual: a commit, undo or revert that names a program stays …
ZeroPoint95 Sep 24, 2026
a12f607
session, manual: a program's folder is read again before codeaf says …
ZeroPoint95 Sep 24, 2026
bfe3df2
session, manual: a program's run whose process went away is settled w…
ZeroPoint95 Sep 24, 2026
6e38731
session, manual: a program's run is refused a folder inside or around…
ZeroPoint95 Sep 24, 2026
2dec537
session, manual: nothing else of codeaf's writes in a folder a progra…
ZeroPoint95 Sep 24, 2026
0661692
delegate, codeaf, manual: a shell run finishes its folder when its pr…
ZeroPoint95 Sep 24, 2026
a9cf23b
session, manual: a reopened program's row says where its work went, a…
ZeroPoint95 Sep 24, 2026
c8d3a1f
session: a run's folder is readied in a function of its own, and the …
ZeroPoint95 Sep 24, 2026
76d034d
delegate: a child whose host has gone is ended when its grace has passed
ZeroPoint95 Sep 24, 2026
7db7483
session: the folder's comments say a run that went away is settled, a…
ZeroPoint95 Sep 24, 2026
2b538eb
tui3, manual: senior-dev's pages read the home tab as dev now spells …
ZeroPoint95 Sep 24, 2026
148ebf5
changes: senior-dev, a coding agent built into codeaf, takes a whole …
ZeroPoint95 Sep 25, 2026
af8517d
session: opening a conversation reads its task graph and never builds…
ZeroPoint95 Sep 25, 2026
2f2dc74
cmd/codeaf: the ssh policy test gives the control socket a home short…
ZeroPoint95 Sep 25, 2026
b6e3cb0
session: a program's run is never carried on, and its row and Continu…
ZeroPoint95 Sep 25, 2026
7c568b7
tui3: a program's task offers no steer in its @ block and no retry on…
ZeroPoint95 Sep 25, 2026
eec8237
session, tui3, manual: a program's run says what it cost on its row, …
ZeroPoint95 Sep 25, 2026
0b53366
session, manual: a program's proposal names only finished work in dep…
ZeroPoint95 Sep 25, 2026
378a0fd
tui3: a senior-dev task opened from another window shows its actions,…
ZeroPoint95 Sep 25, 2026
aa31490
Merge branch 'claude/sd-guest' into zeropoint95/senior-dev-harness
ZeroPoint95 Sep 25, 2026
89784d1
changes: a senior-dev run cannot wait and is never carried on, and it…
ZeroPoint95 Sep 25, 2026
a80a0b5
tui3: a window on the engine reads the other conversations' presence,…
ZeroPoint95 Sep 25, 2026
0437179
Merge branch 'claude/sd-guest' into zeropoint95/senior-dev-harness
ZeroPoint95 Sep 25, 2026
fff9033
Merge origin/dev (#1410: the worker harness as default, runs as work)…
ZeroPoint95 Sep 25, 2026
5f8c691
session, tui3, manual: the merge's loose ends — the page's trail wear…
ZeroPoint95 Sep 25, 2026
06e129a
seniordev: git if it is there — a folder with no git history runs on …
ZeroPoint95 Sep 25, 2026
7f6f6d6
session, run, tui3: senior-dev's ending is codeaf's to act on — check…
ZeroPoint95 Sep 25, 2026
92742cf
tui3, session, seniordev: senior-dev's page names its task once, keep…
ZeroPoint95 Sep 25, 2026
86a8c50
seniordev, delegate, tui3: every change to the work wears git's +N,-M…
ZeroPoint95 Sep 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 7 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# anywhere else — so a stale copy can't shadow a fresh one.
BINARY := bin/codeaf

.PHONY: all build build-check build-cross debug demo-home embed manual-pack-law furrow test test-focus test-report test-quick test-tooling test-touched test-touched-preflight pr-ready test-laws fmt-check test-packed-manual manual-gates test-remote test-e2e test-e2e-tui vet check size clean \
.PHONY: all build build-check build-cross debug demo-home clean-run embed manual-pack-law furrow test test-focus test-report test-quick test-tooling test-touched test-touched-preflight pr-ready test-laws fmt-check test-packed-manual manual-gates test-remote test-e2e test-e2e-tui vet check size clean \
changelog changelog-new changelog-check changelog-preview

# What the shipped binary is allowed to weigh, in bytes, checked in beside the
Expand Down Expand Up @@ -355,6 +355,12 @@ demo-home: build
go build -o $(DEMO_BINARY) ./cmd/codeaf-demo-home
@$(DEMO_BINARY) $(if $(DEMO_HOME),--into "$(DEMO_HOME)") $(if $(KEEP),--keep) --launch "$(CURDIR)/$(BINARY)"

# clean-run opens bin/codeaf on a fresh state root holding only your settings
# and keys (scripts/clean-run.sh), so a new build is tried from the same clean
# start every time: no conversations, projects or tasks from ~/.codeaf.
clean-run: build
@scripts/clean-run.sh

vet:
go vet ./...

Expand Down
28 changes: 28 additions & 0 deletions PERF.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,34 @@ all four, each with its own furrow artifact staged:
The budget is 54,600,000, two percent above darwin/amd64, the same headroom
every figure in this section was given, now over a smaller binary.

It was reset a fifth time on 2026-09-23, when senior-dev moved inside the binary
(`internal/seniordev`, the built-in programs wave). Like furrow's, this one is a
decision and not a drift: the owner's direction is that the programs codeaf hands
a whole task to are built into every codeaf build and exist nowhere else, so the
limit rises by what the engine weighs. Measured before (`5cf6a821e`) and after
(`45e505550`) it landed, with the flags `make build` uses, on Go 1.27.0:

| platform | before | after | what senior-dev cost |
| --- | --- | --- | --- |
| darwin/arm64, furrow staged | 54,018,770 | 56,493,874 | 2,475,104 |
| darwin/amd64 | 58,504,000 | 61,279,360 | 2,775,360 |
| linux/arm64 | 52,560,032 | 54,984,864 | 2,424,832 |
| linux/amd64 | 57,421,984 | 60,133,536 | 2,711,552 |

Only darwin/arm64 had its furrow artifact on disk, so the other three rows are
weighed without theirs: each difference is exact, and each absolute figure is
short by that platform's artifact, about three megabytes. The budget rises by
the largest difference, to 57,400,000 — this change's bill and nothing else.

AND THE TABLE SHOWS A BILL THAT WAS ALREADY OWED, which this reset does not
fold in. Before senior-dev, darwin/amd64 and linux/amd64 already weighed more
than 54,600,000 without their furrow artifacts, and linux/arm64 was within about
two megabytes of it before its own was added: the growth since the fourth reset
crossed the cap everywhere but the laptop the budget is usually checked on. The
CI size job reports it and does not block (`ci-full.yml`'s `size`), for the
reason that job gives — which architecture the budget is measured on has to be
agreed first — and that agreement, not a larger number here, is the fix.

## Adaptive run shutdown grace

`Agent.Close` cancels adaptive runs and their name calls, then gives all accepted
Expand Down
2 changes: 1 addition & 1 deletion SIZE-BUDGET
Original file line number Diff line number Diff line change
@@ -1 +1 @@
54600000
57400000
Loading
Loading