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>
95 lines
1.8 KiB
JSON
95 lines
1.8 KiB
JSON
{
|
|
"version": 1,
|
|
"memory": {
|
|
"root": ".agents",
|
|
"committed": [
|
|
"architecture.md",
|
|
"conventions.md",
|
|
"memory",
|
|
"specs",
|
|
"runs/*/journal.md"
|
|
],
|
|
"ignored": [
|
|
".cache",
|
|
"runs/*/events.ndjson",
|
|
"runs/*/board.md"
|
|
],
|
|
"tokenBudget": 8000,
|
|
"compactAtPercent": 85
|
|
},
|
|
"artifacts": {
|
|
"architecture": true,
|
|
"conventions": true,
|
|
"adr": true,
|
|
"journal": true,
|
|
"spec": true
|
|
},
|
|
"index": {
|
|
"include": [
|
|
"**/*"
|
|
],
|
|
"exclude": [
|
|
"**/node_modules/**",
|
|
"**/.git/**",
|
|
"**/dist/**",
|
|
"**/build/**",
|
|
"**/target/**",
|
|
"**/vendor/**",
|
|
"**/*.min.*",
|
|
"**/.agents/**"
|
|
],
|
|
"depth": 3,
|
|
"budget": 1200
|
|
},
|
|
"models": {
|
|
"tiers": {
|
|
"cheap": "claude-haiku-4.5",
|
|
"mid": "claude-sonnet-5",
|
|
"strong": "claude-opus-5"
|
|
},
|
|
"roles": {
|
|
"conductor": "strong",
|
|
"interrogator": "strong",
|
|
"scout": "cheap",
|
|
"architect": "strong",
|
|
"splitter": "mid",
|
|
"builder": "mid",
|
|
"verifier": "cheap",
|
|
"reviewer": "strong",
|
|
"integrator": "strong",
|
|
"scribe": "cheap"
|
|
}
|
|
},
|
|
"ralph": {
|
|
"maxIterations": 4,
|
|
"exitCriteria": [
|
|
"verify-commands-exit-zero",
|
|
"acceptance-criteria-checked",
|
|
"structural-gate-passes",
|
|
"reviewer-approves",
|
|
"no-out-of-scope-files"
|
|
],
|
|
"onMaxIterations": "escalate"
|
|
},
|
|
"verify": {
|
|
"commands": [
|
|
{
|
|
"name": "test",
|
|
"command": "npm run test"
|
|
}
|
|
],
|
|
"autodetected": true
|
|
},
|
|
"concurrency": {
|
|
"maxWriteLanes": 4,
|
|
"readOnlyFanOut": 6
|
|
},
|
|
"isolation": {
|
|
"backend": "worktree"
|
|
},
|
|
"context7": {
|
|
"required": true,
|
|
"envVar": "CONTEXT7_API_KEY"
|
|
}
|
|
}
|