Shockwaveops.shockwavehq.com

Flywheel

Loop A lesson approval — kanban backed by v_flywheel_dashboard

4 lessons total
State Machine — FLYWHEEL-LESSON-STATE-MACHINE-01
pending_approval ─approve→ approved ─inject_cron(5min)→ injected
pending_approval ─reject→  rejected (FINAL; cluster re-fires after 7d)
pending_approval ─defer→   deferred ─undefer_cron(6h, after 3d)→ pending_approval
pending_approval ─edit→    edit_requested ─inline editor→ approved (via PATCH)
Pending Approval
2
Edit Requested
0
Deferred
0
Approved
2
Injected
0
Rejected
0

Pending Approval2

Recurring violation: Substrate-first protocol — every build engages doctrine before code

85%
workflow: doctrine_rule_violation:META-SUBSTRATE-01
age: 9667 min
reason: doctrine_violation:META-SUBSTRATE-01

Recurring violation: Synthetic test #2 for promote_doctrine_candidate RPC

85%
workflow: doctrine_rule_violation:SYNTHETIC-TEST-PROMOTE-02
age: 9683 min
reason: doctrine_violation:SYNTHETIC-TEST-PROMOTE-02

Edit Requested0

empty

Deferred0

empty

Approved2

Recurring violation: Substrate-first protocol — every build engages doctrine before code

85%
workflow: doctrine_rule_violation:META-SUBSTRATE-01
age: 4790 min
injections: 1
by: slack:U0AGZK1F8JG
→ slack thread

Coalesce retries to single recipient hitting gap_min

88%
workflow: check_and_log_outbound
age: 9692 min
injections: 1
by: vincent
reason: gap_min_violated

Injected0

empty

Rejected0

empty
Realtime: postgres_changes channel on workflow_lessons. Click in Slack → row mutates → kanban updates without refresh.

Lessons Live in Voice Agents

Approved lessons injected into tenant_voice_config.lessons_block — what Eve is actively using on every call right now.

1 agent · 2 lessons live
agent_079381974ad57789c227167ced2 live
  • Recurring violation: Substrate-first protocol — every build engages doctrine before code85%
    injected 5/21/26, 3:00 PM
    doctrine_rule_violation:META-SUBSTRATE-01
  • Coalesce retries to single recipient hitting gap_min88%
    injected 5/18/26, 5:36 AM
    check_and_log_outbound