Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
416 commits
Select commit Hold shift + click to select a range
26e7f7e
Merge pull request #65 from PetrAnto/claude/test-briefing-aggregator-…
PetrAnto Feb 9, 2026
30ad25c
feat(telegram): rewrite /help and /start, add manual test protocol
claude Feb 9, 2026
262c42d
Merge pull request #66 from PetrAnto/claude/test-briefing-aggregator-…
PetrAnto Feb 9, 2026
a6059b6
fix(models): remove dead models, fix prices; feat(telegram): checkpoi…
claude Feb 9, 2026
9405efe
Merge pull request #67 from PetrAnto/claude/test-briefing-aggregator-…
PetrAnto Feb 9, 2026
cef0385
feat(models): add paid MiMo V2 Flash + dynamic model sync from OpenRo…
claude Feb 9, 2026
5c811f4
feat(telegram): interactive /syncmodels picker with toggle buttons
claude Feb 9, 2026
160abd1
Merge pull request #68 from PetrAnto/claude/test-briefing-aggregator-…
PetrAnto Feb 9, 2026
079c736
feat(task-processor): free model rotation + empty response retry
claude Feb 9, 2026
5325178
Merge pull request #69 from PetrAnto/claude/test-briefing-aggregator-…
PetrAnto Feb 9, 2026
e196250
fix(telegram): persist sync sessions in R2 instead of in-memory Map
claude Feb 9, 2026
c49d16e
Merge pull request #70 from PetrAnto/claude/test-briefing-aggregator-…
PetrAnto Feb 9, 2026
ea07bf0
fix: route all models through DO to prevent Worker timeout
claude Feb 9, 2026
7ce9e42
fix(models): update deepfree to deepseek-r1-0528 (old endpoint dead)
claude Feb 9, 2026
bdd5329
Merge pull request #71 from PetrAnto/claude/test-briefing-aggregator-…
PetrAnto Feb 10, 2026
a87c62b
feat(task-processor): dynamic auto-resume limits (50x free, 10x paid)
claude Feb 10, 2026
d73b60f
Merge pull request #72 from PetrAnto/claude/test-briefing-aggregator-…
PetrAnto Feb 10, 2026
8699045
feat(tools): add github_create_pr and sandbox_exec tools
claude Feb 10, 2026
01f88af
Merge pull request #73 from PetrAnto/claude/add-github-pr-sandbox-7CZCk
PetrAnto Feb 10, 2026
1519428
feat(openrouter): implement compound learning loop — Phase 3.1
claude Feb 10, 2026
2aa6d10
test(openrouter): expand learnings tests from 36 to 62
claude Feb 10, 2026
f524683
feat(bot): 6 improvements from Telegram conversation analysis
claude Feb 10, 2026
ceec1e4
Merge pull request #74 from PetrAnto/claude/extract-task-metadata-8lMCM
PetrAnto Feb 10, 2026
a24c3c3
docs(sync): update roadmap and logs for 6 bot improvements
claude Feb 10, 2026
4922d6d
fix(bot): reset auto-resume counter between tasks, revert GLM tool flag
claude Feb 10, 2026
24d3244
docs(sync): update logs for auto-resume fix and GLM revert
claude Feb 10, 2026
fb98c86
Merge pull request #75 from PetrAnto/claude/extract-task-metadata-8lMCM
PetrAnto Feb 10, 2026
8b136e2
docs(r2): add storia-orchestrator skill prompt for R2 bucket
claude Feb 11, 2026
184a008
Merge pull request #76 from PetrAnto/claude/extract-task-metadata-8lMCM
PetrAnto Feb 11, 2026
a1a34ee
feat(telegram): redesign /start with feature buttons, add bot menu co…
claude Feb 11, 2026
4af1ee6
docs(sync): update logs for /start redesign and bot menu
claude Feb 11, 2026
ea7da32
Merge pull request #77 from PetrAnto/claude/extract-task-metadata-8lMCM
PetrAnto Feb 11, 2026
50f195b
fix(tools): briefing location, news links, crypto symbol ambiguity
claude Feb 11, 2026
0203417
Merge pull request #78 from PetrAnto/claude/extract-task-metadata-8lMCM
PetrAnto Feb 11, 2026
97232f1
docs(sync): complete session wrap-up — update all sync docs
claude Feb 11, 2026
39ee77c
Merge pull request #79 from PetrAnto/claude/extract-task-metadata-8lMCM
PetrAnto Feb 11, 2026
959495d
docs(sync): enhance next_prompt.md with full architecture context for…
claude Feb 11, 2026
e56d507
Merge pull request #80 from PetrAnto/claude/extract-task-metadata-8lMCM
PetrAnto Feb 11, 2026
a0c407c
feat(task-processor): add structured task phases (plan → work → review)
claude Feb 11, 2026
658fc3e
Merge pull request #81 from PetrAnto/claude/add-task-phases-4R9Q6
PetrAnto Feb 11, 2026
ddbd8cf
docs(core): sync all docs after Phase 3.2 completion
claude Feb 11, 2026
833d07f
feat(briefing): location-aware briefings with saved user preference
claude Feb 11, 2026
13efa97
Merge pull request #82 from PetrAnto/claude/add-task-phases-4R9Q6
PetrAnto Feb 11, 2026
4028378
fix(models): auto-rotate on 404/sunset, detect tool support in syncmo…
claude Feb 11, 2026
b404078
Merge pull request #83 from PetrAnto/claude/add-task-phases-4R9Q6
PetrAnto Feb 11, 2026
901d629
feat(syncmodels): smart categorization, replacement recommendations, …
claude Feb 11, 2026
93f67f7
Merge pull request #84 from PetrAnto/claude/add-task-phases-4R9Q6
PetrAnto Feb 11, 2026
85a3e72
fix(task-processor): recover from empty model responses after tool use
claude Feb 12, 2026
22dc63a
Merge pull request #85 from PetrAnto/claude/add-task-phases-4R9Q6
PetrAnto Feb 12, 2026
ffb5f5b
fix(models): add tool support flag to trinity model
claude Feb 12, 2026
b5eeb00
Merge pull request #86 from PetrAnto/claude/add-task-phases-4R9Q6
PetrAnto Feb 12, 2026
3b8ec4c
feat(ui): distinguish curated vs synced models, add capability icons
claude Feb 12, 2026
086343b
Merge pull request #87 from PetrAnto/claude/add-task-phases-4R9Q6
PetrAnto Feb 12, 2026
d654ba8
fix(tools): add safety guardrails to github_create_pr to prevent dest…
claude Feb 12, 2026
932d18d
Merge pull request #88 from PetrAnto/claude/add-task-phases-4R9Q6
PetrAnto Feb 12, 2026
b85e66e
feat(task-processor): show model name in task completion footer
claude Feb 12, 2026
7403192
fix(task-processor,client): handle truncated tool calls, disable web …
claude Feb 12, 2026
8eb999c
Merge pull request #89 from PetrAnto/claude/add-task-phases-4R9Q6
PetrAnto Feb 12, 2026
79706b6
Add files via upload
PetrAnto Feb 12, 2026
217e405
feat(models,task-processor): add free models catalog, emergency core …
claude Feb 12, 2026
79394c0
fix(models): correct devstral2free model ID, remove broken kimifree t…
claude Feb 12, 2026
2cafa01
Merge pull request #90 from PetrAnto/claude/task-phases-continued-OoYKL
PetrAnto Feb 12, 2026
f8322b2
fix(task-processor): add stall detection to prevent auto-resume spin …
claude Feb 12, 2026
160aeb9
refactor(models): audit and clean model catalog, add MiniMax 2.5
claude Feb 12, 2026
ac8db56
feat(models): add opus45 back, add getValueTier() scoring function
claude Feb 12, 2026
829fe8d
Merge pull request #91 from PetrAnto/claude/task-phases-continued-OoYKL
PetrAnto Feb 12, 2026
02a0549
feat(models): rewrite /models with value tier grouping
claude Feb 12, 2026
c69d1b0
Merge pull request #92 from PetrAnto/claude/task-phases-continued-OoYKL
PetrAnto Feb 13, 2026
b9cf98f
feat(orchestra): add /orchestra command for structured task workflow
claude Feb 13, 2026
a35efce
feat(orchestra): add init/run two-mode roadmap workflow
claude Feb 13, 2026
9a8ded1
feat(orchestra): add /orch set, /orch next, and /start integration
claude Feb 13, 2026
11b06aa
Merge pull request #93 from PetrAnto/claude/task-phases-continued-OoYKL
PetrAnto Feb 13, 2026
6c2c152
fix(task-processor): fix resume/continue immediately re-hitting itera…
claude Feb 14, 2026
cdbfa5e
feat(orchestra): add /orch roadmap command to display project status
claude Feb 14, 2026
f4abded
Merge pull request #94 from PetrAnto/claude/resume-task-phases-oetGQ
PetrAnto Feb 14, 2026
89be32f
feat(orchestra): add /orch reset, /orch redo, and model attribution
claude Feb 14, 2026
1bf52ad
Merge pull request #95 from PetrAnto/claude/resume-task-phases-oetGQ
PetrAnto Feb 14, 2026
29cf94c
feat(orchestra): add repo health check for large file detection
claude Feb 14, 2026
2eca0ff
Merge pull request #96 from PetrAnto/claude/resume-task-phases-oetGQ
PetrAnto Feb 14, 2026
2a33c50
feat(orchestra): add full-rewrite detection to block destructive file…
claude Feb 14, 2026
70bd76c
Merge pull request #97 from PetrAnto/claude/resume-task-phases-oetGQ
PetrAnto Feb 14, 2026
9c33060
feat(orchestra): add dynamic model recommendations to /orch help
claude Feb 14, 2026
5d5055f
fix(models): update dcode metadata and boost direct API models in orc…
claude Feb 14, 2026
91624a3
fix(orchestra): prevent hallucinated PR claims and add orchestra-awar…
claude Feb 15, 2026
d08956d
Merge pull request #98 from PetrAnto/claude/resume-task-phases-oetGQ
PetrAnto Feb 15, 2026
3f9c058
feat(orchestra): detect incomplete refactors in github_create_pr
claude Feb 15, 2026
44d0760
Merge pull request #99 from PetrAnto/claude/resume-task-phases-oetGQ
PetrAnto Feb 15, 2026
a82ac87
feat(upstream): sync with cloudflare/moltworker (openclaw + rclone + …
claude Feb 15, 2026
9a69686
feat(e2e): add Terraform-based cloud e2e test infrastructure
claude Feb 15, 2026
5484a1f
fix(e2e): align test files with upstream format
claude Feb 15, 2026
bd2c8ec
Merge pull request #100 from PetrAnto/claude/review-upstream-updates-…
PetrAnto Feb 15, 2026
ba0e8af
feat(deepseek): maximize direct DeepSeek API usage and efficiency
claude Feb 15, 2026
aa49715
fix(models): update outdated direct API models and fix missing capabi…
claude Feb 15, 2026
56b19f4
fix(telegram): add direct API models to help text and vision list
claude Feb 15, 2026
ccef69d
Merge pull request #101 from PetrAnto/claude/review-upstream-updates-…
PetrAnto Feb 15, 2026
719c241
fix(task-processor): cap max_tokens for DeepSeek API and fix orphaned…
claude Feb 16, 2026
46af2e9
Merge pull request #102 from PetrAnto/claude/review-upstream-updates-…
PetrAnto Feb 16, 2026
27a0862
docs(docs): add audit and build improvement plan
PetrAnto Feb 16, 2026
b31fbf7
Merge pull request #103 from PetrAnto/codex/conduct-full-audit-and-im…
PetrAnto Feb 16, 2026
fd8b8f8
feat(routing): implement audit Phase 1-3 — resume escalation, coding …
claude Feb 16, 2026
95ab4df
Merge pull request #104 from PetrAnto/claude/review-upstream-updates-…
PetrAnto Feb 16, 2026
a17051f
fix(dashscope): use Singapore regional endpoint for DashScope API
claude Feb 16, 2026
46cf69c
Merge pull request #105 from PetrAnto/claude/review-upstream-updates-…
PetrAnto Feb 16, 2026
7d00dcb
docs(byok): add region-locked API key lessons for byok.cloud
claude Feb 16, 2026
b80b327
Merge pull request #106 from PetrAnto/claude/review-upstream-updates-…
PetrAnto Feb 16, 2026
f953258
feat(orchestra): add anti-destructive guardrails for bot PRs
claude Feb 16, 2026
d508b09
Merge pull request #107 from PetrAnto/claude/review-upstream-updates-…
PetrAnto Feb 16, 2026
ed67f4d
fix(models): respect Kimi K2.5 fixed temperature requirement
claude Feb 17, 2026
e9550ee
fix(workers): align with Cloudflare Workers best practices
claude Feb 17, 2026
8d3d8d6
Merge pull request #108 from PetrAnto/claude/review-upstream-updates-…
PetrAnto Feb 17, 2026
a6cd181
fix(moonshot): preserve reasoning_content in tool-calling loop
claude Feb 17, 2026
bed14de
Merge pull request #109 from PetrAnto/claude/review-upstream-updates-…
PetrAnto Feb 17, 2026
f30205c
fix(task-processor): add AbortController to direct API fetch with 2mi…
claude Feb 17, 2026
da77d9f
Merge pull request #110 from PetrAnto/claude/review-upstream-updates-…
PetrAnto Feb 17, 2026
a505379
fix(task-processor): add same-tool loop detection and fix fetch_url H…
claude Feb 17, 2026
586197e
Merge pull request #111 from PetrAnto/claude/review-upstream-updates-…
PetrAnto Feb 17, 2026
85b7224
fix(task-processor): fast-fail content filter 400, fix stall tracking…
claude Feb 17, 2026
a1b6834
Merge pull request #112 from PetrAnto/claude/review-upstream-updates-…
PetrAnto Feb 17, 2026
0fa0954
docs: add TaskProcessor spec and troubleshooting log
claude Feb 17, 2026
b9742ac
docs: add guardrail map, model quality failures, and gap analysis
claude Feb 17, 2026
13d8122
Merge pull request #113 from PetrAnto/claude/review-upstream-updates-…
PetrAnto Feb 17, 2026
bd5a0c5
fix(watchdog): model-aware stuck threshold + faster streaming heartbeat
claude Feb 17, 2026
8c4771e
feat(guardrails): implement P0 upgrades — hard block incomplete refac…
claude Feb 18, 2026
f098c8f
Merge pull request #114 from PetrAnto/claude/review-upstream-updates-…
PetrAnto Feb 18, 2026
39fbc37
feat(guardrails): P1 routing + hallucination guardrails + /learnings …
claude Feb 18, 2026
3a22138
docs(sync): update all core docs — P1 guardrails + /learnings complete
claude Feb 18, 2026
cea83fc
Merge pull request #115 from PetrAnto/claude/implement-p1-guardrails-…
PetrAnto Feb 18, 2026
07e8902
feat(acontext): Phase 2.3 Acontext observability integration
claude Feb 18, 2026
92152bf
Merge pull request #116 from PetrAnto/claude/implement-p1-guardrails-…
PetrAnto Feb 18, 2026
2640d81
feat(tools): Phase 2.5.9 holiday awareness via Nager.Date API
claude Feb 18, 2026
29d017b
Merge pull request #117 from PetrAnto/claude/implement-p1-guardrails-…
PetrAnto Feb 18, 2026
53c3a0f
feat(task-processor): Phase 4.1 token-budgeted context retrieval
claude Feb 18, 2026
5387bd2
fix(acontext): correct API base URL from acontext.com to acontext.io
claude Feb 19, 2026
e6a2037
Merge pull request #118 from PetrAnto/claude/implement-p1-guardrails-…
PetrAnto Feb 19, 2026
145a55c
Merge pull request #119 from PetrAnto/claude/implement-p1-guardrails-…
PetrAnto Feb 19, 2026
d70fb0b
fix(task-processor): harden phase 4.1 context budget audit
PetrAnto Feb 19, 2026
6a0b501
Merge pull request #120 from PetrAnto/codex/audit-and-improve-context…
PetrAnto Feb 20, 2026
75844e1
fix(context-budget): improve priority scoring and add summary safety …
claude Feb 20, 2026
4c1df03
Merge pull request #122 from PetrAnto/claude/implement-p1-guardrails-…
PetrAnto Feb 20, 2026
b26b31a
Add files via upload
PetrAnto Feb 20, 2026
6d6ec59
feat(task-processor): phase budget circuit breakers
claude Feb 20, 2026
c7c1b98
feat(task-processor): parallel tools Promise.allSettled + safety whit…
claude Feb 20, 2026
07c4d1a
docs(roadmap): update changelog with phase budget + parallel tools en…
claude Feb 20, 2026
456a21a
Merge pull request #123 from PetrAnto/claude/budget-circuit-breakers-…
PetrAnto Feb 20, 2026
16fc8fe
docs: sync all core docs after Sprint 48h merge
claude Feb 20, 2026
b9e9e27
feat(context-budget): Phase 4.2 — replace heuristic estimateTokens wi…
claude Feb 20, 2026
591bab0
feat(admin): Phase 2.4 — Acontext sessions dashboard in admin UI
claude Feb 20, 2026
c8c62a8
Merge pull request #129 from PetrAnto/claude/implement-p1-guardrails-…
PetrAnto Feb 20, 2026
d765dfb
feat(task-processor): Phase 4.3 — tool result caching with in-flight …
claude Feb 20, 2026
57c8fbb
Merge pull request #134 from PetrAnto/claude/implement-p1-guardrails-…
PetrAnto Feb 20, 2026
a7bf581
feat(learnings+tools): Phase 4.4 cross-session context + Phase 2.5.10…
claude Feb 20, 2026
d954019
Merge pull request #135 from PetrAnto/claude/implement-p1-guardrails-…
PetrAnto Feb 20, 2026
21930be
Create code-mode-mcp.md
PetrAnto Feb 20, 2026
84ee68a
Add files via upload
PetrAnto Feb 20, 2026
3796a7b
feat(tools): add Brave web_search tool integration
PetrAnto Feb 20, 2026
457ce29
refactor(tools): optimize web_search from PR #136/#137 merge
claude Feb 20, 2026
0ee5860
Merge pull request #138 from PetrAnto/claude/implement-p1-guardrails-…
PetrAnto Feb 20, 2026
8e0b189
feat(mcp): add Cloudflare Code Mode MCP integration (Phase 5.2)
claude Feb 20, 2026
775d750
Merge pull request #139 from PetrAnto/claude/code-mode-mcp-integratio…
PetrAnto Feb 20, 2026
56d079f
Add files via upload
PetrAnto Feb 21, 2026
6decd97
feat(dream): implement Dream Machine Build stage integration
claude Feb 21, 2026
e16c25c
Merge pull request #140 from PetrAnto/claude/code-mode-mcp-integratio…
PetrAnto Feb 21, 2026
f868bc3
fix(routes): move dream-build route from /api/ to /dream-build
claude Feb 21, 2026
67f468c
Merge pull request #141 from PetrAnto/claude/code-mode-mcp-integratio…
PetrAnto Feb 21, 2026
3664861
docs(sync): update all core docs after Dream Build + MCP integration
claude Feb 21, 2026
c3898e9
Merge pull request #142 from PetrAnto/claude/code-mode-mcp-integratio…
PetrAnto Feb 21, 2026
6e3e7b2
feat(guardrails): P2 audit — tool result validation + No Fake Success…
claude Feb 21, 2026
65cd105
docs: update core docs after P2 guardrails audit completion
claude Feb 21, 2026
3f68c57
Merge pull request #143 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 21, 2026
3cd6a10
feat(dream): DM.4 — wire real AI code generation into Dream Build
claude Feb 21, 2026
543095a
docs: update core docs after DM.4 AI code generation completion
claude Feb 21, 2026
72a9fed
Merge pull request #144 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 21, 2026
685bcc0
feat(dream): DM.5 — add POST /dream-build/:jobId/approve endpoint
claude Feb 21, 2026
e34f067
docs: update core docs after DM.5 approve endpoint completion
claude Feb 21, 2026
a51a21b
Merge pull request #145 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 21, 2026
9507c57
feat(dream): DM.7 — enforce checkTrustLevel() at route layer
claude Feb 21, 2026
18e9241
docs: update core docs after DM.7 trust level enforcement
claude Feb 21, 2026
3353c6b
Merge pull request #146 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 21, 2026
26921a1
feat(dream): DM.8 — pre-PR code validation step
claude Feb 21, 2026
e4e9665
docs: update core docs after DM.8 pre-PR code validation
claude Feb 21, 2026
c1c9d31
Merge pull request #147 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 21, 2026
c5e891d
docs(roadmap): add DM.10-DM.14 from dream-machine-moltworker-brief ga…
claude Feb 21, 2026
41d45b0
feat(dream): DM.10-DM.14 — queue consumer, GitHub client, JWT auth, s…
claude Feb 21, 2026
e49c224
Merge pull request #148 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 21, 2026
3868cfe
docs(sync): update all core docs after deployment verification
claude Feb 22, 2026
9309c55
Merge pull request #150 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 22, 2026
bf1c961
fix(task-processor): preserve work-phase answer instead of showing re…
claude Feb 22, 2026
13a02d1
Merge pull request #151 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 22, 2026
13544ac
fix(task-processor): skip plan phase for simple queries and prevent c…
claude Feb 22, 2026
e12acb2
Merge pull request #152 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 22, 2026
7b9c0be
fix(task-processor): save assistant response to conversation history …
claude Feb 22, 2026
bfc7fb8
Merge pull request #153 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 22, 2026
b2b93d7
fix(task-processor): prevent proactive tool calls on greetings and fi…
claude Feb 22, 2026
97b5dc2
Merge pull request #154 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 22, 2026
f615735
feat(telegram): render markdown as HTML in Telegram messages
claude Feb 22, 2026
b8078ae
Merge pull request #155 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 22, 2026
436f383
fix(api): prevent empty assistant message rejection by Moonshot/Kimi
claude Feb 22, 2026
3a276a1
Merge pull request #156 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 22, 2026
fc11e54
feat(api): use SSE streaming for all direct API providers
claude Feb 22, 2026
d33e192
Merge pull request #157 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 22, 2026
ff002ad
fix(task-processor): increase phase budgets and fix auto-resume doubl…
claude Feb 22, 2026
24ac245
Merge pull request #158 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 22, 2026
2d6363e
docs(sync): update claude-share after phase budget fix
claude Feb 22, 2026
572034b
Merge pull request #159 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 22, 2026
d157ed0
Add files via upload
PetrAnto Feb 22, 2026
6d64f86
docs(roadmap): add Phase 7 Performance & Quality Engine
claude Feb 22, 2026
a286fc9
Merge pull request #160 from PetrAnto/claude/execute-next-prompt-Wh6Cx
PetrAnto Feb 22, 2026
f63438a
feat(perf): add smart context loading — skip R2 reads for simple queries
claude Feb 22, 2026
cb7516d
docs(sync): update claude-share after 7A.2 Smart Context Loading
claude Feb 22, 2026
2cbd847
Merge pull request #161 from PetrAnto/claude/execute-next-prompt-psdEX
PetrAnto Feb 22, 2026
d7ca8ff
feat(guardrails): add destructive operation guard for tool execution
claude Feb 22, 2026
0eddae8
docs(sync): update claude-share after 7A.3 Destructive Op Guard
claude Feb 22, 2026
3a0a0d1
Merge pull request #162 from PetrAnto/claude/execute-next-prompt-psdEX
PetrAnto Feb 22, 2026
c912d7e
feat(perf): add Anthropic prompt caching via cache_control
claude Feb 22, 2026
297860a
docs(sync): update claude-share after 7A.5 Prompt Caching
claude Feb 22, 2026
aac5bd1
Merge pull request #163 from PetrAnto/claude/execute-next-prompt-psdEX
PetrAnto Feb 22, 2026
98cb24f
feat(sync): add automated full model catalog sync from OpenRouter
claude Feb 23, 2026
a660304
Merge pull request #168 from PetrAnto/claude/execute-next-prompt-psdEX
PetrAnto Feb 23, 2026
319c1e3
feat(telegram): add /syncall to menu, sync button, dynamic model picker
claude Feb 23, 2026
9cde4b4
Merge pull request #169 from PetrAnto/claude/execute-next-prompt-psdEX
PetrAnto Feb 23, 2026
57878f0
docs(roadmap): update claude-share for Model Sync + Telegram UI work
claude Feb 23, 2026
2c66b80
feat(perf): 7B.2 model routing by complexity — fast model for simple …
claude Feb 23, 2026
fb7ef34
docs(roadmap): update claude-share for 7B.2 Model Routing
claude Feb 23, 2026
f2be989
Merge pull request #170 from PetrAnto/claude/execute-next-prompt-psdEX
PetrAnto Feb 23, 2026
a28c18a
feat(perf): 7B.3 pre-fetch file context from user messages
claude Feb 23, 2026
46b3974
docs(roadmap): update claude-share for 7B.3 Pre-fetch Context
claude Feb 23, 2026
ea92202
Merge pull request #171 from PetrAnto/claude/execute-next-prompt-psdEX
PetrAnto Feb 23, 2026
b40780c
feat(quality): 7A.4 Structured Step Decomposition — JSON plan steps w…
claude Feb 23, 2026
7ebb496
Merge pull request #172 from PetrAnto/claude/execute-next-prompt-psdEX
PetrAnto Feb 23, 2026
0d29869
feat(perf): 7B.4 Reduce Iteration Count — inject pre-loaded files int…
claude Feb 23, 2026
9535f6e
Merge pull request #173 from PetrAnto/claude/execute-next-prompt-psdEX
PetrAnto Feb 23, 2026
c5540f1
feat(quality): 7A.1 CoVe Verification Loop — post-work verification w…
claude Feb 23, 2026
63cfc41
Merge pull request #174 from PetrAnto/claude/execute-next-prompt-psdEX
PetrAnto Feb 23, 2026
34a6092
fix(orchestra+tools): improve tool descriptions + add partial failure…
claude Feb 23, 2026
f13c87c
Merge pull request #175 from PetrAnto/claude/execute-next-prompt-psdEX
PetrAnto Feb 23, 2026
7400190
feat(ux): 7B.5 Streaming User Feedback — phase + tool-level progress …
claude Feb 23, 2026
e9ff843
feat(perf): 7B.1 Speculative Tool Execution — start tools during LLM …
claude Feb 23, 2026
bf05ab8
Merge pull request #176 from PetrAnto/claude/execute-next-prompt-psdEX
PetrAnto Feb 23, 2026
2ce1a4b
feat(ai): 5.1 Multi-Agent Review — independent model reviews work output
claude Feb 23, 2026
2556814
docs: update roadmap + status for 5.1 Multi-Agent Review (1458 tests)
claude Feb 23, 2026
785275f
Merge pull request #177 from PetrAnto/claude/execute-next-prompt-psdEX
PetrAnto Feb 23, 2026
728edb6
feat(sync): add /synccheck command — curated model health check
claude Feb 24, 2026
c9d469c
fix(models): add fuzzy matching to getModel() for auto-synced aliases
claude Feb 24, 2026
a197e94
feat(models): show auto-synced highlights in /models, condense /syncc…
claude Feb 24, 2026
c1928fc
fix(infra): upstream sync — bump OpenClaw, add WS redaction, R2 sync …
claude Feb 24, 2026
64971bf
fix(models): mark MiniMax M2.5 reasoning as fixed (mandatory)
claude Feb 24, 2026
57e719e
fix(orchestra): detect phantom PRs — 3-layer defense against hallucin…
claude Feb 25, 2026
3b15e9c
docs(test): add Phase 7B.6 latency benchmark protocol
claude Feb 25, 2026
947aa47
fix(review+routing): reviewer uses latest user question, routing igno…
claude Feb 25, 2026
3bb9abe
fix(task-processor): prevent runaway tasks with 3 elapsed-time and to…
claude Feb 25, 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
11 changes: 11 additions & 0 deletions .dev.vars.example
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@
# .dev.vars is gitignored and used by wrangler dev

ANTHROPIC_API_KEY=sk-ant-...
# OPENAI_API_KEY=sk-...

# Cloudflare AI Gateway (alternative to direct provider keys)
# CLOUDFLARE_AI_GATEWAY_API_KEY=your-provider-api-key
# CF_AI_GATEWAY_ACCOUNT_ID=your-account-id
# CF_AI_GATEWAY_GATEWAY_ID=your-gateway-id
# CF_AI_GATEWAY_MODEL=workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast

# Legacy AI Gateway (still supported)
# AI_GATEWAY_API_KEY=your-key
# AI_GATEWAY_BASE_URL=https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/anthropic

# Local development mode - skips Cloudflare Access auth and bypasses device pairing
# DEV_MODE=true
Expand Down
53 changes: 53 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Deploy to Cloudflare Workers

on:
push:
branches:
- main
workflow_dispatch: # Allow manual trigger

jobs:
deploy:
runs-on: ubuntu-latest
name: Deploy
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Build
run: npm run build

- name: Deploy to Cloudflare Workers
run: npx wrangler deploy
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}

- name: Set OpenRouter API Key
run: |
if [ -n "$OPENROUTER_API_KEY" ]; then
echo "$OPENROUTER_API_KEY" | npx wrangler secret put OPENROUTER_API_KEY
fi
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}

- name: Set Telegram Bot Token
run: |
if [ -n "$TELEGRAM_BOT_TOKEN" ]; then
echo "$TELEGRAM_BOT_TOKEN" | npx wrangler secret put TELEGRAM_BOT_TOKEN
fi
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
36 changes: 31 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,12 @@ jobs:
- name: Install dependencies
run: npm ci

- name: Lint
run: npm run lint

- name: Format check
run: npm run format:check

- name: Type check
run: npm run typecheck

Expand All @@ -31,7 +37,7 @@ jobs:

e2e:
runs-on: ubuntu-latest
timeout-minutes: 15
timeout-minutes: 20
permissions:
contents: write
pull-requests: write
Expand All @@ -50,6 +56,9 @@ jobs:
env:
DISCORD_BOT_TOKEN: "fake-discord-bot-token-for-e2e"
DISCORD_DM_POLICY: "pairing"
- name: workers-ai
env:
CF_AI_GATEWAY_MODEL: "workers-ai/@cf/meta/llama-3.3-70b-instruct-fp8-fast"

name: e2e (${{ matrix.config.name }})

Expand All @@ -65,6 +74,11 @@ jobs:
- name: Install dependencies
run: npm ci

- name: Setup Terraform
uses: hashicorp/setup-terraform@v3
with:
terraform_wrapper: false

- name: Install Playwright
run: npx playwright install --with-deps chromium

Expand All @@ -80,12 +94,24 @@ jobs:
id: e2e
continue-on-error: true
env:
CLOUDFLARE_API_TOKEN: ${{ secrets.E2E_CLOUDFLARE_API_TOKEN }}
CF_ACCOUNT_ID: ${{ secrets.E2E_CF_ACCOUNT_ID }}
WORKERS_SUBDOMAIN: ${{ secrets.E2E_WORKERS_SUBDOMAIN }}
CF_ACCESS_TEAM_DOMAIN: ${{ secrets.E2E_CF_ACCESS_TEAM_DOMAIN }}
R2_ACCESS_KEY_ID: ${{ secrets.E2E_R2_ACCESS_KEY_ID }}
R2_SECRET_ACCESS_KEY: ${{ secrets.E2E_R2_SECRET_ACCESS_KEY }}
AI_GATEWAY_API_KEY: ${{ secrets.AI_GATEWAY_API_KEY }}
AI_GATEWAY_BASE_URL: ${{ secrets.AI_GATEWAY_BASE_URL }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
CLOUDFLARE_AI_GATEWAY_API_KEY: ${{ secrets.CLOUDFLARE_AI_GATEWAY_API_KEY }}
CF_AI_GATEWAY_ACCOUNT_ID: ${{ secrets.E2E_CF_ACCOUNT_ID }}
CF_AI_GATEWAY_GATEWAY_ID: ${{ secrets.CF_AI_GATEWAY_GATEWAY_ID }}
CF_AI_GATEWAY_MODEL: ${{ matrix.config.env.CF_AI_GATEWAY_MODEL }}
TELEGRAM_BOT_TOKEN: ${{ matrix.config.env.TELEGRAM_BOT_TOKEN }}
TELEGRAM_DM_POLICY: ${{ matrix.config.env.TELEGRAM_DM_POLICY }}
DISCORD_BOT_TOKEN: ${{ matrix.config.env.DISCORD_BOT_TOKEN }}
DISCORD_DM_POLICY: ${{ matrix.config.env.DISCORD_DM_POLICY }}
E2E_TEST_RUN_ID: "${{ github.run_id }}-${{ matrix.config.name }}"
run: cctr -vv test/e2e

- name: Convert video and generate thumbnail
Expand All @@ -97,15 +123,15 @@ jobs:
for webm in /tmp/moltworker-e2e-videos/*.webm; do
mp4="${webm%.webm}.mp4"
thumb="${webm%.webm}.png"

# Convert to mp4
ffmpeg -y -i "$webm" -c:v libx264 -preset fast -crf 22 -c:a aac "$mp4"

# Extract middle frame as thumbnail
duration=$(ffprobe -v error -show_entries format=duration -of csv=p=0 "$mp4")
midpoint=$(echo "$duration / 2" | bc -l)
ffmpeg -y -ss "$midpoint" -i "$mp4" -vframes 1 -update 1 -q:v 2 "$thumb"

# Add play button overlay using ImageMagick
width=$(identify -format '%w' "$thumb")
height=$(identify -format '%h' "$thumb")
Expand All @@ -115,7 +141,7 @@ jobs:
-fill 'rgba(0,0,0,0.6)' -draw "circle ${cx},${cy} $((cx+50)),${cy}" \
-fill 'white' -draw "polygon $((cx-15)),$((cy-25)) $((cx-15)),$((cy+25)) $((cx+30)),${cy}" \
"$thumb"

echo "video_path=$mp4" >> $GITHUB_OUTPUT
echo "video_name=$(basename $mp4)" >> $GITHUB_OUTPUT
echo "thumb_path=$thumb" >> $GITHUB_OUTPUT
Expand Down
21 changes: 20 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ Thumbs.db
# TypeScript
*.tsbuildinfo

# Generated by wrangler types (regenerated during typecheck)
worker-configuration.d.ts

# Docker build artifacts
*.tar

Expand All @@ -44,4 +47,20 @@ Thumbs.db
*.greger

# playwright-cli
.playwright-cli/
.playwright-cli/

# Terraform
*.tfstate
*.tfstate.*
.terraform/
.terraform.lock.hcl
terraform.tfvars

# E2E test credentials
test/e2e/.dev.vars

# Temporary e2e wrangler configs
.wrangler-e2e-*.jsonc

# npm config (may contain registry overrides for @cloudflare packages)
.npmrc
12 changes: 12 additions & 0 deletions .oxfmtrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"$schema": "./node_modules/oxfmt/configuration_schema.json",
"semi": true,
"singleQuote": true,
"tabWidth": 2,
"useTabs": false,
"trailingComma": "all",
"printWidth": 100,
"arrowParens": "always",
"endOfLine": "lf",
"ignorePatterns": ["dist", "node_modules"]
}
15 changes: 15 additions & 0 deletions .oxlintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"$schema": "https://raw.githubusercontent.com/oxc-project/oxc/main/npm/oxlint/configuration_schema.json",
"plugins": ["react", "typescript", "unicorn", "oxc", "import", "vitest"],
"categories": {
"correctness": "error",
"suspicious": "warn",
"perf": "warn"
},
"rules": {
"no-unused-vars": "warn",
"react/react-in-jsx-scope": "off",
"import/no-unassigned-import": "off"
},
"ignorePatterns": ["dist", "node_modules", "*.d.ts"]
}
82 changes: 82 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

Guidelines for AI agents working on this codebase.

> **IMPORTANT:** Also read `CLAUDE.md` for project instructions and `claude-share/core/SYNC_CHECKLIST.md` for post-task requirements.

## Project Overview

This is a Cloudflare Worker that runs [Moltbot](https://molt.bot/) in a Cloudflare Sandbox container. It provides:
Expand Down Expand Up @@ -244,3 +246,83 @@ R2 is mounted via s3fs at `/data/moltbot`. Important gotchas:
- **Never delete R2 data**: The mount directory `/data/moltbot` IS the R2 bucket. Running `rm -rf /data/moltbot/*` will DELETE your backup data. Always check mount status before any destructive operations.

- **Process status**: The sandbox API's `proc.status` may not update immediately after a process completes. Instead of checking `proc.status === 'completed'`, verify success by checking for expected output (e.g., timestamp file exists after sync).

---

## Multi-Agent Coordination

> Multiple AI assistants (Claude, Codex, others) work on this codebase simultaneously.
> These rules ensure coordination without conflicts.

### Orchestration Documentation

Orchestration docs are stored in a **private companion repo** and symlinked into `claude-share/`.
If `claude-share/` exists locally, read and follow those docs. If not, follow the protocols below.

### Branch Naming Convention

| AI Agent | Branch Pattern | Example |
|----------|---------------|---------|
| Claude | `claude/<task-slug>-<id>` | `claude/parallel-tools-x7k2` |
| Codex | `codex/<task-slug>-<id>` | `codex/cost-tracking-m3p1` |
| Other AI | `bot/<task-slug>-<id>` | `bot/gemini-flash-tools-q2w3` |
| Human | `feat/<slug>` or `fix/<slug>` | `feat/mcp-integration` |

### Session Start Protocol

1. Fetch latest main: `git fetch origin main`
2. Check recent merges: `git log origin/main --oneline -10`
3. Read `claude-share/core/SYNC_CHECKLIST.md`
4. Read `claude-share/core/next_prompt.md` for current task
5. Acknowledge with format:
```
ACK: [Task ID] — [Task Name]
Branch: [branch-name]
Files to modify: [list]
Starting now.
```

### Session End Protocol

1. Update session log (`claude-share/core/claude-log.md` or equivalent)
2. Update `claude-share/core/GLOBAL_ROADMAP.md` — task status + changelog entry
3. Update `claude-share/core/WORK_STATUS.md` — sprint state
4. Update `claude-share/core/next_prompt.md` — point to next task
5. Run `npm test && npm run typecheck`
6. Commit and push

### Verification Checklist (Before Claiming "Done")

- [ ] All changes compile: `npm run typecheck`
- [ ] All tests pass: `npm test`
- [ ] No secrets committed (check `git diff --staged`)
- [ ] Session log updated
- [ ] Global roadmap updated
- [ ] Work status updated
- [ ] Next prompt updated
- [ ] Branch pushed

### Parallel Work Rules

1. **Check WORK_STATUS.md** before starting — avoid working on same files as another agent
2. **Claim your task** — Update the Parallel Work Tracking table immediately
3. **Small, atomic PRs** — One task per branch, one concern per PR
4. **No cross-branch dependencies** — Each branch must work independently
5. **Communicate via docs** — If you discover something another agent needs to know, write it in WORK_STATUS.md under "Notes for Other Agents"

### Handoff Protocol

When handing off work to another AI agent:
1. Commit all changes (even partial work)
2. Update `next_prompt.md` with detailed context
3. Add "Notes for Next Session" to your session log entry
4. Push your branch
5. If blocked, add to the "Blocked" table in WORK_STATUS.md

### Human Checkpoint Format

```
🧑 HUMAN CHECK X.X: [Description of what to test] — ⏳ PENDING
```

Human checkpoints require manual verification before the next phase can begin. Never skip or auto-resolve these.
Loading