Every agent's PROCEDURE/OUTPUTS referenced lh subcommands vaguely (e.g.
'Run lh run event', 'lh memory get --shard failures'), forcing models to
guess flags at runtime instead of following the profile. Two real bugs
found this way:
- 'lh memory get --shard X' silently ignores --shard (it's a positional
arg on get, not a flag) and returns the whole INDEX.md instead of the
targeted shard. Fixed to 'lh memory get X' everywhere.
- lh run event/lane create calls had no required --type/--status/--id/
--kind/--scope documented, so agents had to trial-and-error discover
them. Added full, exact invocation syntax inline for every command
each agent actually issues (run event, lane create, memory get/put,
host --strategy, graph).
- All agent profiles used the misspelled 'user-invokable' property, which
Copilot CLI silently ignores, so internal-only agents (scout, splitter,
builder, verifier, integrator, scribe) were never actually hidden from
the /agent picker. Renamed to the documented 'user-invocable'.
- conductor/architect instructions said only 'Run lh run event' with no
flags, forcing the model to trial-and-error discover --type/--status/
etc. Documented the exact lh run start/event/end CLI syntax inline.
Recovered from crashed session (Node OOM). Repo contains full P0-P6
scaffold: plugin.json/marketplace.json, AGENTS.md, ADRs 0001-0006,
lh CLI (init/index/graph/lane/run/memory/host/report/doctor), 10
.github/agents, 12 CLI skills, instructions, context7 mcp.json, and
unit/e2e test suite.
Fixed: run.mjs read --in-tokens/--out-tokens but tests and CLI docs
use --input-tokens/--output-tokens, so telemetry totals were always 0.
Now accepts both forms.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>