Strategic Decision Log — Henry Ratified Decisions

This hub captures the 10+ most consequential Henry ratifications and strategic decisions affecting OpenClaw architecture, infrastructure, governance, and operations. Each entry includes the decision context, options considered, the ratified choice, rationale, and links to the plan + SESSION-AUDIT.md entry that documents it. Read this hub before proposing architecture changes that might conflict with a prior ratified decision.

Quick reference

FieldValue
Gate IDG-BLOCKER-SURFACING (decisions must be logged same session)
CLAUDE.md section§Plan Q&A Protocol, §MANDATORY: Blockers First
Enforcement modemanual (Claude logs each ratification here)
Validator scriptn/a
Discord alertno
Feedback rulesfeedback_blocker_surfacing, feedback_plan_amendments_additive, feedback_post_audit_persistence
Incidents derived fromoomd-cascade-2026-05-01, vault-leak-2026-05-03, wave-1-self-correcting-framework
Violable byClaude (failing to log a decision)
Last known violationnever recorded
Amendmentn/a
Phase statusactive
Last audit2026-05-03

Decision 1 — Second Max Plan Activation

Date: 2026-05-01 Session-AUDIT ref: A1.8 (proxy.js Fix #1 + Fix #16 context) Status: RATIFIED — live production

Context

The original anthropic-max-router was serving only henryRERI Max plan tokens. With 40+ agents needing LLM access, a second Max plan account was needed to avoid API-tier per-call costs.

Options considered

  • A) Use API-tier billing for the 40 agents (costly at scale)
  • B) Add teamsteph@betterfiles.com as second Max plan, route agents through :18903
  • C) Continue single Max plan and throttle agent traffic

Ratified choice: B

teamsteph@betterfiles.com Max plan activated. anthropic-max-router now serves this account on :18903. henryRERI stays on :18900 interactive VSCode path.

Key details

  • Port :18903 via anthropic-max-router serves 40 agents
  • proxy.js Fix #1: Kimi 404 → per-model gating applied
  • proxy.js Fix #16: cache_control on max-plan path applied
  • Both Max plan paths survive nightly agent restarts (verified)

Decision 2 — VPS Substrate: Stay Hostinger (CCX33 right-sized)

Date: 2026-05-01 Session-AUDIT ref: A1.8-P1 substrate flag Status: RATIFIED — stay decision in effect

Context

Reboot #5 was diagnosed as an INTERNAL oomd cascade (not Hostinger hardware). Post-F1-F4 fixes applied. CCX43 (64 GB, $203/mo all-in) was over-sized for a 6.5 GB working set. Decision needed: stay, downsize, or migrate.

Options considered

  • A) Stay Hostinger + apply M1-M4 cleanups, defer migration (recommended)
  • B) CCX33 (32 GB, $102/mo) bridge until Mac fleet
  • C) CCX43 ($203/mo) — over-sized but growth headroom
  • D) Mac mini at home now (BetterPhone hardware ETA unknown)

Ratified choice: A (with B as noted path)

Stay on Hostinger. Apply M1-M4 cleanup tasks in the next authorized session. CCX33 identified as the right-size exit-Hostinger option when the Mac fleet is ready. CCX43 is over-sized relative to the 6.5 GB working set.

Key details

  • Substrate sizing rule: right-size to actual working set, not aspirational load (feedback_substrate_right_size_to_working_set)
  • M1-M4 cleanups still pending authorization:
    • M1: monarx-agent.service (1.3 GB) — TOS check required
    • M2: cap user-1001.slice at 30 GB (F2 incomplete)
    • M3: system-tor.slice investigation
    • M4: snap.cups snap.cups-browsed disable (saves 215 MB)
  • BetterPhone Mac fleet hardware ETA = blocking variable for migration timing

Decision 3 — Vault Canonicalization: Karpathy LLM Wiki Pattern

Date: 2026-05-02 Session-AUDIT ref: A1.5 (Phase 2 + vault canonicalization) Status: RATIFIED — vault active, timers running

Context

Two approaches considered for OpenClaw vault sync: (1) rclone bidirectional with Obsidian Sync, (2) git-based vault with rsync push from VPS + pull from Mac. The rclone approach had known reliability issues with conflict resolution.

Options considered

  • A) rclone bidirectional (Obsidian Sync + rclone to Mac)
  • B) Karpathy LLM Wiki pattern: VPS rsync push → GitHub private repo → Mac git pull (recommended)
  • C) Obsidian Sync standalone (no VPS automation)

Ratified choice: B — rclone-into-Sync rejected

Vault at traewayrer/openclaw-vault (private GitHub). openclaw-vault-sync.timer (every 15 min push) + openclaw-vault-pull.timer (every 5 min pull/reverse-flow). Pattern: canonical content lives on VPS, Obsidian reads from vault. Mac edits sync via Obsidian Git → GitHub → VPS pull.

Key details

  • Vault path: /home/opsadmin/openclaw-vault/
  • Sync timer: openclaw-vault-sync.timer (15 min push) — registered in CLAUDE.md per G-SERVICE-PRE-START-DOC
  • Pull timer: openclaw-vault-pull.timer (5 min pull) — registered in CLAUDE.md
  • OPEN: vault-sync.sh needs “preserve list” config OR new vault content must be backfilled to canonical first (A1.7-P1 follow-up #4 pending)
  • A1.7-P0 SECURITY: 56 plaintext credential hits in vault from synced plans — redact-secrets.sh needed for ALL rsync paths

Decision 4 — OSIL Master Plan Ratified (B1-B12, B16)

Date: 2026-05-03 Session-AUDIT ref: A1.6 Status: RATIFIED — Phase 0 complete, B13-B15 pending

Context

The OpenClaw Self-Improvement Layer (OSIL) master plan shipped with 16 blockers (B1-B16). Henry ratified 13 of them in this session. The remaining 3 (B13, B14, B15) require sub-plan execution or external inputs.

Ratified choices (B1-B12, B16)

BlockerDecisionNotes
B1 Phase 0 authA — authorizedOSIL Phase 0 execution authorized
B2 First Reflexion pilotD — deferredDeferred to Phase 3
B3 Eval set policyC — recommendedEval set approach confirmed
B4 Skill mutation governanceB — signoff first 4 weeks then auto-mergeManual review in early weeks
B5 Hermes side-by-sideB — keep Hermes P2Hermes demoted from P0 to P2
B6 op CLI authA — recommendedop:// CLI auth confirmed
B7 Cloud accountsB — cloud free tierStart with free-tier cloud accounts
B8Ratified
B9Ratified
B10 LiveKitRatifiedLiveKit voice substrate confirmed; creds in 1P
B11Ratified
B12Ratified
B16RatifiedComprehensive systems catalog + OSIL stack

Pending (B13, B14, B15)


Date: 2026-05-03 Session-AUDIT ref: A1.7-P1 (RATIFIED 2026-05-03 morning) Status: RATIFIED — Phases A/B/C/D shipped overnight

Context

Two plans had Q1-Q7 decision gates each (Visual Mapping + WikiLink Optimization). Henry’s pre-bed authorization: “go” on all Q1-Q7 recommendations from both plans. Morning ratification added 5 OpenClaw-specific sharpenings to Visual Mapping (Δ2) and 4 sharpenings to WikiLink (Δ1).

Visual Mapping sharpenings (Δ2)

  • Q2: Timer shifted to 04:30 LA (dodge main cron 80%-bottleneck window)
  • Q3: Layer Iconify Phase 2 (vendor logos)
  • Q4: Dual-output *-detailed.md companions (no node cap, desktop/iPad only)
  • Q5: Add Python explicitly for SQL/data work
  • Q7: Canvas marked device: desktop|ipad (iPhone-safe routing)
  • Q2: Asymmetry-as-policy (incident → rule one-way enforced via FRONTMATTER-SCHEMA.md)
  • Q3: Read existing memory DB embeddings BEFORE Voyage API call (saves ~$0.50/run, cuts dry-run 4m21s → ~30s)
  • Q5: Tiered density cap (30 default / 75 folder-moc / 100 agent-summary / unlimited hub)
  • Q7: Pull → suggester chain documented in GRAPH-VIEW-GUIDE.md

WikiLink Δ2 (post-graph-review)

64 hubs across 8 sub-categories (35 integration / 8 process / 7 governance / 8 system / 5 resource / 5 domain / 4 team / 2 historical). 8 waves of execution sequenced. Estimated yield: +4,453 wikilinks → ~8,434 total at full completion.

Results

  • Wikilinks: 308 → 3,981 (12.9×, 99.5% of 4,000 target)
  • Unique targets: 213 → 1,027 (4.8×)
  • 15 maps shipped overnight

Decision 6 — Comprehensive Hub Inventory + 64-Hub Structure (Δ2)

Date: 2026-05-03 Session-AUDIT ref: A1.7 (WikiLink Δ2) Status: RATIFIED — 8-wave execution plan active

Context

During graph-review of the initial overnight wikilink run, the vault graph revealed structural incompleteness. A comprehensive hub inventory was designed: 64 hubs across 8 sub-categories, estimated to yield ~8,434 total wikilinks at completion.

Ratified structure

CategoryCountWave
Integration hubs35W1 (Tier 1, 15 done) + W2-W8 (Tier 2)
Process hubs8W1 (all 8 done)
Governance hubs7W2
System hubs8W2
Resource hubs5W3
Domain hubs5W4
Team hubs4W5
Historical hubs2W6

Total: 64 hubs

Execution waves

  • Wave 1 (W1): Tier 1 integration + process hubs — COMPLETE (24 hubs shipped)
  • Wave 2 (W2): Governance + system + Tier 2 integrations — IN FLIGHT (this session)
  • Waves 3-8: Resource / domain / team / historical / trading — pending

Decision 7 — Self-Correcting Wave Framework Validated

Date: 2026-05-03 Session-AUDIT ref: A1.8 (Wave 1 SELF-CORRECTING WAVE FRAMEWORK validated) Status: RATIFIED — framework is the standard for all future multi-hub waves

Context

Wave 1 demonstrated that the pre-flight → execution → audit → patch cycle (4 stages) produces near-zero rework when pre-flight runs before execution. Pre-flight (PF-A/B/C/D) surfaced 10 new entities + 13 scope changes + 6 universal field additions BEFORE execution began. Audit (AU-A/B/C) caught 15 fixes; patcher applied all 15 same-session.

Validated structure

StageSub-agentsOutput
Pre-flight (PF)4 parallel scannersScope changes + field additions + idempotency checks
Execution (S)9-10 hub authorsHub files at canonical + vault
Audit (AU)3 auditorsFixes identified (AU-A/AU-B: minor FAIL; AU-C: PASS)
Patch (P)1 patcher15/15 + 7/7 verification

Key metrics

  • 24 hubs shipped in Wave 1 (15 integration + 8 process + 1 hub-of-hubs + OSIL stub)
  • Vault wikilinks: 3,981 → 5,462 (+1,481, +37%)
  • Zero violations: 0 plaintext secrets, 0 SOUL modifications, 0 genuine broken wikilinks
  • Audit AU-A FAIL minor (5 patches applied), AU-B FAIL minor (10 patches applied), AU-C PASS

Pending framework formalization (A1.8-P2)

  • Ship ~/.claude/skills/wave-execute/SKILL.md
  • Ship feedback_self_correcting_wave_framework.md
  • Ship 6 per-domain audit checklists at wiki/workspace-docs/audit-checklists/
  • Add CLAUDE.md trigger row for wave execution

Decision 8 — NemoClaw: Borrow L7 Cred-Proxy Pattern (B1=C, pending Henry ratification)

Date: 2026-05-03 Session-AUDIT ref: A2 Status: RECOMMENDATION SHIPPED — 6 blockers (B1-B6) pending Henry ratification

Context

NemoClaw is an NVIDIA alpha wrapper (Apache 2.0, 9k★) that adds OS-level security + L7 credential injection proxy to agent infrastructure. The L7 cred-proxy is the highest-leverage takeaway — directly counters 2026-05-03 vault leak + chronic G-NO-PLAINTEXT-CREDS violations.

Recommendation (not yet ratified)

B1=C: Borrow the L7 cred-proxy pattern now (OSIL Tier 1.5, ~2 days Node.js standalone at ~/.openclaw/tools/cred-proxy/). Do NOT install NemoClaw on VPS (Docker + k3s mismatch with systemd architecture).

Open blockers (6) — Henry decisions needed

BlockerOptionsRecommendation
B1 DecisionA drop / B borrow / C borrow+pilot / D waitC (borrow+pilot)
B2 Cred-proxy languageA Node.js / B Go / C PythonA (Node.js)
B3 Cred-proxy portA 127.0.0.1:18901 / B AF_UNIX socket / C bothA first, C later
B4 Cred sourceA master.env / B op:// CLI / C both with fallbackB if OSIL B6=A, else C
B5 Pilot hostA EC2 Mac Ultra / B Hetzner CCX23 / C deferA
B6 Blueprint patternA now / B defer / C skipB

Decision 9 — [Reserved: Next Strategic Decision]

Date: TBD Status: SLOT RESERVED

This slot is reserved for the next Henry ratification. Candidate decisions awaiting ratification:

CandidatePlanStatus
NemoClaw B1-B6 ratificationnemoclaw-audit-2026-05-03Awaiting Henry
OSIL B13a (IL AI replication)openclaw-self-improvement-layer-2026-05-03Awaiting Henry
OSIL B14a (Twilio 10DLC template)openclaw-self-improvement-layer-2026-05-03Awaiting Henry
OSIL B15 (LiveKit live Sandbox test)openclaw-self-improvement-layer-2026-05-03Awaiting Henry
Wave 2-8 execution authorizationMISSING-LAYERS-BACKLOGQueued
Phase E.2 systemd-timer arming (vault wikilink auto-suggester)openclaw-vault-wikilink-optimization-2026-05-03Awaiting Henry
Vault-sync.sh preserve-list architectureopenclaw-obsidian-vault-2026-05-02Awaiting Henry
Supabase migrations 001+002 executionopenclaw-fragmentation-fix-2026-05-01Awaiting Henry

Decision 10 — [Reserved: Next Strategic Decision]

Date: TBD Status: SLOT RESERVED

Reserved for upcoming decisions. See Decision 9 candidate table.


Components

  • /home/opsadmin/.openclaw/workspace/SESSION-AUDIT.md — primary source; A1.x entries track each major decision
  • /home/opsadmin/.claude/plans/ — 91 plans (23 indexed, 68 orphans pending backfill)
  • /home/opsadmin/.claude/projects/-home-opsadmin/memory/PLAN-INDEX.md — plan catalog (lazy-loaded)
  • /home/opsadmin/.openclaw/workspace/HENRY-PREFERENCES.md — founder governance layer; recurring preferences

How it’s used

  • Trigger: Before proposing architecture changes that might conflict with a prior ratified decision — read this hub first
  • Workflow: Locate the relevant decision → check its ratified choice → verify the current state matches → if drift detected, surface as blocker per G-BLOCKER-SURFACING
  • Agents involved: All 42 active agents (decisions are system-wide); Aurora has additional governance authority context
  • Failure mode: Proposing a change that contradicts Decision 1-8 without acknowledging the prior ratification
  • Success criteria: Zero “we already decided this” corrections from Henry

Governance hubs

Integration hubs cross-referenced

  • anthropic — Decision 1 (dual Max plan paths)
  • portkey — Decision 1 (CHOKEPOINT-1 enforcement)
  • hetzner — Decision 2 (VPS substrate stay)
  • aws — Decision 2 + Decision 8 (EC2 Mac Ultra)
  • github — Decision 3 (vault canonicalization)
  • supabase — Decision 4 (CHOKEPOINT-1 tables OSIL writes)
  • 1password — Decision 8 (NemoClaw B4 cred source)
  • twilio — Decision 4 (B14 10DLC resubmission sub-project)
  • investorlift — Decision 4 (B13 IL AI replication)

Plans governing active decisions

Process hubs affected by these decisions

System maps

Memory projects

Feedback rule inventory

ClusterRuleEnforcementLast fire
governancefeedback_blocker_surfacingmanualongoing
governancefeedback_plan_amendments_additivemanualongoing
governancefeedback_post_audit_persistencemanualongoing
governancefeedback_plan_status_inline_and_verifymanualongoing
governancefeedback_plan_completeness_gatemanualongoing

Open issues / TODOs

  • Decision 8 (NemoClaw B1-B6) awaiting Henry ratification — currently recommendation, not decision
  • Decisions 9 + 10 slots reserved for upcoming ratifications
  • SESSION-AUDIT A1.x entries should be backfilled for Decisions 1-3 via explicit A1.x numbering (currently embedded in plan context, not as numbered entries)
  • PLAN-INDEX.md only has 23 of 91 plans indexed — 68 orphans pending Phase 11.6 D.5 backfill per openclaw-fragmentation-fix-2026-05-01

Recent activity

  • 2026-05-03: hub created by W2-S2 (Wave 2 governance reference batch); Decisions 1-8 populated from SESSION-AUDIT A1.x entries + MEMORY.md active projects