chore: auto-commit uncommitted changes

This commit is contained in:
James 2026-03-26 00:01:45 -04:00
parent fd7bb7473a
commit 5ef8521f1a
5 changed files with 150 additions and 121 deletions

View File

@ -1,61 +1,79 @@
# Daily Memory — 2026-03-25 (Wednesday)
## Overview
Full day of MC pipeline development and family agent setup. Major improvements to engineer/QA workflow, plus two new agent requests for Johan's children.
--- ---
## Session: MC Pipeline + Linda (afternoon/evening)
### MC Engineer Pipeline — Prompt Improvements ## Morning
- **Engineer prompt updated** (`buildTaskPrompt()`): Added "Before You Start" section — read files first, understand before coding. If unclear/impossible → respond `BLOCKED: <reason>` (NOT hallucinated code). - **9:45 AM**: Morning briefing generated and delivered
- **BLOCKED detection**: If engineer responds with `BLOCKED:`, task moves to `blocked` status (outcome=`blocked`), not to `review`. Prevents bad code from entering QA.
- **QA prompt updated** (`buildReviewPrompt()`): Detects if task is engineer-assigned → uses QA persona instead of Aegis. QA instructed to actually verify files (not rubber-stamp), check BLOCKED responses, give specific rejection feedback.
- **Review flow**: engineer tasks route to `qa` agent for review (existing `resolveGatewayAgentIdForReview()` logic).
### AQA — Automated Test Runner (Clavitor-only) ## Afternoon/Evening Session — MC Pipeline + Family Agents
- New `runAqaReviews()` function in `task-dispatch.ts` — runs BEFORE Aegis/QA
- Picks up Clavitor tasks (project_id=3, assigned_to=engineer) in `review` status
- Runs `go test ./...` via `execSync` in project repo
- PASS → moves to `quality_review` + posts ✅ test output as comment
- FAIL → bounces back to `assigned` + posts ❌ test output as feedback to engineer
- Error (can't run) → passes through to `quality_review` with ⚠️ warning comment
- Added `aqa_review` to scheduler: fires at +35s, aegis_review moved to +45s
### Projects Linked to Codebases ### MC Engineer/QA Pipeline — Major Improvements
- Projects table has `metadata` JSON column (already existed) - **Engineer prompt** (`buildTaskPrompt()`): Added "Before You Start" — read files first, understand before coding. `BLOCKED: <reason>` for impossible tasks.
- **inou (id=2):** `{"repo_path":"/home/johan/dev/inou","test_cmd":"/usr/local/go/bin/go test ./...","lang":"go"}` — inou is Go, not TypeScript - **BLOCKED detection**: Tasks with `BLOCKED:` response move to `blocked` status (not `review`).
- **clavitor (id=3):** `{"repo_path":"/home/johan/dev/clavitor/clovis/clovis-vault","test_cmd":"/usr/local/go/bin/go test ./...","lang":"go"}` — test dir is `clovis/clovis-vault`, not root - **QA prompt** (`buildReviewPrompt()`): Actually verifies files, checks BLOCKED responses, gives specific rejection feedback.
- Go binary path on forge: `/usr/local/go/bin/go` (not in PATH for systemd services) - **AQA (Automated QA)**: New pre-Aegis test runner for Clavitor:
- Runs `go test ./...` before human review
- PASS → `quality_review` + ✅ comment
- FAIL → bounce to `assigned` + ❌ feedback
- Error → pass through with ⚠️ warning
- Scheduler: AQA at +35s, Aegis at +45s
### Project-Codebase Linking
- Projects table `metadata` JSON now stores:
- **inou**: `{"repo_path":"/home/johan/dev/inou","test_cmd":"/usr/local/go/bin/go test ./...","lang":"go"}`
- **clavitor**: `{"repo_path":"/home/johan/dev/clavitor/clovis/clovis-vault","test_cmd":"/usr/local/go/bin/go test ./...","lang":"go"}`
- Go binary path: `/usr/local/go/bin/go` (systemd PATH issue resolved)
### Clavitor Tests — Status ### Clavitor Tests — Status
- 3 test files found: `api/integration_test.go`, `api/tier_test.go`, `lib/telemetry_test.go` - 3 test files: `api/integration_test.go`, `api/tier_test.go`, `lib/telemetry_test.go`
- Currently **3 failing tests** (pre-existing): - **3 failing tests** (pre-existing, config-related):
- `TestTierIsolationDB` — expects 201, gets 401 (Invalid L1 key in Bearer) - `TestTierIsolationDB`: expects 201, gets 401 (Invalid L1 key)
- `TestCollectPayload` — version should not be empty - `TestCollectPayload`: version should not be empty
- `TestPostTelemetry` — expected Bearer secret-token, got "" - `TestPostTelemetry`: expected Bearer secret-token, got ""
- These are config/env issues, not code bugs. Related to C-055 (module rename). - These are C-055 (module rename) related — engineer task needed
- Engineer will need to fix these before AQA can pass.
### Zurich SSH Fixed ### Infrastructure — Zurich SSH Fixed
- Root cause: `UseDNS yes` on Zurich's sshd_config — reverse DNS lookup on every incoming connection, timing out → 27 second connect time - **Problem**: 27 second SSH connect time to zurich.inou.com
- Fix applied: `sed -i 's/#UseDNS no/UseDNS no/'` + `sed -i 's/#GSSAPIAuthentication no/GSSAPIAuthentication no/'` on `/etc/ssh/sshd_config`, then `systemctl reload ssh` - **Root cause**: `UseDNS yes` → reverse DNS timeout
- Also added `~/.ssh/config` entry for `zurich.inou.com` with `GSSAPIAuthentication no`, `ControlMaster auto`, `ControlPersist 600` - **Fix**: `UseDNS no`, `GSSAPIAuthentication no`, `ControlMaster auto`, `ControlPersist 600`
- Result: 27s → 0.3s connect time - **Result**: 27s → 0.3s
### Linda — Agent for Jacques ### Linda — Agent for Jacques (Johan's Son)
- Created `/home/johan/linda/` workspace with `SOUL.md` + `USER.md` - Created `/home/johan/linda/` workspace
- **Jacques:** Johan's son, MSc International Finance, lives in Tilburg NL, considering AI consulting for SMBs - Jacques: MSc International Finance, Tilburg NL, exploring AI consulting for SMBs
- Linda: warm, direct, bilingual NL/EN, finance+AI consulting focus - Linda persona: warm, direct, bilingual NL/EN
- Added `linda` agent to `openclaw.json` (model: Sonnet 4.6, workspace: `/home/johan/linda`) - Added to `openclaw.json` (Sonnet 4.6 model)
- **PENDING**: Needs Discord bot token — each agent needs its own bot app. Johan to create at discord.com/developers. - **Status**: Pending Discord bot token (Johan to create)
- Pattern: Discord `accounts.<name>` with `token` + `agentId: linda` → routes DMs from Jacques to Linda
### Rozemarijn — Study Bot Request ### Rozemarijn — Study Bot for Roos (Johan's Daughter)
- Roos (Johan's oldest daughter, born June 11 1998) opened a DM with James on Discord - Roos (born June 11, 1998) — final master's exam: **Real Estate Research**
- Username: `rozemarijn` (Discord ID: `1486461895136252115`) - Discord DM to James — uploaded summary .xlsx
- Exam: **Real Estate Research** (last exam of master's program) - Topics: statistics, OLS assumptions, hedonic pricing, discrete choice models, Stata, R
- Uploaded samenvatting as .xlsx — extracted content: statistics, OLS assumptions, hedonic pricing, discrete choice models, Stata, R - Request: overhoor-bot (quiz) with Stata focus (weak point)
- Requested: overhoor-bot (quiz her), with focus on Stata (her weak point) - **Status**: Waiting for practice exams from Roos
- Status: waiting for practice exams from her before starting sessions - **Note**: Family context — handle with care
- **Note**: This is family (Johan's daughter) — treat with care, not a stranger
### Agents Context Correction ### Agent Context Correction
- `engineer` agent workspace was `/home/johan/clawd` (James' workspace) — wrong. Should use own workspace. - Engineer workspace was incorrectly `/home/johan/clawd` (James' space)
- Per Johan: stateless dispatch is fine for now (one engineer, task description carries repo path) - Stateless dispatch confirmed fine — task carries repo path via project metadata
- Task description includes project → repo path via project metadata
---
## Nightly Maintenance (9:00 PM)
- ✅ Working context written
- ✅ Daily memory updated
- ⚠️ OS updates: Skipped (elevated permissions unavailable in cron context)
- ✅ Claude Code updated via npm
- ✅ OpenClaw updated: 2026.3.23-2 → 2026.3.24 (gateway restarted)
- ✅ Session cleanup run
---
## Carry Forward
- Linda Discord bot token needed
- Clavitor 3 test fixes (C-055)
- Roos practice exams for quiz bot
- Sophia night shift: 10:30 PM 5:00 AM

Binary file not shown.

View File

@ -1,9 +1,9 @@
{ {
"last_updated": "2026-03-25T22:00:01.373230Z", "last_updated": "2026-03-26T04:00:01.708987Z",
"source": "api", "source": "api",
"session_percent": 5, "session_percent": 6,
"session_resets": "2026-03-26T02:00:01.318093+00:00", "session_resets": "2026-03-26T06:59:59.662809+00:00",
"weekly_percent": 65, "weekly_percent": 66,
"weekly_resets": "2026-03-27T03:00:00.318113+00:00", "weekly_resets": "2026-03-27T03:00:00.662828+00:00",
"sonnet_percent": 81 "sonnet_percent": 82
} }

View File

@ -1,35 +1,31 @@
{ {
"date": "2026-03-25", "date": "2026-03-25",
"timestamp": "2026-03-25T09:00:00-04:00", "timestamp": "2026-03-26T01:00:00Z",
"openclaw": { "maintenance_type": "nightly",
"before": "OpenClaw 2026.3.23-2 (7ffe7e4)", "results": {
"latest": "2026.3.23-2", "os_updates": {
"updated": false "status": "skipped",
"reason": "elevated permissions unavailable in cron context"
}, },
"claude_code": { "claude_code": {
"before": "2.1.83", "status": "updated",
"latest": "2.1.83", "npm_output": "248 packages are looking for funding"
"updated": false
}, },
"os": { "openclaw": {
"available": 1, "status": "updated",
"packages": [ "previous_version": "2026.3.23-2",
{ "new_version": "2026.3.24",
"name": "ubuntu-drivers-common", "restart": "SIGUSR1 emitted"
"from": "1:0.9.7.6ubuntu3.5", },
"to": "1:0.9.7.6ubuntu3.6" "session_cleanup": {
"status": "completed"
} }
],
"updated": true,
"reboot_required": false
}, },
"mission_control": { "significant_events": [
"before": "v2.0.1", "MC pipeline: AQA test runner added, BLOCKED detection, project-codebase linking",
"latest": "v2.0.1", "Zurich SSH latency fixed: 27s -> 0.3s",
"updated": false "Linda agent created for Jacques",
}, "Rozemarijn study bot request received",
"caddy_pi": { "Clavitor 3 pre-existing test failures identified (C-055 related)"
"result": "\"upgraded:1\n[master 9e082cb] auto: Caddyfile update 2026-03-25\n 1 file changed, 16 insertions(+)\ncaddyfile:committed\nreboot:no\"" ]
},
"gateway_restarted": false
} }

View File

@ -1,56 +1,71 @@
# Working Context — 2026-03-24 # Working Context — 2026-03-25
*Generated by nightly maintenance cron* *Generated by nightly maintenance cron*
## Current Status ## Current Status
- **Date:** Tuesday, March 24, 2026 - **Date:** Wednesday, March 25, 2026
- **Time:** 9:00 PM ET (nightly maintenance window) - **Time:** 9:00 PM ET (nightly maintenance window)
- **Active Session:** Evening session ran ~4:15 PM evening briefing generated - **Active Session:** Full day — morning briefing (9:45 AM), afternoon/evening session with significant MC pipeline work
## Active Projects ## Active Projects
### 1. Mission Control (MC) — Agent Pipeline Work ### 1. Mission Control (MC) — Agent Pipeline Major Improvements
- Engineer agent (id=15) and QA agent (id=16) created — both wired to Kimi K2.5 Turbo - **Engineer prompt updated** (`buildTaskPrompt()`): Added "Before You Start" section — read files first, understand before coding. `BLOCKED: <reason>` response for impossible/unclear tasks (prevents hallucinated code).
- Task C-004 assigned to engineer (clavitor .env fix) — dry-run showed dispatch works but needs real OC session backing - **BLOCKED detection**: Engineer tasks that return `BLOCKED:` move to `blocked` status, not `review`.
- **Open question:** How to wire real pipeline? MC dispatches via `openclaw gateway call agent <session_key>` — engineer/qa need actual OC agent sessions - **QA prompt updated** (`buildReviewPrompt()`): Actually verifies files, checks BLOCKED responses, gives specific rejection feedback.
- **Local changes:** ~4 commits ahead of upstream (doctor parser fixes, column width fix) — not yet pushed to Zurich - **AQA (Automated QA)**: New `runAqaReviews()` function — runs `go test ./...` on Clavitor tasks before Aegis review. Pass → `quality_review`, Fail → bounce to engineer with test output.
- **Projects linked to codebases**: Added `metadata` JSON with `repo_path`, `test_cmd`, `lang` for inou and clavitor.
### 2. Clavitor — Credential Issuance Infrastructure ### 2. Clavitor — Credential Issuance Infrastructure
- **Strategy confirmed:** Vault agents can query but can't steal from - **Test status**: 3 pre-existing failing tests (config/env issues, not code bugs):
- Stack: >80% Go — no Rust, no Tauri, no Python - `TestTierIsolationDB` — expects 201, gets 401 (Invalid L1 key)
- Human surfaces: browser extension, desktop (Wails/Go), mobile (gomobile) - `TestCollectPayload` — version should not be empty
- **Moat:** FIPS 140-3 + ML-KEM + 21-node global footprint + $12/yr pricing - `TestPostTelemetry` — expected Bearer secret-token, got ""
- **Tasks:** - Related to C-055 (module rename). Engineer needs to fix these before AQA can pass.
- C-001 (task 50): MCP route 404 — still open - AQA now runs automatically on engineer-completed Clavitor tasks.
- C-002 (task 51): DELETED — systemd mistake, dismantled
- C-003 (task 52): marked done but VAULT_KEY env file was deleted during dismantle — may need revisiting
- C-004 (task 53): assigned to engineer, pending dispatch solution
### 3. MC Infrastructure — Stable Now ### 3. Linda — Agent for Jacques (Johan's Son)
- DB corruption incident resolved — backup restored, 30 tasks back - Created `/home/johan/linda/` workspace with `SOUL.md` + `USER.md`
- Update script fixed: `systemctl stop mission-control` before build - Jacques: MSc International Finance, Tilburg NL, considering AI consulting for SMBs
- DATA_DIR clarified: `/home/johan/mission-control/.data/` persists across builds - Linda persona: warm, direct, bilingual NL/EN, finance+AI consulting focus
- Doctor banner fixed: parser filters noise, `level: healthy` achieved - Added to `openclaw.json` (model: Sonnet 4.6)
- **PENDING**: Discord bot token needed — Johan to create at discord.com/developers
### 4. Rozemarijn — Study Bot for Roos (Johan's Daughter)
- Roos (born June 11 1998) — last exam of master's program: **Real Estate Research**
- Uploaded summary .xlsx: statistics, OLS, hedonic pricing, discrete choice models, Stata, R
- Requested: overhoor-bot (quiz) with Stata focus (her weak point)
- Status: Waiting for practice exams before starting sessions
- **Note**: Family — treat with care
## Infrastructure Fixes
### Zurich SSH Connect Time (Major Win)
- **Root cause**: `UseDNS yes` on Zurich's sshd_config — reverse DNS lookup timing out
- **Fix applied**: `UseDNS no` + `GSSAPIAuthentication no`, `ControlMaster auto`, `ControlPersist 600`
- **Result**: 27s → 0.3s connect time
## Open Threads / Pending Decisions ## Open Threads / Pending Decisions
1. **Engineer/QA agent wiring** — Need real OC session backing for MC dispatch to work. Johan exploring solution. 1. **Linda bot token** — Johan to create Discord bot app
2. **MC upstream sync** — 4+ local commits need push to Zurich or PR to upstream 2. **Clavitor test fixes** — Engineer needs to fix 3 failing tests (C-055 related)
3. **Column width fix**`min-w-80``min-w-40` will be overwritten on next MC update — needs PR 3. **MC agent workspace** — Engineer workspace was `/home/johan/clawd` (wrong), should use own workspace. Stateless dispatch is fine for now.
4. **Clavitor C-003** — VAULT_KEY location may need re-establishment after systemd dismantle 4. **Roos practice exams** — Waiting for her to provide before building quiz bot
5. **Kernel 6.8.0-106** — Installed Mar 13, pending reboot at Johan's convenience
## Today's Significant Events ## Today's Significant Events
- Morning briefing generated (9:45 AM) - Morning briefing generated (9:45 AM)
- Afternoon/evening session: agent pipeline discussion, MC doctor fixes, Clavitor strategy - Afternoon/evening session: Major MC pipeline improvements (AQA, BLOCKED detection, project metadata)
- **Critical correction:** Johan reinforced — "continue" doesn't mean "execute MC tasks". Always confirm intent first. - Zurich SSH latency fixed (27s → 0.3s)
- **Repeated mistake surfaced:** Never wish "good night" before 5AM weekdays/7AM weekends — Johan is WORKING night shift - Linda agent created for Jacques
- Rozemarijn (Roos) study bot request received
- OpenClaw updated: 2026.3.23-2 → 2026.3.24
- Claude Code updated via npm
## Notes for Tomorrow ## Notes for Tomorrow
- Main session gets fresh start after 9PM gateway restart - Main session gets fresh start after 9PM gateway restart
- Check if Johan wants MC commits pushed to Zurich
- Monitor engineer/qa agent dispatch progress
- Sophia care continues — night shift 10:30 PM 5:00 AM - Sophia care continues — night shift 10:30 PM 5:00 AM
- Monitor engineer task outcomes with new AQA pipeline
- Linda token pending from Johan
--- ---
*Context compiled from memory/2026-03-24.md and MEMORY.md* *Context compiled from memory/2026-03-25.md and MEMORY.md*