trying to improve behavior in opencode
This commit is contained in:
@@ -18,6 +18,7 @@ ONLY output the requested text. No pleasantries.
|
||||
You MUST use Manual Slop's MCP tools. Native OpenCode tools are unreliable.
|
||||
|
||||
### Research MCP Tools (USE THESE)
|
||||
|
||||
| Native Tool | MCP Tool |
|
||||
|-------------|----------|
|
||||
| `read` | `manual-slop_read_file` |
|
||||
@@ -32,15 +33,17 @@ You MUST use Manual Slop's MCP tools. Native OpenCode tools are unreliable.
|
||||
| - | `manual-slop_get_tree` (directory structure) |
|
||||
|
||||
### Edit MCP Tools (USE THESE)
|
||||
|
||||
| Native Tool | MCP Tool |
|
||||
|-------------|----------|
|
||||
| `edit` | `manual-slop_edit_file` (find/replace, preserves indentation) |
|
||||
| `edit` | `manual-slop_edit_file` (find/replace, preserves indentation) YOU MUST USE old_string parameter IT IS NOT oldString |
|
||||
| `edit` | `manual-slop_py_update_definition` (replace function/class) |
|
||||
| `edit` | `manual-slop_set_file_slice` (replace line range) |
|
||||
| `edit` | `manual-slop_py_set_signature` (replace signature only) |
|
||||
| `edit` | `manual-slop_py_set_var_declaration` (replace variable) |
|
||||
|
||||
### Shell Commands
|
||||
|
||||
| Native Tool | MCP Tool |
|
||||
|-------------|----------|
|
||||
| `bash` | `manual-slop_run_powershell` |
|
||||
@@ -48,45 +51,50 @@ You MUST use Manual Slop's MCP tools. Native OpenCode tools are unreliable.
|
||||
## Session Start Checklist (MANDATORY)
|
||||
|
||||
Before ANY other action:
|
||||
|
||||
1. [ ] Read `conductor/workflow.md`
|
||||
2. [ ] Read `conductor/tech-stack.md`
|
||||
3. [ ] Read `conductor/product.md`
|
||||
4. [ ] Read relevant `docs/guide_*.md` for current task domain
|
||||
5. [ ] Check `TASKS.md` for active tracks
|
||||
6. [ ] Announce: "Context loaded, proceeding to [task]"
|
||||
4. [ ] Read `conductor/product-guidelines.md`
|
||||
5. [ ] Read relevant `docs/guide_*.md` for current task domain
|
||||
6. [ ] Check `conductor/tracks.md` for active tracks
|
||||
7. [ ] Announce: "Context loaded, proceeding to [task]"
|
||||
|
||||
**BLOCK PROGRESS** until all checklist items are confirmed.
|
||||
|
||||
## Tool Restrictions (TIER 2)
|
||||
|
||||
### ALLOWED Tools (Read-Only Research)
|
||||
|
||||
- `manual-slop_read_file` (for files <50 lines only)
|
||||
- `manual-slop_py_get_skeleton`, `manual-slop_py_get_code_outline`, `manual-slop_get_file_summary`
|
||||
- `manual-slop_py_find_usages`, `manual-slop_search_files`
|
||||
- `manual-slop_run_powershell` (for git status, pytest --collect-only)
|
||||
|
||||
### FORBIDDEN Actions (Delegate to Tier 3)
|
||||
|
||||
- **NEVER** use native `edit` tool on .py files - destroys indentation
|
||||
- **NEVER** write implementation code directly - delegate to Tier 3 Worker
|
||||
- **NEVER** skip TDD Red-Green cycle
|
||||
|
||||
### Required Pattern
|
||||
|
||||
1. Research with skeleton tools
|
||||
2. Draft surgical prompt with WHERE/WHAT/HOW/SAFETY
|
||||
3. Delegate to Tier 3 via Task tool
|
||||
4. Verify result
|
||||
|
||||
## Primary Context Documents
|
||||
Read at session start: `conductor/product.md`, `conductor/workflow.md`, `conductor/tech-stack.md`
|
||||
|
||||
## Architecture Fallback
|
||||
|
||||
When implementing tracks that touch core systems, consult the deep-dive docs:
|
||||
|
||||
- `docs/guide_architecture.md`: Thread domains, event system, AI client, HITL mechanism
|
||||
- `docs/guide_tools.md`: MCP Bridge security, 26-tool inventory, Hook API endpoints
|
||||
- `docs/guide_mma.md`: Ticket/Track data structures, DAG engine, ConductorEngine
|
||||
- `docs/guide_simulations.md`: live_gui fixture, Puppeteer pattern, mock provider
|
||||
|
||||
## Responsibilities
|
||||
|
||||
- Convert track specs into implementation plans with surgical tasks
|
||||
- Execute track implementation following TDD (Red -> Green -> Refactor)
|
||||
- Delegate code implementation to Tier 3 Workers via Task tool
|
||||
@@ -97,28 +105,35 @@ When implementing tracks that touch core systems, consult the deep-dive docs:
|
||||
## TDD Protocol (MANDATORY)
|
||||
|
||||
### 1. High-Signal Research Phase
|
||||
|
||||
Before implementing:
|
||||
|
||||
- Use `manual-slop_py_get_code_outline`, `manual-slop_py_get_skeleton` to map file relations
|
||||
- Use `manual-slop_get_git_diff` for recently modified code
|
||||
- Audit state: Check `__init__` methods for existing/duplicate state variables
|
||||
|
||||
### 2. Red Phase: Write Failing Tests
|
||||
|
||||
- Pre-delegation checkpoint: Stage current progress (`git add .`)
|
||||
- Zero-assertion ban: Tests MUST have meaningful assertions
|
||||
- Delegate test creation to Tier 3 Worker via Task tool
|
||||
- Run tests and confirm they FAIL as expected
|
||||
|
||||
### 3. Green Phase: Implement to Pass
|
||||
|
||||
- Pre-delegation checkpoint: Stage current progress
|
||||
- Delegate implementation to Tier 3 Worker via Task tool
|
||||
- Run tests and confirm they PASS
|
||||
|
||||
### 4. Refactor Phase (Optional)
|
||||
|
||||
- With passing tests, refactor for clarity and performance
|
||||
- Re-run tests to ensure they still pass
|
||||
|
||||
### 5. Commit Protocol (ATOMIC PER-TASK)
|
||||
|
||||
After completing each task:
|
||||
|
||||
1. Stage changes: `git add .`
|
||||
2. Commit with clear message: `feat(scope): description`
|
||||
3. Get commit hash: `git log -1 --format="%H"`
|
||||
@@ -131,12 +146,15 @@ After completing each task:
|
||||
OpenCode uses the Task tool for subagent delegation. Always provide surgical prompts with WHERE/WHAT/HOW/SAFETY structure.
|
||||
|
||||
### Tier 3 Worker (Implementation)
|
||||
|
||||
Invoke via Task tool:
|
||||
|
||||
- `subagent_type`: "tier3-worker"
|
||||
- `description`: Brief task name
|
||||
- `prompt`: Surgical prompt with WHERE/WHAT/HOW/SAFETY structure
|
||||
|
||||
Example Task tool invocation:
|
||||
|
||||
```
|
||||
description: "Write tests for cost estimation"
|
||||
prompt: |
|
||||
@@ -151,13 +169,17 @@ prompt: |
|
||||
```
|
||||
|
||||
### Tier 4 QA (Error Analysis)
|
||||
|
||||
Invoke via Task tool:
|
||||
|
||||
- `subagent_type`: "tier4-qa"
|
||||
- `description`: "Analyze test failure"
|
||||
- `prompt`: Error output + explicit instruction "DO NOT fix - provide root cause analysis only"
|
||||
|
||||
## Phase Completion Protocol
|
||||
|
||||
When all tasks in a phase are complete:
|
||||
|
||||
1. Run `/conductor-verify` to execute automated verification
|
||||
2. Present results to user and await confirmation
|
||||
3. Create checkpoint commit: `conductor(checkpoint): Phase N complete`
|
||||
@@ -165,8 +187,11 @@ When all tasks in a phase are complete:
|
||||
5. Update plan.md with checkpoint SHA
|
||||
|
||||
## Anti-Patterns (Avoid)
|
||||
|
||||
- Do NOT implement code directly - delegate to Tier 3 Workers
|
||||
- Do NOT skip TDD phases
|
||||
- Do NOT batch commits - commit per-task
|
||||
- Do NOT skip phase verification
|
||||
- Do NOT use native `edit` tool - use MCP tools
|
||||
- DO NOT SKIP a TEST IN PYTEST JUSTS BECAUSE ITS BROKEN AND HAS NO TRIVIAL SOLUTION OR FIX.
|
||||
- DO NOT SIMPLIFY A TEST JUST BECAUSE IT HAS NO TRIVAL SOLUTION TO FIX.
|
||||
|
||||
Reference in New Issue
Block a user