Spec 0228 — Emit ProtocolViolation when an op is silently dropped for a state-machine reason; promote verifier invariant I4.4 from reporting to gating
Frontmatter
Field
Value
kind
dev
spec
0228
slug
emit-protocol-violation-on-invalid-op
title
Emit ProtocolViolation when an op is silently dropped for a state-machine reason; promote verifier invariant I4.4 from reporting to gating
type
new-feature
label
new-feature
version_bump
MINOR
target_version
TBD
status
deployed
depends_on
['0225', '0227']
complexity
M
created
2026-05-27
queued_at
2026-05-26T22:18:11Z
started_at
2026-05-26T22:55:32Z
merged_at
2026-05-26T23:12:36Z
deployed_at
2026-05-26T23:15:30Z
pr
https://github.com/Lexiz/dual-research/pull/267
handover
handoffs/2026-05-27-spec-0228-emit-protocol-violation-on-invalid-op.md
failure_step
source_session
promoted_from_draft
Event timeline
When
Step
Data
2026-05-26T22:19:30Z
queued
{}
2026-05-26T22:55:35Z
in_progress
{}
2026-05-26T22:55:51Z
branched
{"branch": "spec/0228-emit-protocol-violation-on-invalid-op", "from": "main@7dec48b"}
2026-05-26T22:55:53Z
implementing_started
{}
2026-05-26T23:10:26Z
implement_complete
{"files_changed": 9, "commits": 0}
2026-05-26T23:10:29Z
tests_started
{}
2026-05-26T23:11:05Z
tests_green
{"passed": 2113}
2026-05-26T23:12:34Z
pr_opened
{"url": "https://github.com/Lexiz/dual-research/pull/267"}
2026-05-26T23:12:39Z
merged
{"pr": "https://github.com/Lexiz/dual-research/pull/267"}
2026-05-26T23:13:03Z
deploy_started
{}
2026-05-26T23:14:37Z
deployed
{"version": "1.47.0"}
2026-05-26T23:14:37Z
deploy_health_check_ok
{}
2026-05-26T23:15:25Z
handoff_written
{"path": "handoffs/2026-05-27-spec-0228-emit-protocol-violation-on-invalid-op.md"}
Links