Parallel fleet audit (2 background agents) + direct work: - src/commands/memory.mjs: `memory put --allow-secrets` was read as `flags.allowSecrets` (camelCase) but the CLI parser only emits kebab-case keys, so the flag was always undefined/false. Fixed to `flags['allow-secrets']`. - Docs: `lh graph --brief` was referenced 14x across 5 agent.md files, harness.instructions.md, 4 SKILL.md files, onboard.prompt.md, and README, but `lh graph` has no --brief flag (terse output is already the default, --json/--severity are the only flags). Corrected every reference to match actual CLI surface. - .github/workflows/ci.yml: run npm install/validate/test on node 20+22. - Self-dogfooded `lh init --yes` in this repo, producing .agents/ (harness.config.json, architecture.md, conventions.md, memory shards). `lh doctor` now reports all required checks green. - Deduped .gitignore harness block against init's auto-managed block. Verified: 53/53 tests pass, validate 0 errors, doctor all-green. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
52 lines
1.6 KiB
Markdown
52 lines
1.6 KiB
Markdown
---
|
|
applyTo: '**'
|
|
description: Always-on lean harness behavior, token discipline, style, self-documenting rules, and scope guardrails.
|
|
---
|
|
|
|
# Lean Harness Rules
|
|
|
|
## Token discipline
|
|
|
|
1. Prefer `lh index --budget <N>` over raw tree reads.
|
|
2. Prefer `lh graph` over verbose diagnostics.
|
|
3. Load only `.agents/memory/INDEX.md` by default.
|
|
4. Pull memory shards only on demand with `lh memory get`.
|
|
5. Return summaries, tables, and paths instead of file dumps.
|
|
6. Keep skill bodies short. Use agents and `lh` commands for detail.
|
|
|
|
## Imperative style
|
|
|
|
1. Write commands as actions.
|
|
2. Use short lines.
|
|
3. Avoid motivational prose.
|
|
4. Avoid generic LLM advice.
|
|
5. State inputs, outputs, gates, and stop conditions.
|
|
|
|
## Self-documenting work
|
|
|
|
1. Write decisions to `.agents/specs/<slug>/decisions.md`.
|
|
2. Write specs to `.agents/specs/<slug>/spec.md`.
|
|
3. Write DAGs to `.agents/specs/<slug>/plan.dag.json`.
|
|
4. Write run events to `.agents/runs/<id>/events.ndjson` through `lh run event`.
|
|
5. Write journals to `.agents/runs/<id>/journal.md`.
|
|
6. Keep ADRs inside `.agents/architecture.md`.
|
|
7. Keep durable conventions in `.agents/conventions.md`.
|
|
|
|
## Scope rule
|
|
|
|
1. Respect lane scope globs exactly.
|
|
2. Create write lanes with `lh lane create` before editing.
|
|
3. Work inside the assigned worktree for write lanes.
|
|
4. Never create files outside the lane scope.
|
|
5. Stop and escalate when required scope is missing.
|
|
6. Run `lh graph` before claiming done.
|
|
|
|
## Pipeline rule
|
|
|
|
1. Design before plan.
|
|
2. Require user gate after design.
|
|
3. Plan before build unless fast track applies.
|
|
4. Run Ralph loop for every write lane.
|
|
5. Merge lanes sequentially.
|
|
6. Run one full verify after integration.
|