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
pullfrog[bot]
70f1c47a28
Audit core.warning/core.error usage ( #269 )
...
* Stop using command-based logs for warnings and errors
Co-authored-by: Cursor <cursoragent@cursor.com >
* revert
* tweak
* de-noise
* Remove redundant ts() timestamp prefix from log calls
* Restore timestamped logging and refine debug output routing.
Bring back timestamp prefixes for standard logs and make log.debug emit via core.debug when runner debug is enabled, while still surfacing debug lines for --debug runs.
Co-authored-by: Cursor <cursoragent@cursor.com >
---------
Co-authored-by: Mateusz Burzyński <mateuszburzynski@gmail.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
Co-authored-by: Colin McDonnell <colinmcd94@gmail.com >
2026-02-19 23:11:47 +00:00
Colin McDonnell
7621d6f0e5
tests and better diffs ( #163 )
...
* refactor get_review_comments to use reviewThreads graphql api with full thread context and proper diff extraction
* Improve get_review_comments output
* Improve tests and diffs
* GH_TOKEN
* Added back approved_by
* Fix CI
2026-01-23 06:28:22 +00:00
Colin McDonnell
9e019d89d2
Clean up actions and payloads ( #98 )
...
* Clean up actions and payloads
* Clean up action
* Cleanup
2026-01-16 07:16:25 +00:00
Colin McDonnell
45f837cedb
Fixes
2026-01-12 14:12:16 -08:00
Colin McDonnell
7fb788a883
Token efficiency
2025-12-22 18:16:55 -08:00
David Blass
90ed2648be
refactor main
2025-12-17 16:28:17 -05:00
Colin McDonnell
26336d0ac2
Tool factories
2025-12-15 23:04:20 -08:00
Colin McDonnell
0fced1dfa6
Clean up init
2025-12-15 22:21:47 -08:00
Shawn Morreau
ccb28d8cf5
opencode working
2025-12-10 03:34:19 -05:00
David Blass
305fc9b0dd
auto-labeling
2025-12-09 17:02:57 -05:00
Shawn Morreau
989a7c8960
merge main
2025-12-03 14:35:12 -05:00
Shawn Morreau
9b4bdae8bd
intercept and sanitize gemini schema
2025-12-03 14:28:08 -05:00
David Blass
23c18154ed
improve mcp context initialization
2025-12-02 17:59:13 -05:00
David Blass
1a882a11b8
centralize env management via createAgentEnv
2025-11-26 16:35:52 -05:00
David Blass
106de07802
remove unused execute wrapper for tool calls
2025-11-25 16:58:59 -05:00
Colin McDonnell
b6bfcb0cca
improve cursor tool call logs
2025-11-21 15:22:25 -08:00
Colin McDonnell
6c6b7b0b2d
Add footer links
2025-11-20 16:05:07 -08:00
David Blass
7e0dcd5374
tool call logging, centralized temp dir
2025-11-19 18:26:15 -05:00
Shawn Morreau
3982b147f9
log
2025-11-18 19:20:26 -05:00
Shawn Morreau
c72d44382f
logging
2025-11-18 19:02:47 -05:00
Shawn Morreau
fc1b035f5d
fix pnpm play for cursor with MCP access
2025-11-18 18:41:45 -05:00
David Blass
1328894afd
update action
2025-10-23 17:10:28 -04:00
David Blass
c6c1210fa0
refactor tool implementation
2025-10-23 15:21:08 -04:00
David Blass
c668578c6f
refactor mcp and add instructions prefix
2025-10-17 22:26:24 -04:00
ssalbdivad
757d336475
switch to fastmcp
2025-10-15 17:24:29 -04:00