Deepwork Implementer
Hidden work tier for tickets that change code or files: writes the failing test (tests phase) and the least code that passes it (code phase), test-first, with one commit per ticket. Same contract as deepwork-worker, with more reasoning. Pin a strong model here (model: <provider::model>).
- model
- inherited
- effort
- high
- extends
- deepwork-worker
- icon
- code
- color
- blue
- visibility
- hidden from the picker
no skills preloaded.
coder::
update-fileide0.12.32schema Edit one or more files: batched line ops (1-based, inclusive, applied bottom-up), then regex replace ops; each file commits atomically. To rewrite a whole file use coder::create-file with overwrite: true. To replace a large region use two short anchors joined by .*? with dot_matches_newline: true instead of quoting it. Paths: relative to the primary root or absolute inside an allowed root (see coder::info).
request - filesobject[]required
- opsone of[]requiredone of (4)variant 1
- at_lineinteger· uint32requiredmin 0
- contentstringrequired
- opstringrequiredenum: insert
variant 2- from_lineinteger· uint32requiredmin 0
- opstringrequiredenum: remove
- to_lineinteger· uint32requiredmin 0
variant 3- contentstringrequired
- from_lineinteger· uint32requiredmin 0
- opstringrequiredenum: update_lines
- to_lineinteger· uint32requiredmin 0
variant 4- dot_matches_newlineboolean
When true `.` also matches newline, so a short pattern like `start.*?end` spans lines; by default a multi-line pattern matches nothing.
- expect_matchesinteger· uint64min 0
Expected match count; a mismatch fails this file with C210 and writes nothing (0 asserts absence). Omit to replace all matches.
- ignore_caseboolean
- opstringrequiredenum: replace
- patternstringrequired
- replacementstringrequired
Substitution text; $1/${1}/$name/${name} expand captures ($0 = whole match), a literal $ is written $$ (`$${name}`). Unknown references fail C210.
- pathstringrequired
File to edit.
response - resultsobject[]required
- appliedinteger· uint32requiredmin 0
Number of operations applied (only meaningful when `success`).
- echoesobject[]required
Per-op bounded post-apply echoes for edit verification; each applied op returns a snapshot of the affected region (±2 context lines) so the caller can confirm the edit landed at the right position without receiving the full file body. See `OpEcho` for field semantics. Empty on failure. Always present on the wire.
- elidedinteger· uint64min 0
Number of middle lines elided from a large region: for line ops, set when the affected region exceeded the per-echo cap; for replace sites, the count of inner lines between the region's echoed first and last line (set when the region spans >2 lines).
- from_lineinteger· uint64requiredmin 0
1-based line number of the first echoed line (after all ops applied).
- linesstring[]required
The echoed lines, post-apply. When the region is large, middle lines are elided and `elided` is set to indicate how many were skipped.
- op_indexinteger· uint32requiredmin 0
Index of the op in the request's ops array (0-based).
- total_replacementsinteger· uint64min 0
Total number of replacements the regex op made across the whole file (set only on replace-op site echoes, duplicated on each site). Sites are capped at 5 — when more matched, this count is the only record of the extras.
- echoes_truncatedbooleanrequired
True when the total echo budget (~4 KiB) was exhausted before all op echoes could be emitted. Use `coder::read-file` to inspect the full result if needed. Always present on the wire.
- errorany of
Structured error for this entry. `code` is stable for programmatic branching (e.g. `"C211"` for not-found-or-denied; `"C210"` for bad input such as overlapping ops). `message` carries the corrective action an LLM agent needs to make a successful second call.
any of (2)variant 1- codestringrequired
Stable error code, e.g. "C211". See the README error table.
- messagestringrequired
Human/LLM-readable message: problem + actual values + corrective next call.
variant 2valuenull - new_line_countinteger· uint64requiredmin 0
Final line count after applying (only meaningful when `success`).
- noticestring
Set when ops were sent without `op` and it was inferred from their keys; send `op` explicitly.
- pathstringrequired
Canonical absolute path (resolved through the jail); the caller's input verbatim when resolution failed.
- successbooleanrequired
coder::
create-fileide0.12.32schema Create one or more files atomically; per-file overwrite and parents flags. For a conflict-safe overwrite pass the revision from coder::read-file as expected_revision (stale revision: C221, nothing written). Paths: relative to the primary root or absolute inside an allowed root (see coder::info).
request - filesobject[]required
- contentstringrequired
- expected_revisionstring
Optimistic-concurrency guard for an overwrite: the `revision` from coder::read-file; if the content changed the entry fails C221 unwritten.
- modestring
Octal permission bits as a string, e.g. "0644". Defaults to "0644".
- overwriteboolean
When false (the default), refuse to write if `path` already exists.
- parentsboolean
Create missing parent directories. Defaults to true so a single `coder::create-file` call can scaffold a fresh subtree.
- pathstringrequired
File to create.
response - resultsobject[]required
- bytes_writteninteger· uint64requiredmin 0
- errorany of
Structured error for this entry. `code` is stable for programmatic branching (e.g. `"C213"` means already-exists; pass `overwrite=true` to replace). `message` carries the corrective action an LLM agent needs to make a successful second call.
any of (2)variant 1- codestringrequired
Stable error code, e.g. "C211". See the README error table.
- messagestringrequired
Human/LLM-readable message: problem + actual values + corrective next call.
variant 2valuenull - pathstringrequired
Canonical absolute path (resolved through the jail); the caller's input verbatim when resolution failed.
- revisionstring
Opaque revision for the exact bytes written. Supply this as `expected_revision` on a later overwrite to avoid lost updates.
- successbooleanrequired