Repository navigation
feat(rite): add structured JSON HTTP action bodies - #25
Merged
Merged
Conversation
Contributor
Author
🤖 Automated Review PanelReviewer A — OpenAI Codex (inherited runner reviewer)
Reviewer B — Gemini 3 Flash (OpenRouter)
Runner verification
|
shivros
marked this pull request as ready for review
October 13, 2026 19:28
Contributor
Author
Auto-Merge GateConfidence: 0.91
Self-approval may be unavailable because this gate operates as the PR author; this comment is the approval rationale audit record. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements COD-500's bounded
body_jsonmode for Rite's generichttp_postaction. It accepts JSON-compatible TOML values (rejecting datetimes and non-finite floats), substitutes supported placeholders only in configured string leaves, fails closed on missing/null references, and serializes the complete value withserde_json. The structured mode defaults toapplication/jsonand validates its explicit content type at config load. Legacybody_templateand normalized-event JSON behavior remain unchanged.Includes behavior tests for webhook and Iris subscription dispatch, hostile text preservation, nested values, no-send/error-safe failures, config/content-type validation, and generated handler list/get serialization. Updates the generic README and example. No Iris implementation or new public operation is included.
Verification
cargo build --all-targets— passedcargo test --all-targets— passed (core, server, source, CLI/entrypoint tests)cargo clippy --all-targets -- -D warnings— passedcargo fmt --all -- --check— passedcargo run -p rite-codegen -- check— passedcreed diff— passed (no drift)git diff --check— passed/opt/data/tmp/rite-cod500-iris-boundary-harness; no production credentials/network):cargo run --manifest-path /opt/data/tmp/rite-cod500-iris-boundary-harness/Cargo.toml— passed. It drove the exact adversarial body through Rite's Iris subscription into Iris's generatedPOST /messages/{thread_id}route and publicMockProvider; exactly one send was recorded with the original body unchanged.Scope
Local/synthetic validation only. No release, deployment, consumer repin, live forwarding, retries/receipts, or credential/auth-policy changes.
Linear: COD-500 — https://linear.app/codefold/issue/COD-500/rite-serialize-structured-json-bodies-for-generic-http-actions