takt/builtins/en/pieces/research.yaml
nrslib 2460dbdf61 refactor(output-contracts): unify OutputContractEntry to item format with use_judge and move runtime dir under .takt
- Remove OutputContractLabelPath (label:path format), unify to OutputContractItem only
- Add required format field and use_judge flag to output contracts
- Add getJudgmentReportFiles() to filter reports eligible for Phase 3 status judgment
- Add supervisor-validation output contract, remove review-summary
- Enhance output contracts with finding_id tracking (new/persists/resolved sections)
- Move runtime environment directory from .runtime to .takt/.runtime
- Update all builtin pieces, e2e fixtures, and tests
2026-02-15 11:17:55 +09:00

117 lines
3.2 KiB
YAML

name: research
description: Research piece - autonomously executes research without asking questions
piece_config:
provider_options:
codex:
network_access: true
opencode:
network_access: true
max_movements: 10
initial_movement: plan
movements:
- name: plan
persona: research-planner
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: |
## Piece Status
- Iteration: {iteration}/{max_movements} (piece-wide)
- Movement Iteration: {movement_iteration} (times this movement has run)
- Movement: plan
## Research Request
{task}
## Supervisor Feedback (for re-planning)
{previous_response}
## Additional User Inputs
{user_inputs}
## Instructions
Create a research plan for the above request.
**Important**: Do not ask the user questions.
- Make assumptions for unclear points and proceed
- If multiple interpretations exist, include all in the research scope
- If there is feedback from Supervisor, incorporate it into the plan
rules:
- condition: Planning is complete
next: dig
- condition: Insufficient information to create a plan
next: ABORT
- name: dig
persona: research-digger
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: |
## Piece Status
- Iteration: {iteration}/{max_movements} (piece-wide)
- Movement Iteration: {movement_iteration} (times this movement has run)
- Movement: dig
## Original Research Request
{task}
## Research Plan
{previous_response}
## Additional User Inputs
{user_inputs}
## Instructions
Execute the research according to the plan above.
**Important**: Do not ask the user questions.
- Research within the scope of what can be investigated
- Report items that could not be researched as "Unable to research"
Available tools:
- Web search
- GitHub search (gh command)
- Codebase search
- File reading
rules:
- condition: Research is complete
next: supervise
- condition: Unable to conduct research
next: ABORT
- name: supervise
persona: research-supervisor
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
instruction_template: |
## Piece Status
- Iteration: {iteration}/{max_movements} (piece-wide)
- Movement Iteration: {movement_iteration} (times this movement has run)
- Movement: supervise (research quality evaluation)
## Original Research Request
{task}
## Digger's Research Results
{previous_response}
## Instructions
Evaluate the research results and determine if they adequately answer the original request.
**Important**: If there are issues, include specific instructions for the Planner.
pass_previous_response: false
rules:
- condition: Research results adequately answer the original request
next: COMPLETE
- condition: Research results are insufficient and replanning is needed
next: plan