- Integrate ActionMonitor into ChatGPT GitOps API for failure tracking - Add ErrorClassifier with permission, git, runtime, system, secret violation error types - Add FailureRouter to route errors to correct recovery agents (openclaw/hermes/windows_codex_app) - Add RecoveryController orchestrating full pipeline: capture→classify→route→plan→execute→validate→record - Update error_classifier to include ClientResponseError, rate limit, and secret_violation patterns - All 8 integration tests passing (ActionMonitor, ErrorClassifier, FailureRouter, RecoveryController, API 500 scenario) - Push baseline to V1R2C2 with tag v1r2c2-baseline
41 lines
1.0 KiB
SQL
41 lines
1.0 KiB
SQL
CREATE TABLE IF NOT EXISTS message_outbox (
|
|
id TEXT PRIMARY KEY,
|
|
channel TEXT NOT NULL,
|
|
recipient_user_id TEXT NOT NULL,
|
|
recipient_role TEXT,
|
|
message_type TEXT NOT NULL,
|
|
priority TEXT NOT NULL DEFAULT 'normal',
|
|
title TEXT,
|
|
content TEXT NOT NULL,
|
|
payload TEXT,
|
|
status TEXT NOT NULL DEFAULT 'queued',
|
|
retry_count INTEGER NOT NULL DEFAULT 0,
|
|
last_error TEXT,
|
|
created_at TEXT NOT NULL,
|
|
sent_at TEXT
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_message_outbox_dispatch
|
|
ON message_outbox(channel, status, priority, created_at);
|
|
|
|
CREATE TABLE IF NOT EXISTS channel_bindings (
|
|
id TEXT PRIMARY KEY,
|
|
user_id TEXT NOT NULL,
|
|
channel_type TEXT NOT NULL,
|
|
external_chat_id TEXT NOT NULL,
|
|
status TEXT NOT NULL DEFAULT 'active',
|
|
updated_at TEXT NOT NULL
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_channel_bindings_lookup
|
|
ON channel_bindings(user_id, channel_type, status, updated_at);
|
|
|
|
CREATE TABLE IF NOT EXISTS audit_logs (
|
|
id TEXT PRIMARY KEY,
|
|
actor TEXT NOT NULL,
|
|
action TEXT NOT NULL,
|
|
target TEXT,
|
|
detail TEXT,
|
|
created_at TEXT NOT NULL
|
|
);
|