chore: auto-commit uncommitted changes
This commit is contained in:
parent
fd7bb7473a
commit
5ef8521f1a
|
|
@ -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.
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
@ -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
|
|
||||||
}
|
}
|
||||||
|
|
@ -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*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue