Objective
Bring Cabra/OpenClaw back to the required LifeOS operational authority level after the OpenClaw update by removing runtime drift and proving reconstructable governance readiness.
Hermes review verdict: Cabra is usable for supervised coordination, but not yet at LifeOS-required operational authority level. The gap is trustable, reconstructable execution: orientation access, config/model drift, stale automation, and insufficient readiness evidence.
Current observed state
- OpenClaw runtime:
2026.4.27; npm update available 2026.5.3-1 but not run.
- Live session model:
openai-codex/gpt-5.5.
- Config/default drift: main agent config appears to prefer
openai-codex/gpt-5.4 while current session uses gpt-5.5.
- Memory backend:
qmd; 37 memory files found under workspace memory.
- Gateway config validates cleanly.
- LifeOS repo reachable at
/mnt/c/Users/cabra/Projects/LifeOS through shell.
- First-class OpenClaw
read tool is sandboxed to workspace and cannot read /mnt/c/... mandatory LifeOS orientation files.
lifeos-read skill references scripts/lifeos.sh, but that script is not present in the workspace.
- Cron: 9 jobs exist, all disabled; several have stale delivery warnings.
HEARTBEAT.md is empty/comment-only.
TOOLS.md is still mostly template content.
- Native subagent allowlist exposes only
main.
- Messaging posture appears mostly right: WhatsApp denied/disabled, Slack channel disabled, Telegram scoped, Webchat allowed.
- Dispatch inbox is empty except
.gitkeep.
Required outcome
A fresh Cabra session can independently:
- Read mandatory LifeOS orientation sources through an approved/repeatable lane.
- Resolve and report the intended model/fallback chain reproducibly.
- Access memory and retrieve relevant operating directives.
- Verify LifeOS dispatch inbox and current WIP state.
- Prove messaging/write gates are fail-closed where required.
- Run a single readiness smoke gate and produce timestamped evidence.
- Explain cron/heartbeat/tooling state without stale ambiguity.
Plan
Phase 0 — Evidence snapshot / no-change baseline
- Capture current OpenClaw version, gateway status, model status, config hash, enabled plugins, channels, cron jobs, node status, and active sessions.
- Capture current LifeOS orientation attempt using both first-class read path and shell fallback.
- Record all known failures as baseline, not regressions.
Acceptance evidence:
- Timestamped baseline artifact under
artifacts/evidence/ or equivalent canonical evidence path.
- Includes redacted config excerpts, no secrets.
Phase 1 — Repair LifeOS orientation access
Problem: mandatory orientation currently depends on shell fallback; the approved skill path is broken.
Tasks:
- Decide canonical LifeOS local path for Cabra/OpenClaw reads.
- Repair
lifeos-read skill so it works in the actual runtime, or retire/replace it with an explicitly supported local orientation command.
- Ensure the mandatory files are readable through the approved lane:
config/tasks/backlog.yaml
docs/11_admin/LIFEOS_STATE.md
config/governance/delegation_envelope.yaml
artifacts/dispatch/inbox/
- Document whether
/mnt/c/... shell fallback is allowed, temporary, or forbidden.
Acceptance evidence:
- Fresh Cabra session reads all four orientation sources without ad hoc path guessing.
- Smoke output lists exact paths/tools used.
- No sandbox bypass surprise.
Phase 2 — Resolve model/config drift
Problem: live session uses gpt-5.5; config appears to define gpt-5.4 for main.
Tasks:
- Inspect effective model resolution order: config default, agent override, session override, env override, runtime override.
- Decide intended primary model for Cabra main.
- Align config/session behavior to the intended model.
- Keep fallbacks explicit.
Acceptance evidence:
- Fresh session status shows intended primary and fallbacks.
- Config readback matches intended behavior or documents intentional runtime override.
- Drift note closed with cause identified.
Phase 3 — Create LifeOS readiness smoke gate
Build a repeatable readiness command/procedure that proves Cabra can safely operate as COO.
Smoke must check:
- OpenClaw/gateway health.
- Effective model and fallbacks.
- Memory backend/search availability.
- LifeOS mandatory orientation read.
- Dispatch inbox visibility.
- GitHub bus visibility/auth status for canonical control-plane work.
- Messaging send policy / channel gates.
- Cron inventory state.
- Native subagent/EA routing capability.
- No paired nodes, or paired-node state if later enabled.
Acceptance evidence:
- One command/procedure documented.
- One timestamped smoke report with pass/fail rows.
- Failures are explicit and actionable.
Phase 4 — Clean cron/heartbeat/tooling authority
Problem: disabled/stale automation and empty canonical-looking files create false confidence.
Tasks:
- Inventory all cron jobs.
- Classify each: keep disabled, delete stale, repair, or explicitly re-enable.
- Do not re-enable unattended automation without Boss/CEO approval.
- Populate
HEARTBEAT.md with actual heartbeat policy/cadence or mark it intentionally empty/non-operational.
- Populate
TOOLS.md with real local surfaces/path notes, or mark it explicitly non-authoritative template.
Acceptance evidence:
- Cron before/after inventory with purpose and disposition for every job.
HEARTBEAT.md and TOOLS.md readback included.
- No stale route warnings left unexplained.
Phase 5 — Subagent / EA routing readiness
Problem: native subagent allowlist exposes only main, limiting conductor/worker architecture.
Tasks:
- Decide required bounded specialist lanes: e.g. quick/read-only, review, EA/coding-agent bridge, no-external-send worker.
- Add only minimal allowed agents with explicit tool/send/write policy.
- Verify unauthorized lanes remain blocked.
Acceptance evidence:
- Agent list readback after changes.
- Positive test for intended lane availability.
- Negative test for unauthorized send/write where applicable.
Phase 6 — Messaging safety verification
Tasks:
- Verify WhatsApp remains denied unless explicitly approved.
- Verify Slack channel disabled state.
- Verify Telegram is scoped to allowed sender/group policy.
- Verify Webchat remains allowed.
- Avoid live external send tests unless explicitly approved; prefer dry-run/policy readback.
Acceptance evidence:
- Redacted messaging config/policy snapshot.
- Dry-run or policy readback proving deny/allow gates.
Phase 7 — Update canary decision
Problem: update exists, but updating first may obscure known drift.
Tasks:
- Compare OpenClaw
2026.5.3-1 release notes against known failures.
- If relevant, create pre-update snapshot, canary plan, rollback plan.
- Only run update after explicit approval.
Acceptance evidence:
- Release relevance note.
- Pre-update baseline.
- Canary + rollback procedure.
- Post-update smoke, if update is approved and executed.
Definition of done
- Fresh Cabra session passes the LifeOS readiness smoke, or fails only on explicitly accepted non-blockers.
- Required model/fallback behavior is reproducible.
- Mandatory orientation is reliable and not dependent on hidden shell improvisation.
- Cron/heartbeat/tool authority state is documented and cleaned.
- Messaging gates are proven fail-closed.
- Subagent/EA routing readiness is either implemented or explicitly deferred with rationale.
- Evidence is stored in canonical LifeOS evidence location.
Risks
- Config changes may require OpenClaw restart; use safe restart path only.
- Updating OpenClaw before resolving known drift may create confounding failures.
- Expanding subagent access can broaden authority accidentally; keep roles narrow.
- Live external messaging tests can violate send policy; use dry-runs/policy readback unless approved.
Recommended owner split
- Cabra/COO: coordination, issue tracking, evidence requirements, status reconciliation.
- EA/coding agent: implementation of skill/config/script changes.
- Boss/CEO: approve config changes that affect providers, external messaging, autonomy, or update execution.
Source
Prompted by Cabra self-status report and Hermes CLI review on 2026-05-04.
Objective
Bring Cabra/OpenClaw back to the required LifeOS operational authority level after the OpenClaw update by removing runtime drift and proving reconstructable governance readiness.
Hermes review verdict: Cabra is usable for supervised coordination, but not yet at LifeOS-required operational authority level. The gap is trustable, reconstructable execution: orientation access, config/model drift, stale automation, and insufficient readiness evidence.
Current observed state
2026.4.27; npm update available2026.5.3-1but not run.openai-codex/gpt-5.5.openai-codex/gpt-5.4while current session usesgpt-5.5.qmd; 37 memory files found under workspace memory./mnt/c/Users/cabra/Projects/LifeOSthrough shell.readtool is sandboxed to workspace and cannot read/mnt/c/...mandatory LifeOS orientation files.lifeos-readskill referencesscripts/lifeos.sh, but that script is not present in the workspace.HEARTBEAT.mdis empty/comment-only.TOOLS.mdis still mostly template content.main..gitkeep.Required outcome
A fresh Cabra session can independently:
Plan
Phase 0 — Evidence snapshot / no-change baseline
Acceptance evidence:
artifacts/evidence/or equivalent canonical evidence path.Phase 1 — Repair LifeOS orientation access
Problem: mandatory orientation currently depends on shell fallback; the approved skill path is broken.
Tasks:
lifeos-readskill so it works in the actual runtime, or retire/replace it with an explicitly supported local orientation command.config/tasks/backlog.yamldocs/11_admin/LIFEOS_STATE.mdconfig/governance/delegation_envelope.yamlartifacts/dispatch/inbox//mnt/c/...shell fallback is allowed, temporary, or forbidden.Acceptance evidence:
Phase 2 — Resolve model/config drift
Problem: live session uses
gpt-5.5; config appears to definegpt-5.4for main.Tasks:
Acceptance evidence:
Phase 3 — Create LifeOS readiness smoke gate
Build a repeatable readiness command/procedure that proves Cabra can safely operate as COO.
Smoke must check:
Acceptance evidence:
Phase 4 — Clean cron/heartbeat/tooling authority
Problem: disabled/stale automation and empty canonical-looking files create false confidence.
Tasks:
HEARTBEAT.mdwith actual heartbeat policy/cadence or mark it intentionally empty/non-operational.TOOLS.mdwith real local surfaces/path notes, or mark it explicitly non-authoritative template.Acceptance evidence:
HEARTBEAT.mdandTOOLS.mdreadback included.Phase 5 — Subagent / EA routing readiness
Problem: native subagent allowlist exposes only
main, limiting conductor/worker architecture.Tasks:
Acceptance evidence:
Phase 6 — Messaging safety verification
Tasks:
Acceptance evidence:
Phase 7 — Update canary decision
Problem: update exists, but updating first may obscure known drift.
Tasks:
2026.5.3-1release notes against known failures.Acceptance evidence:
Definition of done
Risks
Recommended owner split
Source
Prompted by Cabra self-status report and Hermes CLI review on 2026-05-04.