Invocation for
vc-canary(launchercanary)Same three-path shape as the fleet — see DELEGATION_MATRIX.md:
Path Literal 1. User-launched worker vibecrafted canary <agent>2. Interactive /vc-canary— execute in this session3. Agent-operator vibecrafted canary <agent>via dispatchRoot defaults to
$PWD. Do not inventvibecrafted workflowas a stand-in.
vc-canary — ownership catalog
Overview
Canary answers: this repo needs a proper catalog, but first I must know
what to catalog. It builds a repo-atlas from loctree organs (not from
context --full), spawns one agent per scope (variable N), adds missing
docstrings only, commits once, then reports findings for discussion.
Sense organ (mandatory)
| Question | Organ | How |
|---|---|---|
| What planes exist? | repo-view / agent.json | canary_cli repo-view / atlas |
| What files/units live there? | snapshot via stream | canary_cli atlas → inventory.jsonl |
| What hurts after? | findings | atlas copies signals.json |
Forbidden as inventory: loct context --full structural.files (hub ranking only).
Forbidden: loading raw multi‑MB snapshot.json into the model context.
Quick Start
cd /path/to/repo
uv run --python 3.12 path/to/vc-canary/scripts/canary_cli.py atlas --refresh
# → ./.loctree/atlas/repo-atlas.json + inventory.jsonl + coverage.json
Interactive:
/vc-canary
Worker:
vibecrafted canary claude --prompt 'Catalog this repo; agent pin default if unset'
Pipeline
- ORIENT —
loct auto(viaatlas --refresh); coverage receipt. - SENSE — read
repo-atlas.json+planes_hint+ hubs; you write./.loctree/canary/scopes.jsonand one brief per scope (scopes/<id>.brief.md). N is not fixed — e.g.core,macos,Makefile,scripts. - FLEET — 1 agent = 1 scope. Hybrid: N≤8 native; N>8 external. Agent pin: user; else session defaults (claude Sonnet 5 / codex gpt-5.6-terra / grok-4.5). Await = session wake (await-arming).
- SETTLE — merge catalogs;
diff-audit(no auto-revert — examine why, ask operator); compile/lint via plugin; one commit. - FINDINGS — notes signals ×
loct follow/ findings.json; only confirmed. - REPORT → DISCUSS → DECIDE — no silent memex/aicx seed.
Utility scripts
CLI="uv run --python 3.12 …/vc-canary/scripts/canary_cli.py"
$CLI snapshot-path --root .
$CLI repo-view --root .
$CLI atlas --root . --refresh
$CLI merge-catalog --root .
$CLI diff-audit --root .
$CLI coverage --root .
All writes go under ./.loctree/ (atlas + canary). Status on stdout; data in files.
Dependencies
| Skill / tool | Why |
|---|---|
loct / loctree |
snapshot + repo-view + findings |
vc-loctree |
structural doctrine |
vc-dispatch await-arming |
fleet wake, not log files |
vc-delegate / vc-agents |
hybrid native vs external |
Agent pin defaults (when user silent)
Prefer whichever launcher is live in the session, in order:
claude (Sonnet 5 class) · codex (gpt-5.6-terra class) · grok (grok-4.5).
Common mistakes
- Using
loct-context-full.jsonas the file inventory - Fixed agent count instead of scopes from sense
( await > file ) &false-armed await- Auto-revert on bad canary diff
- Codescribe-style catalog without
role/authority(Rust plugin must enforce)
Verify before the handoff
See VERIFICATION_RULE.md. Green gates ≠ useful catalog.
Coverage pass: true and non-empty inventory required before fleet.
Playbook evidence: canary-sweep rev2 + codescribe/vibecrafted field runs 2026-08-09.
Skill-first atlas dogfoods loctree organs before native loct atlas.