Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
433 commits
Select commit Hold shift + click to select a range
c834c2a
feat(workflows): typed artifacts — output_type + engine-written sidec…
Wirasm Jun 5, 2026
07645a8
fix(web/console): gate /console behind auth + correct run-event norma…
Wirasm Jun 5, 2026
34356aa
Fix: reuse Pi extension loader per process so 2nd+ session doesn't ha…
Wirasm Jun 5, 2026
58fd9dc
feat(web/console): show run provenance — input message + platform ico…
Wirasm Jun 5, 2026
97ef3e0
feat(workflows): wire model-alias resolver into execution + cross-pro…
Wirasm Jun 5, 2026
e41f426
feat(workflows): reliable cross-provider structured output — validate…
Wirasm Jun 5, 2026
95ee6db
feat(web/console): chat workflow-completion card + SSE-lock + jump-to…
Wirasm Jun 5, 2026
69152a9
feat(web/console): settings core — assistant config + system panel (#…
Wirasm Jun 5, 2026
42dfefb
feat(workflows): validate-and-reask loop for best-effort structured o…
Wirasm Jun 5, 2026
02cbe34
Fix: warn on the bash node $node.output double-quote footgun + docs (…
Wirasm Jun 5, 2026
611b48e
feat(web/console): GitHub identity panel (device flow) + fix cache er…
Wirasm Jun 8, 2026
0c95e6f
feat(credentials): per-user AI-provider credentials foundation (#1899)
Wirasm Jun 8, 2026
abb66c4
feat(web/console): chat surface restyle to Direction B (Modern Consol…
leex279 Jun 8, 2026
582103e
feat(web/console): fold node lifecycle into one divider + node filter…
Wirasm Jun 8, 2026
4251c64
feat(web): make /console the default UI, re-root classic UI under /le…
Wirasm Jun 8, 2026
6a5b5f0
feat(web/console): wire chat file uploads + cap tool-call input heigh…
Wirasm Jun 8, 2026
12ed94a
feat(credentials): per-user AI-provider API key connect surface (#1911)
Wirasm Jun 8, 2026
282e9ff
fix(server): exempt /api/auth/providers from the Better Auth catch-al…
Wirasm Jun 8, 2026
a0f418b
Make workspace sync non-destructive (#1864)
Wirasm Jun 8, 2026
0ed4bb7
feat(credentials): subscription (OAuth) auth + Codex/Pi delivery (PR …
Wirasm Jun 8, 2026
ba0cfd5
Fix: treat DEFAULT_AI_ASSISTANT as a fallback default, not a hard ove…
Wirasm Jun 8, 2026
ab4cde6
fix(workflows): interactive loop resume uses fresh session on first i…
Wirasm Jun 8, 2026
67b8fd7
fix(cleanup): read worktree.baseBranch config before git default-bran…
Wirasm Jun 8, 2026
2cc6215
feat: add /setproject command to bind conversation to registered code…
Wirasm Jun 8, 2026
aced56e
fix(core): scoped direct chat runs in repo cwd, not workspaces root (…
Wirasm Jun 8, 2026
8a7c367
feat(settings): AI Settings UI + config tiers editor + CLI parity (PR…
Wirasm Jun 9, 2026
d72c20c
docs: per-user AI credentials + AI Settings on the docs site (PR-4) (…
Wirasm Jun 9, 2026
c037eb6
fix(web/console): replace 📎 emoji with lucide Paperclip icon (#1930)
leex279 Jun 10, 2026
0a74908
feat(workflows): recommended workflows pinned per project (#1929)
leex279 Jun 10, 2026
b3a100c
feat(telemetry): schema v3 — server heartbeat, chat turns, failure ta…
Wirasm Jun 10, 2026
7232562
feat(telemetry): schema v4 — usage totals (tokens/cost), chat model+l…
Wirasm Jun 11, 2026
ad0884b
feat: per-user AI prefs — tiers/aliases/default-provider overrides (P…
Wirasm Jun 11, 2026
02ac90a
feat(web): Archon Studio builder data model + node variants (PR-1) (#…
seanrobertwright Jun 11, 2026
b896bcc
feat(credentials): vendor-canonical credential catalog derived from p…
Wirasm Jun 11, 2026
7dfdf68
feat(console): per-agent credential cards (#1954 PR-2) (#1962)
Wirasm Jun 11, 2026
627461f
fix(oauth-bridge): release the fixed OAuth callback port when a login…
Wirasm Jun 12, 2026
117e91f
feat(credentials): un-gate ChatGPT/Codex subscription login with an A…
Wirasm Jun 12, 2026
438db9e
feat(console): agent-aware model pickers for tiers, aliases, and defa…
Wirasm Jun 12, 2026
c17ac5f
fix(console): surface late-arriving OAuth signals in the subscription…
Wirasm Jun 12, 2026
e250e7a
fix(cli): log workflow discovery root on every run; fail loudly on re…
Wirasm Jun 12, 2026
ece2a68
fix: user-scope console chat and resolve chat credentials from the se…
Wirasm Jun 12, 2026
e77a338
fix(credentials,pi): deliver Claude subscriptions to Pi in direct cha…
Wirasm Jun 15, 2026
6be6e6f
fix(db): create remote_agent_user_ai_prefs in the SQLite schema (#2033)
Wirasm Jun 26, 2026
658f487
fix(server,core): clarify Claude auth posture on per-user installs (#…
Wirasm Jun 26, 2026
5e42c6d
feat(core): surface unpushed work in source/ after chat turns (#1978)
Wirasm Jun 26, 2026
c101fc0
fix(isolation): pass --no-track when creating new-branch worktrees (#…
Wirasm Jun 26, 2026
a1462fe
feat(providers,workflows): surface session-resume outcome (resumed) +…
Wirasm Jun 26, 2026
1dc9e7e
fix(core): persist non-web platform messages to remote_agent_messages…
Wirasm Jun 26, 2026
6117f17
Gate stale workflow resumes (#1935)
Wirasm Jun 26, 2026
0aacffe
feat(web): forward SDK lifecycle events to Web UI (tasks + hooks) (#9…
Wirasm Jun 26, 2026
9e4d108
docs: reframe Archon identity from single-developer coding tool (#2034)
Wirasm Jun 26, 2026
d66d76d
chore(deps): bump @anthropic-ai/claude-agent-sdk 0.3.173 → 0.3.193 (#…
Wirasm Jun 26, 2026
d39d062
chore(cli): drop stale CLAUDECODE=1 nested-session warning (#2039)
Wirasm Jun 26, 2026
699c1ad
chore(archon): experimental/test workflows + direction.md reframe (#2…
Wirasm Jun 26, 2026
6539041
feat(workflows,cli,paths): surface resolved model/tier in CLI node_st…
Wirasm Jun 26, 2026
407f6d1
feat(core,cli,paths): zero-config local encryption key for credential…
Wirasm Jun 26, 2026
137de50
Release 0.5.0
Jun 26, 2026
f2088e5
Merge branch 'main' of github.com:coleam00/Archon into dev
Jun 26, 2026
4d0aec6
chore: update Homebrew formula for v0.5.0
github-actions[bot] Jun 26, 2026
a159e1a
feat(web): Archon Studio visual workflow builder (PR-2) (#2015)
seanrobertwright Jun 27, 2026
59bbd00
fix(workflows): restore interactive-loop cross-gate session continuit…
Wirasm Jun 27, 2026
bb23aa2
fix(marketplace): harden auto-review act node against gh auth 401s
coleam00 Jul 4, 2026
4dcc998
feat(marketplace): add harness-score
seanrobertwright Jul 4, 2026
6045848
feat(marketplace): add pocock-skills-workflow-family
seanrobertwright Jul 9, 2026
dad62d8
feat(codebases): folder projects — non-git workspaces + multi-repo ro…
Wirasm Jul 13, 2026
3b47e4a
fix(providers): mirror CLAUDE_API_KEY to ANTHROPIC_API_KEY for the Cl…
uinstinct Jul 13, 2026
f69919a
fix(reliability): stop Windows mid-run deaths (keep-awake + real --de…
buun-dev Jul 13, 2026
8662c63
feat(workflows): loop_group node — cross-node subgraph looping (#2032)
xbeark Jul 13, 2026
edb34af
feat(workflows): cross-invocation artifact scope + cold-resume pointe…
Wirasm Jul 14, 2026
83b7584
feat(core/cli/console): per-user default chat model (default_model) +…
Wirasm Jul 14, 2026
145e3f9
fix(core): /setproject writes to conversation DB id, not platform id …
aryrabelo Jul 14, 2026
0e70c93
[codex] Fix project-scoped conversation cwd resolution (#1994)
anhle128 Jul 14, 2026
056c4f2
feat(cli): default chat model step in archon setup (#2087)
Wirasm Jul 14, 2026
8a0441d
feat(isolation/executor/cli): base-branch fallback from the codebase …
Wirasm Jul 14, 2026
6494103
fix(cli): enforce requires:[github] gate on the CLI run path (#2089) …
Wirasm Jul 14, 2026
7362274
fix(workflows): re-derive declaredFields on resume for strict $node.o…
Wirasm Jul 14, 2026
ca03c75
fix(workflows): namespace loop_group body lifecycle events (#2090) (#…
Wirasm Jul 14, 2026
fb0af24
fix(workflows): honor retry: on bash/script nodes (#2088) (#2096)
Wirasm Jul 14, 2026
79f8a27
fix(web/console): release per-key version counter on last unsubscribe…
truffle-dev Jul 14, 2026
3391600
docs(skill): sync archon skill with engine reality — loop_group, sess…
Wirasm Jul 14, 2026
80ba9fa
chore(providers): bump claude-agent-sdk 0.3.209, codex-sdk 0.144.4, p…
Wirasm Jul 14, 2026
5109e00
fix(core): manage_run get crash on SQLite string timestamps (#2078) (…
Wirasm Jul 14, 2026
cb75107
fix(core): /update-project distinguishes row-gone from transient DB e…
Wirasm Jul 14, 2026
e162db0
fix(cli): accept short run-id prefixes in workflow run-addressing com…
Wirasm Jul 14, 2026
c0804d7
fix(workflows): warn on unknown allowed_tools/denied_tools names at v…
Wirasm Jul 14, 2026
bf6fe14
fix(providers/pi): extension-registered models resolve on 2nd+ DAG no…
Wirasm Jul 14, 2026
8dab2f6
fix(workflows): gate approve/reject keeps the run paused instead of s…
Wirasm Jul 14, 2026
faac3b4
fix(workflows): resolve Windows bash binary correctly (#1326) — slim,…
atlas-architect Jul 15, 2026
c6743ae
fix(providers/codex): deliver systemPrompt by prepending to the promp…
Wirasm Jul 15, 2026
2476701
ci: free runner disk space before the docker build (#2122)
Wirasm Jul 15, 2026
5941192
fix(workflows): don't thread session ids across provider boundaries i…
Wirasm Jul 15, 2026
d891049
chore: quick-win batch — six small validated fixes (#2119)
Wirasm Jul 15, 2026
51608d9
fix(providers): throw on Claude API errors surfaced as text instead o…
Wirasm Jul 15, 2026
92b9bba
fix(workflows): interactive-loop completion — signal_completes, final…
Wirasm Jul 15, 2026
3962cfa
fix(providers/pi): per-node extension posture — plannotator planning …
Wirasm Jul 16, 2026
69b7493
fix(workflows): wait for live background Agent tasks before completin…
Wirasm Jul 16, 2026
8af7f23
docs: workflow language constitution — YAML coordinates, code compute…
Wirasm Jul 16, 2026
622719a
fix(workflows): loop-node background-task audit trail + live mid-stre…
Wirasm Jul 16, 2026
81de93b
fix(smoke): repoint codex smoke workflows from gpt-5.2 to gpt-5.6-lun…
Wirasm Jul 16, 2026
52626b6
fix(server): allow abandoning failed runs via HTTP API (#2140)
Wirasm Jul 16, 2026
d024d02
fix(cli): resolve covering codebase on resume instead of re-registeri…
Wirasm Jul 16, 2026
113fd39
fix(workflows): fail loudly on unknown-node $id.output.field refs (#2…
Wirasm Jul 16, 2026
5ee754c
feat(workflows/pi): portable per-node extension posture in workflow Y…
Wirasm Jul 16, 2026
2d7bf58
feat(workflows): include: load-time workflow inlining primitive (#212…
Wirasm Jul 16, 2026
eb34c77
feat(isolation): container isolation Phase A — kind-routed backend se…
Wirasm Jul 16, 2026
bd84a51
fix(workflows): close approve/reject double-resolution TOCTOU with a …
Wirasm Jul 16, 2026
646d526
fix(web): resubscribe during an abandoned in-flight console load runs…
Wirasm Jul 16, 2026
030263e
chore: sweep stale GPT model references to the 5.6 lineup (#2149)
Wirasm Jul 16, 2026
15a53c5
fix(paths): route no-remote repos' logs/artifacts under _local/<basen…
Wirasm Jul 16, 2026
1bc48cb
feat(cli): archon doctor — add Codex binary and OpenCode runtime chec…
Wirasm Jul 16, 2026
b143cbd
feat(isolation): container backend for folder projects (Phase B) (#2153)
Wirasm Jul 17, 2026
64a7c68
test(container): bundled e2e container smoke workflow + CI job (#2158)
Wirasm Jul 17, 2026
409eb0f
ci: make AI-credentialed e2e smoke tiers opt-in (#2161)
Wirasm Jul 17, 2026
f13811e
chore(providers): bump @openai/codex-sdk to 0.144.5 for gpt-5.6 suppo…
Wirasm Jul 17, 2026
899b582
feat(isolation): container pause/resume + approval-gated write-back (…
Wirasm Jul 17, 2026
ce9f909
chore(workflows): delete orphaned substituteVariables helper + fix fa…
Wirasm Jul 17, 2026
f54a625
fix(workflows): skip base-branch auto-detection on folder projects (#…
Wirasm Jul 17, 2026
e7234f0
fix(workflows): fail loudly on unknown-node $LOOP_PREV.<id>.output.fi…
Wirasm Jul 17, 2026
d24666d
fix(isolation): normalize isolation_environments.metadata at the stor…
Wirasm Jul 17, 2026
e3839e0
docs: correct stale engine claims in CLAUDE.md, docs-web, and the wor…
Wirasm Jul 17, 2026
bd09632
security(workflows): deliver user-controlled vars to script nodes via…
Wirasm Jul 17, 2026
b2d7f88
fix(providers): coalesce Pi text_delta chunks to stop fragmented outp…
Wirasm Jul 17, 2026
1e5466e
fix(providers): register Pi Bedrock backend so it loads in the compil…
Wirasm Jul 17, 2026
2292b78
dx(providers): generate provider capability matrix from capabilities.…
Wirasm Jul 17, 2026
4fc44fb
fix(workflows): align skill validation with execution resolver search…
FlyingBamboo Jul 20, 2026
9b0f4da
fix(workflows): classify session-limit/quota errors as FATAL (never r…
Wirasm Jul 20, 2026
bb63ed0
fix(providers): retry Claude 400 tool-use-concurrency errors as rate …
bigboy1122 Jul 20, 2026
d946f15
fix(web): stop model picker truncating model names in favor of the hi…
Wirasm Jul 20, 2026
7b9aaa0
fix(workflows): run archon-workflow-builder in the live checkout (#2183)
Wirasm Jul 20, 2026
28832b1
fix(console): show chat-dispatched run messages on the run detail pag…
Wirasm Jul 20, 2026
482dc8d
fix(server): resolve small tier for title generation at server entry …
Wirasm Jul 20, 2026
e89bd7f
fix(web): render console timestamps in the viewer's local timezone (#…
Wirasm Jul 20, 2026
4e8d5ea
fix(cli): stop workflow approve from marking paused runs failed on pr…
Wirasm Jul 20, 2026
2de2c03
fix(docker): eliminate slow recursive chown in image build and contai…
uinstinct Jul 20, 2026
1fac96b
fix(adapters): drop duplicate webhook deliveries at ingest (#1987)
truffle-dev Jul 20, 2026
be38e97
fix(core): respect worktree.enabled: false in dispatchBackgroundWorkf…
Wirasm Jul 20, 2026
5423698
docs(direction): deployment recipes live in docs, not maintained prof…
Wirasm Jul 20, 2026
e267e30
refactor(server): use parseOwnerRepo helper in artifact route for def…
shaun0927 Jul 20, 2026
dd59f43
security(cli): add build-time embedded hash for web-dist tarball inte…
shaun0927 Jul 20, 2026
5ee55c1
fix(marketplace): guard fetch-source against missing sourceUrl/sha (#…
gai095481 Jul 20, 2026
d5f659c
fix(server/workflows): resolve project workflows with .yml extension …
jasonjack-jay Jul 20, 2026
8e322fd
fix(web): URL-encode conversation IDs in PATCH/DELETE requests (#1657)
LLMsolution Jul 20, 2026
3342f4d
fix(core): classify Claude usage-limit errors as rate limits (#1761)
k4n4lm00n Jul 20, 2026
19ac1bc
fix(server): accept namespaced workflow names on HTTP launch and read…
truffle-dev Jul 20, 2026
6aa3794
chore(ci): bump docker/build-push-action to @v6 in publish.yml (#1632)
acton-golden Jul 20, 2026
c14982b
feat(workflows): add loop.command for loading loop prompts from files…
marc0der Jul 20, 2026
6fdb735
Release 0.6.0
Jul 20, 2026
59a694d
Merge main's docs-site marketplace commits back into dev pre-release
Jul 20, 2026
ec3336c
ci(e2e-container): reject the Phase C write-back gate so the smoke as…
Jul 20, 2026
aa40716
Merge main (Release 0.6.0 squash) back into dev
Jul 20, 2026
b339d00
chore: update Homebrew formula for v0.6.0
github-actions[bot] Jul 20, 2026
e056b4a
feat(workflows): workflow: runtime sub-run node (#2121 Phase 2 slice …
Wirasm Jul 21, 2026
a97e24e
feat(git): add forge detection (github/gitea/gitlab) from repo remote…
Wirasm Jul 21, 2026
43264e6
feat(discord): DISCORD_REQUIRE_MENTION to allow responding without @m…
Wirasm Jul 21, 2026
2f2a4e6
feat(workflows): per-node settingSources override for Claude nodes (#…
Wirasm Jul 21, 2026
c25779e
fix(web): add IME composition guard to console composer and approve i…
Wirasm Jul 21, 2026
d86c7e0
fix: add id tie-breaker to message queries so LIMIT windows are deter…
Wirasm Jul 21, 2026
d00f8f7
docs(capabilities): surface per-cell caveats in the generated capabil…
Wirasm Jul 21, 2026
de438fd
fix(core): harden clone against credential prompts and token leaks (#…
Wirasm Jul 21, 2026
ea87ddd
feat(marketplace): add archon-resolve-mr-conflicts (#1687)
lraphael Jul 21, 2026
9dddba4
fix(workflows): pin gh pr create to the origin repo in bundled defaul…
Wirasm Jul 21, 2026
ab0daae
feat(workflows): evidence gate — refuse terminal completed without ev…
Wirasm Jul 21, 2026
0c1062e
feat(docker): opt-in root fallback (ARCHON_ALLOW_ROOT_FALLBACK) for m…
Wirasm Jul 21, 2026
13b1793
fix(web,paths,server): WSL2-aware Open in IDE link (#1504)
blankse Jul 21, 2026
fb54f84
refactor(git,paths): unify owner/repo identity resolution on @archon/…
Wirasm Jul 21, 2026
2ccd9c5
feat(git): support configurable git remote name (#2234)
Wirasm Jul 21, 2026
6814764
fix(orchestrator): parse split workflow invocations (#1542)
guanghuang Jul 21, 2026
b14b3b1
fix(git): reject SSH-URL-shaped codebase names in worktree path resol…
blankse Jul 21, 2026
296fb3e
docs(book): fix nested codeblock fence in first-command step 3 (#1936)
uinstinct Jul 21, 2026
8708c30
fix(bundled-defaults): refuse to embed untracked files in defaults/ (…
Wirasm Jul 21, 2026
eb98751
Fix workflow run IDE path (#2003)
anhle128 Jul 21, 2026
9862325
fix(providers/pi): default system prompt for Anthropic subscription-O…
Wirasm Jul 21, 2026
c67e624
fix(server): bound tool_result payloads at SSE-emit and hydration bou…
Wirasm Jul 21, 2026
fcb6044
fix(core): resolve configured default assistant for new conversations…
Wirasm Jul 21, 2026
2a9dd20
feat(web): Studio Builder PR-3 — connected mode (#2051)
seanrobertwright Jul 21, 2026
99ee83e
docs: improve llms.txt coverage to 95%+ (#2067)
joseph-fajen Jul 21, 2026
ace0a41
docs: add llms.txt link directive to HTML pages (#2066)
joseph-fajen Jul 21, 2026
8c7882e
fix(cli): drop Bun SFE virtual argv[1] from detached re-invoke (#2273)
bigboy1122 Jul 27, 2026
e0ec039
docs: clarify cloud Docker auth setup (#2259)
Wirasm Jul 27, 2026
8157176
fix(workflows): emit node_failed when AI prompt substitution fails (#…
buun-dev Jul 27, 2026
c73cdd2
docs: clarify that the workflow constitution governs the YAML surface…
Wirasm Jul 29, 2026
a9da37f
test(adapters,core): stop unit tests reaching the live network and a …
Wirasm Jul 29, 2026
a70bd56
fix(docs-web): repair the docs build and guard it against silent rot …
Wirasm Jul 29, 2026
f9dd8c8
test(adapters,core): close the module boundary so adapter tests stop …
Wirasm Jul 29, 2026
0872317
Fix Rosetta architecture detection in macOS installer (#2330)
Wirasm Jul 30, 2026
2e21c63
fix(workflows): complete tools on result boundary (#2336)
Wirasm Jul 30, 2026
eeaf1ca
feat(core): record the database schema vintage and state the additive…
Wirasm Jul 30, 2026
161d418
fix(install): repair the curl|bash entry point and sync the PowerShel…
Wirasm Jul 30, 2026
dd9294d
fix(providers): record resolved model metadata (#2337)
Wirasm Jul 30, 2026
1c85873
Run installer tests in CI to prevent mirror drift (#2335)
Wirasm Jul 30, 2026
3044829
test(cli): build the web-dist tarball fixture in-process instead of s…
Wirasm Jul 30, 2026
0392dd2
Clear stale workflow errors on resume (#2348)
Wirasm Jul 31, 2026
513d22c
Fix SQLite/Postgres schema column parity checks (#2346)
Wirasm Jul 31, 2026
9251dac
fix: Persist per-node workflow token usage (#2347)
Wirasm Jul 31, 2026
ab1d7d4
ci: attach provenance and SBOM attestations to the published image (#…
kobihikri Jul 31, 2026
c764946
docs(direction): add §distribution-channels clause (#2285)
Wirasm Jul 31, 2026
ecb6317
fix(core): prefer a paused run over a newer failed one on chat resume…
133Felix Jul 31, 2026
94d5c2e
Fix cumulative tokens for resumed workflow runs (#2353)
Wirasm Aug 1, 2026
9abc9b7
fix(commands): tell archon-fix-issue that a dirty run worktree is exp…
Wirasm Aug 1, 2026
eb5d69d
Release 0.7.0
Wirasm Aug 1, 2026
52c1313
Merge branch 'main' of github.com:coleam00/Archon into dev
Wirasm Aug 2, 2026
32b7fc7
chore: update Homebrew formula for v0.7.0
github-actions[bot] Aug 2, 2026
09430d8
Fix Codex tool duration reporting (#2378)
Wirasm Aug 3, 2026
7fd9be9
Fix error for Git repos without remotes (#2380)
Wirasm Aug 3, 2026
06646d3
fix(ci): add missing generated-file guards to test.yml (#2350)
kagura-agent Aug 3, 2026
3d5cd1a
feat(cli): per-dispatch --base override for worktree cut-from + PR ta…
buun-dev Aug 3, 2026
86588fb
docs: fix PR template path + link agent files to CONTRIBUTING.md (#2276)
bigboy1122 Aug 3, 2026
e45867b
Fix detached workflow startup acknowledgement (#2390)
Wirasm Aug 3, 2026
696811f
fix(cli): doctor honors claudeBinaryPath config fallback (#2263) (#2275)
bigboy1122 Aug 3, 2026
a61b450
fix: reject incompatible x64 quick installs (#2379)
Wirasm Aug 3, 2026
10f95ce
chore(docs): forward-port #2155 from main to dev (#2403)
Wirasm Aug 3, 2026
cd7ee08
Retain bash stdout previews for auditability (#2388)
Wirasm Aug 3, 2026
5c137d1
docs: Guide GUI callers to the native CLI (#2387)
Wirasm Aug 3, 2026
7a7640d
fix(cli): guarantee full delivery of piped --json output (#2389)
Wirasm Aug 3, 2026
4d687b1
fix(commands,workflows): make the planning step read issue comments a…
Wirasm Aug 3, 2026
f455e8e
fix(commands,workflows): follow-ups from the #2404 review (#2411)
Wirasm Aug 3, 2026
63b8b4d
fix(install): fail the PowerShell installer when the version check ex…
Wirasm Aug 3, 2026
c47b236
feat: summarize verbose workflow JSON nodes (#2414)
Wirasm Aug 3, 2026
9807f7c
Record resolved workflow effort in node events (#2415)
Wirasm Aug 3, 2026
7374a23
Protect unique commits during worktree completion (#2416)
Wirasm Aug 3, 2026
8e60f2f
fix(workflows,commands): preserve repo identity for issue URLs; unblo…
Wirasm Aug 3, 2026
45164fc
fix(db): SQLite upgrade broke on event_order — index/trigger ran befo…
Wirasm Aug 3, 2026
f3c0f1e
feat(commands,workflows): archon-parse-user-request replaces extract-…
Wirasm Aug 3, 2026
699a1e8
Correlate workflow tool lifecycle events (#2421)
Wirasm Aug 3, 2026
f3416bb
Fix CLI workflow resume guidance (#2422)
Wirasm Aug 3, 2026
98bd0ae
Snapshot resolved workflow run configuration (#2428)
Wirasm Aug 4, 2026
1496e61
fix: retry transient Codex availability failures (#2434)
Wirasm Aug 4, 2026
11abea1
Merge branch 'main' of github.com:coleam00/Archon into dev
Wirasm Aug 4, 2026
6c6945c
Release 0.7.1
Wirasm Aug 4, 2026
6462af0
Merge branch 'main' of github.com:coleam00/Archon into dev
Wirasm Aug 4, 2026
12eb0ea
chore: update Homebrew formula for v0.7.1
github-actions[bot] Aug 4, 2026
d3d7dfe
Merge branch 'main' of github.com:coleam00/Archon into dev
Wirasm Aug 4, 2026
508e0aa
Merge branch 'dev' of github.com:coleam00/Archon into dev
Wirasm Aug 4, 2026
8704a65
fix(release,install): correct the changelog commit boundary, git pull…
Wirasm Aug 4, 2026
1d2fcc0
test(workflows): guard against workflow-level schema fields being sil…
Wirasm Aug 5, 2026
87e559c
fix(workflows): resolve the include-expander logger per call so test …
Wirasm Aug 5, 2026
3fd8b98
fix(workflows): stop a declared output_format from silencing an unpar…
Wirasm Aug 5, 2026
ec187c2
docs: correct rotted counts and a wrong path in CLAUDE.md (#2463)
Wirasm Aug 5, 2026
cef6d7d
docs: cut CLAUDE.md from 1008 to 574 lines — remove blocks the tools …
Wirasm Aug 5, 2026
41bc067
feat(workflows): per-child worktree isolation for workflow: sub-run n…
Wirasm Aug 5, 2026
cbeab96
feat(workflows): dynamic fan-out for workflow sub-run nodes (slice 2,…
Wirasm Aug 5, 2026
8e63856
feat(workflows): unify run output under one per-project tree in ~/.ar…
Wirasm Aug 5, 2026
d78fe64
fix(workflows): keep .archon telemetry out of target-repo PRs (#2199)
Wirasm Aug 5, 2026
c7b96d9
fix(workflows): surface unknown-key warnings where authors are, and c…
Wirasm Aug 5, 2026
ed4f6ac
feat(workflows): load-time inputs for include nodes
Wirasm Aug 5, 2026
3173489
fix(workflows): match the truncation marker leniently so trailing whi…
Wirasm Aug 5, 2026
fa841dc
test(smoke): add deterministic composition probes to the e2e smoke tier
Wirasm Aug 6, 2026
d91841b
fix(workflows): stop the issue-fix workflow on a missing specificatio…
Wirasm Aug 6, 2026
78f8ea1
fix(workflows): apply the missing-specification guard to the bundled …
Wirasm Aug 6, 2026
7e77f05
Release 0.8.0
Wirasm Aug 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .archon/commands/defaults/archon-auto-fix-review.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ All must pass. If something fails after a fix:

### 5.1 Stage and Commit

Only stage files you actually changed:
Only stage files you actually changed — never repo-local Archon telemetry (`.archon/artifacts/`, `.archon/logs/`, `.archon/state/` are local-only, never in git):

```bash
git add {specific files}
Expand Down
1 change: 1 addition & 0 deletions .archon/commands/defaults/archon-create-pr.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ git status --porcelain
- `.pr-body.md`, `pr-body.md`, `*.scratch.md`, `*.tmp.md`
- `review/`, `*-report.md` at the repo root
- Anything under `$ARTIFACTS_DIR`
- Repo-local Archon telemetry: `.archon/artifacts/`, `.archon/logs/`, `.archon/state/` (local-only — never in git)
3. Commit: `git commit -m "Final changes before PR"`

### 2.2 Push Branch
Expand Down
1 change: 1 addition & 0 deletions .archon/commands/defaults/archon-finalize-pr.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ git status --porcelain # verify nothing else is staged
- `.pr-body.md`, `pr-body.md`, `*.scratch.md`, `*.tmp.md`
- `review/`, `*-report.md` at the repo root
- Anything under `$ARTIFACTS_DIR`
- Repo-local Archon telemetry: `.archon/artifacts/`, `.archon/logs/`, `.archon/state/` (local-only — never in git)

**Review staged files** — ensure no sensitive files (`.env`, credentials) and no scratch artifacts are included:

Expand Down
1 change: 1 addition & 0 deletions .archon/commands/defaults/archon-fix-issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,7 @@ git status --porcelain # verify nothing scratch/review/PR-body is staged
- `.pr-body.md`, `pr-body.md`, `*.scratch.md`, `*.tmp.md`
- `review/`, `*-report.md` at the repo root
- Anything under `$ARTIFACTS_DIR`
- Repo-local Archon telemetry: `.archon/artifacts/`, `.archon/logs/`, `.archon/state/` (local-only — never in git)

### 7.2 Write Commit Message

Expand Down
1 change: 1 addition & 0 deletions .archon/commands/defaults/archon-implement-issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,7 @@ git status --porcelain # verify nothing scratch/review/PR-body is staged
- `.pr-body.md`, `pr-body.md`, `*.scratch.md`, `*.tmp.md`
- `review/`, `*-report.md` at the repo root
- Anything under `$ARTIFACTS_DIR`
- Repo-local Archon telemetry: `.archon/artifacts/`, `.archon/logs/`, `.archon/state/` (local-only — never in git)

### 7.2 Write Commit Message

Expand Down
1 change: 1 addition & 0 deletions .archon/commands/defaults/archon-implement-review-fixes.md
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,7 @@ git status --porcelain # verify nothing scratch/review/PR-body is staged
- `.pr-body.md`, `pr-body.md`, `*.scratch.md`, `*.tmp.md`
- `review/`, `*-report.md` at the repo root
- Anything under `$ARTIFACTS_DIR` (review artifacts live here, not in the worktree)
- Repo-local Archon telemetry: `.archon/artifacts/`, `.archon/logs/`, `.archon/state/` (local-only — never in git)

### 4.2 Commit

Expand Down
25 changes: 25 additions & 0 deletions .archon/commands/defaults/archon-implement-tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,37 @@ echo "unknown"

Store the runner for validation commands.

### 1.5 Repository Hygiene — Archon Telemetry

Archon keeps per-run telemetry outside the repo (`$ARTIFACTS_DIR` lives under `~/.archon/workspaces/`), but repo-local `.archon/` directories can still exist in the target repo:

- `.archon/artifacts/` — per-run artifacts (older Archon layouts)
- `.archon/logs/` — per-run execution logs (older Archon layouts)
- `.archon/state/` — cross-run workflow state

**These paths are local-only and must never be committed.**

**MANDATORY rule** for any task in this run that creates or modifies `.gitignore`:

The `.gitignore` MUST include these patterns (add them if missing, leave them in place if already present):

```
.archon/artifacts/
.archon/logs/
.archon/state/
```

If the plan calls for scaffolding a new `.gitignore` from scratch, include these patterns alongside the language- or framework-specific entries.

Never stage paths under `.archon/artifacts/`, `.archon/logs/`, or `.archon/state/`. If they appear in `git status` output, the `.gitignore` is missing or incomplete — fix the `.gitignore` first, then stage.

**PHASE_1_CHECKPOINT:**

- [ ] Plan context loaded
- [ ] Confirmation status verified
- [ ] Original plan loaded
- [ ] Package manager identified
- [ ] Repository hygiene rules acknowledged (`.archon/artifacts/`, `.archon/logs/`, `.archon/state/` stay local-only)

---

Expand Down
12 changes: 12 additions & 0 deletions .archon/commands/defaults/archon-investigate-issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ argument-hint: <issue-number|url|"description">

**Input**: $ARGUMENTS

**Execute this command yourself.** Do not delegate to an installed skill, agent,
or other workflow, even when one looks like it covers this — this file is the
procedure. A skill carries its own input router and its own preconditions; hand
it the request and it may re-interpret the intent, demand an artifact that only
this command produces, and decline. The node still exits 0, so a refusal reads
downstream as a completed investigation.

---

## Your Mission
Expand All @@ -27,6 +34,11 @@ Investigate the issue/problem and produce a comprehensive implementation plan th

**Check the input format:**

- **Strip any leading intent verb first** (`fix`, `resolve`, `implement`,
`investigate`, `close`) along with a following `issue` or `#`. The input is the
user's whole trigger message, not a cleaned argument, so `fix issue 123` and
`123` identify the same issue. The verb is not a mode switch — you are always
investigating here, whatever it says.
- Looks like a number (`123`, `#123`) → GitHub issue number
- Starts with `http` → GitHub URL (extract issue number)
- Anything else → Free-form description
Expand Down
2 changes: 1 addition & 1 deletion .archon/commands/defaults/archon-self-fix-all.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ All must pass. If something fails after a fix:

### 5.1 Stage and Commit

Only stage files you actually changed:
Only stage files you actually changed — never repo-local Archon telemetry (`.archon/artifacts/`, `.archon/logs/`, `.archon/state/` are local-only, never in git):

```bash
git add {specific files}
Expand Down
1 change: 1 addition & 0 deletions .archon/commands/defaults/archon-simplify-changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ For each simplification:
- Anything under `$ARTIFACTS_DIR` (the artifacts directory normally lives outside the worktree, but copies/symlinks may exist)
- `review/`, `simplify-report.md`, `*-report.md` at the repo root
- `.pr-body.md`, `pr-body.md`, `*.scratch.md`, `*.tmp.md`
- Repo-local Archon telemetry: `.archon/artifacts/`, `.archon/logs/`, `.archon/state/` (local-only — never in git)
- If `git status --porcelain` shows files you don't recognize as part of your simplifications, leave them unstaged
4. Commit and push only the staged source edits:
```bash
Expand Down
8 changes: 8 additions & 0 deletions .archon/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,11 @@ worktree:

docs:
path: packages/docs-web/src/content/docs

aliases:
# Cheap model for the t1–t4 engine-primitive test workflows. Every test workflow
# references `@mini` rather than a literal model id, so retargeting them all is a
# one-line edit here — and so per-run tier/alias rebinding (#2481) can reach them.
'@mini':
provider: pi
model: minimax/MiniMax-M3
10 changes: 9 additions & 1 deletion .archon/workflows/defaults/archon-fix-github-issue.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,14 @@ nodes:
elif [ -f "$ARTIFACTS_DIR/investigation.md" ]; then
echo "investigation.md exists from investigate step"
else
echo "WARNING: No investigation.md or plan.md found — implement may fail"
# Fail, do not warn. investigate/plan can "succeed" while producing no
# artifact — an AI node that declines the task still exits 0, so the
# refusal reads downstream as a completed investigation. This node holds
# the only cheap deterministic view of that precondition, so it is where
# the run has to stop, before implement spends a model on nothing.
echo "bridge-artifacts: neither investigation.md nor plan.md exists in \$ARTIFACTS_DIR." >&2
echo "The investigate/plan phase produced no specification — implement has nothing to work from." >&2
exit 1
fi
depends_on: [investigate, plan]
trigger_rule: one_success
Expand Down Expand Up @@ -207,6 +214,7 @@ nodes:
- `.pr-body.md`, `pr-body.md`, `*.scratch.md`, `*.tmp.md` at any path
- `review/`, `*-report.md` at the repo root
- Anything under `$ARTIFACTS_DIR`
- Repo-local Archon telemetry: `.archon/artifacts/`, `.archon/logs/`, `.archon/state/` (local-only — never in git)
- Verify with `git status --porcelain` that nothing scratch is staged before committing
- If files you don't recognize as part of the fix appear modified or untracked, leave them alone
2. Push the branch: `git push -u origin HEAD`
Expand Down
6 changes: 3 additions & 3 deletions .archon/workflows/defaults/archon-piv-loop.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -510,7 +510,7 @@ nodes:
)"
```

**Never stage**: `.pr-body.md`, `pr-body.md`, `*.scratch.md`, `*.tmp.md`, `review/`, `*-report.md` at the repo root, or anything under `$ARTIFACTS_DIR`.
**Never stage**: `.pr-body.md`, `pr-body.md`, `*.scratch.md`, `*.tmp.md`, `review/`, `*-report.md` at the repo root, anything under `$ARTIFACTS_DIR`, or repo-local `.archon/artifacts/`, `.archon/logs/`, `.archon/state/` (local-only Archon telemetry — never in git).

Track progress in `$ARTIFACTS_DIR/progress.txt`:
```
Expand Down Expand Up @@ -585,7 +585,7 @@ nodes:
git diff --cached --quiet || git commit -m "fix: address code review findings"
```

**Never stage**: `.pr-body.md`, `pr-body.md`, `*.scratch.md`, `*.tmp.md`, `review/`, `*-report.md` at the repo root, or anything under `$ARTIFACTS_DIR`.
**Never stage**: `.pr-body.md`, `pr-body.md`, `*.scratch.md`, `*.tmp.md`, `review/`, `*-report.md` at the repo root, anything under `$ARTIFACTS_DIR`, or repo-local `.archon/artifacts/`, `.archon/logs/`, `.archon/state/` (local-only Archon telemetry — never in git).

## Step 6: Present Review

Expand Down Expand Up @@ -674,7 +674,7 @@ nodes:
)"
```

**Never stage**: `.pr-body.md`, `pr-body.md`, `*.scratch.md`, `*.tmp.md`, `review/`, `*-report.md` at the repo root, or anything under `$ARTIFACTS_DIR`.
**Never stage**: `.pr-body.md`, `pr-body.md`, `*.scratch.md`, `*.tmp.md`, `review/`, `*-report.md` at the repo root, anything under `$ARTIFACTS_DIR`, or repo-local `.archon/artifacts/`, `.archon/logs/`, `.archon/state/` (local-only Archon telemetry — never in git).

## Step 5: Report

Expand Down
1 change: 1 addition & 0 deletions .archon/workflows/defaults/archon-ralph-dag.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -414,6 +414,7 @@ nodes:
- `.pr-body.md`, `pr-body.md`, `*.scratch.md`, `*.tmp.md`
- `review/`, `*-report.md` at the repo root
- Anything under `$ARTIFACTS_DIR`
- Repo-local Archon telemetry: `.archon/artifacts/`, `.archon/logs/`, `.archon/state/` (local-only — never in git)

Verify only expected files are staged. If unexpected files appear, investigate before committing.

Expand Down
2 changes: 1 addition & 1 deletion .archon/workflows/defaults/archon-refactor-safely.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ nodes:
git status --porcelain # verify nothing scratch is staged
git commit -m "refactor: [task description]"
```
**Never stage**: `.pr-body.md`, `pr-body.md`, `*.scratch.md`, `*.tmp.md`, `review/`, `*-report.md` at the repo root, or anything under `$ARTIFACTS_DIR`.
**Never stage**: `.pr-body.md`, `pr-body.md`, `*.scratch.md`, `*.tmp.md`, `review/`, `*-report.md` at the repo root, anything under `$ARTIFACTS_DIR`, or repo-local `.archon/artifacts/`, `.archon/logs/`, `.archon/state/` (local-only Archon telemetry — never in git).
9. Move to next task

## Handling Problems
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,17 @@ nodes:
elif [ -f "$ARTIFACTS_DIR/investigation.md" ]; then
echo "investigation.md exists from investigate step"
else
echo "WARNING: No investigation.md or plan.md found — implement may fail"
# Fail, do not warn. investigate/plan can "succeed" while producing no
# artifact — an AI node that declines the task still exits 0. On run
# 42acf940 the investigate node refused (it delegated to an installed
# skill whose router demanded a prior artifact), this branch printed a
# WARNING and exited 0, and implement then burned a `model: large` node
# with nothing to implement before assert-implemented caught it.
# This node holds the only cheap, deterministic view of that
# precondition, so it is the one that has to stop the run.
echo "bridge-artifacts: neither investigation.md nor plan.md exists in \$ARTIFACTS_DIR." >&2
echo "The investigate/plan phase produced no specification — implement has nothing to work from." >&2
exit 1
fi
depends_on: [investigate, plan]
trigger_rule: one_success
Expand Down Expand Up @@ -513,6 +523,11 @@ nodes:
# pass. (Workflow constitution: the reliability carve-out, not a style rule.)
- id: capture-pr-number
bash: |
# Clear first so .pr-number reflects THIS validation and nothing earlier.
# pr-exists treats the file's presence as authoritative, so a stale one
# left by a prior attempt would send the review tail at a PR that is no
# longer there.
rm -f "$ARTIFACTS_DIR/.pr-number" "$ARTIFACTS_DIR/.pr-url"
pr=$(gh pr view --json number --jq .number 2>/dev/null || true)
if ! printf '%s' "$pr" | grep -qE '^[0-9]+$'; then
echo "capture-pr-number: no PR resolves for the current branch." >&2
Expand All @@ -524,6 +539,29 @@ nodes:
echo "{\"pr_number\":\"$pr\"}"
depends_on: [create-pr]

# Whether the review phase has anything to review.
#
# This exists because trigger_rule alone cannot express it. synthesize uses
# all_done so it waits for every reviewer to reach a terminal state, including
# the ones the classifier skipped by design — but all_done also fires when the
# reviewers were skipped because the RUN DIED upstream. On run 42acf940 the
# implementation phase failed, every reviewer was skipped, and the tail
# (synthesize -> self-fix -> simplify -> report) still ran to completion and
# posted a public comment on the issue saying the run was blocked.
#
# capture-pr-number exits 1 when no PR resolves, so the absence of .pr-number
# is authoritative. all_done here so this node itself always fires and the
# tail always has a signal to read.
- id: pr-exists
bash: |
if [ -f "$ARTIFACTS_DIR/.pr-number" ]; then
echo '{"has_pr":"true"}'
else
echo '{"has_pr":"false"}'
fi
depends_on: [capture-pr-number]
trigger_rule: all_done

- id: review-scope
command: archon-pr-review-scope
depends_on: [capture-pr-number]
Expand Down Expand Up @@ -653,13 +691,19 @@ nodes:
- id: synthesize
command: archon-synthesize-review
output_type: review-synthesis
depends_on: [code-review, error-handling, test-coverage, comment-quality, docs-impact]
depends_on: [code-review, error-handling, test-coverage, comment-quality, docs-impact, pr-exists]
# all_done, not one_success: synthesize only once EVERY reviewer is terminal.
# one_success would let a synthesis stand on a subset if the reviewers ever land
# in different layers, and it reports that partial view as if it were the whole
# review. all_done also still fires when reviewers were skipped by design (the
# common case — the classifier only asks for the relevant specialists).
#
# `when:` carries the other half — all_done cannot tell a by-design skip from a
# dead run, so pr-exists decides whether there is anything to review at all.
# Skipping here propagates to self-fix -> simplify -> report through the
# default all_success, which is what keeps a failed run from reporting.
trigger_rule: all_done
when: "$pr-exists.output.has_pr == 'true'"
context: fresh

- id: self-fix
Expand Down
Loading
Loading