4.4 KiB
4.4 KiB
Session: MC Pipeline + Linda (afternoon/evening)
MC Engineer Pipeline — Prompt Improvements
- Engineer prompt updated (
buildTaskPrompt()): Added "Before You Start" section — read files first, understand before coding. If unclear/impossible → respondBLOCKED: <reason>(NOT hallucinated code). - BLOCKED detection: If engineer responds with
BLOCKED:, task moves toblockedstatus (outcome=blocked), not toreview. 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
qaagent for review (existingresolveGatewayAgentIdForReview()logic).
AQA — Automated Test Runner (Clavitor-only)
- New
runAqaReviews()function intask-dispatch.ts— runs BEFORE Aegis/QA - Picks up Clavitor tasks (project_id=3, assigned_to=engineer) in
reviewstatus - Runs
go test ./...viaexecSyncin 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_reviewwith ⚠️ warning comment - Added
aqa_reviewto scheduler: fires at +35s, aegis_review moved to +45s
Projects Linked to Codebases
- Projects table has
metadataJSON column (already existed) - inou (id=2):
{"repo_path":"/home/johan/dev/inou","test_cmd":"/usr/local/go/bin/go test ./...","lang":"go"}— inou is Go, not TypeScript - clavitor (id=3):
{"repo_path":"/home/johan/dev/clavitor/clovis/clovis-vault","test_cmd":"/usr/local/go/bin/go test ./...","lang":"go"}— test dir isclovis/clovis-vault, not root - Go binary path on forge:
/usr/local/go/bin/go(not in PATH for systemd services)
Clavitor Tests — Status
- 3 test files found:
api/integration_test.go,api/tier_test.go,lib/telemetry_test.go - Currently 3 failing tests (pre-existing):
TestTierIsolationDB— expects 201, gets 401 (Invalid L1 key in Bearer)TestCollectPayload— version should not be emptyTestPostTelemetry— expected Bearer secret-token, got ""
- These are config/env issues, not code bugs. Related to C-055 (module rename).
- Engineer will need to fix these before AQA can pass.
Zurich SSH Fixed
- Root cause:
UseDNS yeson Zurich's sshd_config — reverse DNS lookup on every incoming connection, timing out → 27 second connect time - Fix applied:
sed -i 's/#UseDNS no/UseDNS no/'+sed -i 's/#GSSAPIAuthentication no/GSSAPIAuthentication no/'on/etc/ssh/sshd_config, thensystemctl reload ssh - Also added
~/.ssh/configentry forzurich.inou.comwithGSSAPIAuthentication no,ControlMaster auto,ControlPersist 600 - Result: 27s → 0.3s connect time
Linda — Agent for Jacques
- Created
/home/johan/linda/workspace withSOUL.md+USER.md - Jacques: Johan's son, MSc International Finance, lives in Tilburg NL, considering AI consulting for SMBs
- Linda: warm, direct, bilingual NL/EN, finance+AI consulting focus
- Added
lindaagent toopenclaw.json(model: Sonnet 4.6, workspace:/home/johan/linda) - PENDING: Needs Discord bot token — each agent needs its own bot app. Johan to create at discord.com/developers.
- Pattern: Discord
accounts.<name>withtoken+agentId: linda→ routes DMs from Jacques to Linda
Rozemarijn — Study Bot Request
- Roos (Johan's oldest daughter, born June 11 1998) opened a DM with James on Discord
- Username:
rozemarijn(Discord ID:1486461895136252115) - Exam: Real Estate Research (last exam of master's program)
- Uploaded samenvatting as .xlsx — extracted content: statistics, OLS assumptions, hedonic pricing, discrete choice models, Stata, R
- Requested: overhoor-bot (quiz her), with focus on Stata (her weak point)
- Status: waiting for practice exams from her before starting sessions
- Note: This is family (Johan's daughter) — treat with care, not a stranger
Agents Context Correction
engineeragent workspace was/home/johan/clawd(James' workspace) — wrong. Should use own workspace.- Per Johan: stateless dispatch is fine for now (one engineer, task description carries repo path)
- Task description includes project → repo path via project metadata