feat: added ast_grep tool to Sisyphus suite agents
This commit is contained in:
@@ -21,6 +21,7 @@ variables:
|
||||
default: '.'
|
||||
|
||||
global_tools:
|
||||
- ast_grep.sh
|
||||
- fs_read.sh
|
||||
- fs_cat.sh
|
||||
- fs_grep.sh
|
||||
|
||||
@@ -2,9 +2,9 @@ name: coder
|
||||
description: |
|
||||
Implementation agent. Plans, implements, and runs build + tests in a
|
||||
bounded fix-loop until verified. Designed to be delegated to by sisyphus.
|
||||
version: "1.0"
|
||||
|
||||
version: '1.0'
|
||||
global_tools:
|
||||
- ast_grep.sh
|
||||
- fs_cat.sh
|
||||
- fs_ls.sh
|
||||
- fs_write.sh
|
||||
@@ -25,7 +25,7 @@ variables:
|
||||
Absolute path to the project directory. Defaults to "." which is the
|
||||
directory you invoked `coyote` from. Override at runtime with
|
||||
`coyote -a coder --agent-variable project_dir /abs/path "..."`.
|
||||
default: "."
|
||||
default: '.'
|
||||
|
||||
settings:
|
||||
max_loop_iterations: 20
|
||||
@@ -34,14 +34,14 @@ settings:
|
||||
timeout: 1800
|
||||
|
||||
initial_state:
|
||||
project_dir: ""
|
||||
project_dir: ''
|
||||
fix_attempts: 0
|
||||
max_fix_attempts: 3
|
||||
fix_instructions: ""
|
||||
build_output: ""
|
||||
tests_output: ""
|
||||
last_node_output: ""
|
||||
plan_summary: ""
|
||||
fix_instructions: ''
|
||||
build_output: ''
|
||||
tests_output: ''
|
||||
last_node_output: ''
|
||||
plan_summary: ''
|
||||
files_to_modify: []
|
||||
files_to_create: []
|
||||
risks: []
|
||||
@@ -49,7 +49,7 @@ initial_state:
|
||||
review_attempts: 0
|
||||
max_review_attempts: 1
|
||||
review_clean: true
|
||||
review_notes: ""
|
||||
review_notes: ''
|
||||
|
||||
start: resolve_paths
|
||||
|
||||
@@ -88,7 +88,7 @@ nodes:
|
||||
etc. Empty list is fine.
|
||||
|
||||
Project directory: {{project_dir}}
|
||||
prompt: "{{initial_prompt}}"
|
||||
prompt: '{{initial_prompt}}'
|
||||
tools: []
|
||||
output_schema:
|
||||
type: object
|
||||
@@ -98,20 +98,27 @@ nodes:
|
||||
description: 1-3 sentences summarizing what will be done
|
||||
files_to_modify:
|
||||
type: array
|
||||
items: {type: string}
|
||||
items: { type: string }
|
||||
files_to_create:
|
||||
type: array
|
||||
items: {type: string}
|
||||
items: { type: string }
|
||||
complexity_score:
|
||||
type: integer
|
||||
minimum: 1
|
||||
maximum: 10
|
||||
risks:
|
||||
type: array
|
||||
items: {type: string}
|
||||
required: [plan_summary, files_to_modify, files_to_create, complexity_score, risks]
|
||||
items: { type: string }
|
||||
required:
|
||||
[
|
||||
plan_summary,
|
||||
files_to_modify,
|
||||
files_to_create,
|
||||
complexity_score,
|
||||
risks,
|
||||
]
|
||||
state_updates:
|
||||
last_node_output: "{{output}}"
|
||||
last_node_output: '{{output}}'
|
||||
fallback: end_failure
|
||||
next: route_complexity
|
||||
|
||||
@@ -144,11 +151,11 @@ nodes:
|
||||
|
||||
Approve this plan?
|
||||
options:
|
||||
- "yes"
|
||||
- "no"
|
||||
- 'yes'
|
||||
- 'no'
|
||||
routes:
|
||||
"yes": implement
|
||||
"no": end_rejected
|
||||
'yes': implement
|
||||
'no': end_rejected
|
||||
on_other: end_rejected
|
||||
|
||||
implement:
|
||||
@@ -243,7 +250,7 @@ nodes:
|
||||
- execute_command
|
||||
max_iterations: 30
|
||||
state_updates:
|
||||
last_node_output: "{{output}}"
|
||||
last_node_output: '{{output}}'
|
||||
fallback: end_failure
|
||||
next: verify_build
|
||||
|
||||
@@ -326,7 +333,7 @@ nodes:
|
||||
description: Concrete issues found, one per line as file:line - description. Empty when review_clean is true.
|
||||
required: [review_clean, review_notes]
|
||||
state_updates:
|
||||
last_node_output: "{{output}}"
|
||||
last_node_output: '{{output}}'
|
||||
fallback: end_success
|
||||
next: route_review_result
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ variables:
|
||||
mcp_servers:
|
||||
- ddg-search
|
||||
global_tools:
|
||||
- ast_grep.sh
|
||||
- fs_read.sh
|
||||
- fs_cat.sh
|
||||
- fs_grep.sh
|
||||
|
||||
@@ -18,6 +18,7 @@ variables:
|
||||
mcp_servers:
|
||||
- ddg-search
|
||||
global_tools:
|
||||
- ast_grep.sh
|
||||
- fs_read.sh
|
||||
- fs_cat.sh
|
||||
- fs_grep.sh
|
||||
|
||||
@@ -46,6 +46,7 @@ variables:
|
||||
mcp_servers:
|
||||
- ddg-search
|
||||
global_tools:
|
||||
- ast_grep.sh
|
||||
- fs_read.sh
|
||||
- fs_grep.sh
|
||||
- fs_glob.sh
|
||||
|
||||
@@ -5,9 +5,9 @@ description: |
|
||||
implement (coder) -> verify -> edge-case sweep -> optional independent
|
||||
review -> evidence-backed handoff -> user approval gate. Designed to be
|
||||
delegated to by sisyphus.
|
||||
version: "1.0"
|
||||
|
||||
version: '1.0'
|
||||
global_tools:
|
||||
- ast_grep.sh
|
||||
- fs_cat.sh
|
||||
- fs_ls.sh
|
||||
- fs_write.sh
|
||||
@@ -28,18 +28,18 @@ variables:
|
||||
coyote was invoked from). The coder sub-agent resolves its own
|
||||
project_dir the same way, so invoke step-runner FROM the project root
|
||||
unless you override this for both.
|
||||
default: "."
|
||||
default: '.'
|
||||
- name: plans_dir
|
||||
description: |
|
||||
Path to the plan repo. Relative paths resolve against project_dir.
|
||||
Expected layout: <plans_dir>/steps/NN-<slug>.md,
|
||||
<plans_dir>/handoffs/, <plans_dir>/NOTES.md.
|
||||
default: "plans"
|
||||
default: 'plans'
|
||||
- name: step
|
||||
description: |
|
||||
Which step to execute: a step number, or "next" to pick the first
|
||||
in-progress (resume) or pending step plan.
|
||||
default: "next"
|
||||
default: 'next'
|
||||
|
||||
settings:
|
||||
max_loop_iterations: 20
|
||||
@@ -48,45 +48,45 @@ settings:
|
||||
timeout: 7200
|
||||
|
||||
initial_state:
|
||||
project_dir: ""
|
||||
plans_dir: ""
|
||||
project_dir: ''
|
||||
plans_dir: ''
|
||||
step_number: 0
|
||||
step_slug: ""
|
||||
step_title: ""
|
||||
step_plan_path: ""
|
||||
step_plan: ""
|
||||
prev_handoff_path: "(none)"
|
||||
prev_handoff: "(none - this is the first step)"
|
||||
notes_path: ""
|
||||
notes: "(none)"
|
||||
handoff_path: ""
|
||||
blocking_reason: ""
|
||||
plan_summary: ""
|
||||
implementation_brief: ""
|
||||
staleness_report: ""
|
||||
step_slug: ''
|
||||
step_title: ''
|
||||
step_plan_path: ''
|
||||
step_plan: ''
|
||||
prev_handoff_path: '(none)'
|
||||
prev_handoff: '(none - this is the first step)'
|
||||
notes_path: ''
|
||||
notes: '(none)'
|
||||
handoff_path: ''
|
||||
blocking_reason: ''
|
||||
plan_summary: ''
|
||||
implementation_brief: ''
|
||||
staleness_report: ''
|
||||
has_major_deviation: false
|
||||
deviation_summary: ""
|
||||
user_feedback: ""
|
||||
fix_instructions: ""
|
||||
deviation_summary: ''
|
||||
user_feedback: ''
|
||||
fix_instructions: ''
|
||||
fix_attempts: 0
|
||||
max_fix_attempts: 2
|
||||
coder_result: ""
|
||||
format_output: ""
|
||||
coder_result: ''
|
||||
format_output: ''
|
||||
lint_ok: true
|
||||
lint_output: ""
|
||||
lint_output: ''
|
||||
build_ok: true
|
||||
build_output: ""
|
||||
build_output: ''
|
||||
tests_ok: true
|
||||
tests_output: ""
|
||||
edge_case_report: ""
|
||||
downstream_updates: ""
|
||||
tests_output: ''
|
||||
edge_case_report: ''
|
||||
downstream_updates: ''
|
||||
needs_independent_review: false
|
||||
review_report: ""
|
||||
review_report: ''
|
||||
review_attempts: 0
|
||||
max_review_attempts: 1
|
||||
handoff_attempts: 0
|
||||
handoff_fix: ""
|
||||
step_summary: ""
|
||||
handoff_fix: ''
|
||||
step_summary: ''
|
||||
|
||||
start: resolve_step
|
||||
|
||||
@@ -114,11 +114,11 @@ nodes:
|
||||
|
||||
Proceed anyway?
|
||||
options:
|
||||
- "yes"
|
||||
- "no"
|
||||
- 'yes'
|
||||
- 'no'
|
||||
routes:
|
||||
"yes": orient
|
||||
"no": end_blocked
|
||||
'yes': orient
|
||||
'no': end_blocked
|
||||
on_other: end_blocked
|
||||
|
||||
orient:
|
||||
@@ -183,7 +183,14 @@ nodes:
|
||||
deviation_summary:
|
||||
type: string
|
||||
description: Major deviations only, with the plan claim vs current reality. Empty when none
|
||||
required: [plan_summary, implementation_brief, staleness_report, has_major_deviation, deviation_summary]
|
||||
required:
|
||||
[
|
||||
plan_summary,
|
||||
implementation_brief,
|
||||
staleness_report,
|
||||
has_major_deviation,
|
||||
deviation_summary,
|
||||
]
|
||||
fallback: end_failure
|
||||
next: route_staleness
|
||||
|
||||
@@ -211,14 +218,14 @@ nodes:
|
||||
Proceed with the corrected brief? (Answer with anything else to give
|
||||
your own guidance to the implementer.)
|
||||
options:
|
||||
- "proceed"
|
||||
- "abort"
|
||||
- 'proceed'
|
||||
- 'abort'
|
||||
routes:
|
||||
"proceed": implement
|
||||
"abort": end_rejected
|
||||
'proceed': implement
|
||||
'abort': end_rejected
|
||||
on_other: implement
|
||||
state_updates:
|
||||
user_feedback: "{{choice}}"
|
||||
user_feedback: '{{choice}}'
|
||||
|
||||
implement:
|
||||
id: implement
|
||||
@@ -262,7 +269,7 @@ nodes:
|
||||
{{fix_instructions}}
|
||||
timeout: 3600
|
||||
state_updates:
|
||||
coder_result: "{{output}}"
|
||||
coder_result: '{{output}}'
|
||||
next: route_coder_result
|
||||
|
||||
route_coder_result:
|
||||
@@ -399,7 +406,7 @@ nodes:
|
||||
Preserve severity tags in your findings.
|
||||
timeout: 1200
|
||||
state_updates:
|
||||
review_report: "{{output}}"
|
||||
review_report: '{{output}}'
|
||||
next: route_review
|
||||
|
||||
route_review:
|
||||
@@ -517,23 +524,23 @@ nodes:
|
||||
Approve this step? (Answer with anything else to send revision
|
||||
instructions straight to the implementer.)
|
||||
options:
|
||||
- "approve"
|
||||
- "revise"
|
||||
- 'approve'
|
||||
- 'revise'
|
||||
routes:
|
||||
"approve": end_success
|
||||
"revise": get_revision
|
||||
'approve': end_success
|
||||
'revise': get_revision
|
||||
on_other: revise_from_choice
|
||||
state_updates:
|
||||
user_feedback: "{{choice}}"
|
||||
user_feedback: '{{choice}}'
|
||||
|
||||
get_revision:
|
||||
id: get_revision
|
||||
type: input
|
||||
description: Collect revision instructions, then loop back through implement -> verify -> handoff.
|
||||
question: "What should change? Your comments go to the implementer verbatim."
|
||||
validation: "len(input) > 0"
|
||||
question: 'What should change? Your comments go to the implementer verbatim.'
|
||||
validation: 'len(input) > 0'
|
||||
state_updates:
|
||||
fix_instructions: "{{input}}"
|
||||
fix_instructions: '{{input}}'
|
||||
next: implement
|
||||
|
||||
revise_from_choice:
|
||||
|
||||
Reference in New Issue
Block a user