Skip to content

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

  1. Activate dev mode so dev_notes surface in subsequent knowledge queries:
`mcp__work-buddy__wb_run("dev_mode_toggle", {"enabled": true})`
  1. Identify the subsystem you are about to modify in one short phrase (for your own framing; not submitted as output).

  2. Issue at least one agent_docs call targeting that subsystem at depth="full". Prefer scope browsing if you do not know the exact path:

  3. Exact: mcp__work-buddy__wb_run("agent_docs", {"path": "architecture/embedding-service", "depth": "full"})

  4. Browse: mcp__work-buddy__wb_run("agent_docs", {"scope": "architecture/"})
  5. Search: mcp__work-buddy__wb_run("agent_docs", {"query": "<natural-language question>"})

  6. 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.

  7. Advance this step via wb_advance with 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.