All notable changes to this project will be documented in this file.
0.10.1 - 2026-08-19
- Token-boundary task keyword matching so short tokens (
rl,prod) cannot match insideworld/product. - Route JSON now emits
sandbox_mode,approval_policy, andremote_allowed(Codex-style split: venue vs approval vs remote). hardened-execlogs ClaudeSubagentStart/SubagentStopviahooks/isolation_guard.py.docs/runtime-isolation.md— worktrees isolate files, not ports.- OSS intake:
CODE_OF_CONDUCT.md,SUPPORT.md, issue/PR templates. lacp-skill-auditdefaults to this repository (plugin/,hooks/), not~/.agents/skills.adopt-localwrapsclaude+codexonly;--with-hermes/--with-grokare opt-in.
open-source-checktreats missingdist/SHA256SUMSas WARN on source checkouts.- Doctor treats an unwrapped
hermesas PASS (wrapping PATH hermes double-gates crons). - Disabled GitHub Action templates pin
actions/checkoutto SHA v4.2.2.
- Operator-only Builderz client disk scripts from the public tree.
- Thinking-partner system — five-part "thinking partnership" layer for AI sessions (#27):
bin/lacp-focusCLI (init,show,edit,age,check) — living focus brief with 4-question template (current problem, beliefs/uncertainties, open decisions, 30-day goal). Auto-injected at session start with staleness warnings.config/context-modes/— three context modes (thinking-partner,implementation,review) loaded viaLACP_CONTEXT_MODEenv var. Activates existingsession_start.pyplumbing.- Blind spot analysis in
stop_quality_gate.py— opt-in Ollama step (LACP_BLIND_SPOT_ENABLED=1) surfacing unchallenged assumptions and avoided questions before allowing stop. hooks/thinking_nudge.py—UserPromptSubmithook detecting bare questions without stated positions. Opt-in viaLACP_THINKING_NUDGE=1orLACP_CONTEXT_MODE=thinking-partner. Session cooldown prevents over-nudging.bin/lacp-reflectCLI (summary,prompt,reflect) — weekly reflection pulling provenance chain, generating context-specific prompts, reporting focus brief staleness.- New hook profile:
thinking-partnerforlacp-claude-hooks apply-profile. - CI:
test-focus.sh,test-context-modes.sh,test-thinking-nudge.sh,test-blind-spot.sh,test-reflect.sh.
bin/lacp-brain-stack auditsubcommand to report memory coverage across all Claude Code projects (total projects, sessions, with/without memory, top missing by session count).bin/lacp-brain-stack scaffold-allsubcommand to creatememory/MEMORY.md+ topic stubs for projects with session files but no memory directory (--min-sessions N,--dry-run,--json).bin/lacp-brain-stack init --with-gitnexusto optionally wire GitNexus code intelligence MCP server (npx gitnexus@latest mcp) into the memory stack for AST-level codebase knowledge graphs.bin/lacp-brain-stack status --jsonnow reportsgitnexus_installedandgitnexus_indexedin checks.bin/lacp-agent-idpersistent agent identity registry (show,list,register,revoke,touch).- Each
(hostname, project_slug)pair gets a stableagent-<hex8>identity that survives across sessions. showauto-registers on first use;touchincrements session count and updateslast_seen.- Registry stored at
~/.lacp/agents/registry.json.
- Each
bin/lacp-provenancecryptographic session provenance chain (start,end,verify,log,export).- Each session receipt is SHA-256 hash-chained to the previous receipt via
prev_hash/receipt_hashfields. - Chain stored as append-only JSONL at
~/.lacp/provenance/chain.jsonl. verifywalks the full chain and detects tampered or broken links.- Receipts include
agent_id,session_fingerprint,project_slug,memory_hash, and timestamps.
- Each session receipt is SHA-256 hash-chained to the previous receipt via
bin/lacptop-level dispatcher expanded withagent-idandprovenance.- Canonical memory schema added at
config/memory/node-schema.json(typed fields, confidence + provenance requirements, relation vocabulary). bin/lacp-brain-ingestnow emits schema-ready frontmatter (layer,confidence,source_urls,source_sessions,last_verified, relation scaffolding) and reports quality-gate status in JSON output.bin/lacp-memory-kpicommand to compute memory quality metrics (required_schema_coverage_pct,source_backed_pct, contradiction/stale counts).bin/lacp-brain-resolvecommand to resolve contradiction/supersession/validation state by memory note id.bin/lacp-obsidian-memory-optimizecommand to apply low-noise Obsidian graph defaults for memory workflows.bin/lacp-brain-stack statusnow checks for memory resolver/KPI tooling availability.bin/lacp-status-reportnow includes amemory_kpiblock in JSON and a Memory Quality section in markdown output.- CI coverage:
scripts/ci/test-agent-id.sh,scripts/ci/test-provenance.sh,scripts/ci/test-memory-tools.sh. docs/multi-vault-multi-hop-reasoning-spec.mdadded with a bounded, evidence-gated multi-vault reasoning design for Obsidian + Dataview (canonical entity IDs, per-hop token budgets, stop conditions, and final answer evidence contract).TODO.mdadded with a phased implementation checklist for schema normalization, Dataview pruning, retrieval scoring, hop planning/evidence gates, and QA tuning.- Phase 1 scaffolding added for multi-vault identity/schema rollout:
docs/entity-id-convention.mddocs/obsidian-frontmatter-migration-playbook.mdEntities/README.md,Entities/aliases-map.md,Entities/topic/multi-hop-reasoning.md,Entities/tool/dataview.md
docs/research/llm-debugging-robustness-notes-2026-03-23.mdadded to track verification status and practical guidance for social claims about LLM debugging brittleness.
bin/lacp-brain-stacknow uses Claude Code's native project slug naming (/path→-path) instead ofshasum-based hashing for memory directory paths. Previously scaffolded memory files in a location Claude Code would never discover.
0.3.0 - 2026-03-15
- Bootstrap
~/.lacp/directory tree with empty data files sosession_orient.shruns cleanly on fresh installs instead of silently failing. bin/lacp-system-healthmacOS/Apple Silicon developer workstation readiness checks (--json,--fix-hints,--fix).- thermal state, CPU load vs core count, memory pressure, swap usage
- Spotlight indexing exclusion audit for dev directories (
~/.cargo,~/.rustup,~/.npm,~/.nvm,~/.bun,~/work,~/miniconda3) - container runtime detection and recommendation (OrbStack vs Docker Desktop)
- Rust build config audit (sccache wrapper, incremental builds,
~/.cargo/config.toml) - UI compositor overhead checks (reduce motion/transparency, Dock/Finder animations)
- background process audit against configurable denylist (CleanMyMac, MacKeeper, Google Updater)
--fixmode applies safe auto-fixes (Spotlight exclusions)
config/system-health-policy.jsonpolicy file with tunable thresholds for all system health checks.bin/lacp-doctor --systemflag to include system health checks in doctor output.bin/lacptop-level dispatcher expanded withsystem-health.- CI coverage:
scripts/ci/test-system-health.sh. bin/lacp-postureone-shot local-first/no-external-ci posture report (--strict,--json).bin/lacp-claude-hooksto audit/repair local Claude hook/plugin cache drift (including claude-mem version/install-path mismatch repair).bin/lacp-claude-hooks apply-profile/optimizeto apply safe local hook posture profiles (minimal-stop,balanced,hardened-exec) and run one-command repair+profile+audit optimization.hardened-execprofile installs managed Claude hook guards forPreToolUse,PermissionRequest, andConfigChangeunder~/.claude/lacp-hooks.lacp-onboard/lacp-installauto Claude hook optimization by default (LACP_AUTO_HOOK_OPTIMIZE=true, opt-out via--no-auto-hook-optimize).bin/lacp-consoleinteractive slash-command shell for local orchestration workflows (/doctor,/up,/orchestrate,/worktree,/swarm,/hooks,/release,/run) with custom command loading from~/.lacp/commandsand./.lacp/commands.bin/lacp-loop-profileandbin/lacp-credential-profilefor reusable loop defaults and task-scoped credential/input-contract posture.lacp-loopnow supports--loop-profileand--credential-profileto apply reusable posture defaults while preserving explicit CLI overrides.lacp-consoleadds/loop <loop-profile> [credential-profile] -- <command...>shortcut for one-line profiled loop execution.bin/lacp-timemonthly session tracking by project/client (start/stop/active/report/month) with rollups forYYYY-MM.- default macOS auto-deps and Formula dependency baseline now include
rust,llvm, andz3as first-class LACP toolchain dependencies. lacp-reportnow includestime_trackingmonthly summary (sessions,total_hours,top_projects).lacp-consolenow auto-starts/stopslacp-timetracking for console sessions by default (opt-out:--no-auto-time), so docs/testing/coding work in a console session is counted together.- Harness contracts now support cascading IO gates via
expected_inputsandexpected_outputstask fields. lacp-harness-runnow enforces input/output task contracts at runtime before dependent task execution.lacp-harness-runnow applies verificationfailure_actionsemantics (block,require_human_review,retry_same_model,retry_stronger_model) to retry behavior.bin/lacp-bootstrap-systemone-command first-run bootstrap (install + onboard + doctor).bin/lacp-canaryfor 7-day promotion readiness gates over benchmark artifacts.bin/lacp-canary-optimizebounded optimization loop with optionalLACP_BENCH_TOP_Kauto-tuning and persistence.bin/lacp-vendor-watchto track local Claude/Codex versions and upstream docs/changelog drift snapshots.bin/lacp-automations-tuiunified local automation dashboard for schedule/orchestrate/worktree/swarm/wrapper/vendor state.bin/lacp-mcp-profilefor bounded MCP operating profile management (cli-first,mcp-selective,mcp-heavy).lacp-canaryclean baseline controls:--set-clean-baseline,--since-clean-baseline.bin/lacp-auto-rollbackfail-safe rollback command (forceslocal-only+ unadopts local wrappers) on unhealthy canary.bin/lacp-schedule-healthlaunchd automation for periodic local health artifacts (doctor/status/report).bin/lacp-policy-packwith baseline packs:config/policy-packs/starter.jsonconfig/policy-packs/strict.jsonconfig/policy-packs/enterprise.json
bin/lacp-release-prepareone-command release discipline (release-gate+canary+status+report) with optional rollback trigger.bin/lacp-loopone-task control loop (intent -> execute -> observe -> adapt) with optional verify/canary/auto-rollback stages.bin/lacp-updmux-style launcher for one-command multi-instance fanout (--instances N) with repeatable add-to-session behavior.bin/lacp-contextwithinit-template/audit/minimize/regressionfor minimal context discipline and context A/B checks.bin/lacp-lessonsfor compact self-improvement rule maintenance (add-rule,lint).bin/lacp-optimize-loopfor bounded weekly verify/canary/context/lessons optimization cycles.bin/lacp-trace-triagedeterministic clustering of failed sandbox traces (context_drift/policy_block/env_missing/test_fail) with ranked signatures and remediation recommendations.bin/lacp-context-profilefor reusable context-contract profile rendering (local-dev,ssh-prod,high-risk-migration).bin/lacp-session-fingerprintto compute deterministic runtime fingerprints (host/cwd/branch/worktree/remote-host).bin/lacp-e2ecommand group with:lacp e2e runfor local Playwright-style execution + browser evidence manifest generationlacp e2e auth-checkfor auth-pattern coverage validation over evidence manifestslacp e2e smokeone-liner local smoke workflow with optional template initialization
bin/lacp-api-e2ecommand group withrun/smokewrappers for API/backend e2e evidence + API coverage checks.bin/lacp-contract-e2ecommand group withrun/smokewrappers for smart-contract e2e evidence + invariant/revert coverage checks.config/harness/e2e-flows.example.jsondefault flow template for app/web smoke evidence setup.config/harness/api-e2e-flows.example.jsonandconfig/harness/contract-e2e-flows.example.jsonstarter templates.config/context-profiles.jsonprofile catalog with variable substitution and required-var guards.bin/lacp-swarm plannow supports advisoryreservationsper job and emits collision analysis under.collaboration(artifacted with swarm launches).bin/lacp-swarm statusnow emitscollaboration_summary(includingtop_conflicts) in JSON mode and concise collision triage hints in text mode.bin/lacp-release-verifyone-command release smoke verifier (release-publish --skip-gh+ SHA256 + archive structure + brew tap dry-run).bin/lacp-sandbox-run --context-contractwith mutating-run context enforcement (host/cwd/git branch/worktree) and structured evidence in run artifacts.bin/lacp-sandbox-runcontext-contract gate now covers remote-target commands (ssh/scp/rsync/sftp) withexpected_remote_hostvalidation.- CI coverage for new surfaces:
scripts/ci/test-bootstrap-system.shscripts/ci/test-canary-optimize.shscripts/ci/test-vendor-watch.shscripts/ci/test-automations-tui.shscripts/ci/test-auto-deps.shscripts/ci/test-canary.shscripts/ci/test-canary-baseline.shscripts/ci/test-auto-rollback.shscripts/ci/test-schedule-health.shscripts/ci/test-policy-pack.shscripts/ci/test-release-prepare.shscripts/ci/test-loop.shscripts/ci/test-context-profile.shscripts/ci/test-session-fingerprint.shscripts/ci/test-trace-triage.shscripts/ci/test-release-verify.sh
- Local-first contract is now explicit in env/policy defaults:
LACP_LOCAL_FIRST=trueLACP_NO_EXTERNAL_CI=true
bin/lacp-doctornow validates local-first/no-external-ci posture and fails when active.github/workflows/*.ymlfiles exist whileLACP_NO_EXTERNAL_CI=true.bin/lacp-release-gatenow enforces an external-CI policy gate by default (override with--allow-external-ci).bin/lacp-release-prepareandbin/lacp-release-publishnow expose/pass through--allow-external-ci.bin/lacp-test --quicknow includes strict posture validation (lacp-posture --strict).bin/lacp-testnow includesscripts/ci/test-claude-hooks.sh.- Active GitHub workflows were moved to
.github/workflows-disabled/templates to keep repository defaults local-only. scripts/ci/test-workflow-cost-policy.shnow treats “no active workflows” as a valid pass condition.bin/lacp-installnow enables fresh-system dependency auto-detection by default on macOS/Homebrew (--no-auto-depsopt-out,--auto-deps-dry-runsupported).bin/lacp-installstarter profile now auto-appliesstarterpolicy pack when managing local.env.bin/lacp-onboardnow performs default dependency auto-detection/remediation on macOS/Homebrew (--no-auto-depsopt-out).bin/lacp-canarynow treats triage gate as average issues per benchmark and counts gate failures only for explicitgate_ok=false.bin/lacp-canary-optimize --jsonnow keeps JSON parse-safe output even in--dry-runmode.bin/lacp-release-preparenow supports baseline-aware canary evaluation (--since-clean-baseline,--baseline-file).bin/lacp-release-preparenow supports optional canary remediation stage (--auto-optimize-on-fail) with post-optimize regression rollback.bin/lacp-release-preparenow supports--profile local-iterativefor one-flag local iteration defaults (quick + 3-day canary + cache/skill gate skips).bin/lacp-release-verifyHomebrew dry-run check now retries--HEADfor HEAD-only formulas and treats Cellar permission-only failures as non-fatal.bin/lacp-doctornow supports--check-limitsplus--fix-hintsto report runtime pressure/fork headroom and emit concrete remediation commands in text/JSON output.bin/lacp-orchestrateandbin/lacp-swarmnow apply runtime-pressure backoff before launches and fail fast with structuredruntime_pressureerrors when capacity stays constrained.bin/lacp-doctornow supports dependency remediation mode (--fix-deps,--auto-deps-dry-run).bin/lacp-reportnow includes wrapper observability (observability.wrappers, wrapper-routed runs, wrapper-task runs).bin/lacp-status-reportandbin/lacp-reportJSON outputs now share top-level schema fields (schema_version,kind,ok,summary).bin/lacptop-level dispatcher expanded with new commands (canary,auto-rollback,schedule-health,policy-pack,release-prepare).bin/lacptop-level dispatcher expanded withrelease-verify.bin/lacptop-level dispatcher expanded withcanary-optimize.bin/lacptop-level dispatcher expanded withloop.bin/lacptop-level dispatcher expanded withup.bin/lacptop-level dispatcher expanded withcontext,lessons, andoptimize-loop.bin/lacptop-level dispatcher expanded withmcp-profile.bin/lacp-loop --jsonnow emits deterministic failure analysis (analysis.primary_cause,analysis.secondary_causes,analysis.signals,analysis.remediation_hints,analysis.confidence) for faster post-run triage.bin/lacp-loopnow supports--context-profile+ repeatable--context-profile-var KEY=VALUEto render context contracts without hand-written JSON.bin/lacp-loopnow supports--session-fingerprint auto|<value>pass-through to sandbox-run for anti-drift guardrails.bin/lacp-workflow-run advancenow enforces explicitplan->acthandoff: planner issues token, developer must present matching--plan-token(or explicit--allow-unplanned truebypass).bin/lacp-pr-preflightnow supports optional local auto-e2e evidence generation (--auto-e2e-run) and auth-check gating before browser evidence validation.- Risk policy baseline now requires browser/e2e evidence for both
mediumandhightiers. bin/lacp-sandbox-runnow supports optional session fingerprint validation (--session-fingerprint) and enforce mode (LACP_REQUIRE_SESSION_FINGERPRINT=true) for mutating/remote-target runs.scripts/ci/test-swarm.shnow verifies reservation-collision detection behavior.- Homebrew formula command export list updated for new binaries.
- Security controls CI now covers context-contract gate behavior (
missing,mismatch,pass) for mutating commands. - Starter/strict policy packs now enforce session-fingerprint guardrails by default (
LACP_REQUIRE_SESSION_FINGERPRINT=true).
0.1.0 - 2026-02-20
bin/lacptop-level CLI dispatcher (start/install/doctor/test/...).bin/lacp-incident-drillfor scenario-based incident readiness checks with artifacts.bin/lacp-cache-auditto track prompt cache effectiveness from local Claude/Codex history logs.- Cache audit upgraded to parse provider-native schemas (
.codex/sessionstoken_count and.claude/projectsassistant usage). bin/lacp-cache-guardto enforce minimum cache hit-rate and usage-event thresholds.bin/lacp-skill-auditto detect high-risk skill supply-chain patterns (curl|bash, reverse shell signatures, etc.).bin/lacp-release-gatefor one-command pre-live go/no-go checks across tests, doctor, cache, and skill audit.config/risk-policy-contract.json+config/risk-policy-contract.schema.jsonfor one-source PR gate policy contract.bin/lacp-pr-preflightto enforce risk-tier required checks, docs drift rules, current-head review state, and browser evidence gates.config/harness/browser-evidence.schema.json+bin/lacp-browser-evidence-validatefor machine-verifiable UI/user-flow evidence.bin/lacp-orchestrateoptional tmux/dmux adapter (doctor,run) routed through existing LACP sandbox gates.lacp-orchestratenow supportsclaude_worktreebackend with optional--claude-tmuxwiring into Claude native worktree isolation.scripts/runners/claude-worktree-runner.shfor policy-gated Claude--worktreedispatch.bin/lacp-worktreefor explicit git worktree lifecycle management (list/create/remove/prune/doctor).bin/lacp-worktree gcretention mode (--max-age-hours,--managed-only,--branch-prefix) for stale worktree cleanup.lacp-orchestrate run --batch <manifest>for multi-session launches with deterministic stop/continue-on-error behavior.lacp-orchestratedefault backend switched todmux(override withLACP_ORCHESTRATOR_BACKENDor--backend).bin/lacp-swarmdmux-first swarm lifecycle (init,plan,launch,up,tui,status) with artifacted launches underknowledge/data/swarms.bin/lacp-adopt-localandbin/lacp-unadopt-localfor reversible local default routing ofclaude/codexthrough LACP policy gates.- Harness contract layer:
config/harness/tasks.schema.jsonconfig/harness/sandbox-profiles.yamlconfig/harness/verification-policy.yaml
- Harness contracts validation test:
scripts/ci/test-harness-contracts.sh. bin/lacp-harness-validatefor tasks plan validation + profile/policy cross-checks.bin/lacp-harness-runfor dependency-aware task execution with loop retries and attempt artifacts.- Harness validate CI coverage:
scripts/ci/test-harness-validate.sh. - Harness run CI coverage:
scripts/ci/test-harness-run.sh. - Browser evidence CI coverage:
scripts/ci/test-browser-evidence-validate.sh. - PR preflight CI coverage:
scripts/ci/test-pr-preflight.sh. - Orchestrate CI expanded with
claude_worktreebackend coverage. - Worktree command CI coverage:
scripts/ci/test-worktree.sh. - Orchestrate CI expanded with batch-manifest execution coverage.
- Swarm command CI coverage:
scripts/ci/test-swarm.sh. - Local wrapper adopt/unadopt CI coverage:
scripts/ci/test-adopt-local.sh. - Workflow cost-policy gate:
scripts/ci/test-workflow-cost-policy.shenforcing official actions-only and blocking paid-provider workflow hooks. bin/lacp-workflow-rundeterministic multi-role workflow skeleton (planner -> developer -> verifier -> tester -> reviewer).- MCP auth policy file (
config/mcp-auth-policy.json) and doctor policy validation checks. - Release workflow (
.github/workflows/release.yml) generating versioned tarball +SHA256SUMS. bin/lacp-reportfor recent execution and artifact summaries.bin/lacp-migratefor existing-stack.envmigration (dry-run/apply).bin/lacp-doctor --fixsafe remediations for common setup drift.- Ops command CI coverage via
scripts/ci/test-ops-commands.sh. - Homebrew formula (
Formula/lacp.rb) for tap-based installs. - cURL installer (
install.sh) with ref/profile/verify options. bin/lacp-testone-command validation runner.bin/lacp-test --isolatedfor temporary-root safety when testing on active local setups.bin/lacp-installfirst-time installer withstarterscaffolding profile.- Install workflow CI coverage via
scripts/ci/test-install.sh. - Local agent control-plane baseline with onboarding, verify, doctor, mode, and status reporting commands.
- Policy-based route engine with tiered execution (
trusted_local,local_sandbox,remote_sandbox). - Remote runner support for Daytona and E2B with setup and smoke commands.
- Zero-external default mode and explicit remote enablement controls.
- Review/critical risk-gate model:
safe: no approval gatereview: TTL approval requiredcritical: explicit per-run confirmation required
- Per-tier budget ceilings and budget override confirmation gate.
- Structured run artifacts for route decision, risk tier, approvals, and provider metadata.
- CI suite including syntax checks, shellcheck, route-policy tests, mode-and-gate unit tests, and smoke tests.
- Default-deny posture for remote execution.
- Approval TTL and explicit confirmation gates for higher-risk operations.
lacp-test --isolatednow enforces.envintegrity and fails on mutation.- Structured input-contract gate for risky sandbox runs (
--input-contract, exit code11on violation). - Release workflow no longer depends on third-party actions; uses
gh releasewith repositoryGITHUB_TOKEN.