| name | dev-inbox |
| description | Use when the trader agent needs to file, query, or review a DEV ticket. Single-channel communication between the agent and the developer over .trader/events.jsonl. Triggers on "I need DEV to fix X", "file a DEV ticket", "is DEV-NNN done", "what's open in the dev inbox", or any time the agent identifies a bug, missing feature, or config drift it cannot self-fix. |
DEV Inbox Skill
The DEV inbox is a single typed-event channel inside .trader/events.jsonl. Two
event types: DEV_REQUEST (agent → DEV) and DEV_REPLY (DEV → agent). All
operations go through trader dev. Manual edits to events.jsonl are forbidden.
When to file a DEV_REQUEST
- A bug requires code changes the agent cannot make at runtime.
- A missing feature blocks a strategy (filter, scoring, validator, etc.).
- A config drift is observable but the canonical source needs review.
- A piece of infrastructure is unreliable (gateway, cron, alerting).
Do not file a request for: market regime changes, position-level decisions,
or anything the agent should resolve itself within its own pipeline.
File a request
echo "Detailed problem statement..." > /tmp/problem.txt
uv run trader dev open \
--priority high \
--complexity S \
--title "Add max OTM% filter to catalyst proposals" \
--problem-file /tmp/problem.txt \
--acceptance "rejects 32% OTM macro candidate" \
--acceptance "configurable via profile.json" \
--validation "trader catalyst proposals --type macro" \
--files trader/catalysts/scanner.py,.trader/config/profile.json \
--depends-on "DEV-105" \
--source portfolio-conductor
Output: JSON {"id": "DEV-NNN", "event": {...}}. The id is allocated atomically
under a fcntl lock on events.jsonl — no collisions possible.
Query open tickets
uv run trader dev list --open
uv run trader dev list --open --priority critical
uv run trader dev show DEV-117
Status is derived from the latest DEV_REPLY event for each ticket. No reply
yet ⇒ status is proposed. Terminal statuses: resolved, resolved_with_caveat,
rejected, superseded.
Reply to a ticket (DEV only)
trader dev reply is gated behind TRADER_ROLE=dev and is intentionally
unavailable to the trader agent. The agent never invokes this command.
Schema invariants
- IDs match
DEV-\d{3,}, strictly monotonic, allocated only by trader dev open.
priority: critical | high | medium | low.
complexity: S | M | L.
acceptance_criteria must contain at least one item.
dependencies is a list of DEV-NNN ids (or empty).
- Long-form context lives in the
problem field — there are no sidecar files.