STEP 1535 — Meta-Optimize Event Log Infrastructure v0.1
要旨
ARIS /meta-optimize (SKILL.md 自己 patch 提案 + human gate 必須) の 前提 infrastructure。 ARIS は .aris/meta/events.jsonl に skill invocation / tool call / failure / user intervention / model selection を append-only 記録し、 /meta-optimize が その log から patch 提案を生成。 本 STEP は Rei 版 の per-day jsonl rotation EventLogger primitive を 起草 (Phase 0 = infrastructure 前提、 実 event capture inject は 別 STEP)。
Schema
File: data/meta-optimize/events-<YYYY-MM-DD>.jsonl
Format: 1 event per line, JSON
MetaEvent {
timestamp: ISO 8601 UTC
sessionId?: string
eventType: EventType
subject: string (short label = skill name / tool name / phase)
detail: Record<string, any> (per-eventType payload)
}
EventType 7 種:
skill_invocation slash command / MCP tool invoked
tool_call tool call attempted
tool_failure tool call failed (retry / fallback / error)
user_intervention user interrupted / redirected
model_selection model chosen / switched
human_override human judgment overrode automated decision
convergence_signal loop converged / diverged (future /meta-optimize primitive)
API
logger.append(eventType, subject, detail)— 1 event append (never throws、 corrupted file → auto-recover)logger.readDate(date)— 1 日分 read (corrupted line skip)logger.query({eventType?, since?, until?, subjectPrefix?, maxCount?})— 期間 + filter query (default 30 日 window)logger.convergenceCounts(opts)— convergence signal 集計 (converged/diverged/other/total)
Test coverage (22/22 PASS)
test/step1535-meta-optimize-event-log-test.ts — 6 section:
- append + readDate + jsonl format verify (3 event / sessionId 保持 / per-line valid JSON)
- query filters (eventType / subjectPrefix / maxCount / no filter)
- Corrupted line handling (2 valid + 1 invalid → 2 returned)
- Missing file → [] (readDate + query)
- convergenceCounts helper (converged/diverged/other/total)
- Graceful — append never throws on unwritable path
Honest scope (Phase 0 skeleton)
- 実 event capture point (Rei stack 内 各 STEP 呼出 に inject) は 別 STEP defer
- /meta-optimize 相当 patch 提案 generator (Claude API + event log analysis) は 別 STEP defer
- human gate discipline は ARIS 原則継承 = auto-apply 禁止、 提案 → 別 skill (Rei では別 STEP) で human review + landing
- event log size は 83 tool × 100 call/day = 8300 entry/day 想定、 per-day jsonl rotation で size 管理 (30 日 window default で query)
- convergence_signal capture 実装 (Rei 側 loop 系 STEP に inject) は 別 STEP
Related
src/aios/meta-optimize/event-log.ts— infrastructure 実装 (~155 行)test/step1535-meta-optimize-event-log-test.ts— test- STEP 1572 (fallback ledger は 本 event log の 先行 実例)
- STEP 1585 + STEP 1587 (ARIS learn-in 3 arc の 姉妹)
- ARIS /meta-optimize (upstream reference): SKILL.md 自己 patch 提案 +
/meta-applyhuman gate