From 0c7d2b919084ca419476dfc41dcfdb0fd98bfe2d Mon Sep 17 00:00:00 2001 From: William Valentin Date: Fri, 27 Feb 2026 11:35:26 -0800 Subject: [PATCH] chore(audit): dedupe rolling cadence script wiring --- README.md | 1 + docs/api/PROTOCOL.md | 2 +- docs/architecture/AGENT_DIAGRAM.md | 2 +- .../GATEWAY_SESSIONS_AND_QUEUE.md | 2 +- ...phase0-instrumentation-ticket-checklist.md | 2 +- ...hase0_baseline_live_2026-02-27-193429.json | 371 ++++++++++++++++ ...ase0_baseline_live_2026-02-27-193429.jsonl | 112 +++++ .../phase0_baseline_live_2026-02-27-193429.md | 65 +++ ..._live_backend_drift_2026-02-27-193429.json | 230 ++++++++++ ...ne_live_backend_drift_2026-02-27-193429.md | 72 ++++ ...live_backend_native_2026-02-27-193429.json | 249 +++++++++++ ...ive_backend_native_2026-02-27-193429.jsonl | 15 + ...e_live_backend_native_2026-02-27-193429.md | 56 +++ ...backend_pi_embedded_2026-02-27-193429.json | 347 +++++++++++++++ ...ackend_pi_embedded_2026-02-27-193429.jsonl | 60 +++ ...e_backend_pi_embedded_2026-02-27-193429.md | 63 +++ ...seline_live_gateway_2026-02-27-193429.json | 104 +++++ ...eline_live_gateway_2026-02-27-193429.jsonl | 6 + ...baseline_live_gateway_2026-02-27-193429.md | 50 +++ ...baseline_live_prune_2026-02-27-193429.json | 402 ++++++++++++++++++ ...0_baseline_live_prune_2026-02-27-193429.md | 18 + docs/plans/state.json | 34 +- package.json | 4 +- 23 files changed, 2260 insertions(+), 7 deletions(-) create mode 100644 docs/plans/artifacts/phase0_baseline_live_2026-02-27-193429.json create mode 100644 docs/plans/artifacts/phase0_baseline_live_2026-02-27-193429.jsonl create mode 100644 docs/plans/artifacts/phase0_baseline_live_2026-02-27-193429.md create mode 100644 docs/plans/artifacts/phase0_baseline_live_backend_drift_2026-02-27-193429.json create mode 100644 docs/plans/artifacts/phase0_baseline_live_backend_drift_2026-02-27-193429.md create mode 100644 docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.json create mode 100644 docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.jsonl create mode 100644 docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.md create mode 100644 docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.json create mode 100644 docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.jsonl create mode 100644 docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.md create mode 100644 docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27-193429.json create mode 100644 docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27-193429.jsonl create mode 100644 docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27-193429.md create mode 100644 docs/plans/artifacts/phase0_baseline_live_prune_2026-02-27-193429.json create mode 100644 docs/plans/artifacts/phase0_baseline_live_prune_2026-02-27-193429.md diff --git a/README.md b/README.md index 5c0bb35..428d3b3 100644 --- a/README.md +++ b/README.md @@ -1655,6 +1655,7 @@ Cadence scheduling (example: every 6 hours via host cron) with rolling timestamp `audit:phase0-baseline:live*` scripts now default to the current UTC date tag when `--tag` is omitted. Use `audit:phase0-baseline:live:refresh:drift:rolling` when you want each cadence run to keep a distinct tag (`YYYY-MM-DD-HHMMSS`) so drift checks compare against a recent prior snapshot immediately. Use `audit:phase0-baseline:live:prune` for dry-run retention planning, and `audit:phase0-baseline:live:prune:apply` to prune older rolling-tag artifacts while keeping the newest snapshots per family. Retention depth defaults to `8` tags per family and can be overridden via `KEEP_PER_FAMILY=`. Prune runs also write reports to `docs/plans/artifacts/phase0_baseline_live_prune_.{md,json}`, and retention now includes these rolling prune reports as a managed family. +Both rolling commands accept `TAG=` override; `audit:phase0-baseline:live:refresh:drift:rolling:prune` now reuses the same rolling pipeline/tag and then applies prune retention for that exact tag. Gateway-origin windows can be captured separately (for example when validating cancel paths): ```bash diff --git a/docs/api/PROTOCOL.md b/docs/api/PROTOCOL.md index 9c830c2..a42db52 100644 --- a/docs/api/PROTOCOL.md +++ b/docs/api/PROTOCOL.md @@ -23,7 +23,7 @@ The gateway provides: - **HTTP Server**: Serves static dashboard and handles webhook endpoints - **Node Capability Negotiation**: Optional companion-node role/capability registration -Operational note: onboarding (`flynn setup` / `flynn onboard`) now runs post-save live readiness checks (model/channel/memory/automation) and prints a guided first-success task flow. Companion CLI now also supports bootstrap-manifest export (`flynn companion --export-bootstrap `), release-bundle export (`--export-release-bundle ` with optional `--signing-key`/`--signing-key-id` signature output), release-bundle verification (`--verify-release-bundle ` with optional `--verify-signing-key`/`--verify-signing-key-id`/`--require-signature`), platform shell-template export (`--export-shell-template `), plus richer shell bootstrap flags for status/location/push (`--app-version`, `--latitude/--longitude`, `--push-token`, etc.) for desktop/mobile app packaging without changing JSON-RPC method/event shapes. Audit observability now includes live phase-0 baseline capture flows: `pnpm audit:phase0-baseline:live` for channel-origin windows, backend-scoped variants (`pnpm audit:phase0-baseline:live:pi` / `pnpm audit:phase0-baseline:live:native`) via `--backend`, `pnpm audit:phase0-baseline:live:gateway` (auto-detected cancel window) for gateway-origin windows, `pnpm audit:phase0-baseline:live:refresh` for one-shot refresh of all live windows (channel + gateway + backend-scoped), `pnpm audit:phase0-baseline:live:drift` for backend artifact freshness/drift gates (writing `phase0_baseline_live_backend_drift_.md/.json` reports), `pnpm audit:phase0-baseline:live:refresh:drift:rolling` for cadence runs that stamp each capture with a unique UTC timestamp tag (`YYYY-MM-DD-HHMMSS`) so drift comparisons can immediately use a prior snapshot, `pnpm audit:phase0-baseline:live:prune` / `pnpm audit:phase0-baseline:live:prune:apply` for rolling-tag artifact retention management (writing `phase0_baseline_live_prune_.md/.json` reports and retaining those prune reports as part of managed rolling families), and `pnpm audit:phase0-baseline:live:refresh:drift:rolling:prune` for one-command cadence refresh+drift+retention apply (`KEEP_PER_FAMILY` override supported for retention depth). These scripts default to current UTC-date tags unless `--tag` is explicitly provided. +Operational note: onboarding (`flynn setup` / `flynn onboard`) now runs post-save live readiness checks (model/channel/memory/automation) and prints a guided first-success task flow. Companion CLI now also supports bootstrap-manifest export (`flynn companion --export-bootstrap `), release-bundle export (`--export-release-bundle ` with optional `--signing-key`/`--signing-key-id` signature output), release-bundle verification (`--verify-release-bundle ` with optional `--verify-signing-key`/`--verify-signing-key-id`/`--require-signature`), platform shell-template export (`--export-shell-template `), plus richer shell bootstrap flags for status/location/push (`--app-version`, `--latitude/--longitude`, `--push-token`, etc.) for desktop/mobile app packaging without changing JSON-RPC method/event shapes. Audit observability now includes live phase-0 baseline capture flows: `pnpm audit:phase0-baseline:live` for channel-origin windows, backend-scoped variants (`pnpm audit:phase0-baseline:live:pi` / `pnpm audit:phase0-baseline:live:native`) via `--backend`, `pnpm audit:phase0-baseline:live:gateway` (auto-detected cancel window) for gateway-origin windows, `pnpm audit:phase0-baseline:live:refresh` for one-shot refresh of all live windows (channel + gateway + backend-scoped), `pnpm audit:phase0-baseline:live:drift` for backend artifact freshness/drift gates (writing `phase0_baseline_live_backend_drift_.md/.json` reports), `pnpm audit:phase0-baseline:live:refresh:drift:rolling` for cadence runs that stamp each capture with a unique UTC timestamp tag (`YYYY-MM-DD-HHMMSS`) so drift comparisons can immediately use a prior snapshot (or externally supplied `TAG`), `pnpm audit:phase0-baseline:live:prune` / `pnpm audit:phase0-baseline:live:prune:apply` for rolling-tag artifact retention management (writing `phase0_baseline_live_prune_.md/.json` reports and retaining those prune reports as part of managed rolling families), and `pnpm audit:phase0-baseline:live:refresh:drift:rolling:prune` for one-command cadence refresh+drift+retention apply reusing the same rolling tag (`KEEP_PER_FAMILY` override supported for retention depth). These scripts default to current UTC-date tags unless `--tag` is explicitly provided. ### Execution Model (Sessions + Per-Session Queue) diff --git a/docs/architecture/AGENT_DIAGRAM.md b/docs/architecture/AGENT_DIAGRAM.md index 081a554..69da14d 100644 --- a/docs/architecture/AGENT_DIAGRAM.md +++ b/docs/architecture/AGENT_DIAGRAM.md @@ -173,7 +173,7 @@ Gateway streaming UX signals: - `pnpm audit:phase0-baseline:live:drift` evaluates backend-scoped artifact freshness/drift gates and writes `docs/plans/artifacts/phase0_baseline_live_backend_drift_.md/.json`; `pnpm audit:phase0-baseline:live:refresh:drift` runs capture + drift checks in one cadence step. - `pnpm audit:phase0-baseline:live:refresh:drift:rolling` runs the same full refresh+drift flow with a shared UTC timestamp tag (`YYYY-MM-DD-HHMMSS`) so each cadence run keeps distinct backend/drift artifacts for immediate baseline-vs-prior comparisons. - `pnpm audit:phase0-baseline:live:prune` provides dry-run retention planning for rolling-tag artifacts; `pnpm audit:phase0-baseline:live:prune:apply` deletes older rolling snapshots while keeping the newest tags per artifact family. -- `pnpm audit:phase0-baseline:live:refresh:drift:rolling:prune` chains rolling refresh+drift with retention apply for one-command scheduled cadence runs (`KEEP_PER_FAMILY` controls retention depth), and now writes prune reports tagged to the same rolling run (`phase0_baseline_live_prune_.md/.json`). +- `pnpm audit:phase0-baseline:live:refresh:drift:rolling:prune` now reuses the rolling refresh+drift pipeline via shared `TAG` env wiring, then applies retention (`KEEP_PER_FAMILY`) and writes prune reports tagged to that same rolling run (`phase0_baseline_live_prune_.md/.json`). - Rolling retention families now include cadence prune reports themselves (`phase0_baseline_live_prune_.md/.json`) to prevent unbounded prune-report growth. - `audit:phase0-baseline:live*` scripts are cadence-safe by default (UTC-date tags auto-generated unless explicitly overridden). - Canvas artifacts are persisted by the gateway so session UI surfaces can recover after daemon restarts. diff --git a/docs/architecture/GATEWAY_SESSIONS_AND_QUEUE.md b/docs/architecture/GATEWAY_SESSIONS_AND_QUEUE.md index 9055820..28762f4 100644 --- a/docs/architecture/GATEWAY_SESSIONS_AND_QUEUE.md +++ b/docs/architecture/GATEWAY_SESSIONS_AND_QUEUE.md @@ -38,7 +38,7 @@ If you only want the protocol surface, see `docs/api/PROTOCOL.md`. - `pnpm audit:phase0-baseline:live:drift` checks backend-scoped artifact freshness/drift gates and writes `phase0_baseline_live_backend_drift_.md/.json`; `pnpm audit:phase0-baseline:live:refresh:drift` chains refresh + drift checks for scheduled cadence runs. - `pnpm audit:phase0-baseline:live:refresh:drift:rolling` performs the same chain using one UTC timestamp tag (`YYYY-MM-DD-HHMMSS`) across channel/gateway/backend/drift outputs so each cadence run preserves a distinct comparison point. - `pnpm audit:phase0-baseline:live:prune` (dry-run) and `pnpm audit:phase0-baseline:live:prune:apply` (delete) manage retention of rolling-tag artifacts to control artifact growth while preserving newest snapshots per family. -- `pnpm audit:phase0-baseline:live:refresh:drift:rolling:prune` combines rolling refresh+drift with retention apply for one-command cron scheduling; adjust retention depth with `KEEP_PER_FAMILY` and use generated `phase0_baseline_live_prune_.md/.json` artifacts for retention audit traceability. +- `pnpm audit:phase0-baseline:live:refresh:drift:rolling:prune` combines rolling refresh+drift with retention apply for one-command cron scheduling using a shared `TAG`; adjust retention depth with `KEEP_PER_FAMILY` and use generated `phase0_baseline_live_prune_.md/.json` artifacts for retention audit traceability. - Retention management also covers rolling prune-report artifacts (`phase0_baseline_live_prune_.md/.json`) as a first-class family. - `audit:phase0-baseline:live*` package scripts now omit fixed tags so scheduled runs automatically roll to current UTC-date artifact tags. - Companion CLI supports one-shot shell bootstrap metadata for live sessions (`--app-version`/`--status-text`, `--latitude`/`--longitude`, `--push-token`) so desktop/mobile wrappers can initialize node status/location/push in a single launch flow. diff --git a/docs/plans/2026-02-25-phase0-instrumentation-ticket-checklist.md b/docs/plans/2026-02-25-phase0-instrumentation-ticket-checklist.md index 47df0b3..ef83710 100644 --- a/docs/plans/2026-02-25-phase0-instrumentation-ticket-checklist.md +++ b/docs/plans/2026-02-25-phase0-instrumentation-ticket-checklist.md @@ -203,7 +203,7 @@ Phase 0 is complete when: 2. A baseline summary artifact is generated and committed under `docs/plans/artifacts/`. 3. No user-visible response behavior changed compared to pre-phase baseline. -Follow-up status (2026-02-27): live channel-session artifacts exist under `docs/plans/artifacts/phase0_baseline_live_2026-02-27.*` via `pnpm audit:phase0-baseline:live` (anonymized IDs), and a second gateway-origin live window (including `run.cancel` + `cancel_requested`/`cancelled`) exists under `docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27.*`. Gateway window refreshes can now run via `pnpm audit:phase0-baseline:live:gateway` (auto-selected cancel window), all live windows can be refreshed together with `pnpm audit:phase0-baseline:live:refresh` (channel + gateway + backend-scoped `pi`/`native`; scheduling example included in README), backend artifact freshness/drift checks are now available via `pnpm audit:phase0-baseline:live:drift` (or chained with `pnpm audit:phase0-baseline:live:refresh:drift`) with drift report artifacts written to `docs/plans/artifacts/phase0_baseline_live_backend_drift_.{md,json}`, cadence runs can preserve distinct timestamped comparison points via `pnpm audit:phase0-baseline:live:refresh:drift:rolling`, rolling-tag retention can be managed via `pnpm audit:phase0-baseline:live:prune` (dry-run) / `pnpm audit:phase0-baseline:live:prune:apply` with prune report artifacts written to `phase0_baseline_live_prune_.{md,json}` (and retained as a managed rolling family), and one-command cadence scheduling is available via `pnpm audit:phase0-baseline:live:refresh:drift:rolling:prune` (`KEEP_PER_FAMILY` optional override). +Follow-up status (2026-02-27): live channel-session artifacts exist under `docs/plans/artifacts/phase0_baseline_live_2026-02-27.*` via `pnpm audit:phase0-baseline:live` (anonymized IDs), and a second gateway-origin live window (including `run.cancel` + `cancel_requested`/`cancelled`) exists under `docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27.*`. Gateway window refreshes can now run via `pnpm audit:phase0-baseline:live:gateway` (auto-selected cancel window), all live windows can be refreshed together with `pnpm audit:phase0-baseline:live:refresh` (channel + gateway + backend-scoped `pi`/`native`; scheduling example included in README), backend artifact freshness/drift checks are now available via `pnpm audit:phase0-baseline:live:drift` (or chained with `pnpm audit:phase0-baseline:live:refresh:drift`) with drift report artifacts written to `docs/plans/artifacts/phase0_baseline_live_backend_drift_.{md,json}`, cadence runs can preserve distinct timestamped comparison points via `pnpm audit:phase0-baseline:live:refresh:drift:rolling` (supports shared `TAG` override), rolling-tag retention can be managed via `pnpm audit:phase0-baseline:live:prune` (dry-run) / `pnpm audit:phase0-baseline:live:prune:apply` with prune report artifacts written to `phase0_baseline_live_prune_.{md,json}` (and retained as a managed rolling family), and one-command cadence scheduling is available via `pnpm audit:phase0-baseline:live:refresh:drift:rolling:prune` (`KEEP_PER_FAMILY` optional override). ## Subagent Model Assignment Plan diff --git a/docs/plans/artifacts/phase0_baseline_live_2026-02-27-193429.json b/docs/plans/artifacts/phase0_baseline_live_2026-02-27-193429.json new file mode 100644 index 0000000..77e6aba --- /dev/null +++ b/docs/plans/artifacts/phase0_baseline_live_2026-02-27-193429.json @@ -0,0 +1,371 @@ +{ + "generated_at": "2026-02-27T19:34:29.477Z", + "source_audit_path": "~/.local/share/flynn/audit.log", + "source_event_count": 118, + "sampled_event_count": 112, + "filters": { + "sources": [ + "channel" + ], + "exclude_session_substrings": [ + "probe" + ], + "anonymized_identifiers": true + }, + "options": { + "sources": [ + "channel" + ], + "maxSessions": 20, + "maxChannels": 20, + "maxSkipReasons": 10 + }, + "summary": { + "event_counts": { + "run_state": 70, + "run_cancel": 0, + "reaction_match": 0, + "reaction_skip": 42 + }, + "run_outcomes": { + "overall": { + "total_outcomes": 29, + "complete": 29, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 41, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + }, + "by_channel": [ + { + "key": "gmail", + "stats": { + "total_outcomes": 27, + "complete": 27, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 27, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "cron", + "stats": { + "total_outcomes": 2, + "complete": 2, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 14, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + } + ], + "by_session": [ + { + "key": "session_2f2f1e414e81", + "stats": { + "total_outcomes": 5, + "complete": 5, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 5, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_f4d8ddc04194", + "stats": { + "total_outcomes": 3, + "complete": 3, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 3, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_eabc3c2a91b9", + "stats": { + "total_outcomes": 2, + "complete": 2, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 2, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_f6304f25e43b", + "stats": { + "total_outcomes": 2, + "complete": 2, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 2, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_2c5ff6f6e5f0", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_33469de5a1ee", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_3ffb2e631ab1", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_4d9e843358a3", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_58a64b6f2c91", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_5ae4ad331184", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_7d3c3ff67d4f", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_7db5014f64fe", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_8849a4464275", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_8b51db8cde21", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_9067cf5e3558", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_a4b91821c664", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_a83fde4c8fdb", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_cb9a69d8a362", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_e0a2a17b7329", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_ea839415979e", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + } + ] + }, + "cancel_latency_ms": null, + "reactions": { + "matched": 0, + "skipped": 42, + "total": 42, + "match_rate_pct": 0, + "skip_rate_pct": 100, + "skip_reasons": [ + { + "reason": "no_rules", + "count": 42, + "pct": 100 + } + ] + } + } +} diff --git a/docs/plans/artifacts/phase0_baseline_live_2026-02-27-193429.jsonl b/docs/plans/artifacts/phase0_baseline_live_2026-02-27-193429.jsonl new file mode 100644 index 0000000..70bb527 --- /dev/null +++ b/docs/plans/artifacts/phase0_baseline_live_2026-02-27-193429.jsonl @@ -0,0 +1,112 @@ +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_2d8872945bf8","channel":"cron","sender":"sender_4787722f90c7","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772082000080} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2d8872945bf8","channel":"cron","sender":"sender_4787722f90c7","source":"channel","state":"start","request_id":"request_eabae852ec40"},"timestamp":1772082000082} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_ffcee254d546","channel":"cron","sender":"sender_75c445c6fdad","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772089200084} +{"level":"info","event_type":"run.state","event":{"session_id":"session_ffcee254d546","channel":"cron","sender":"sender_75c445c6fdad","source":"channel","state":"start","request_id":"request_f99421283d74"},"timestamp":1772089200086} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_49b700741e03","channel":"cron","sender":"sender_ecc7d1bae06e","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772096400007} +{"level":"info","event_type":"run.state","event":{"session_id":"session_49b700741e03","channel":"cron","sender":"sender_ecc7d1bae06e","source":"channel","state":"start","request_id":"request_33cb5e8b6843"},"timestamp":1772096400008} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772107655159} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"start","request_id":"request_7da150aff098"},"timestamp":1772107655160} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"complete","request_id":"request_7da150aff098","duration_ms":3324},"timestamp":1772107658484} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_4cd8ba5e6df5","channel":"cron","sender":"sender_247a7c21dbdd","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772110800018} +{"level":"info","event_type":"run.state","event":{"session_id":"session_4cd8ba5e6df5","channel":"cron","sender":"sender_247a7c21dbdd","source":"channel","state":"start","request_id":"request_60b338f30d46"},"timestamp":1772110800019} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772114255688} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"start","request_id":"request_55013bd2ec5f"},"timestamp":1772114255688} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"complete","request_id":"request_55013bd2ec5f","duration_ms":3006},"timestamp":1772114258694} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772119955933} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"start","request_id":"request_a01be9a4284b"},"timestamp":1772119955933} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"complete","request_id":"request_a01be9a4284b","duration_ms":2379},"timestamp":1772119958312} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772120856043} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"start","request_id":"request_49c2900b17a3"},"timestamp":1772120856043} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"complete","request_id":"request_49c2900b17a3","duration_ms":4223},"timestamp":1772120860266} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_a83fde4c8fdb","channel":"cron","sender":"sender_99a8e5949abe","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772121600016} +{"level":"info","event_type":"run.state","event":{"session_id":"session_a83fde4c8fdb","channel":"cron","sender":"sender_99a8e5949abe","source":"channel","state":"start","request_id":"request_011dde9a88a3"},"timestamp":1772121600017} +{"level":"info","event_type":"run.state","event":{"session_id":"session_a83fde4c8fdb","channel":"cron","sender":"sender_99a8e5949abe","source":"channel","state":"complete","request_id":"request_011dde9a88a3","duration_ms":41131},"timestamp":1772121641148} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_cb9a69d8a362","channel":"gmail","sender":"sender_48feae1a0ad8","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772122956201} +{"level":"info","event_type":"run.state","event":{"session_id":"session_cb9a69d8a362","channel":"gmail","sender":"sender_48feae1a0ad8","source":"channel","state":"start","request_id":"request_59fd88029c97"},"timestamp":1772122956201} +{"level":"info","event_type":"run.state","event":{"session_id":"session_cb9a69d8a362","channel":"gmail","sender":"sender_48feae1a0ad8","source":"channel","state":"complete","request_id":"request_59fd88029c97","duration_ms":2854},"timestamp":1772122959055} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_3c43a0cc0a62","channel":"cron","sender":"sender_a2f138926e17","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772125200025} +{"level":"info","event_type":"run.state","event":{"session_id":"session_3c43a0cc0a62","channel":"cron","sender":"sender_a2f138926e17","source":"channel","state":"start","request_id":"request_eabfc26524d0"},"timestamp":1772125200026} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_a4b91821c664","channel":"gmail","sender":"sender_9eff7c852e06","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772129742056} +{"level":"info","event_type":"run.state","event":{"session_id":"session_a4b91821c664","channel":"gmail","sender":"sender_9eff7c852e06","source":"channel","state":"start","request_id":"request_7734a5dbc98e"},"timestamp":1772129742057} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_eabc3c2a91b9","channel":"gmail","sender":"sender_4fe02519d59e","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772129742379} +{"level":"info","event_type":"run.state","event":{"session_id":"session_eabc3c2a91b9","channel":"gmail","sender":"sender_4fe02519d59e","source":"channel","state":"start","request_id":"request_81d00f26b8cb"},"timestamp":1772129742379} +{"level":"info","event_type":"run.state","event":{"session_id":"session_a4b91821c664","channel":"gmail","sender":"sender_9eff7c852e06","source":"channel","state":"complete","request_id":"request_7734a5dbc98e","duration_ms":5944},"timestamp":1772129748001} +{"level":"info","event_type":"run.state","event":{"session_id":"session_eabc3c2a91b9","channel":"gmail","sender":"sender_4fe02519d59e","source":"channel","state":"complete","request_id":"request_81d00f26b8cb","duration_ms":8017},"timestamp":1772129750396} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_58a64b6f2c91","channel":"gmail","sender":"sender_4222a55cdd53","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772131242612} +{"level":"info","event_type":"run.state","event":{"session_id":"session_58a64b6f2c91","channel":"gmail","sender":"sender_4222a55cdd53","source":"channel","state":"start","request_id":"request_e59d82ef75e8"},"timestamp":1772131242612} +{"level":"info","event_type":"run.state","event":{"session_id":"session_58a64b6f2c91","channel":"gmail","sender":"sender_4222a55cdd53","source":"channel","state":"complete","request_id":"request_e59d82ef75e8","duration_ms":5232},"timestamp":1772131247844} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_e0a2a17b7329","channel":"gmail","sender":"sender_5c8cb7bfc88d","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772131542650} +{"level":"info","event_type":"run.state","event":{"session_id":"session_e0a2a17b7329","channel":"gmail","sender":"sender_5c8cb7bfc88d","source":"channel","state":"start","request_id":"request_ed877aec1e58"},"timestamp":1772131542651} +{"level":"info","event_type":"run.state","event":{"session_id":"session_e0a2a17b7329","channel":"gmail","sender":"sender_5c8cb7bfc88d","source":"channel","state":"complete","request_id":"request_ed877aec1e58","duration_ms":6190},"timestamp":1772131548841} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_f6304f25e43b","channel":"gmail","sender":"sender_311c7608cc58","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772132142832} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f6304f25e43b","channel":"gmail","sender":"sender_311c7608cc58","source":"channel","state":"start","request_id":"request_8fdb3054a74d"},"timestamp":1772132142833} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_eabc3c2a91b9","channel":"gmail","sender":"sender_4fe02519d59e","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772132142976} +{"level":"info","event_type":"run.state","event":{"session_id":"session_eabc3c2a91b9","channel":"gmail","sender":"sender_4fe02519d59e","source":"channel","state":"start","request_id":"request_487012d053f7"},"timestamp":1772132142976} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f6304f25e43b","channel":"gmail","sender":"sender_311c7608cc58","source":"channel","state":"complete","request_id":"request_8fdb3054a74d","duration_ms":3727},"timestamp":1772132146560} +{"level":"info","event_type":"run.state","event":{"session_id":"session_eabc3c2a91b9","channel":"gmail","sender":"sender_4fe02519d59e","source":"channel","state":"complete","request_id":"request_487012d053f7","duration_ms":4848},"timestamp":1772132147824} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_ea839415979e","channel":"gmail","sender":"sender_63a36881e696","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772133342779} +{"level":"info","event_type":"run.state","event":{"session_id":"session_ea839415979e","channel":"gmail","sender":"sender_63a36881e696","source":"channel","state":"start","request_id":"request_46feddcf35ba"},"timestamp":1772133342779} +{"level":"info","event_type":"run.state","event":{"session_id":"session_ea839415979e","channel":"gmail","sender":"sender_63a36881e696","source":"channel","state":"complete","request_id":"request_46feddcf35ba","duration_ms":2091},"timestamp":1772133344870} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_4d9e843358a3","channel":"gmail","sender":"sender_597782907690","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772135679506} +{"level":"info","event_type":"run.state","event":{"session_id":"session_4d9e843358a3","channel":"gmail","sender":"sender_597782907690","source":"channel","state":"start","request_id":"request_a43658b8d10f"},"timestamp":1772135679510} +{"level":"info","event_type":"run.state","event":{"session_id":"session_4d9e843358a3","channel":"gmail","sender":"sender_597782907690","source":"channel","state":"complete","request_id":"request_a43658b8d10f","duration_ms":7829},"timestamp":1772135687339} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_84ba9e30a4aa","channel":"telegram","sender":"sender_403740748465","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772135865178} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_7d3c3ff67d4f","channel":"gmail","sender":"sender_1625f89b7500","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772136364511} +{"level":"info","event_type":"run.state","event":{"session_id":"session_7d3c3ff67d4f","channel":"gmail","sender":"sender_1625f89b7500","source":"channel","state":"start","request_id":"request_882bdf0a0b51"},"timestamp":1772136364512} +{"level":"info","event_type":"run.state","event":{"session_id":"session_7d3c3ff67d4f","channel":"gmail","sender":"sender_1625f89b7500","source":"channel","state":"complete","request_id":"request_882bdf0a0b51","duration_ms":5046},"timestamp":1772136369558} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_494cb3b392af","channel":"cron","sender":"sender_dfc2df9eb18e","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772139600015} +{"level":"info","event_type":"run.state","event":{"session_id":"session_494cb3b392af","channel":"cron","sender":"sender_dfc2df9eb18e","source":"channel","state":"start","request_id":"request_ea48f4337dc3"},"timestamp":1772139600017} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772142493741} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","state":"start","request_id":"request_b67bb7dcfb3e"},"timestamp":1772142493741} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","state":"complete","request_id":"request_b67bb7dcfb3e","duration_ms":6271},"timestamp":1772142500012} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_8849a4464275","channel":"gmail","sender":"sender_5aa2798b691a","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772143093516} +{"level":"info","event_type":"run.state","event":{"session_id":"session_8849a4464275","channel":"gmail","sender":"sender_5aa2798b691a","source":"channel","state":"start","request_id":"request_f0b319de0e0f"},"timestamp":1772143093516} +{"level":"info","event_type":"run.state","event":{"session_id":"session_8849a4464275","channel":"gmail","sender":"sender_5aa2798b691a","source":"channel","state":"complete","request_id":"request_f0b319de0e0f","duration_ms":3148},"timestamp":1772143096664} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_9067cf5e3558","channel":"gmail","sender":"sender_5375920e43c6","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772144293783} +{"level":"info","event_type":"run.state","event":{"session_id":"session_9067cf5e3558","channel":"gmail","sender":"sender_5375920e43c6","source":"channel","state":"start","request_id":"request_802086e4ecb7"},"timestamp":1772144293784} +{"level":"info","event_type":"run.state","event":{"session_id":"session_9067cf5e3558","channel":"gmail","sender":"sender_5375920e43c6","source":"channel","state":"complete","request_id":"request_802086e4ecb7","duration_ms":3535},"timestamp":1772144297319} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_33469de5a1ee","channel":"gmail","sender":"sender_23f2c718f92a","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772147893922} +{"level":"info","event_type":"run.state","event":{"session_id":"session_33469de5a1ee","channel":"gmail","sender":"sender_23f2c718f92a","source":"channel","state":"start","request_id":"request_e1ee7948be6e"},"timestamp":1772147893923} +{"level":"info","event_type":"run.state","event":{"session_id":"session_33469de5a1ee","channel":"gmail","sender":"sender_23f2c718f92a","source":"channel","state":"complete","request_id":"request_e1ee7948be6e","duration_ms":4090},"timestamp":1772147898013} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772151794148} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","state":"start","request_id":"request_dc04b15aeb0d"},"timestamp":1772151794148} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772151794297} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","state":"start","request_id":"request_f786a5385b23"},"timestamp":1772151794297} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","state":"complete","request_id":"request_dc04b15aeb0d","duration_ms":8516},"timestamp":1772151802664} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","state":"complete","request_id":"request_f786a5385b23","duration_ms":9850},"timestamp":1772151804147} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_2b07a8d38406","channel":"cron","sender":"sender_2a0d0e4fce24","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772154000024} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2b07a8d38406","channel":"cron","sender":"sender_2a0d0e4fce24","source":"channel","state":"start","request_id":"request_136e87e1b4ce"},"timestamp":1772154000024} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_fd6536fa5ff4","channel":"gmail","sender":"sender_fcf96878ddcb","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772158394778} +{"level":"info","event_type":"run.state","event":{"session_id":"session_fd6536fa5ff4","channel":"gmail","sender":"sender_fcf96878ddcb","source":"channel","state":"start","request_id":"request_ff70daf25a96"},"timestamp":1772158394779} +{"level":"info","event_type":"run.state","event":{"session_id":"session_fd6536fa5ff4","channel":"gmail","sender":"sender_fcf96878ddcb","source":"channel","state":"complete","request_id":"request_ff70daf25a96","duration_ms":5690},"timestamp":1772158400469} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_8b51db8cde21","channel":"gmail","sender":"sender_c9788a77f027","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772163195186} +{"level":"info","event_type":"run.state","event":{"session_id":"session_8b51db8cde21","channel":"gmail","sender":"sender_c9788a77f027","source":"channel","state":"start","request_id":"request_9054b78eda1d"},"timestamp":1772163195187} +{"level":"info","event_type":"run.state","event":{"session_id":"session_8b51db8cde21","channel":"gmail","sender":"sender_c9788a77f027","source":"channel","state":"complete","request_id":"request_9054b78eda1d","duration_ms":2356},"timestamp":1772163197543} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_683372f346c3","channel":"cron","sender":"sender_485b96f48f25","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772168400037} +{"level":"info","event_type":"run.state","event":{"session_id":"session_683372f346c3","channel":"cron","sender":"sender_485b96f48f25","source":"channel","state":"start","request_id":"request_caa9ec775af8"},"timestamp":1772168400038} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_31b6400467ce","channel":"cron","sender":"sender_8255de70c756","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772175600039} +{"level":"info","event_type":"run.state","event":{"session_id":"session_31b6400467ce","channel":"cron","sender":"sender_8255de70c756","source":"channel","state":"start","request_id":"request_40d7589e715b"},"timestamp":1772175600040} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_a3f64a8e3c1e","channel":"cron","sender":"sender_a31bd6d4a95a","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772182800033} +{"level":"info","event_type":"run.state","event":{"session_id":"session_a3f64a8e3c1e","channel":"cron","sender":"sender_a31bd6d4a95a","source":"channel","state":"start","request_id":"request_fc572d83d4c6"},"timestamp":1772182800034} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_7db5014f64fe","channel":"gmail","sender":"sender_81e925eaae0e","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772197156530} +{"level":"info","event_type":"run.state","event":{"session_id":"session_7db5014f64fe","channel":"gmail","sender":"sender_81e925eaae0e","source":"channel","state":"start","request_id":"request_7f5d82d1085a"},"timestamp":1772197156530} +{"level":"info","event_type":"run.state","event":{"session_id":"session_7db5014f64fe","channel":"gmail","sender":"sender_81e925eaae0e","source":"channel","state":"complete","request_id":"request_7f5d82d1085a","duration_ms":5231},"timestamp":1772197161761} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_d576f98a5348","channel":"cron","sender":"sender_86045f8e1835","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772197200013} +{"level":"info","event_type":"run.state","event":{"session_id":"session_d576f98a5348","channel":"cron","sender":"sender_86045f8e1835","source":"channel","state":"start","request_id":"request_ce8df697a3cf"},"timestamp":1772197200014} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_3ffb2e631ab1","channel":"gmail","sender":"sender_745442e44534","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772199256802} +{"level":"info","event_type":"run.state","event":{"session_id":"session_3ffb2e631ab1","channel":"gmail","sender":"sender_745442e44534","source":"channel","state":"start","request_id":"request_3d4d23510682"},"timestamp":1772199256803} +{"level":"info","event_type":"run.state","event":{"session_id":"session_3ffb2e631ab1","channel":"gmail","sender":"sender_745442e44534","source":"channel","state":"complete","request_id":"request_3d4d23510682","duration_ms":3836},"timestamp":1772199260639} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772206157229} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"start","request_id":"request_ab73d670c119"},"timestamp":1772206157229} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"complete","request_id":"request_ab73d670c119","duration_ms":3850},"timestamp":1772206161079} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_5ae4ad331184","channel":"cron","sender":"sender_a912a223d950","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772208000012} +{"level":"info","event_type":"run.state","event":{"session_id":"session_5ae4ad331184","channel":"cron","sender":"sender_a912a223d950","source":"channel","state":"start","request_id":"request_a3bafbb93755"},"timestamp":1772208000013} +{"level":"info","event_type":"run.state","event":{"session_id":"session_5ae4ad331184","channel":"cron","sender":"sender_a912a223d950","source":"channel","state":"complete","request_id":"request_a3bafbb93755","duration_ms":35239},"timestamp":1772208035252} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_f6304f25e43b","channel":"gmail","sender":"sender_311c7608cc58","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772211257454} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f6304f25e43b","channel":"gmail","sender":"sender_311c7608cc58","source":"channel","state":"start","request_id":"request_607c64c2760f"},"timestamp":1772211257454} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f6304f25e43b","channel":"gmail","sender":"sender_311c7608cc58","source":"channel","state":"complete","request_id":"request_607c64c2760f","duration_ms":3870},"timestamp":1772211261324} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_534570702ea5","channel":"cron","sender":"sender_552aeb8f1b32","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772211600036} +{"level":"info","event_type":"run.state","event":{"session_id":"session_534570702ea5","channel":"cron","sender":"sender_552aeb8f1b32","source":"channel","state":"start","request_id":"request_c0a9fc76c188"},"timestamp":1772211600036} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_2c5ff6f6e5f0","channel":"gmail","sender":"sender_724d9f885e18","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772220353443} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2c5ff6f6e5f0","channel":"gmail","sender":"sender_724d9f885e18","source":"channel","state":"start","request_id":"request_711695f4da7c"},"timestamp":1772220353444} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2c5ff6f6e5f0","channel":"gmail","sender":"sender_724d9f885e18","source":"channel","state":"complete","request_id":"request_711695f4da7c","duration_ms":3363},"timestamp":1772220356807} diff --git a/docs/plans/artifacts/phase0_baseline_live_2026-02-27-193429.md b/docs/plans/artifacts/phase0_baseline_live_2026-02-27-193429.md new file mode 100644 index 0000000..0a916d0 --- /dev/null +++ b/docs/plans/artifacts/phase0_baseline_live_2026-02-27-193429.md @@ -0,0 +1,65 @@ +# Phase 0 Baseline Telemetry Summary + +- Run state events: 70 +- Run cancel events: 0 +- Reaction matches: 0 +- Reaction skips: 42 + +- Sources: channel + +## Run Outcomes (Overall) + +- Total outcomes: 29 +- Complete: 29 (100.00%) +- Cancelled: 0 (0.00%) +- Errors: 0 (0.00%) +- Cancel requested: 0 +- Starts: 41 + +## Run Outcomes by Channel + +| Channel | Outcomes | Complete | Cancelled | Error | Complete % | Cancel % | Error % | Cancel Req | Starts | +| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | +| gmail | 27 | 27 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 27 | +| cron | 2 | 2 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 14 | + +## Run Outcomes by Session + +| Session | Outcomes | Complete | Cancelled | Error | Complete % | Cancel % | Error % | Cancel Req | Starts | +| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | +| session_2f2f1e414e81 | 5 | 5 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 5 | +| session_f4d8ddc04194 | 3 | 3 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 3 | +| session_eabc3c2a91b9 | 2 | 2 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 2 | +| session_f6304f25e43b | 2 | 2 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 2 | +| session_2c5ff6f6e5f0 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_33469de5a1ee | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_3ffb2e631ab1 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_4d9e843358a3 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_58a64b6f2c91 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_5ae4ad331184 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_7d3c3ff67d4f | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_7db5014f64fe | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_8849a4464275 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_8b51db8cde21 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_9067cf5e3558 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_a4b91821c664 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_a83fde4c8fdb | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_cb9a69d8a362 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_e0a2a17b7329 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_ea839415979e | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | + +## Cancel Latency + +- No cancel latency samples. + +## Reaction Decisions + +- Matched: 0 (0.00%) +- Skipped: 42 (100.00%) + +### Skip Reasons + +| Reason | Count | Percent | +| --- | ---: | ---: | +| no_rules | 42 | 100.00% | + diff --git a/docs/plans/artifacts/phase0_baseline_live_backend_drift_2026-02-27-193429.json b/docs/plans/artifacts/phase0_baseline_live_backend_drift_2026-02-27-193429.json new file mode 100644 index 0000000..5162bc0 --- /dev/null +++ b/docs/plans/artifacts/phase0_baseline_live_backend_drift_2026-02-27-193429.json @@ -0,0 +1,230 @@ +{ + "generated_at": "2026-02-27T19:34:29.957Z", + "artifacts_dir": "/home/will/lab/flynn/docs/plans/artifacts", + "backends": [ + "pi_embedded", + "native" + ], + "candidate_tag": "2026-02-27-193429", + "report_tag": "2026-02-27-193429", + "max_age_hours": 36, + "thresholds": { + "requireBaselineHistory": false, + "minCandidateSampledEvents": 10, + "maxSampledEventsDropPct": 80, + "maxRunOutcomesDropPct": 80, + "maxCompletionRateDropPp": 35, + "maxCancelRateIncreasePp": 25, + "maxErrorRateIncreasePp": 25, + "maxCancelLatencyP95IncreaseMs": 6000 + }, + "overall_pass": true, + "reports": { + "summary_json_out": "/home/will/lab/flynn/docs/plans/artifacts/phase0_baseline_live_backend_drift_2026-02-27-193429.json", + "summary_md_out": "/home/will/lab/flynn/docs/plans/artifacts/phase0_baseline_live_backend_drift_2026-02-27-193429.md" + }, + "results": [ + { + "backend": "pi_embedded", + "pass": true, + "candidate": { + "tag": "2026-02-27-193429", + "path": "/home/will/lab/flynn/docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.json", + "generated_at": "2026-02-27T19:34:29.727Z" + }, + "baseline": { + "tag": "2026-02-27-184726", + "path": "/home/will/lab/flynn/docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-184726.json", + "generated_at": "2026-02-27T18:47:26.396Z" + }, + "comparison": { + "baseline": { + "source_event_count": 115, + "sampled_event_count": 59, + "run_total_outcomes": 26, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0, + "cancel_latency_p95_ms": null, + "reaction_match_rate_pct": 0, + "reaction_skip_rate_pct": 100 + }, + "candidate": { + "source_event_count": 118, + "sampled_event_count": 60, + "run_total_outcomes": 27, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0, + "cancel_latency_p95_ms": null, + "reaction_match_rate_pct": 0, + "reaction_skip_rate_pct": 100 + }, + "deltas": { + "sampled_event_count_pct": 1.69, + "run_total_outcomes_pct": 3.85, + "completion_rate_pp": 0, + "cancel_rate_pp": 0, + "error_rate_pp": 0, + "cancel_latency_p95_ms": null, + "reaction_match_rate_pp": 0, + "reaction_skip_rate_pp": 0 + } + }, + "freshness": { + "enabled": true, + "pass": true, + "actual_age_hours": 0, + "threshold_hours": 36 + }, + "drift_gate": { + "pass": true, + "criteria": [ + { + "criterion": "candidate_sampled_events", + "pass": true, + "actual": "60", + "threshold": ">= 10" + }, + { + "criterion": "sampled_events_drop_pct", + "pass": true, + "actual": "0", + "threshold": "<= 80" + }, + { + "criterion": "run_outcomes_drop_pct", + "pass": true, + "actual": "0", + "threshold": "<= 80" + }, + { + "criterion": "completion_rate_drop_pp", + "pass": true, + "actual": "0", + "threshold": "<= 35" + }, + { + "criterion": "cancel_rate_increase_pp", + "pass": true, + "actual": "0", + "threshold": "<= 25" + }, + { + "criterion": "error_rate_increase_pp", + "pass": true, + "actual": "0", + "threshold": "<= 25" + }, + { + "criterion": "cancel_latency_p95_increase_ms", + "pass": true, + "actual": "n/a", + "threshold": "<= 6000" + } + ] + } + }, + { + "backend": "native", + "pass": true, + "candidate": { + "tag": "2026-02-27-193429", + "path": "/home/will/lab/flynn/docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.json", + "generated_at": "2026-02-27T19:34:29.861Z" + }, + "baseline": { + "tag": "2026-02-27-184726", + "path": "/home/will/lab/flynn/docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-184726.json", + "generated_at": "2026-02-27T18:47:26.506Z" + }, + "comparison": { + "baseline": { + "source_event_count": 115, + "sampled_event_count": 15, + "run_total_outcomes": 2, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0, + "cancel_latency_p95_ms": null, + "reaction_match_rate_pct": 0, + "reaction_skip_rate_pct": 100 + }, + "candidate": { + "source_event_count": 118, + "sampled_event_count": 15, + "run_total_outcomes": 2, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0, + "cancel_latency_p95_ms": null, + "reaction_match_rate_pct": 0, + "reaction_skip_rate_pct": 100 + }, + "deltas": { + "sampled_event_count_pct": 0, + "run_total_outcomes_pct": 0, + "completion_rate_pp": 0, + "cancel_rate_pp": 0, + "error_rate_pp": 0, + "cancel_latency_p95_ms": null, + "reaction_match_rate_pp": 0, + "reaction_skip_rate_pp": 0 + } + }, + "freshness": { + "enabled": true, + "pass": true, + "actual_age_hours": 0, + "threshold_hours": 36 + }, + "drift_gate": { + "pass": true, + "criteria": [ + { + "criterion": "candidate_sampled_events", + "pass": true, + "actual": "15", + "threshold": ">= 10" + }, + { + "criterion": "sampled_events_drop_pct", + "pass": true, + "actual": "0", + "threshold": "<= 80" + }, + { + "criterion": "run_outcomes_drop_pct", + "pass": true, + "actual": "0", + "threshold": "<= 80" + }, + { + "criterion": "completion_rate_drop_pp", + "pass": true, + "actual": "0", + "threshold": "<= 35" + }, + { + "criterion": "cancel_rate_increase_pp", + "pass": true, + "actual": "0", + "threshold": "<= 25" + }, + { + "criterion": "error_rate_increase_pp", + "pass": true, + "actual": "0", + "threshold": "<= 25" + }, + { + "criterion": "cancel_latency_p95_increase_ms", + "pass": true, + "actual": "n/a", + "threshold": "<= 6000" + } + ] + } + } + ] +} diff --git a/docs/plans/artifacts/phase0_baseline_live_backend_drift_2026-02-27-193429.md b/docs/plans/artifacts/phase0_baseline_live_backend_drift_2026-02-27-193429.md new file mode 100644 index 0000000..2cd810a --- /dev/null +++ b/docs/plans/artifacts/phase0_baseline_live_backend_drift_2026-02-27-193429.md @@ -0,0 +1,72 @@ +# Phase-0 Backend Drift Check + +Generated at: 2026-02-27T19:34:29.957Z +Artifacts: /home/will/lab/flynn/docs/plans/artifacts +Backends: pi_embedded, native +Freshness max age (hours): 36 +Overall gate: PASS + +## Thresholds +- requireBaselineHistory: false +- minCandidateSampledEvents: 10 +- maxSampledEventsDropPct: 80 +- maxRunOutcomesDropPct: 80 +- maxCompletionRateDropPp: 35 +- maxCancelRateIncreasePp: 25 +- maxErrorRateIncreasePp: 25 +- maxCancelLatencyP95IncreaseMs: 6000 + +## pi_embedded +- status: PASS +- candidate: tag=2026-02-27-193429 file=/home/will/lab/flynn/docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.json +- candidate generated_at: 2026-02-27T19:34:29.727Z +- baseline: tag=2026-02-27-184726 file=/home/will/lab/flynn/docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-184726.json +- baseline generated_at: 2026-02-27T18:47:26.396Z +- candidate snapshot: sampled=60 outcomes=27 completion=100% cancel=0% error=0% cancel_p95_ms=n/a +- baseline snapshot: sampled=59 outcomes=26 completion=100% cancel=0% error=0% cancel_p95_ms=n/a +- deltas: + sampled_event_count_pct=+1.69% + run_total_outcomes_pct=+3.85% + completion_rate_pp=0 + cancel_rate_pp=0 + error_rate_pp=0 + cancel_latency_p95_ms=n/a + reaction_match_rate_pp=0 + reaction_skip_rate_pp=0 +- freshness gate: PASS (age_hours=0 threshold=36) +- drift gate: PASS + PASS candidate_sampled_events actual=60 threshold=>= 10 + PASS sampled_events_drop_pct actual=0 threshold=<= 80 + PASS run_outcomes_drop_pct actual=0 threshold=<= 80 + PASS completion_rate_drop_pp actual=0 threshold=<= 35 + PASS cancel_rate_increase_pp actual=0 threshold=<= 25 + PASS error_rate_increase_pp actual=0 threshold=<= 25 + PASS cancel_latency_p95_increase_ms actual=n/a threshold=<= 6000 + +## native +- status: PASS +- candidate: tag=2026-02-27-193429 file=/home/will/lab/flynn/docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.json +- candidate generated_at: 2026-02-27T19:34:29.861Z +- baseline: tag=2026-02-27-184726 file=/home/will/lab/flynn/docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-184726.json +- baseline generated_at: 2026-02-27T18:47:26.506Z +- candidate snapshot: sampled=15 outcomes=2 completion=100% cancel=0% error=0% cancel_p95_ms=n/a +- baseline snapshot: sampled=15 outcomes=2 completion=100% cancel=0% error=0% cancel_p95_ms=n/a +- deltas: + sampled_event_count_pct=0% + run_total_outcomes_pct=0% + completion_rate_pp=0 + cancel_rate_pp=0 + error_rate_pp=0 + cancel_latency_p95_ms=n/a + reaction_match_rate_pp=0 + reaction_skip_rate_pp=0 +- freshness gate: PASS (age_hours=0 threshold=36) +- drift gate: PASS + PASS candidate_sampled_events actual=15 threshold=>= 10 + PASS sampled_events_drop_pct actual=0 threshold=<= 80 + PASS run_outcomes_drop_pct actual=0 threshold=<= 80 + PASS completion_rate_drop_pp actual=0 threshold=<= 35 + PASS cancel_rate_increase_pp actual=0 threshold=<= 25 + PASS error_rate_increase_pp actual=0 threshold=<= 25 + PASS cancel_latency_p95_increase_ms actual=n/a threshold=<= 6000 + diff --git a/docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.json b/docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.json new file mode 100644 index 0000000..c3f2aba --- /dev/null +++ b/docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.json @@ -0,0 +1,249 @@ +{ + "generated_at": "2026-02-27T19:34:29.861Z", + "source_audit_path": "~/.local/share/flynn/audit.log", + "source_event_count": 118, + "sampled_event_count": 15, + "filters": { + "sources": [ + "channel" + ], + "backend_targets": [ + "native" + ], + "exclude_session_substrings": [ + "probe" + ], + "anonymized_identifiers": true, + "backend_route_event_count": 130 + }, + "options": { + "sources": [ + "channel" + ], + "maxSessions": 20, + "maxChannels": 20, + "maxSkipReasons": 10 + }, + "summary": { + "event_counts": { + "run_state": 14, + "run_cancel": 0, + "reaction_match": 0, + "reaction_skip": 1 + }, + "run_outcomes": { + "overall": { + "total_outcomes": 2, + "complete": 2, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 12, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + }, + "by_channel": [ + { + "key": "cron", + "stats": { + "total_outcomes": 2, + "complete": 2, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 12, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + } + ], + "by_session": [ + { + "key": "session_5ae4ad331184", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_a83fde4c8fdb", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_2d8872945bf8", + "stats": { + "total_outcomes": 0, + "complete": 0, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": null, + "cancel_rate_pct": null, + "error_rate_pct": null + } + }, + { + "key": "session_31b6400467ce", + "stats": { + "total_outcomes": 0, + "complete": 0, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": null, + "cancel_rate_pct": null, + "error_rate_pct": null + } + }, + { + "key": "session_3c43a0cc0a62", + "stats": { + "total_outcomes": 0, + "complete": 0, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": null, + "cancel_rate_pct": null, + "error_rate_pct": null + } + }, + { + "key": "session_494cb3b392af", + "stats": { + "total_outcomes": 0, + "complete": 0, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": null, + "cancel_rate_pct": null, + "error_rate_pct": null + } + }, + { + "key": "session_49b700741e03", + "stats": { + "total_outcomes": 0, + "complete": 0, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": null, + "cancel_rate_pct": null, + "error_rate_pct": null + } + }, + { + "key": "session_4cd8ba5e6df5", + "stats": { + "total_outcomes": 0, + "complete": 0, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": null, + "cancel_rate_pct": null, + "error_rate_pct": null + } + }, + { + "key": "session_534570702ea5", + "stats": { + "total_outcomes": 0, + "complete": 0, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": null, + "cancel_rate_pct": null, + "error_rate_pct": null + } + }, + { + "key": "session_683372f346c3", + "stats": { + "total_outcomes": 0, + "complete": 0, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": null, + "cancel_rate_pct": null, + "error_rate_pct": null + } + }, + { + "key": "session_a3f64a8e3c1e", + "stats": { + "total_outcomes": 0, + "complete": 0, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": null, + "cancel_rate_pct": null, + "error_rate_pct": null + } + }, + { + "key": "session_ffcee254d546", + "stats": { + "total_outcomes": 0, + "complete": 0, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": null, + "cancel_rate_pct": null, + "error_rate_pct": null + } + } + ] + }, + "cancel_latency_ms": null, + "reactions": { + "matched": 0, + "skipped": 1, + "total": 1, + "match_rate_pct": 0, + "skip_rate_pct": 100, + "skip_reasons": [ + { + "reason": "no_rules", + "count": 1, + "pct": 100 + } + ] + } + } +} diff --git a/docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.jsonl b/docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.jsonl new file mode 100644 index 0000000..92f3074 --- /dev/null +++ b/docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.jsonl @@ -0,0 +1,15 @@ +{"level":"info","event_type":"run.state","event":{"session_id":"session_2d8872945bf8","channel":"cron","sender":"sender_4787722f90c7","source":"channel","state":"start","request_id":"request_eabae852ec40"},"timestamp":1772082000082} +{"level":"info","event_type":"run.state","event":{"session_id":"session_ffcee254d546","channel":"cron","sender":"sender_75c445c6fdad","source":"channel","state":"start","request_id":"request_f99421283d74"},"timestamp":1772089200086} +{"level":"info","event_type":"run.state","event":{"session_id":"session_49b700741e03","channel":"cron","sender":"sender_ecc7d1bae06e","source":"channel","state":"start","request_id":"request_33cb5e8b6843"},"timestamp":1772096400008} +{"level":"info","event_type":"run.state","event":{"session_id":"session_4cd8ba5e6df5","channel":"cron","sender":"sender_247a7c21dbdd","source":"channel","state":"start","request_id":"request_60b338f30d46"},"timestamp":1772110800019} +{"level":"info","event_type":"run.state","event":{"session_id":"session_a83fde4c8fdb","channel":"cron","sender":"sender_99a8e5949abe","source":"channel","state":"start","request_id":"request_011dde9a88a3"},"timestamp":1772121600017} +{"level":"info","event_type":"run.state","event":{"session_id":"session_a83fde4c8fdb","channel":"cron","sender":"sender_99a8e5949abe","source":"channel","state":"complete","request_id":"request_011dde9a88a3","duration_ms":41131},"timestamp":1772121641148} +{"level":"info","event_type":"run.state","event":{"session_id":"session_3c43a0cc0a62","channel":"cron","sender":"sender_a2f138926e17","source":"channel","state":"start","request_id":"request_eabfc26524d0"},"timestamp":1772125200026} +{"level":"info","event_type":"run.state","event":{"session_id":"session_494cb3b392af","channel":"cron","sender":"sender_dfc2df9eb18e","source":"channel","state":"start","request_id":"request_ea48f4337dc3"},"timestamp":1772139600017} +{"level":"info","event_type":"run.state","event":{"session_id":"session_683372f346c3","channel":"cron","sender":"sender_485b96f48f25","source":"channel","state":"start","request_id":"request_caa9ec775af8"},"timestamp":1772168400038} +{"level":"info","event_type":"run.state","event":{"session_id":"session_31b6400467ce","channel":"cron","sender":"sender_8255de70c756","source":"channel","state":"start","request_id":"request_40d7589e715b"},"timestamp":1772175600040} +{"level":"info","event_type":"run.state","event":{"session_id":"session_a3f64a8e3c1e","channel":"cron","sender":"sender_a31bd6d4a95a","source":"channel","state":"start","request_id":"request_fc572d83d4c6"},"timestamp":1772182800034} +{"level":"info","event_type":"run.state","event":{"session_id":"session_5ae4ad331184","channel":"cron","sender":"sender_a912a223d950","source":"channel","state":"start","request_id":"request_a3bafbb93755"},"timestamp":1772208000013} +{"level":"info","event_type":"run.state","event":{"session_id":"session_5ae4ad331184","channel":"cron","sender":"sender_a912a223d950","source":"channel","state":"complete","request_id":"request_a3bafbb93755","duration_ms":35239},"timestamp":1772208035252} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_534570702ea5","channel":"cron","sender":"sender_552aeb8f1b32","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772211600036} +{"level":"info","event_type":"run.state","event":{"session_id":"session_534570702ea5","channel":"cron","sender":"sender_552aeb8f1b32","source":"channel","state":"start","request_id":"request_c0a9fc76c188"},"timestamp":1772211600036} diff --git a/docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.md b/docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.md new file mode 100644 index 0000000..e28304f --- /dev/null +++ b/docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.md @@ -0,0 +1,56 @@ +# Phase 0 Baseline Telemetry Summary + +- Run state events: 14 +- Run cancel events: 0 +- Reaction matches: 0 +- Reaction skips: 1 + +- Sources: channel + +## Run Outcomes (Overall) + +- Total outcomes: 2 +- Complete: 2 (100.00%) +- Cancelled: 0 (0.00%) +- Errors: 0 (0.00%) +- Cancel requested: 0 +- Starts: 12 + +## Run Outcomes by Channel + +| Channel | Outcomes | Complete | Cancelled | Error | Complete % | Cancel % | Error % | Cancel Req | Starts | +| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | +| cron | 2 | 2 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 12 | + +## Run Outcomes by Session + +| Session | Outcomes | Complete | Cancelled | Error | Complete % | Cancel % | Error % | Cancel Req | Starts | +| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | +| session_5ae4ad331184 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_a83fde4c8fdb | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_2d8872945bf8 | 0 | 0 | 0 | 0 | n/a | n/a | n/a | 0 | 1 | +| session_31b6400467ce | 0 | 0 | 0 | 0 | n/a | n/a | n/a | 0 | 1 | +| session_3c43a0cc0a62 | 0 | 0 | 0 | 0 | n/a | n/a | n/a | 0 | 1 | +| session_494cb3b392af | 0 | 0 | 0 | 0 | n/a | n/a | n/a | 0 | 1 | +| session_49b700741e03 | 0 | 0 | 0 | 0 | n/a | n/a | n/a | 0 | 1 | +| session_4cd8ba5e6df5 | 0 | 0 | 0 | 0 | n/a | n/a | n/a | 0 | 1 | +| session_534570702ea5 | 0 | 0 | 0 | 0 | n/a | n/a | n/a | 0 | 1 | +| session_683372f346c3 | 0 | 0 | 0 | 0 | n/a | n/a | n/a | 0 | 1 | +| session_a3f64a8e3c1e | 0 | 0 | 0 | 0 | n/a | n/a | n/a | 0 | 1 | +| session_ffcee254d546 | 0 | 0 | 0 | 0 | n/a | n/a | n/a | 0 | 1 | + +## Cancel Latency + +- No cancel latency samples. + +## Reaction Decisions + +- Matched: 0 (0.00%) +- Skipped: 1 (100.00%) + +### Skip Reasons + +| Reason | Count | Percent | +| --- | ---: | ---: | +| no_rules | 1 | 100.00% | + diff --git a/docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.json b/docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.json new file mode 100644 index 0000000..af47ba1 --- /dev/null +++ b/docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.json @@ -0,0 +1,347 @@ +{ + "generated_at": "2026-02-27T19:34:29.727Z", + "source_audit_path": "~/.local/share/flynn/audit.log", + "source_event_count": 118, + "sampled_event_count": 60, + "filters": { + "sources": [ + "channel" + ], + "backend_targets": [ + "pi_embedded" + ], + "exclude_session_substrings": [ + "probe" + ], + "anonymized_identifiers": true, + "backend_route_event_count": 130 + }, + "options": { + "sources": [ + "channel" + ], + "maxSessions": 20, + "maxChannels": 20, + "maxSkipReasons": 10 + }, + "summary": { + "event_counts": { + "run_state": 45, + "run_cancel": 0, + "reaction_match": 0, + "reaction_skip": 15 + }, + "run_outcomes": { + "overall": { + "total_outcomes": 27, + "complete": 27, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 18, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + }, + "by_channel": [ + { + "key": "gmail", + "stats": { + "total_outcomes": 27, + "complete": 27, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 18, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + } + ], + "by_session": [ + { + "key": "session_2f2f1e414e81", + "stats": { + "total_outcomes": 5, + "complete": 5, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 5, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_f4d8ddc04194", + "stats": { + "total_outcomes": 3, + "complete": 3, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 3, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_eabc3c2a91b9", + "stats": { + "total_outcomes": 2, + "complete": 2, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_f6304f25e43b", + "stats": { + "total_outcomes": 2, + "complete": 2, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 2, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_2c5ff6f6e5f0", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 0, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_33469de5a1ee", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_3ffb2e631ab1", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 0, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_4d9e843358a3", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 0, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_58a64b6f2c91", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 0, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_7d3c3ff67d4f", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 0, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_7db5014f64fe", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 0, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_8849a4464275", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 0, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_8b51db8cde21", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_9067cf5e3558", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_a4b91821c664", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 0, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_cb9a69d8a362", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_e0a2a17b7329", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_ea839415979e", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + }, + { + "key": "session_fd6536fa5ff4", + "stats": { + "total_outcomes": 1, + "complete": 1, + "cancelled": 0, + "error": 0, + "cancel_requested": 0, + "start": 1, + "completion_rate_pct": 100, + "cancel_rate_pct": 0, + "error_rate_pct": 0 + } + } + ] + }, + "cancel_latency_ms": null, + "reactions": { + "matched": 0, + "skipped": 15, + "total": 15, + "match_rate_pct": 0, + "skip_rate_pct": 100, + "skip_reasons": [ + { + "reason": "no_rules", + "count": 15, + "pct": 100 + } + ] + } + } +} diff --git a/docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.jsonl b/docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.jsonl new file mode 100644 index 0000000..ccf70e9 --- /dev/null +++ b/docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.jsonl @@ -0,0 +1,60 @@ +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772107655159} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"start","request_id":"request_7da150aff098"},"timestamp":1772107655160} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"complete","request_id":"request_7da150aff098","duration_ms":3324},"timestamp":1772107658484} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772114255688} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"start","request_id":"request_55013bd2ec5f"},"timestamp":1772114255688} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"complete","request_id":"request_55013bd2ec5f","duration_ms":3006},"timestamp":1772114258694} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772119955933} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"start","request_id":"request_a01be9a4284b"},"timestamp":1772119955933} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"complete","request_id":"request_a01be9a4284b","duration_ms":2379},"timestamp":1772119958312} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772120856043} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"start","request_id":"request_49c2900b17a3"},"timestamp":1772120856043} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"complete","request_id":"request_49c2900b17a3","duration_ms":4223},"timestamp":1772120860266} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_cb9a69d8a362","channel":"gmail","sender":"sender_48feae1a0ad8","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772122956201} +{"level":"info","event_type":"run.state","event":{"session_id":"session_cb9a69d8a362","channel":"gmail","sender":"sender_48feae1a0ad8","source":"channel","state":"start","request_id":"request_59fd88029c97"},"timestamp":1772122956201} +{"level":"info","event_type":"run.state","event":{"session_id":"session_cb9a69d8a362","channel":"gmail","sender":"sender_48feae1a0ad8","source":"channel","state":"complete","request_id":"request_59fd88029c97","duration_ms":2854},"timestamp":1772122959055} +{"level":"info","event_type":"run.state","event":{"session_id":"session_a4b91821c664","channel":"gmail","sender":"sender_9eff7c852e06","source":"channel","state":"complete","request_id":"request_7734a5dbc98e","duration_ms":5944},"timestamp":1772129748001} +{"level":"info","event_type":"run.state","event":{"session_id":"session_eabc3c2a91b9","channel":"gmail","sender":"sender_4fe02519d59e","source":"channel","state":"complete","request_id":"request_81d00f26b8cb","duration_ms":8017},"timestamp":1772129750396} +{"level":"info","event_type":"run.state","event":{"session_id":"session_58a64b6f2c91","channel":"gmail","sender":"sender_4222a55cdd53","source":"channel","state":"complete","request_id":"request_e59d82ef75e8","duration_ms":5232},"timestamp":1772131247844} +{"level":"info","event_type":"run.state","event":{"session_id":"session_e0a2a17b7329","channel":"gmail","sender":"sender_5c8cb7bfc88d","source":"channel","state":"start","request_id":"request_ed877aec1e58"},"timestamp":1772131542651} +{"level":"info","event_type":"run.state","event":{"session_id":"session_e0a2a17b7329","channel":"gmail","sender":"sender_5c8cb7bfc88d","source":"channel","state":"complete","request_id":"request_ed877aec1e58","duration_ms":6190},"timestamp":1772131548841} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_f6304f25e43b","channel":"gmail","sender":"sender_311c7608cc58","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772132142832} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f6304f25e43b","channel":"gmail","sender":"sender_311c7608cc58","source":"channel","state":"start","request_id":"request_8fdb3054a74d"},"timestamp":1772132142833} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_eabc3c2a91b9","channel":"gmail","sender":"sender_4fe02519d59e","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772132142976} +{"level":"info","event_type":"run.state","event":{"session_id":"session_eabc3c2a91b9","channel":"gmail","sender":"sender_4fe02519d59e","source":"channel","state":"start","request_id":"request_487012d053f7"},"timestamp":1772132142976} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f6304f25e43b","channel":"gmail","sender":"sender_311c7608cc58","source":"channel","state":"complete","request_id":"request_8fdb3054a74d","duration_ms":3727},"timestamp":1772132146560} +{"level":"info","event_type":"run.state","event":{"session_id":"session_eabc3c2a91b9","channel":"gmail","sender":"sender_4fe02519d59e","source":"channel","state":"complete","request_id":"request_487012d053f7","duration_ms":4848},"timestamp":1772132147824} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_ea839415979e","channel":"gmail","sender":"sender_63a36881e696","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772133342779} +{"level":"info","event_type":"run.state","event":{"session_id":"session_ea839415979e","channel":"gmail","sender":"sender_63a36881e696","source":"channel","state":"start","request_id":"request_46feddcf35ba"},"timestamp":1772133342779} +{"level":"info","event_type":"run.state","event":{"session_id":"session_ea839415979e","channel":"gmail","sender":"sender_63a36881e696","source":"channel","state":"complete","request_id":"request_46feddcf35ba","duration_ms":2091},"timestamp":1772133344870} +{"level":"info","event_type":"run.state","event":{"session_id":"session_4d9e843358a3","channel":"gmail","sender":"sender_597782907690","source":"channel","state":"complete","request_id":"request_a43658b8d10f","duration_ms":7829},"timestamp":1772135687339} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_84ba9e30a4aa","channel":"telegram","sender":"sender_403740748465","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772135865178} +{"level":"info","event_type":"run.state","event":{"session_id":"session_7d3c3ff67d4f","channel":"gmail","sender":"sender_1625f89b7500","source":"channel","state":"complete","request_id":"request_882bdf0a0b51","duration_ms":5046},"timestamp":1772136369558} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772142493741} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","state":"start","request_id":"request_b67bb7dcfb3e"},"timestamp":1772142493741} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","state":"complete","request_id":"request_b67bb7dcfb3e","duration_ms":6271},"timestamp":1772142500012} +{"level":"info","event_type":"run.state","event":{"session_id":"session_8849a4464275","channel":"gmail","sender":"sender_5aa2798b691a","source":"channel","state":"complete","request_id":"request_f0b319de0e0f","duration_ms":3148},"timestamp":1772143096664} +{"level":"info","event_type":"run.state","event":{"session_id":"session_9067cf5e3558","channel":"gmail","sender":"sender_5375920e43c6","source":"channel","state":"start","request_id":"request_802086e4ecb7"},"timestamp":1772144293784} +{"level":"info","event_type":"run.state","event":{"session_id":"session_9067cf5e3558","channel":"gmail","sender":"sender_5375920e43c6","source":"channel","state":"complete","request_id":"request_802086e4ecb7","duration_ms":3535},"timestamp":1772144297319} +{"level":"info","event_type":"run.state","event":{"session_id":"session_33469de5a1ee","channel":"gmail","sender":"sender_23f2c718f92a","source":"channel","state":"start","request_id":"request_e1ee7948be6e"},"timestamp":1772147893923} +{"level":"info","event_type":"run.state","event":{"session_id":"session_33469de5a1ee","channel":"gmail","sender":"sender_23f2c718f92a","source":"channel","state":"complete","request_id":"request_e1ee7948be6e","duration_ms":4090},"timestamp":1772147898013} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772151794148} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","state":"start","request_id":"request_dc04b15aeb0d"},"timestamp":1772151794148} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772151794297} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","state":"start","request_id":"request_f786a5385b23"},"timestamp":1772151794297} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","state":"complete","request_id":"request_dc04b15aeb0d","duration_ms":8516},"timestamp":1772151802664} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f4d8ddc04194","channel":"gmail","sender":"sender_c8a436a5eb54","source":"channel","state":"complete","request_id":"request_f786a5385b23","duration_ms":9850},"timestamp":1772151804147} +{"level":"info","event_type":"run.state","event":{"session_id":"session_fd6536fa5ff4","channel":"gmail","sender":"sender_fcf96878ddcb","source":"channel","state":"start","request_id":"request_ff70daf25a96"},"timestamp":1772158394779} +{"level":"info","event_type":"run.state","event":{"session_id":"session_fd6536fa5ff4","channel":"gmail","sender":"sender_fcf96878ddcb","source":"channel","state":"complete","request_id":"request_ff70daf25a96","duration_ms":5690},"timestamp":1772158400469} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_8b51db8cde21","channel":"gmail","sender":"sender_c9788a77f027","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772163195186} +{"level":"info","event_type":"run.state","event":{"session_id":"session_8b51db8cde21","channel":"gmail","sender":"sender_c9788a77f027","source":"channel","state":"start","request_id":"request_9054b78eda1d"},"timestamp":1772163195187} +{"level":"info","event_type":"run.state","event":{"session_id":"session_8b51db8cde21","channel":"gmail","sender":"sender_c9788a77f027","source":"channel","state":"complete","request_id":"request_9054b78eda1d","duration_ms":2356},"timestamp":1772163197543} +{"level":"info","event_type":"run.state","event":{"session_id":"session_7db5014f64fe","channel":"gmail","sender":"sender_81e925eaae0e","source":"channel","state":"complete","request_id":"request_7f5d82d1085a","duration_ms":5231},"timestamp":1772197161761} +{"level":"info","event_type":"run.state","event":{"session_id":"session_3ffb2e631ab1","channel":"gmail","sender":"sender_745442e44534","source":"channel","state":"complete","request_id":"request_3d4d23510682","duration_ms":3836},"timestamp":1772199260639} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772206157229} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"start","request_id":"request_ab73d670c119"},"timestamp":1772206157229} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2f2f1e414e81","channel":"gmail","sender":"sender_323cedc3233a","source":"channel","state":"complete","request_id":"request_ab73d670c119","duration_ms":3850},"timestamp":1772206161079} +{"level":"debug","event_type":"reaction.skip","event":{"session_id":"session_f6304f25e43b","channel":"gmail","sender":"sender_311c7608cc58","source":"channel","reason":"no_rules","candidate_count":0},"timestamp":1772211257454} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f6304f25e43b","channel":"gmail","sender":"sender_311c7608cc58","source":"channel","state":"start","request_id":"request_607c64c2760f"},"timestamp":1772211257454} +{"level":"info","event_type":"run.state","event":{"session_id":"session_f6304f25e43b","channel":"gmail","sender":"sender_311c7608cc58","source":"channel","state":"complete","request_id":"request_607c64c2760f","duration_ms":3870},"timestamp":1772211261324} +{"level":"info","event_type":"run.state","event":{"session_id":"session_2c5ff6f6e5f0","channel":"gmail","sender":"sender_724d9f885e18","source":"channel","state":"complete","request_id":"request_711695f4da7c","duration_ms":3363},"timestamp":1772220356807} diff --git a/docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.md b/docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.md new file mode 100644 index 0000000..72c2e33 --- /dev/null +++ b/docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.md @@ -0,0 +1,63 @@ +# Phase 0 Baseline Telemetry Summary + +- Run state events: 45 +- Run cancel events: 0 +- Reaction matches: 0 +- Reaction skips: 15 + +- Sources: channel + +## Run Outcomes (Overall) + +- Total outcomes: 27 +- Complete: 27 (100.00%) +- Cancelled: 0 (0.00%) +- Errors: 0 (0.00%) +- Cancel requested: 0 +- Starts: 18 + +## Run Outcomes by Channel + +| Channel | Outcomes | Complete | Cancelled | Error | Complete % | Cancel % | Error % | Cancel Req | Starts | +| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | +| gmail | 27 | 27 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 18 | + +## Run Outcomes by Session + +| Session | Outcomes | Complete | Cancelled | Error | Complete % | Cancel % | Error % | Cancel Req | Starts | +| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | +| session_2f2f1e414e81 | 5 | 5 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 5 | +| session_f4d8ddc04194 | 3 | 3 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 3 | +| session_eabc3c2a91b9 | 2 | 2 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_f6304f25e43b | 2 | 2 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 2 | +| session_2c5ff6f6e5f0 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 0 | +| session_33469de5a1ee | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_3ffb2e631ab1 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 0 | +| session_4d9e843358a3 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 0 | +| session_58a64b6f2c91 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 0 | +| session_7d3c3ff67d4f | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 0 | +| session_7db5014f64fe | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 0 | +| session_8849a4464275 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 0 | +| session_8b51db8cde21 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_9067cf5e3558 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_a4b91821c664 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 0 | +| session_cb9a69d8a362 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_e0a2a17b7329 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_ea839415979e | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | +| session_fd6536fa5ff4 | 1 | 1 | 0 | 0 | 100.00% | 0.00% | 0.00% | 0 | 1 | + +## Cancel Latency + +- No cancel latency samples. + +## Reaction Decisions + +- Matched: 0 (0.00%) +- Skipped: 15 (100.00%) + +### Skip Reasons + +| Reason | Count | Percent | +| --- | ---: | ---: | +| no_rules | 15 | 100.00% | + diff --git a/docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27-193429.json b/docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27-193429.json new file mode 100644 index 0000000..91b58ce --- /dev/null +++ b/docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27-193429.json @@ -0,0 +1,104 @@ +{ + "generated_at": "2026-02-27T19:34:29.605Z", + "source_audit_path": "~/.local/share/flynn/audit.log", + "source_event_count": 6, + "sampled_event_count": 6, + "filters": { + "since_ms": 1772178441443, + "until_ms": 1772178441944, + "sources": [ + "gateway" + ], + "exclude_session_substrings": [ + "probe" + ], + "anonymized_identifiers": true, + "auto_gateway_cancel_window": { + "session_id": "ws:phase0-gateway-window", + "start_time_ms": 1772178441443, + "end_time_ms": 1772178441944, + "event_count": 6, + "run_cancel_count": 1, + "cancel_requested_count": 1, + "cancelled_count": 1, + "padding_ms": 250 + } + }, + "options": { + "sources": [ + "gateway" + ], + "maxSessions": 20, + "maxChannels": 20, + "maxSkipReasons": 10 + }, + "summary": { + "event_counts": { + "run_state": 5, + "run_cancel": 1, + "reaction_match": 0, + "reaction_skip": 0 + }, + "run_outcomes": { + "overall": { + "total_outcomes": 2, + "complete": 1, + "cancelled": 1, + "error": 0, + "cancel_requested": 1, + "start": 2, + "completion_rate_pct": 50, + "cancel_rate_pct": 50, + "error_rate_pct": 0 + }, + "by_channel": [ + { + "key": "ws", + "stats": { + "total_outcomes": 2, + "complete": 1, + "cancelled": 1, + "error": 0, + "cancel_requested": 1, + "start": 2, + "completion_rate_pct": 50, + "cancel_rate_pct": 50, + "error_rate_pct": 0 + } + } + ], + "by_session": [ + { + "key": "session_67024a716ed2", + "stats": { + "total_outcomes": 2, + "complete": 1, + "cancelled": 1, + "error": 0, + "cancel_requested": 1, + "start": 2, + "completion_rate_pct": 50, + "cancel_rate_pct": 50, + "error_rate_pct": 0 + } + } + ] + }, + "cancel_latency_ms": { + "count": 1, + "avg_ms": 0, + "p50_ms": 0, + "p95_ms": 0, + "min_ms": 0, + "max_ms": 0 + }, + "reactions": { + "matched": 0, + "skipped": 0, + "total": 0, + "match_rate_pct": null, + "skip_rate_pct": null, + "skip_reasons": [] + } + } +} diff --git a/docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27-193429.jsonl b/docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27-193429.jsonl new file mode 100644 index 0000000..1368af7 --- /dev/null +++ b/docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27-193429.jsonl @@ -0,0 +1,6 @@ +{"level":"info","event_type":"run.state","event":{"session_id":"session_67024a716ed2","channel":"ws","sender":"sender_776ae1d44923","source":"gateway","state":"start","request_id":"request_e7102f267cb2"},"timestamp":1772178441693} +{"level":"info","event_type":"run.cancel","event":{"session_id":"session_67024a716ed2","channel":"ws","sender":"sender_776ae1d44923","source":"gateway","requested":true,"acknowledged":true,"request_id":"request_61e1e51ee26b","latency_ms":0},"timestamp":1772178441693} +{"level":"info","event_type":"run.state","event":{"session_id":"session_67024a716ed2","channel":"ws","sender":"sender_776ae1d44923","source":"gateway","state":"cancel_requested","request_id":"request_61e1e51ee26b","duration_ms":0},"timestamp":1772178441694} +{"level":"info","event_type":"run.state","event":{"session_id":"session_67024a716ed2","channel":"ws","sender":"sender_776ae1d44923","source":"gateway","state":"cancelled","request_id":"request_e7102f267cb2","duration_ms":1},"timestamp":1772178441694} +{"level":"info","event_type":"run.state","event":{"session_id":"session_67024a716ed2","channel":"ws","sender":"sender_776ae1d44923","source":"gateway","state":"start","request_id":"request_897903dab9c4"},"timestamp":1772178441694} +{"level":"info","event_type":"run.state","event":{"session_id":"session_67024a716ed2","channel":"ws","sender":"sender_776ae1d44923","source":"gateway","state":"complete","request_id":"request_897903dab9c4","duration_ms":0},"timestamp":1772178441694} diff --git a/docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27-193429.md b/docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27-193429.md new file mode 100644 index 0000000..3d15069 --- /dev/null +++ b/docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27-193429.md @@ -0,0 +1,50 @@ +# Phase 0 Baseline Telemetry Summary + +- Run state events: 5 +- Run cancel events: 1 +- Reaction matches: 0 +- Reaction skips: 0 + +- Sources: gateway + +## Run Outcomes (Overall) + +- Total outcomes: 2 +- Complete: 1 (50.00%) +- Cancelled: 1 (50.00%) +- Errors: 0 (0.00%) +- Cancel requested: 1 +- Starts: 2 + +## Run Outcomes by Channel + +| Channel | Outcomes | Complete | Cancelled | Error | Complete % | Cancel % | Error % | Cancel Req | Starts | +| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | +| ws | 2 | 1 | 1 | 0 | 50.00% | 50.00% | 0.00% | 1 | 2 | + +## Run Outcomes by Session + +| Session | Outcomes | Complete | Cancelled | Error | Complete % | Cancel % | Error % | Cancel Req | Starts | +| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | +| session_67024a716ed2 | 2 | 1 | 1 | 0 | 50.00% | 50.00% | 0.00% | 1 | 2 | + +## Cancel Latency + +- Count: 1 +- Avg: 0ms +- P50: 0ms +- P95: 0ms +- Min: 0ms +- Max: 0ms + +## Reaction Decisions + +- Matched: 0 (n/a) +- Skipped: 0 (n/a) + +### Skip Reasons + +| Reason | Count | Percent | +| --- | ---: | ---: | +| _none_ | 0 | 0.00% | + diff --git a/docs/plans/artifacts/phase0_baseline_live_prune_2026-02-27-193429.json b/docs/plans/artifacts/phase0_baseline_live_prune_2026-02-27-193429.json new file mode 100644 index 0000000..a5b23cc --- /dev/null +++ b/docs/plans/artifacts/phase0_baseline_live_prune_2026-02-27-193429.json @@ -0,0 +1,402 @@ +{ + "generated_at": "2026-02-27T19:34:30.059Z", + "artifacts_dir": "/home/will/lab/flynn/docs/plans/artifacts", + "keep_per_family": 8, + "apply": true, + "report_tag": "2026-02-27-193429", + "reports": { + "summary_json_out": "/home/will/lab/flynn/docs/plans/artifacts/phase0_baseline_live_prune_2026-02-27-193429.json", + "summary_md_out": "/home/will/lab/flynn/docs/plans/artifacts/phase0_baseline_live_prune_2026-02-27-193429.md" + }, + "plan": { + "keep": [ + { + "file_name": "phase0_baseline_live_backend_drift_2026-02-27-193429.json", + "family": "backend_drift", + "tag": "2026-02-27-193429", + "tag_timestamp_ms": 1772220869000 + }, + { + "file_name": "phase0_baseline_live_backend_drift_2026-02-27-193429.md", + "family": "backend_drift", + "tag": "2026-02-27-193429", + "tag_timestamp_ms": 1772220869000 + }, + { + "file_name": "phase0_baseline_live_backend_drift_2026-02-27-184726.json", + "family": "backend_drift", + "tag": "2026-02-27-184726", + "tag_timestamp_ms": 1772218046000 + }, + { + "file_name": "phase0_baseline_live_backend_drift_2026-02-27-184726.md", + "family": "backend_drift", + "tag": "2026-02-27-184726", + "tag_timestamp_ms": 1772218046000 + }, + { + "file_name": "phase0_baseline_live_backend_drift_2026-02-27-184011.json", + "family": "backend_drift", + "tag": "2026-02-27-184011", + "tag_timestamp_ms": 1772217611000 + }, + { + "file_name": "phase0_baseline_live_backend_drift_2026-02-27-184011.md", + "family": "backend_drift", + "tag": "2026-02-27-184011", + "tag_timestamp_ms": 1772217611000 + }, + { + "file_name": "phase0_baseline_live_backend_drift_2026-02-27-175943.json", + "family": "backend_drift", + "tag": "2026-02-27-175943", + "tag_timestamp_ms": 1772215183000 + }, + { + "file_name": "phase0_baseline_live_backend_drift_2026-02-27-175943.md", + "family": "backend_drift", + "tag": "2026-02-27-175943", + "tag_timestamp_ms": 1772215183000 + }, + { + "file_name": "phase0_baseline_live_backend_native_2026-02-27-193429.json", + "family": "backend_native", + "tag": "2026-02-27-193429", + "tag_timestamp_ms": 1772220869000 + }, + { + "file_name": "phase0_baseline_live_backend_native_2026-02-27-193429.jsonl", + "family": "backend_native", + "tag": "2026-02-27-193429", + "tag_timestamp_ms": 1772220869000 + }, + { + "file_name": "phase0_baseline_live_backend_native_2026-02-27-193429.md", + "family": "backend_native", + "tag": "2026-02-27-193429", + "tag_timestamp_ms": 1772220869000 + }, + { + "file_name": "phase0_baseline_live_backend_native_2026-02-27-184726.json", + "family": "backend_native", + "tag": "2026-02-27-184726", + "tag_timestamp_ms": 1772218046000 + }, + { + "file_name": "phase0_baseline_live_backend_native_2026-02-27-184726.jsonl", + "family": "backend_native", + "tag": "2026-02-27-184726", + "tag_timestamp_ms": 1772218046000 + }, + { + "file_name": "phase0_baseline_live_backend_native_2026-02-27-184726.md", + "family": "backend_native", + "tag": "2026-02-27-184726", + "tag_timestamp_ms": 1772218046000 + }, + { + "file_name": "phase0_baseline_live_backend_native_2026-02-27-184011.json", + "family": "backend_native", + "tag": "2026-02-27-184011", + "tag_timestamp_ms": 1772217611000 + }, + { + "file_name": "phase0_baseline_live_backend_native_2026-02-27-184011.jsonl", + "family": "backend_native", + "tag": "2026-02-27-184011", + "tag_timestamp_ms": 1772217611000 + }, + { + "file_name": "phase0_baseline_live_backend_native_2026-02-27-184011.md", + "family": "backend_native", + "tag": "2026-02-27-184011", + "tag_timestamp_ms": 1772217611000 + }, + { + "file_name": "phase0_baseline_live_backend_native_2026-02-27-175943.json", + "family": "backend_native", + "tag": "2026-02-27-175943", + "tag_timestamp_ms": 1772215183000 + }, + { + "file_name": "phase0_baseline_live_backend_native_2026-02-27-175943.jsonl", + "family": "backend_native", + "tag": "2026-02-27-175943", + "tag_timestamp_ms": 1772215183000 + }, + { + "file_name": "phase0_baseline_live_backend_native_2026-02-27-175943.md", + "family": "backend_native", + "tag": "2026-02-27-175943", + "tag_timestamp_ms": 1772215183000 + }, + { + "file_name": "phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.json", + "family": "backend_pi_embedded", + "tag": "2026-02-27-193429", + "tag_timestamp_ms": 1772220869000 + }, + { + "file_name": "phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.jsonl", + "family": "backend_pi_embedded", + "tag": "2026-02-27-193429", + "tag_timestamp_ms": 1772220869000 + }, + { + "file_name": "phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.md", + "family": "backend_pi_embedded", + "tag": "2026-02-27-193429", + "tag_timestamp_ms": 1772220869000 + }, + { + "file_name": "phase0_baseline_live_backend_pi_embedded_2026-02-27-184726.json", + "family": "backend_pi_embedded", + "tag": "2026-02-27-184726", + "tag_timestamp_ms": 1772218046000 + }, + { + "file_name": "phase0_baseline_live_backend_pi_embedded_2026-02-27-184726.jsonl", + "family": "backend_pi_embedded", + "tag": "2026-02-27-184726", + "tag_timestamp_ms": 1772218046000 + }, + { + "file_name": "phase0_baseline_live_backend_pi_embedded_2026-02-27-184726.md", + "family": "backend_pi_embedded", + "tag": "2026-02-27-184726", + "tag_timestamp_ms": 1772218046000 + }, + { + "file_name": "phase0_baseline_live_backend_pi_embedded_2026-02-27-184011.json", + "family": "backend_pi_embedded", + "tag": "2026-02-27-184011", + "tag_timestamp_ms": 1772217611000 + }, + { + "file_name": "phase0_baseline_live_backend_pi_embedded_2026-02-27-184011.jsonl", + "family": "backend_pi_embedded", + "tag": "2026-02-27-184011", + "tag_timestamp_ms": 1772217611000 + }, + { + "file_name": "phase0_baseline_live_backend_pi_embedded_2026-02-27-184011.md", + "family": "backend_pi_embedded", + "tag": "2026-02-27-184011", + "tag_timestamp_ms": 1772217611000 + }, + { + "file_name": "phase0_baseline_live_backend_pi_embedded_2026-02-27-175943.json", + "family": "backend_pi_embedded", + "tag": "2026-02-27-175943", + "tag_timestamp_ms": 1772215183000 + }, + { + "file_name": "phase0_baseline_live_backend_pi_embedded_2026-02-27-175943.jsonl", + "family": "backend_pi_embedded", + "tag": "2026-02-27-175943", + "tag_timestamp_ms": 1772215183000 + }, + { + "file_name": "phase0_baseline_live_backend_pi_embedded_2026-02-27-175943.md", + "family": "backend_pi_embedded", + "tag": "2026-02-27-175943", + "tag_timestamp_ms": 1772215183000 + }, + { + "file_name": "phase0_baseline_live_2026-02-27-193429.json", + "family": "channel", + "tag": "2026-02-27-193429", + "tag_timestamp_ms": 1772220869000 + }, + { + "file_name": "phase0_baseline_live_2026-02-27-193429.jsonl", + "family": "channel", + "tag": "2026-02-27-193429", + "tag_timestamp_ms": 1772220869000 + }, + { + "file_name": "phase0_baseline_live_2026-02-27-193429.md", + "family": "channel", + "tag": "2026-02-27-193429", + "tag_timestamp_ms": 1772220869000 + }, + { + "file_name": "phase0_baseline_live_2026-02-27-184726.json", + "family": "channel", + "tag": "2026-02-27-184726", + "tag_timestamp_ms": 1772218046000 + }, + { + "file_name": "phase0_baseline_live_2026-02-27-184726.jsonl", + "family": "channel", + "tag": "2026-02-27-184726", + "tag_timestamp_ms": 1772218046000 + }, + { + "file_name": "phase0_baseline_live_2026-02-27-184726.md", + "family": "channel", + "tag": "2026-02-27-184726", + "tag_timestamp_ms": 1772218046000 + }, + { + "file_name": "phase0_baseline_live_2026-02-27-184011.json", + "family": "channel", + "tag": "2026-02-27-184011", + "tag_timestamp_ms": 1772217611000 + }, + { + "file_name": "phase0_baseline_live_2026-02-27-184011.jsonl", + "family": "channel", + "tag": "2026-02-27-184011", + "tag_timestamp_ms": 1772217611000 + }, + { + "file_name": "phase0_baseline_live_2026-02-27-184011.md", + "family": "channel", + "tag": "2026-02-27-184011", + "tag_timestamp_ms": 1772217611000 + }, + { + "file_name": "phase0_baseline_live_2026-02-27-175943.json", + "family": "channel", + "tag": "2026-02-27-175943", + "tag_timestamp_ms": 1772215183000 + }, + { + "file_name": "phase0_baseline_live_2026-02-27-175943.jsonl", + "family": "channel", + "tag": "2026-02-27-175943", + "tag_timestamp_ms": 1772215183000 + }, + { + "file_name": "phase0_baseline_live_2026-02-27-175943.md", + "family": "channel", + "tag": "2026-02-27-175943", + "tag_timestamp_ms": 1772215183000 + }, + { + "file_name": "phase0_baseline_live_gateway_2026-02-27-193429.json", + "family": "gateway", + "tag": "2026-02-27-193429", + "tag_timestamp_ms": 1772220869000 + }, + { + "file_name": "phase0_baseline_live_gateway_2026-02-27-193429.jsonl", + "family": "gateway", + "tag": "2026-02-27-193429", + "tag_timestamp_ms": 1772220869000 + }, + { + "file_name": "phase0_baseline_live_gateway_2026-02-27-193429.md", + "family": "gateway", + "tag": "2026-02-27-193429", + "tag_timestamp_ms": 1772220869000 + }, + { + "file_name": "phase0_baseline_live_gateway_2026-02-27-184726.json", + "family": "gateway", + "tag": "2026-02-27-184726", + "tag_timestamp_ms": 1772218046000 + }, + { + "file_name": "phase0_baseline_live_gateway_2026-02-27-184726.jsonl", + "family": "gateway", + "tag": "2026-02-27-184726", + "tag_timestamp_ms": 1772218046000 + }, + { + "file_name": "phase0_baseline_live_gateway_2026-02-27-184726.md", + "family": "gateway", + "tag": "2026-02-27-184726", + "tag_timestamp_ms": 1772218046000 + }, + { + "file_name": "phase0_baseline_live_gateway_2026-02-27-184011.json", + "family": "gateway", + "tag": "2026-02-27-184011", + "tag_timestamp_ms": 1772217611000 + }, + { + "file_name": "phase0_baseline_live_gateway_2026-02-27-184011.jsonl", + "family": "gateway", + "tag": "2026-02-27-184011", + "tag_timestamp_ms": 1772217611000 + }, + { + "file_name": "phase0_baseline_live_gateway_2026-02-27-184011.md", + "family": "gateway", + "tag": "2026-02-27-184011", + "tag_timestamp_ms": 1772217611000 + }, + { + "file_name": "phase0_baseline_live_gateway_2026-02-27-175943.json", + "family": "gateway", + "tag": "2026-02-27-175943", + "tag_timestamp_ms": 1772215183000 + }, + { + "file_name": "phase0_baseline_live_gateway_2026-02-27-175943.jsonl", + "family": "gateway", + "tag": "2026-02-27-175943", + "tag_timestamp_ms": 1772215183000 + }, + { + "file_name": "phase0_baseline_live_gateway_2026-02-27-175943.md", + "family": "gateway", + "tag": "2026-02-27-175943", + "tag_timestamp_ms": 1772215183000 + }, + { + "file_name": "phase0_baseline_live_prune_2026-02-27-184726.json", + "family": "prune", + "tag": "2026-02-27-184726", + "tag_timestamp_ms": 1772218046000 + }, + { + "file_name": "phase0_baseline_live_prune_2026-02-27-184726.md", + "family": "prune", + "tag": "2026-02-27-184726", + "tag_timestamp_ms": 1772218046000 + } + ], + "remove": [], + "families": [ + { + "family": "channel", + "total_tags": 4, + "keep_tags": 4, + "remove_tags": 0 + }, + { + "family": "gateway", + "total_tags": 4, + "keep_tags": 4, + "remove_tags": 0 + }, + { + "family": "backend_pi_embedded", + "total_tags": 4, + "keep_tags": 4, + "remove_tags": 0 + }, + { + "family": "backend_native", + "total_tags": 4, + "keep_tags": 4, + "remove_tags": 0 + }, + { + "family": "backend_drift", + "total_tags": 4, + "keep_tags": 4, + "remove_tags": 0 + }, + { + "family": "prune", + "total_tags": 1, + "keep_tags": 1, + "remove_tags": 0 + } + ] + } +} diff --git a/docs/plans/artifacts/phase0_baseline_live_prune_2026-02-27-193429.md b/docs/plans/artifacts/phase0_baseline_live_prune_2026-02-27-193429.md new file mode 100644 index 0000000..787287c --- /dev/null +++ b/docs/plans/artifacts/phase0_baseline_live_prune_2026-02-27-193429.md @@ -0,0 +1,18 @@ +# Phase-0 Rolling Artifact Prune + +Artifacts dir: /home/will/lab/flynn/docs/plans/artifacts +Keep per family: 8 +Mode: apply +Keep files: 58 +Remove files: 0 + +## Families +- channel: tags total=4 keep=4 remove=0 +- gateway: tags total=4 keep=4 remove=0 +- backend_pi_embedded: tags total=4 keep=4 remove=0 +- backend_native: tags total=4 keep=4 remove=0 +- backend_drift: tags total=4 keep=4 remove=0 +- prune: tags total=1 keep=1 remove=0 + +## Remove List +- none diff --git a/docs/plans/state.json b/docs/plans/state.json index 5a8c9e0..ae8baa2 100644 --- a/docs/plans/state.json +++ b/docs/plans/state.json @@ -385,6 +385,38 @@ ], "test_status": "pnpm audit:phase0-baseline:live:refresh:drift:rolling:prune + pnpm audit:phase0-baseline:live:prune + pnpm test:run src/audit/phase0BaselineArtifactRetention.test.ts + pnpm typecheck passing" }, + "phase0-live-baseline-rolling-script-dedup": { + "status": "completed", + "date": "2026-02-27", + "updated": "2026-02-27", + "summary": "Deduplicated rolling cadence script wiring by making `audit:phase0-baseline:live:refresh:drift:rolling` accept external `TAG` and updating `...rolling:prune` to reuse that pipeline with a shared tag before apply-prune, reducing script drift risk while preserving tagged artifact consistency. Validated with a fresh rolling artifact set (`2026-02-27-193429`).", + "files_modified": [ + "package.json", + "README.md", + "docs/api/PROTOCOL.md", + "docs/architecture/AGENT_DIAGRAM.md", + "docs/architecture/GATEWAY_SESSIONS_AND_QUEUE.md", + "docs/plans/2026-02-25-phase0-instrumentation-ticket-checklist.md", + "docs/plans/artifacts/phase0_baseline_live_2026-02-27-193429.jsonl", + "docs/plans/artifacts/phase0_baseline_live_2026-02-27-193429.md", + "docs/plans/artifacts/phase0_baseline_live_2026-02-27-193429.json", + "docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27-193429.jsonl", + "docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27-193429.md", + "docs/plans/artifacts/phase0_baseline_live_gateway_2026-02-27-193429.json", + "docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.jsonl", + "docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.md", + "docs/plans/artifacts/phase0_baseline_live_backend_pi_embedded_2026-02-27-193429.json", + "docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.jsonl", + "docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.md", + "docs/plans/artifacts/phase0_baseline_live_backend_native_2026-02-27-193429.json", + "docs/plans/artifacts/phase0_baseline_live_backend_drift_2026-02-27-193429.md", + "docs/plans/artifacts/phase0_baseline_live_backend_drift_2026-02-27-193429.json", + "docs/plans/artifacts/phase0_baseline_live_prune_2026-02-27-193429.md", + "docs/plans/artifacts/phase0_baseline_live_prune_2026-02-27-193429.json", + "docs/plans/state.json" + ], + "test_status": "pnpm audit:phase0-baseline:live:refresh:drift:rolling:prune + pnpm audit:phase0-baseline:live:prune + pnpm test:run src/audit/phase0BaselineArtifactRetention.test.ts + pnpm typecheck passing" + }, "phase0-instrumentation-ticket-checklist": { "status": "completed", "date": "2026-02-25", @@ -7570,7 +7602,7 @@ "deeper_surfaces_phase0_ticket_02": "completed — gateway + daemon routing emit run lifecycle/cancel telemetry and reaction match/skip audit events with filter summaries and cancellation latency, plus focused tests", "deeper_surfaces_phase0_ticket_03": "completed — gateway metrics now track run-state outcomes, cancel latency samples, and reaction decision counters with routing/gateway emitters", "deeper_surfaces_phase0_ticket_04": "completed — added phase-0 baseline summary tooling for run outcomes, cancel latency, and reaction decisions with markdown/json CLI output", - "deeper_surfaces_phase0_ticket_05": "completed — documented phase-0 telemetry fields/workflow, refreshed architecture/protocol docs, generated anonymized live baseline artifacts for channel/gateway/backend-scoped (pi/native) windows, added backend freshness/drift gates with persisted drift reports, added rolling timestamp-tag cadence runs for immediate baseline-vs-prior drift comparisons, added rolling artifact retention tooling (`live:prune` with prune reports retained as a managed family), and added one-command cadence refresh+drift+retention apply (`live:refresh:drift:rolling:prune`)", + "deeper_surfaces_phase0_ticket_05": "completed — documented phase-0 telemetry fields/workflow, refreshed architecture/protocol docs, generated anonymized live baseline artifacts for channel/gateway/backend-scoped (pi/native) windows, added backend freshness/drift gates with persisted drift reports, added rolling timestamp-tag cadence runs for immediate baseline-vs-prior drift comparisons, added rolling artifact retention tooling (`live:prune` with prune reports retained as a managed family), added one-command cadence refresh+drift+retention apply (`live:refresh:drift:rolling:prune`), and deduplicated rolling script wiring through shared `TAG` reuse", "next_up": "Run scheduled `pnpm audit:phase0-baseline:live:refresh:drift:rolling:prune` in each active environment for at least one full cadence cycle (tuning `KEEP_PER_FAMILY` as needed), then tighten drift thresholds based on observed variance before additional run-control/reaction semantic changes.", "pi_embedded_canary_spike": "completed — added optional pi_embedded backend adapter, canary-safe no-tools routing guard, backend success/fallback latency audit events, and docs/diagram updates while native remains default", "pi_embedded_evaluation_phase": "completed — final decision rollback (applied in runtime config): Window A failed latency/fallback gates (p50 +259ms, p95 +5695ms, fallback 25%, categories: pi_module_interface/empty_assistant_text); Window B remained sample-insufficient; controlled probes verified guard coverage (pi_no_tools_mode/capability_query/attachments_present each hit once)", diff --git a/package.json b/package.json index 9233144..a2a4223 100644 --- a/package.json +++ b/package.json @@ -29,10 +29,10 @@ "audit:phase0-baseline:live:refresh": "pnpm audit:phase0-baseline:live && pnpm audit:phase0-baseline:live:gateway && pnpm audit:phase0-baseline:live:pi && pnpm audit:phase0-baseline:live:native", "audit:phase0-baseline:live:drift": "node --import tsx/esm scripts/check-phase0-baseline-backend-drift.ts --artifacts-dir docs/plans/artifacts --backend pi_embedded,native --max-age-hours 36 --min-candidate-sampled-events 10 --max-sampled-events-drop-pct 80 --max-run-outcomes-drop-pct 80 --max-completion-rate-drop-pp 35 --max-cancel-rate-increase-pp 25 --max-error-rate-increase-pp 25 --max-cancel-latency-p95-increase-ms 6000 --write-default-artifacts", "audit:phase0-baseline:live:refresh:drift": "pnpm audit:phase0-baseline:live:refresh && pnpm audit:phase0-baseline:live:drift", - "audit:phase0-baseline:live:refresh:drift:rolling": "TAG=$(date -u +%F-%H%M%S) && node --import tsx/esm scripts/capture-phase0-live-baseline.ts --audit ~/.local/share/flynn/audit.log --source channel --exclude-session-substring probe --tag \"$TAG\" && node --import tsx/esm scripts/capture-phase0-live-baseline.ts --audit ~/.local/share/flynn/audit.log --source gateway --auto-gateway-cancel-window --tag \"$TAG\" && node --import tsx/esm scripts/capture-phase0-live-baseline.ts --audit ~/.local/share/flynn/audit.log --source channel --backend pi_embedded --exclude-session-substring probe --tag \"$TAG\" && node --import tsx/esm scripts/capture-phase0-live-baseline.ts --audit ~/.local/share/flynn/audit.log --source channel --backend native --exclude-session-substring probe --tag \"$TAG\" && node --import tsx/esm scripts/check-phase0-baseline-backend-drift.ts --artifacts-dir docs/plans/artifacts --backend pi_embedded,native --max-age-hours 36 --min-candidate-sampled-events 10 --max-sampled-events-drop-pct 80 --max-run-outcomes-drop-pct 80 --max-completion-rate-drop-pp 35 --max-cancel-rate-increase-pp 25 --max-error-rate-increase-pp 25 --max-cancel-latency-p95-increase-ms 6000 --write-default-artifacts --tag \"$TAG\" --report-tag \"$TAG\"", + "audit:phase0-baseline:live:refresh:drift:rolling": "TAG=${TAG:-$(date -u +%F-%H%M%S)} && node --import tsx/esm scripts/capture-phase0-live-baseline.ts --audit ~/.local/share/flynn/audit.log --source channel --exclude-session-substring probe --tag \"$TAG\" && node --import tsx/esm scripts/capture-phase0-live-baseline.ts --audit ~/.local/share/flynn/audit.log --source gateway --auto-gateway-cancel-window --tag \"$TAG\" && node --import tsx/esm scripts/capture-phase0-live-baseline.ts --audit ~/.local/share/flynn/audit.log --source channel --backend pi_embedded --exclude-session-substring probe --tag \"$TAG\" && node --import tsx/esm scripts/capture-phase0-live-baseline.ts --audit ~/.local/share/flynn/audit.log --source channel --backend native --exclude-session-substring probe --tag \"$TAG\" && node --import tsx/esm scripts/check-phase0-baseline-backend-drift.ts --artifacts-dir docs/plans/artifacts --backend pi_embedded,native --max-age-hours 36 --min-candidate-sampled-events 10 --max-sampled-events-drop-pct 80 --max-run-outcomes-drop-pct 80 --max-completion-rate-drop-pp 35 --max-cancel-rate-increase-pp 25 --max-error-rate-increase-pp 25 --max-cancel-latency-p95-increase-ms 6000 --write-default-artifacts --tag \"$TAG\" --report-tag \"$TAG\"", "audit:phase0-baseline:live:prune": "KEEP_PER_FAMILY=${KEEP_PER_FAMILY:-8} && node --import tsx/esm scripts/prune-phase0-baseline-artifacts.ts --artifacts-dir docs/plans/artifacts --keep-per-family \"$KEEP_PER_FAMILY\" --write-default-artifacts", "audit:phase0-baseline:live:prune:apply": "KEEP_PER_FAMILY=${KEEP_PER_FAMILY:-8} && node --import tsx/esm scripts/prune-phase0-baseline-artifacts.ts --artifacts-dir docs/plans/artifacts --keep-per-family \"$KEEP_PER_FAMILY\" --apply --write-default-artifacts", - "audit:phase0-baseline:live:refresh:drift:rolling:prune": "TAG=$(date -u +%F-%H%M%S) && node --import tsx/esm scripts/capture-phase0-live-baseline.ts --audit ~/.local/share/flynn/audit.log --source channel --exclude-session-substring probe --tag \"$TAG\" && node --import tsx/esm scripts/capture-phase0-live-baseline.ts --audit ~/.local/share/flynn/audit.log --source gateway --auto-gateway-cancel-window --tag \"$TAG\" && node --import tsx/esm scripts/capture-phase0-live-baseline.ts --audit ~/.local/share/flynn/audit.log --source channel --backend pi_embedded --exclude-session-substring probe --tag \"$TAG\" && node --import tsx/esm scripts/capture-phase0-live-baseline.ts --audit ~/.local/share/flynn/audit.log --source channel --backend native --exclude-session-substring probe --tag \"$TAG\" && node --import tsx/esm scripts/check-phase0-baseline-backend-drift.ts --artifacts-dir docs/plans/artifacts --backend pi_embedded,native --max-age-hours 36 --min-candidate-sampled-events 10 --max-sampled-events-drop-pct 80 --max-run-outcomes-drop-pct 80 --max-completion-rate-drop-pp 35 --max-cancel-rate-increase-pp 25 --max-error-rate-increase-pp 25 --max-cancel-latency-p95-increase-ms 6000 --write-default-artifacts --tag \"$TAG\" --report-tag \"$TAG\" && KEEP_PER_FAMILY=${KEEP_PER_FAMILY:-8} node --import tsx/esm scripts/prune-phase0-baseline-artifacts.ts --artifacts-dir docs/plans/artifacts --keep-per-family \"$KEEP_PER_FAMILY\" --apply --write-default-artifacts --report-tag \"$TAG\"", + "audit:phase0-baseline:live:refresh:drift:rolling:prune": "TAG=$(date -u +%F-%H%M%S) && TAG=\"$TAG\" pnpm audit:phase0-baseline:live:refresh:drift:rolling && KEEP_PER_FAMILY=${KEEP_PER_FAMILY:-8} node --import tsx/esm scripts/prune-phase0-baseline-artifacts.ts --artifacts-dir docs/plans/artifacts --keep-per-family \"$KEEP_PER_FAMILY\" --apply --write-default-artifacts --report-tag \"$TAG\"", "audit:backend-canary:probes": "node --import tsx/esm scripts/run-pi-canary-guard-probes.ts", "companion:bundle": "node --import tsx/esm scripts/build-companion-release-bundle.ts", "companion:reference-apps": "node --import tsx/esm scripts/export-companion-reference-apps.ts",