Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3198 commits
Select commit Hold shift + click to select a range
3143fef
The turn decides, informed; promotion inherits; the ceiling is a runa…
santoshkumarradha Sep 12, 2026
c254ad3
The person's word wins at the request, never at the next turn (#935)
santoshkumarradha Sep 12, 2026
0ce30c7
permissions: the frame names its way out wherever the pointer stands …
santoshkumarradha Sep 12, 2026
e665204
engine: the stale-engine refusal names the workspace to stop (#1001)
santoshkumarradha Sep 12, 2026
9be5658
Public cleanup, round two: the planning dumps, the superseded plans a…
AbirAbbas Sep 12, 2026
f5e1dd9
tests: a reading beside a turn stops writing into a conversation that…
santoshkumarradha Sep 12, 2026
e61f57a
auto lends the routing to OpenRouter and takes it back when its answe…
santoshkumarradha Sep 12, 2026
d906707
provider, cmd/aforge: the last loose locks hold their mutex from a de…
santoshkumarradha Sep 12, 2026
ef221f8
session, provider: the chat loop's economy — read dedupe, fold, floor…
santoshkumarradha Sep 12, 2026
32ca1e6
e2e: a needle names a key, it never spells one (review needed) (#1004)
santoshkumarradha Sep 12, 2026
c01950b
auxiliary inventory: every request says what it is for, a dead role g…
santoshkumarradha Sep 12, 2026
ae80a74
tui3: the draft kill ring, the ↑ walk visits them, /drafts browses (#…
santoshkumarradha Sep 13, 2026
649392a
provider, config, tui3, session, cmd/aforge: `simple` routing — bare …
santoshkumarradha Sep 13, 2026
716000e
session: two hand-over tests ask what the model was told, not what is…
santoshkumarradha Sep 14, 2026
ce458f5
docs: a README that sells the chat flow and tells the truth about ins…
AbirAbbas Sep 14, 2026
0738312
provider, session, tui3, cmd/aforge: the chip names the machine the w…
santoshkumarradha Sep 14, 2026
c1f0649
tui3, session: the generate_image step names its file and the model t…
santoshkumarradha Sep 14, 2026
56575e0
home: the box is three rows tall, typed in or not, and one command st…
santoshkumarradha Sep 14, 2026
f082010
tui3, provider, config, manual: the person-facing word for the machin…
santoshkumarradha Sep 14, 2026
18c8381
PERF.md: the prefix budget table says the caps the gate enforces (#1033)
santoshkumarradha Sep 14, 2026
f0e505d
session, tui3: a task-start question you answered is not asked again …
santoshkumarradha Sep 14, 2026
6adbd14
connect: an unconnected account is reached through one question and t…
AbirAbbas Sep 14, 2026
62bc4b7
cmd/aforge: a conversation you put away with ctrl+e leaves home on th…
ZeroPoint95 Sep 14, 2026
e2ae913
The product, its binary, its module path and its state root are codea…
AbirAbbas Sep 15, 2026
56a22c2
release: the stable notes fit a GitHub release page (#1044)
AbirAbbas Sep 15, 2026
a7fb4da
docs/changes: v0.2.0 rolled up into CHANGELOG.md (#1045)
AbirAbbas Sep 15, 2026
4b6ec83
release: the release-surface test survives an absent known-red ledger…
AbirAbbas Sep 15, 2026
368c32a
The install story, the compiled-in manual and the branch rules are tr…
AbirAbbas Sep 15, 2026
213abc7
Third-party notices ship beside the binaries in every release (#1051)
AbirAbbas Sep 15, 2026
d8e9dd6
The installer takes the newest channel build, not the first one liste…
AbirAbbas Sep 15, 2026
5697eae
The thinking wheel comes back to auto (#1057)
ZeroPoint95 Sep 15, 2026
6502812
tui3: an empty target is nothing to open, and never a window on the w…
ZeroPoint95 Sep 15, 2026
dc9e55d
tui3: the folder walk's budget bounds every entry, and the suite neve…
ZeroPoint95 Sep 15, 2026
7729353
tui3: ctrl+c leaves on the press that lands (#1061)
ZeroPoint95 Sep 16, 2026
7cb6fd5
spend: one cut of the ledger at a time, four columns, and doors that …
ZeroPoint95 Sep 16, 2026
f99e41a
tui3: a home panel stands where its content puts it (#1046)
ZeroPoint95 Sep 16, 2026
ed5fe58
tui3: the switcher card and its tab row are one reading, on alt+k (#1…
ZeroPoint95 Sep 16, 2026
192a6e8
docs: the workspace-foundation constraints stop linking two private p…
AbirAbbas Sep 16, 2026
374bf29
README: the launch story, hero, diagrams and screenshot slots (#1049)
santoshkumarradha Sep 16, 2026
80e9851
tui3, config: the gate row lands on the conversation you are in, and …
ZeroPoint95 Sep 16, 2026
96eccc7
attribution: the footer names CodeAF, and still links to agentfield.a…
santoshkumarradha Sep 16, 2026
40427b2
session, prompt, tui3: a wrong completion check is answered with [no …
santoshkumarradha Sep 16, 2026
23f1725
Clean internal experiment records and revive test/ux for codeaf (#1068)
santoshkumarradha Sep 16, 2026
0929901
session: task commits are authored by the bot account, not codeaf@loc…
santoshkumarradha Sep 17, 2026
da6e7a0
README: show the pinned-version install line the release test require…
santoshkumarradha Sep 17, 2026
cc8bea7
telemetry: anonymous usage counts, off with CODEAF_TELEMETRY=off (#1095)
santoshkumarradha Sep 17, 2026
615c8ba
session: the carry-ladder fixtures wait for the mark's drawing, not r…
santoshkumarradha Sep 17, 2026
36f1692
docs: the install proxy is live, and the manual says so (#1076)
AbirAbbas Sep 17, 2026
fa252d6
A launch says a newer codeaf is out, and /update installs it and rest…
AbirAbbas Sep 17, 2026
a5af991
a run's own scratch note no longer fails the delivery gate (#1096)
santoshkumarradha Sep 17, 2026
bdc28b0
chat: the wordmark is drawn CodeAF, four rows, capitals on the d's ca…
ZeroPoint95 Sep 17, 2026
98aed82
A real release download finishes: the 3-second check clock no longer …
AbirAbbas Sep 17, 2026
cfdc29d
docs/changes: v0.2.1 rolled up into CHANGELOG.md (#1113)
AbirAbbas Sep 17, 2026
a0cc221
README: telemetry folds under Docs (#1115)
santoshkumarradha Sep 17, 2026
fde49a5
santos/dev lands on dev: crew family, Pareto crewing, the Model Pool,…
AbirAbbas Sep 18, 2026
62cae85
ci: Model Pool mirror workflow (signed index onto the model-pool bran…
santoshkumarradha Sep 18, 2026
4add9c9
chat: the unconnected custom row on /connect keeps its vendored name …
AbirAbbas Sep 18, 2026
9258f70
docs/changes: v0.3.0 rolled up into CHANGELOG.md (#1196)
AbirAbbas Sep 18, 2026
86a4019
ci: a changed directory in a nested module is not a package of the ro…
AbirAbbas Sep 21, 2026
9de07a7
santos/dev lands on dev: the worker harness, stopping and limits, the…
santoshkumarradha Sep 21, 2026
744ff16
a dev build installs beside codeaf as devaf and follows the dev chann…
AbirAbbas Sep 21, 2026
7160b05
chat: the model picker is a table with headed columns (#1107)
ZeroPoint95 Sep 21, 2026
49b4a58
installer: the PATH line is the last thing printed, bare and bold gre…
ZeroPoint95 Sep 21, 2026
17ae56d
UX changes: home navigation and consistent message-box controls (#1071)
ZeroPoint95 Sep 21, 2026
8917dfc
chat: a hosted conversation's stop it ends the live run it can see (#…
AbirAbbas Sep 22, 2026
419741f
e2e: the live standing check returns to the conversation that receive…
AbirAbbas Sep 22, 2026
c084b60
changelog: v0.4.0 rolled up (#1381)
AbirAbbas Sep 22, 2026
ea9e1d9
chat: a waiting message stays with its conversation when you leave, a…
AbirAbbas Sep 22, 2026
5ba9894
changelog: v0.4.1 rolled up (#1386)
AbirAbbas Sep 22, 2026
3a14b55
feat: add total token usage to anonymous session telemetry (#1387)
santoshkumarradha Sep 23, 2026
b11b94f
feat(tui): share randomized working-logo animations across chat and t…
santoshkumarradha Sep 23, 2026
b378e92
chat: sign in to Codex (a ChatGPT plan) in the browser, and codeaf co…
AbirAbbas Sep 23, 2026
a040f1c
chat: /cost keeps its columns under the gutter (#1390)
ZeroPoint95 Sep 23, 2026
d6bb367
chat: a Codex model carries its 272k window, and a Codex call row nam…
AbirAbbas Sep 23, 2026
c26ea9c
tests: the tui3 suite runs in 11s instead of 341s, and a large paste …
AbirAbbas Sep 23, 2026
c9e8a27
chat: rename the Home scheduled heading to standing (#1415)
ZeroPoint95 Sep 24, 2026
ec67e37
Remove closed tasks from current Sessions results (#1425)
ZeroPoint95 Sep 24, 2026
138cda9
Fix home tab alignment across views (#1424)
ZeroPoint95 Sep 24, 2026
e3f94b6
Message-box parity and visual design rules (#1334)
ZeroPoint95 Sep 24, 2026
7b50751
chat: select the next message project by clicking its Home name (#1422)
ZeroPoint95 Sep 24, 2026
9ad949a
Restore double-space Home navigation and ask-here choices (#1388)
ZeroPoint95 Sep 24, 2026
6d9ed58
chat: one list of twenty-two tips, said two ways — home rotates, a co…
ZeroPoint95 Sep 24, 2026
debffab
Show Home conversations as working while their tasks run (#1426)
ZeroPoint95 Sep 24, 2026
f101ad2
chat: know the OpenRouter balance, start a near-zero account on free …
AbirAbbas Sep 24, 2026
5256d70
santos/dev2 lands on dev: the worker harness as default, runs as work…
santoshkumarradha Sep 25, 2026
6005ae2
tui3: hovered tab's full title sits on the blank row and ends under i…
ZeroPoint95 Sep 25, 2026
76148d5
build: staging moves itself every Friday after the full check, and st…
AbirAbbas Sep 25, 2026
3829312
chat: space space home tip; a conversation's tip covers the project a…
ZeroPoint95 Sep 25, 2026
7f136b3
Sign the commits a run's own workers make, and obey CONTRIBUTING when…
AbirAbbas Sep 25, 2026
5d8324a
tui3: conversation overview (#1429)
santoshkumarradha Sep 25, 2026
619af48
One task page for every task: a run's task opens the real task room (…
santoshkumarradha Sep 25, 2026
e94bb4f
tui3: team delegation (#1494)
santoshkumarradha Sep 25, 2026
49496ec
README: DeepSWE benchmark results (#1511)
santoshkumarradha Sep 25, 2026
1194d4b
crew: route the worker, planner and checker per task (Pareto crew) (#…
santoshkumarradha Sep 25, 2026
e7b9512
teams: one wake per reply, stops reach background members, the belt f…
AbirAbbas Sep 25, 2026
8690b18
session: a worker can stop its own job, and a run's checker is told t…
AbirAbbas Sep 25, 2026
b32d34b
teams: tile spend, refused writes said, no wake prompts on tiles, sub…
AbirAbbas Sep 25, 2026
691ade5
task room, landing and --one-model: real file names, one note sentenc…
AbirAbbas Sep 25, 2026
3e0bb5b
first run: a worker's codeaf is the running one, the usage notice is …
AbirAbbas Sep 25, 2026
478eece
crew: the Pareto crew's follow-ups — seat ceilings, unpriced calls at…
AbirAbbas Sep 25, 2026
dd0fcc6
senior-dev: a coding agent built into codeaf takes a whole task, in t…
ZeroPoint95 Sep 26, 2026
c34a3a7
senior-dev: plain folders start again, and shell model names resolve …
AbirAbbas Sep 26, 2026
fa9807f
happy paths after the senior-dev wave: telemetry --help exits 0, --he…
AbirAbbas Sep 26, 2026
6e61631
senior-dev: the side row hides its clock while its page is open, and …
AbirAbbas Sep 26, 2026
e238acb
e2e: the tmux suite follows the places bar, digits and Home that the …
AbirAbbas Sep 26, 2026
baa1dd7
home: a search's pointer previews the match under it, and leaving giv…
AbirAbbas Sep 26, 2026
b58a750
spend: one floor for a sub-cent figure, so the Spending tab says a ti…
AbirAbbas Sep 26, 2026
837b2b0
e2e: the firing's second reminder is found even when the model drops …
AbirAbbas Sep 26, 2026
a7b39d6
crew: count a pinned checker in the panel's coverage warning (#1501)
santoshkumarradha Sep 27, 2026
0415825
tasks: a check naming issue_.go is sent back, and a file nothing make…
AbirAbbas Sep 28, 2026
ac84606
Consolidate verified CodeAF task, chat and runtime fixes (#1627)
santoshkumarradha Sep 28, 2026
b267d39
e2e: the tmux suite never touches the developer's own background time…
AbirAbbas Sep 28, 2026
abdf470
tui3: a task's landing is said after the answer it lands in, and Done…
AbirAbbas Sep 28, 2026
e7097d1
manual: the pages #1545 flagged now say what dev does (#1639)
AbirAbbas Sep 28, 2026
847a22d
session: a stopped job reads as ended at once; the log-folder sweep m…
AbirAbbas Sep 28, 2026
e446507
install: a guided, coloured install that leaves codeaf ready to use (…
santoshkumarradha Sep 28, 2026
80c23bc
Merge the #1635 installer hotfix into staging
AbirAbbas Sep 28, 2026
c037a93
Let Tab select slash command menu entries (#1642)
ZeroPoint95 Sep 28, 2026
88d7e71
install: a guided, coloured install that leaves codeaf ready to use (…
santoshkumarradha Sep 28, 2026
b59781f
Merge the #1635 installer hotfix line into dev
AbirAbbas Sep 28, 2026
795c27d
remote: a closed loopback has no engine left running, so its home can…
AbirAbbas Sep 28, 2026
e797620
Consolidate reviewed CodeAF fixes — batch 2 (#1632)
santoshkumarradha Sep 28, 2026
8470cdc
Remove the retired Search page and command (#1650)
ZeroPoint95 Sep 28, 2026
f8fbbbc
chat: preserve conversation drafts and attachments when returning Hom…
ZeroPoint95 Sep 28, 2026
73ade03
Add ! bash mode with live shell output (#1654)
ZeroPoint95 Sep 28, 2026
c4f8ad2
compaction: summaries as the last step, recovery that fits, and a rec…
ZeroPoint95 Sep 29, 2026
7e00c95
session: fix flaky 'directory not empty' test cleanup — Close now wai…
ZeroPoint95 Sep 29, 2026
e7a2bef
Clarify which budget limit blocked a conversation (#1671)
ZeroPoint95 Sep 29, 2026
7b8b69a
Fix conversation titles after opening shell commands (#1667)
ZeroPoint95 Sep 29, 2026
461a43f
senior-dev works in a private worktree copy that starts from where yo…
ZeroPoint95 Sep 29, 2026
24e018d
tui3: a stopped answer can still be opened after reopening its conver…
AbirAbbas Sep 30, 2026
dbc134c
happy paths before release: hosted drive keys, do --json refusals, no…
AbirAbbas Sep 30, 2026
f1161a3
e2e: follow the provider words, folded landings and folded skills (#1…
AbirAbbas Sep 30, 2026
4949397
changelog: v0.5.0 rolled up (#1683)
AbirAbbas Sep 30, 2026
f769be4
session: wait for both parts to start before landing them in the park…
AbirAbbas Sep 30, 2026
d2255b4
teams: the cap, header, keyboard and wall show the right thing (#1668)
santoshkumarradha Sep 30, 2026
a86af99
session: a job's log path keeps the session folder's own spelling (#1…
ZeroPoint95 Sep 30, 2026
1d7b1ea
go.mod: github.com/google/uuid is a direct requirement (#1688)
ZeroPoint95 Sep 30, 2026
db40bf9
chat: shorter developer-friendly replies (#1428)
ZeroPoint95 Sep 30, 2026
a3fbbf8
Home: copy the current conversation name from the second menu action …
ZeroPoint95 Sep 30, 2026
be3dbb9
Sessions: filter whole conversations by name, project, or task (#1434)
ZeroPoint95 Sep 30, 2026
b8dbfc5
Strip provider API keys from a model's shell environment (#1486)
biggdawg320 Sep 30, 2026
9ca3295
Discard incomplete streaming replies (#1497)
mikemikimike Sep 30, 2026
3e0ab8d
docs(benchmarks): fix measure-cli script path (#1498)
hy3560 Sep 30, 2026
fc734b3
chat: a late task start does not claim failure (#1539)
mikemikimike Sep 30, 2026
4e9710a
docs(manual): correct home standing-order due-time guidance (#1544)
hy3560 Sep 30, 2026
49ad17f
fix(bench): isolate cells from upstream branches (#1621)
erSpell Sep 30, 2026
2f33722
skills: OpenCode's and Goose's folders are read too (#1691)
AbirAbbas Sep 30, 2026
20b0eba
build: the size budget is set on darwin/amd64 and raised to 68,850,00…
AbirAbbas Sep 30, 2026
ca14bf8
senior-dev: the typed start names its ceiling, and ending cards wear …
AbirAbbas Sep 30, 2026
3c203d2
chat: no zero rates, no raw ids for names, and the manual says what t…
AbirAbbas Sep 30, 2026
c00b4f5
cli and provider audit on current dev: flags after the brief, complet…
AbirAbbas Oct 1, 2026
feac16a
chat and media audit on current dev, and saved memory that works on a…
AbirAbbas Oct 1, 2026
4e1d41f
chat: a terminal resize leaves no text from the previous frame (#1709)
AbirAbbas Oct 1, 2026
9f69057
tasks: a stopped run names the work its worker already committed (#1710)
AbirAbbas Oct 1, 2026
df7022d
chat: settings says checker, no zero durations or byte counts, and he…
AbirAbbas Oct 1, 2026
4ad77ed
cli: flags typed after a shell run's brief reach its child as flags (…
AbirAbbas Oct 1, 2026
41ffc27
chat: the /model menu's current model wears no band and the picker ow…
ZeroPoint95 Oct 1, 2026
333026a
provider: dev and staging builds report to OpenRouter as their own ap…
AbirAbbas Oct 1, 2026
7f385da
provider: dev and staging builds report to OpenRouter as their own ap…
AbirAbbas Oct 1, 2026
dbcba60
Merge staging hotfix #1723 into dev (history only)
AbirAbbas Oct 1, 2026
654cf26
chat: chip recognised slash-commands anywhere in the message buffer (…
ZeroPoint95 Oct 1, 2026
db94955
catalog: a day-old cache answers at once and refreshes behind the answer
AbirAbbas Oct 1, 2026
4e45c52
changelog: the first launch of the day no longer waits on the model l…
AbirAbbas Oct 1, 2026
1a15562
changelog: v0.5.1 rolled up
AbirAbbas Oct 1, 2026
30460c0
Merge hotfix v0.5.1 (#1724) into staging
AbirAbbas Oct 1, 2026
9bf7d25
catalog: a day-old cache answers at once and refreshes behind the ans…
AbirAbbas Oct 1, 2026
2650837
Merge staging hotfix v0.5.1 (#1724) into dev (history only)
AbirAbbas Oct 1, 2026
d8c7503
session: stop drawing the skills block as part of a message (#1713)
ZeroPoint95 Oct 1, 2026
9379dbc
senior-dev: a run that carries on a branch counts only its own files,…
ZeroPoint95 Oct 1, 2026
084a33c
senior-dev can be told something while it works, from its page or the…
ZeroPoint95 Oct 1, 2026
fb6c189
Snappy startup and home: no launch waits on the model list, home open…
santoshkumarradha Oct 1, 2026
75f1a13
changelog: v0.6.0 rolled up (#1726)
AbirAbbas Oct 1, 2026
61da161
config: register CODEAF_INBOX as operator plumbing (#1730)
AbirAbbas Oct 1, 2026
d369a3e
senior-dev: no wip commits, its own commit message, and hand-backs ov…
ZeroPoint95 Oct 1, 2026
9d00d1c
chat: ctrl+enter queues a follow-up, and a click takes a queued messa…
ZeroPoint95 Oct 1, 2026
e728296
fix(telemetry): report token usage during sessions (#1731)
santoshkumarradha Oct 1, 2026
22d72d5
docs(telemetry): refresh package contract (#1732)
santoshkumarradha Oct 1, 2026
1493487
ci: touched packages runs in parallel legs and re-checks a failure be…
AbirAbbas Oct 2, 2026
794b49a
session: control the clocks in the slowest regression tests (#1733)
AbirAbbas Oct 2, 2026
3a00ee6
tests: the suite is green on macOS, and the allocation law prices its…
ZeroPoint95 Oct 2, 2026
f86e4ae
chat: onboarding answers the pointer and a second enter, no telemetry…
ZeroPoint95 Oct 2, 2026
06a3283
chat: the @ list finds every open conversation, on every box, with sp…
ZeroPoint95 Oct 2, 2026
ee63b59
keys: a forgotten OPENAI_API_KEY or a stale folder engine no longer h…
AbirAbbas Oct 4, 2026
19bac4e
changelog: roll the unreleased entries up as v0.7.0 (#1754)
AbirAbbas Oct 4, 2026
f816387
Telemetry updates
santoshkumarradha Oct 5, 2026
7e30335
changelog: roll the unreleased entries up as v0.7.1 (#1775)
ZeroPoint95 Oct 5, 2026
4d54756
fix: enable native web tools in codeaf PlanDB tasks (#1783)
santoshkumarradha Oct 6, 2026
3588adf
Contextual memory across chats, teams, and tasks (#1777)
santoshkumarradha Oct 6, 2026
0dbeccf
fix: preserve memory when upgrading an existing database (#1787)
santoshkumarradha Oct 7, 2026
362174a
scripts: the hosted drive reads the task column's key as opt+l on a M…
ZeroPoint95 Oct 7, 2026
baa2d7f
Refine Teams overviews, shared conversations and scoped deletion (#1750)
ZeroPoint95 Oct 7, 2026
4fd9cfa
Keep codeaf current with quiet background updates that preserve runni…
santoshkumarradha Oct 7, 2026
741f1b9
sec: sec-af's security audit, built into codeaf as its second program…
ZeroPoint95 Oct 7, 2026
6246d71
review: pr-af's code review, built into codeaf as its third program (…
ZeroPoint95 Oct 7, 2026
d0a6f49
Make settings clearer, searchable and safe for existing profiles (#1792)
santoshkumarradha Oct 7, 2026
b3d9d88
Keep AI team hover responsive with large previews (#1794)
santoshkumarradha Oct 8, 2026
c240e36
Fix model availability and simplify provider setup (#1789)
ZeroPoint95 Oct 8, 2026
15edceb
chat: a bare number-and-period reply draws instead of vanishing (#107…
7vignesh Oct 8, 2026
d8055f5
Make built-in provider lists extensible (#1795)
ZeroPoint95 Oct 8, 2026
8761488
connect: ai& is a provider of its own, and one key reaches four labs …
fenilmodi00 Oct 8, 2026
4df8ee1
senior-dev: a CMake default, and --verify-build/--verify-test for a c…
ZeroPoint95 Oct 9, 2026
973b7d2
senior-dev: read its window from codeaf offline, refuse tiny models, …
ZeroPoint95 Oct 9, 2026
d2f30c0
senior-dev: a pass that ran no command says so, instead of that the b…
ZeroPoint95 Oct 13, 2026
524843e
senior-dev: keep the store in the run's record folder, write back a r…
ZeroPoint95 Oct 13, 2026
56c1a8b
fix: keep senior-dev help within eighty columns (#1810)
ZeroPoint95 Oct 13, 2026
4ca9642
fix: check senior-dev capacity across selected services (#1811)
ZeroPoint95 Oct 13, 2026
5c26003
fix: refuse task check declarations the completion gate cannot approv…
ZeroPoint95 Oct 13, 2026
3cc50a0
fix: keep the belt worker page within its budget (#1813)
ZeroPoint95 Oct 13, 2026
0818fe9
fix: keep security affinity ASCII and report incomplete analysis (#1815)
ZeroPoint95 Oct 13, 2026
a65a9ee
fix: align updater acceptance with install paths and settings (#1814)
ZeroPoint95 Oct 13, 2026
dbf2bb7
fix: verify hosted task endings and retain diagnostic evidence (#1816)
ZeroPoint95 Oct 13, 2026
3950174
fix(review): reserve answer time and retain failure evidence (#1817)
ZeroPoint95 Oct 14, 2026
8177776
fix(review): resolve model words and linked roots and format final an…
ZeroPoint95 Oct 14, 2026
953d412
fix: price qualified shell models on their selected service (#1819)
ZeroPoint95 Oct 14, 2026
51335ab
fix: validate consistency findings and retain partial review coverage…
ZeroPoint95 Oct 14, 2026
a6d33d7
fix: connect providers with complete bounded catalogs (#1822)
ZeroPoint95 Oct 14, 2026
fe1cc0b
changelog: roll up v0.8.0 (32 entries) (#1821)
ZeroPoint95 Oct 14, 2026
401a1e0
test: drain learned-quirk writers before simulating restart (#1823)
ZeroPoint95 Oct 14, 2026
c68873a
fix: preserve learned provider facts across concurrent saves (#1824)
ZeroPoint95 Oct 14, 2026
8ebf000
changelog: reconcile v0.8.0 with the merged restart repairs (#1825)
ZeroPoint95 Oct 14, 2026
664d5f4
chat: one reader for a report's first prose line so every surface ski…
ursasi Oct 14, 2026
1acf751
tasks: make the tasks-page test fixtures $TZ-stable (#1808) (#1809)
ursasi Oct 14, 2026
1197791
fix: ask-here pane approvals and card guards (#1833)
ZeroPoint95 Oct 14, 2026
ac961f9
fix: home's ask-here hints and the manual's keys match what the keys …
ZeroPoint95 Oct 14, 2026
966e2a7
automations: replace standing orders with reminders, scheduled work a…
ZeroPoint95 Oct 14, 2026
da8d601
automations: the conversation can change one in place (#1829)
ZeroPoint95 Oct 15, 2026
01adb90
update: releases come from one repository; retire the former-name fal…
ZeroPoint95 Oct 15, 2026
d0cff6b
update: a released codeaf installs the newest stable and restarts bef…
ZeroPoint95 Oct 15, 2026
6c65989
memory: one strength — every kept line rides every conversation, neve…
ZeroPoint95 Oct 15, 2026
85d2184
automations: a finished reminder moved later wakes again; a late save…
ZeroPoint95 Oct 15, 2026
6e73ac7
tui3: make the switch and plan test fakes safe for off-loop readers (…
ZeroPoint95 Oct 15, 2026
443a2ed
census: the call row carries the demanded set, so served != lane mean…
7vignesh Oct 15, 2026
922bd9e
docs: refresh the built-in specialist README (#1840)
ZeroPoint95 Oct 15, 2026
76406ec
Added homebrew Support
pav2345 Oct 17, 2026
470ab4a
session: the daily spend ceiling binds task and errand turns too (#15…
7vignesh Oct 19, 2026
26662f1
docs: document DeepSWE harness versions and release timing (#1877)
ZeroPoint95 Oct 19, 2026
6f5c1ca
fix: refresh Codex client version to expose newer models (#1870)
0xMrMasry Oct 20, 2026
a4dff11
fix: correct SQLite file URIs on Windows (#1868)
0xMrMasry Oct 20, 2026
1a5c885
Require explicit work orders before auto-starting tasks (#1845)
mikemikimike Oct 20, 2026
fbbc563
docs(agents): say CI is real, Spark is private and no key is normal (…
AbirAbbas Oct 20, 2026
9e1955c
Merge branch 'dev' into feat/homebrew-install
santoshkumarradha Oct 20, 2026
428baa6
tui3: make a team from this chat — + New from this session, then /hel…
ZeroPoint95 Oct 20, 2026
18857f2
Merge branch 'dev' into feat/homebrew-install
pav2345 Oct 21, 2026
88709c5
Improve model usage accounting across providers (#1887)
santoshkumarradha Oct 21, 2026
92df156
changelog: roll up v0.8.1
AbirAbbas Oct 21, 2026
663dfbf
Improve model usage accounting across providers (#1887)
santoshkumarradha Oct 21, 2026
63aa4bb
Merge the v0.8.1 hotfix (#1887) into staging
AbirAbbas Oct 21, 2026
4eb6cad
Merge the v0.8.1 hotfix back into dev
AbirAbbas Oct 21, 2026
1f41ebc
Merge branch 'dev' into feat/homebrew-install
pav2345 Oct 22, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
77 changes: 77 additions & 0 deletions .github/ISSUE_TEMPLATE/defect.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
name: Defect
about: Something behaves wrongly. Written so a stranger can reproduce it and a gate can prove it fixed.
title: ""
labels: ""
---

<!--
Two rules, and everything below is only their shape:

1. THE REPLICATION IS SOMETHING A STRANGER CAN RUN. Not a path on your machine.
Not a private store, a worktree, a scratchpad, a `do.log`, a `/tmp` anything.
Whoever picks this up has none of them, and a bug that can only be seen on
your box is a bug that gets closed unfixed.
2. THE ACCEPTANCE IS END-TO-END FOR BEHAVIOUR THAT ONLY SHOWS END TO END.
A unit test around a wedge that only appears through the real door proves the
unit, not the fix. Name the door.

Delete these comments as you fill it in. Issues #185 and #207 are the worked
examples; open either one if a heading here is not obvious.
-->

## What happened

<!-- Quote the log or the screen — its own words, in a fenced block. Say the
date, the base sha (`dev@1140a075`), and the exact command with every flag and
model on it. "It hangs sometimes" is not an observation; the line the run
printed while it hung is. -->

## Replication

**Deterministic (no model).**

<!-- The one a reviewer can run at their desk this minute: a stub worker, a
fixture, `go test -tags e2e`, `codeaf do --json` with a short `--timeout`.
Say what a developer sees TODAY when they run it — the wrong output is the
evidence, so quote it — and where it is driven from. -->

**Field (real models).**

<!-- The full-fat version: the real command, which keys it needs
(`OPENROUTER_API_KEY`), and roughly how much wall time and money to budget. Say
what makes it fire — "any task whose first attempt fails" — and name the control
run if you have one. -->

<!-- If the forensics only exist on your machine, they get ONE line and no more:
*Owner's forensics, may be gone:* the run's private store and log were kept on
the benchmark box. Then say whether anything in them is actually needed, or
whether the replication above stands in for it. Never make it the replication. -->

## Where

<!-- File and function names — `settlementWatch` in `cmd/codeaf/do.go`, the
escalation site in `cmd/codeaf/chat.go` (search `escalated from`). Not line
numbers: they move, and a stale one sends the next reader to the wrong code.
Give the searchable string. -->

## The fix

<!-- What the behaviour should be, in the product's own words, not a patch.
If a flag or a person-facing string is involved, spell it exactly as it will
read. If there is a choice to make, make it and say why. -->

## Acceptance

<!-- e2e FIRST, and each line says what is asserted, not that a test exists. -->

- **e2e:** <!-- through the real door — `codeaf do --json`, the tmux suite,
`go test -tags e2e ./internal/e2e/` — with the exact text or receipt field
asserted, and the exit code. One test, no model where a stub will do. -->
- **e2e:** <!-- the second case, usually the control: the same run without the
flag, or the path that must keep working. Delete if there is genuinely one. -->
- **Unit:** <!-- the part that is a pure function or a structural law — a
derived bound, "every path that assigns X goes through this one check". -->
- The manual page that covers this quotes the new wording
(`internal/manual/chat/`), and the change entry's `invalidates` names what
people believed before.
19 changes: 19 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<!-- Base this on `dev`. docs/rules/branching.md if that is a surprise. -->

## What changed

## How it was checked

<!-- What you actually ran, and what it said. "Tests pass" is not a report.
CI (`check`) runs on this pull request whatever you ran; a suite that
skipped for want of a provider key is one line here, not a gap. -->

## Checklist

- [ ] A change entry — `make changelog-new PR=<n> KIND=<kind> SLUG=<slug>`. What
it carries is not what shipped but what somebody now believes wrongly.
`kind: internal` with just a title is fine; `no-changelog` is the way out.
- [ ] The manual knows about it — `internal/manual/chat/` updated in this change
if a slash command, key, tool, default, limit or refusal moved. CLAUDE.md
states the law; three gates fail the build if it is skipped.
- [ ] Only my own paths are staged — no `git add -A`.
44 changes: 44 additions & 0 deletions .github/rulesets/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# The branch rules, checked in

GitHub keeps branch rules in its own database, where they are invisible to the
tree they govern and changeable by anyone with admin from a settings page that
records no reason. These files are the same rules as a diff: what is enforced,
when it changed, and who signed for it.

They are **not applied automatically.** Apply them by hand:

This repository is public. The live `protection` ruleset covers `main`, `dev`,
and `staging`. The checked-in `promotion-pointers.json` has no bypass actors.
Whoever applies it must add the owner of `PROMOTION_TOKEN` (or that account's
role) to its bypass list; otherwise Friday's push is refused. The token also
needs Contents and Workflows read and write to publish the staging release.

```sh
gh api -X POST repos/Agent-Field/codeaf/rulesets --input .github/rulesets/dev.json
gh api -X POST repos/Agent-Field/codeaf/rulesets --input .github/rulesets/promotion-pointers.json
```

To update one that already exists, find its id and PUT over it:

```sh
gh api repos/Agent-Field/codeaf/rulesets --jq '.[] | "\(.id)\t\(.name)"'
gh api -X PUT repos/Agent-Field/codeaf/rulesets/<id> --input .github/rulesets/dev.json
```

## Inspect the live rules

The repository is public and its `protection` ruleset is live. Inspect the
rulesets and confirm the promotion account can bypass the pointer rules before
enabling the Friday workflow:

```sh
gh api repos/Agent-Field/codeaf/rulesets
gh api repos/Agent-Field/codeaf/rulesets/<id> --jq .current_user_can_bypass
```

## `required_status_checks` names are job names

The contexts named in `dev.json` and `promotion-pointers.json` are the `name:`
fields of jobs in `.github/workflows/`. Rename a job and the check it was
standing in for silently stops being required — the branch is then unprotected
and nothing says so. The two move in the same commit.
38 changes: 38 additions & 0 deletions .github/rulesets/dev.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"name": "dev",
"target": "branch",
"enforcement": "active",
"conditions": {
"ref_name": {
"include": ["refs/heads/dev"],
"exclude": []
}
},
"rules": [
{ "type": "deletion" },
{ "type": "non_fast_forward" },
{
"type": "pull_request",
"parameters": {
"required_approving_review_count": 1,
"dismiss_stale_reviews_on_push": false,
"require_code_owner_review": false,
"require_last_push_approval": false,
"required_review_thread_resolution": true,
"automatic_copilot_code_review_enabled": false,
"allowed_merge_methods": ["squash"]
}
},
{
"type": "required_status_checks",
"parameters": {
"strict_required_status_checks_policy": false,
"do_not_enforce_on_create": false,
"required_status_checks": [
{ "context": "check" }
]
}
}
],
"bypass_actors": []
}
27 changes: 27 additions & 0 deletions .github/rulesets/promotion-pointers.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"name": "promotion pointers",
"target": "branch",
"enforcement": "active",
"conditions": {
"ref_name": {
"include": ["refs/heads/staging", "refs/heads/main"],
"exclude": []
}
},
"rules": [
{ "type": "deletion" },
{ "type": "non_fast_forward" },
{ "type": "required_linear_history" },
{
"type": "required_status_checks",
"parameters": {
"strict_required_status_checks_policy": false,
"do_not_enforce_on_create": false,
"required_status_checks": [
{ "context": "cross build" }
]
}
}
],
"bypass_actors": []
}
Loading