Skip to content

feat(providers): map Herdr protocol events (COD-438) - #34

Merged
shivros merged 2 commits into
mainfrom
runner/COD-438-herdr-event-mapping
Aug 24, 2026
Merged

feat(providers): map Herdr protocol events (COD-438)#34
shivros merged 2 commits into
mainfrom
runner/COD-438-herdr-event-mapping

Conversation

@shivros

@shivros shivros commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Implements the pure Herdr protocol-19 mapper for IRIS-12b.

  • Converts workspace/tab/pane lifecycle events into ordered deterministic Iris write intents.
  • Converts agent-status events into contact, workspace-thread, and system-message intents.
  • Preserves canonical event metadata for the ingest/persistence seam; explicitly drops v1-out-of-scope event kinds.
  • Supports dotted subscription names and data.type fallback, rejects empty bridge replay IDs, and handles pane_moved embedded workspace lifecycle.

Verification

cargo test -p iris-providers herdr
cargo clippy -p iris-providers --all-targets -- -D warnings
cargo build --all-targets
cargo test --all-targets
cargo fmt --all -- --check
cargo run -p iris-codegen --bin iris-codegen -- check

All passed. imap-proto v0.10.2 retains its pre-existing future-incompatibility warning.

Notes

The mapper deliberately emits typed persistence intents rather than adding storage or HTTP I/O. COD-437 owns that ingest/persistence transaction seam.

@shivros

shivros commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Automated Review Panel

GPT-5.6-terra (openai-codex)

Changes requested; all correctness findings fixed before PR.

  • Added canonical handling for dotted protocol-19 subscription event names and the data.type fallback.
  • Added explicit v1 drops and table coverage for pane.output_matched / pane.scroll_changed.
  • Rejects malformed agent-status events lacking a pane identity and blank bridge replay IDs.
  • Retains canonical event payload metadata for the later ingest/persistence seam.

Gemini 3 Flash (google/gemini-3-flash-preview)

Changes requested; all correctness findings fixed before PR.

  • pane_moved now emits embedded created-workspace upsert, closed-workspace archive, and destination workspace metadata intents in deterministic order.
  • Dotted event-key compatibility and empty event-ID rejection covered by regression tests.

Post-review validation passed: provider tests (7 Herdr tests), strict clippy, full workspace build/test, fmt, and codegen freshness. The only output was the pre-existing imap-proto v0.10.2 future-incompatibility warning.

@shivros
shivros marked this pull request as ready for review August 24, 2026 11:12
@shivros

shivros commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

Auto-Merge Gate

Confidence: 0.91

The PR clearly implements COD-438's pure, deterministic Herdr protocol-19 mapping layer. The focused mapping suite passes locally (7 tests); CI reports green Test, Format Check, Clippy, Secret Scan, Dependency Audit, and Creed context drift. The diff is limited to the new mapper and its module export; no credentials, deployment, destructive behavior, or manual-review marker was found.

Self-authored PR: this visible rationale is the audit record if GitHub declines formal self-approval.

@shivros
shivros merged commit f58eca6 into main Aug 24, 2026
6 checks passed
@shivros
shivros deleted the runner/COD-438-herdr-event-mapping branch August 24, 2026 11:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant