Blind acceptance gate. Receives the human's brief, the repository and a run command - never plan.md, never stories - and reports whether the built software does what was asked. Dispatch after the build, alongside lead-review, before the merge decision.
Independent coverage check at plan time. Receives ONLY brief.md and plan.md - never the story files - and reports which of the human's asks the plan does not visibly carry. Dispatch before the approval stop; after it, the check is theatre.
Documentation drone. After a story merges, updates memory/map slices and docs/wiki notes to reflect the change. Use post-merge or whenever /vulyk-status reports staleness. Keeps external memory truthful.
Reconnaissance unit. Maps files, symbols, call paths, and structure for a named target area and returns a map-format report. Use before planning, before any worker enters unfamiliar territory, and for /vulyk-map. Cheap by design - dispatch liberally, in parallel.
Design authority for consequential technical decisions - schema changes, module boundaries, dependency choices, migration strategies. Produces ADRs. Use on Tier 4 tasks or whenever a story reveals an architectural fork.
Adversarial review gate before merge. Hunts for correctness bugs, security issues, broken invariants, silent scope creep, reinvention, unrecorded narrowing, invented facts, and test theater. Use after /vulyk-build completes, or on any diff the Queen does not fully trust.
Memory consolidation and garbage collection. The ONLY agent that merges into memory/learnings and prunes memory files. Used by /vulyk-gc and /vulyk-evolve. Prevents concurrent-write races by design.
Delegated strategic planner for Tier 3-4 goals. Synthesizes scout reports and memory into an epic/story breakdown. Use when the main session wants a deep plan drafted without burning its own context. Never reads source code.
Implements exactly one story from docs/specs. The workhorse of the hive - use for all Tier 1-4 implementation. Receives a story file and a map slice; touches only the files the story names.
Writes or repairs tests for exactly one story. Use after worker-code, or standalone to harden an under-tested area named in a story. Tests behavior, not implementation details.