David Blass
cfd38d82fc
refactor delegation system, add PR summary comments, and improve code quality ( #334 )
...
* refactor delegation system and add PR summary comments
Delegation system:
- replace mode-based delegation with select_mode → delegate two-step flow
- orchestrator crafts self-contained subagent prompts (clean context — no system/repo/event instructions leak)
- add role-based tool filtering via FastMCP authenticate hook (?role=subagent hides orchestrator-only tools)
- add select_mode tool for orchestrator guidance per mode
- add ask_question tool for lightweight research subagents
- extract shared subagent lifecycle into subagent.ts (create, complete, stdout, instructions)
- route set_output to per-subagent state when activeSubagentId is set
- track per-subagent state (SubagentState Map) replacing boolean delegationActive flag
- capture and aggregate AgentUsage across all agents (claude, codex, gemini, opencode)
- write usage summary table to GitHub job summary
- block built-in subagent spawning (Task for Claude, Task(*) for Cursor)
- increase activity timeout from 60s to 300s (subagent thinking phases)
- fix gh CLI misguidance in system prompt — explicitly forbid usage
PR summary comments:
- add prSummaryComment trigger (DB schema + migrations + Zod + UI toggle)
- dispatch mini-effort summary job alongside PR review on pr.created
- add update_pull_request_body MCP tool
- add defaultEffort option to webhook dispatch
Hardening:
- rewrite delegate/selectMode tests with simulated state management
- add toolFiltering.test.ts for role extraction, canAccess, set_output routing
- remove non-null assertions for PULLFROG_TEMP_DIR (proper error throws)
- use fetchWithRetry for direct tarball downloads
- DRY fix for rate limit check in test runner
Co-authored-by: Cursor <cursoragent@cursor.com >
* fix: add type keyword to Effort import in handleWebhook.ts
Co-authored-by: Cursor <cursoragent@cursor.com >
* clean up delegation system, improve code quality across the codebase
- simplify delegate tool to instructions + effort params with subagent lifecycle in subagent.ts
- add select_mode and ask_question orchestrator-only tools with canAccess filtering
- replace delegate.test.ts/selectMode.test.ts with toolFiltering.test.ts (live MCP integration)
- add set_output routing for subagent context and AgentUsage tracking across all agents
- add PR summary comment trigger (schema, UI, webhook dispatch with silent flag)
- add update_pull_request_body MCP tool
- fix changed-agents.sh to always include claude canary for non-agent action changes
- fix cursor pagination bug in getSelectedInstallationReposPage
- remove destructuring patterns, inline type definitions, and unsafe type casts
- replace non-null assertions with explicit checks in install.ts
- convert multi-param functions to single param objects (postCleanup, runActionLocal, etc.)
- use isHttpError helper in API routes instead of catch-any patterns
- add adhoc test fixtures for delegation scenarios (context isolation, error handling, synthesis, etc.)
Co-authored-by: Cursor <cursoragent@cursor.com >
* no subagent mutation, one mcp per subagent
* address review feedback: parallel-safe usage tracking, subagent isolation, minor improvements
* fix subagent state isolation: replace Object.freeze with shallow copy
Object.freeze throws TypeErrors when subagent tools (checkout_pr,
report_progress) write scalar properties to toolState. A shallow copy
achieves the same isolation for scalar fields while allowing tools to
work normally. Shared references (subagents Map, usageEntries array)
remain shared for coordination.
---------
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
2026-02-22 14:12:43 +00:00
Colin McDonnell
2d2d31adfa
Code style ( #97 )
...
* Cleanup
* fix: populate deny array before assigning to config, add CursorCliConfig type
* Fix deny array ordering and add CursorCliConfig type
Move deny array population before config declaration to avoid
relying on reference semantics. Add proper type interface for
the CLI config object.
---------
Co-authored-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
2026-01-15 22:06:53 +00:00
Colin McDonnell
75b429ceca
Update cli
2026-01-15 01:01:58 +00:00
pullfrog[bot]
71feba0a76
fix: prevent log.writeSummary from overwriting reportProgress content ( #87 )
...
* fix: prevent log.writeSummary from overwriting reportProgress content
The run summary was showing logs instead of the final reportProgress content
because log.writeSummary() was called after reportProgress. Now
log.writeSummary() checks if the summary was already overwritten by
reportProgress and skips if so.
Fixes #86
* refactor: replace dynamic import with static import in cli.ts
Replace unnecessary dynamic import of wasSummaryOverwritten with
static import. No circular dependency exists since comment.ts doesn't
import from cli.ts.
* Fix run summary writing
---------
Co-authored-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
Co-authored-by: Colin McDonnell <colinmcd94@gmail.com >
2026-01-15 00:55:42 +00:00
Robin Tail
0c03428488
feat: Using table() in summaryTable() when not running in CI.
2026-01-12 09:49:01 +01:00
Colin McDonnell
2dea842981
Write diff to file
2025-12-22 14:20:42 -08:00
Colin McDonnell
e9a585ce47
Improve debug logging for reviews. v0.0.150
2025-12-22 13:50:39 -08:00
Colin McDonnell
d5bec7499b
Update review process
2025-12-21 22:23:18 -08:00
Colin McDonnell
1f1c1602c5
Flesh out debug logs
2025-12-17 13:11:44 -08:00
Colin McDonnell
def7ee0303
Fix logging
2025-12-17 11:49:05 -08:00
Colin McDonnell
53f6f18352
Fix debug logging
2025-12-17 10:44:49 -08:00
Colin McDonnell
a2f6b938de
Fix log
2025-12-16 19:01:13 -08:00
Colin McDonnell
114c0b5632
Clean up log.group
2025-12-16 18:55:05 -08:00
Colin McDonnell
46f1e34cd4
Fix prompt truncation
2025-12-09 19:51:27 -08:00
Colin McDonnell
5b5df2bdca
Truncate prompt
2025-12-08 20:06:03 -08:00
David Blass
1a882a11b8
centralize env management via createAgentEnv
2025-11-26 16:35:52 -05:00
Colin McDonnell
782902d899
Add logging to Gemini
2025-11-21 15:22:25 -08:00
Colin McDonnell
6ba92cb9d8
standardize tool call logging
2025-11-21 15:22:25 -08:00
Colin McDonnell
b6bfcb0cca
improve cursor tool call logs
2025-11-21 15:22:25 -08:00
Colin McDonnell
c703ecc4f4
Fix MCP discovery
2025-11-19 17:13:14 -08:00
David Blass
7e0dcd5374
tool call logging, centralized temp dir
2025-11-19 18:26:15 -05:00
Shawn Morreau
7aaebe9584
add more codex logic
2025-11-12 19:22:48 -05:00
David Blass
15732d126d
start working on passthrough logging for bash
2025-11-05 19:27:37 -05:00
David Blass
15a7154aea
improve logging
2025-10-31 01:58:43 -04:00
David Blass
ab2d762658
update action, iterate on logging
2025-10-31 00:46:40 -04:00
David Blass
876663cd1a
improve logging, remove act
2025-10-31 00:25:02 -04:00