You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(livingcode): collect signal types + stabilize state-report ordering
Extends the livingcode shape with a fifth auto-collected vocabulary:
the signal `type` strings that flow through fireWebhooksForOrg and
deliverNativeNotifications.
Detection runs in two modes, applied per file:
1. Files that call the delivery pipeline directly (cost-alerts.js,
health-change-alerts.js) — every `type:` literal is kept.
2. Other files contribute only `type:` literals paired with a
red/amber `severity:` in close proximity. This catches
signal-builder modules (signals.js returning arrays the cron
later delivers) while rejecting demoFixtures.js-style files
that contain both real signal fixtures AND unrelated
`type:` fields — previously leaked `concept` into the skill.
Skill now carries a "Signal Types" section listing all 9 live
types (autonomy_spike, branch_stale, cost_exceeded,
green_insufficient, integration_health_changed, integration_mismatch,
mcp_degraded, stale_action, test).
Also fixes a pre-existing Windows-NTFS flake in
livingcode/state.py::read_latest_state_report. The function sorted
by `st_mtime`, which on NTFS has ~15ms resolution — back-to-back
writes tied and the "latest" report was non-deterministic.
Filenames now carry a monotonic process-local counter and the read
sorts lexically, so insertion order wins regardless of filesystem
timestamp granularity. Full livingcode test suite now green for
the first time (172 passing).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments