Dev-Mode Orientation¶
Forced orientation before dev work — activate dev mode, search the knowledge store for the subsystem being modified, read the code, then declare the prior art found. Only after advancing the step with a non-trivial declaration may the agent proceed with the actual task.
Workflow name: dev-orient
Execution: main
Override not allowed
Steps¶
| # | ID | Name | Type | Depends on |
|---|---|---|---|---|
| 1 | orient |
Search, read, and declare prior art | reasoning |
Step instructions¶
orient¶
(main, reasoning)
Before touching code, orient on the subsystem you are about to modify. The default dev failure mode is acting on general knowledge without consulting the codebase — this workflow exists because agents (including the one that most recently created it) have skipped this step and written wrong code as a result.
Required actions¶
- Activate dev mode so
dev_notessurface in subsequent knowledge queries:
`mcp__work-buddy__wb_run("dev_mode_toggle", {"enabled": true})`
-
Identify the subsystem you are about to modify in one short phrase (for your own framing; not submitted as output).
-
Issue at least one
agent_docscall targeting that subsystem atdepth="full". Prefer scope browsing if you do not know the exact path: -
Exact:
mcp__work-buddy__wb_run("agent_docs", {"path": "architecture/embedding-service", "depth": "full"}) - Browse:
mcp__work-buddy__wb_run("agent_docs", {"scope": "architecture/"}) -
Search:
mcp__work-buddy__wb_run("agent_docs", {"query": "<natural-language question>"}) -
Open the relevant code files — not just headers, read them. Identify existing wrappers, classes, or functions that already solve part of the problem. If the subsystem has tests, at least skim their shape.
-
Advance this step via
wb_advancewith a dict in this exact shape. Empty or trivial lists are a signal you have not oriented — go deeper and try again:
{
"units_read": ["<path/to/unit>", ...],
"files_read": ["<repo-relative/or/absolute/path>", ...],
"wrappers_found": ["<existing function/class/capability>", ...]
}
If you are tempted to skip¶
That is the exact signal you need this step most. Your feeling of already-understanding is how previous dev agents have ended up writing wrong code. The cost of a minute of discovery is trivial against the cost of a wrong commit. Orient anyway.
What this step does NOT require¶
- A long prose analysis — the three lists are enough.
- Reading every file in the subsystem — just the ones load-bearing for the change.
- Loading every related knowledge unit — one or two at
depth="full"is usually the right amount.
Only after advancing with a non-trivial declaration may you return to the user and proceed with the actual dev task.