Skip to content

security: reconstruct exact HTTP method strings on current integer-policy stack - #184

Closed
seonghobae wants to merge 13 commits into
mainfrom
security/reconstruct-method-policy-strings-65485e
Closed

security: reconstruct exact HTTP method strings on current integer-policy stack#184
seonghobae wants to merge 13 commits into
mainfrom
security/reconstruct-method-policy-strings-65485e

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Purpose

Reconstruct issue #124 and historical PR #161 as the HTTP-method-string successor to scalar-integer candidate #178. Historical #161 checks/reviews/approvals/base identity and predecessor-head evidence do not transfer.

Fresh stack identity

The predecessor moved after #184's prior validation. Therefore the old #184 exact-head CI is historical evidence only for the old base snapshot; it is not accepted integrated-tree evidence against live #178 head aca7d0f.... Keep this PR Draft. Do not churn the clean head merely to retrigger review; reconcile only after #178 reaches an accepted stable identity or protected integration makes the reconstruction target unambiguous.

TDD / source contract preserved by the unique delta

The existing regression requires policy construction to reject non-exact str subclasses before subclass-controlled strip(), upper(), or comma-separated split() can enter trusted HTTP-method normalization. Runtime method authorization also rejects a hostile string subclass instead of dynamically normalizing it.

Historical source-GREEN CI 31517277056 passed on 9492bc95.... Historical documentation-parity RED on fe107000... proved the then-current stack lacked guide/[Unreleased] parity. The narrow follow-up produced current #184 head 365a388..., where historical CI 31519709781 succeeded. Those runs establish the unique delta's development history only; none transfers across the now-changed live predecessor.

The intended contract preserves ordinary exact strings, existing comma-separated operator syntax, uppercase canonicalization, RFC 9110 token validation, default/deny-all sets, unconditional CONNECT denial, scalar integer sealing, and the explicit no-Python-sandbox boundary.

Required reconciliation / acceptance

Progresses #124. Historical #161 remains superseded evidence only. No self-approval, Admin merge, bypass, auto-merge, EgressWeave-local dependency-review substitute, or duplicate policy writer.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 90a099d0-bc81-4512-9cc8-030a918791a7

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copy link
Copy Markdown
Contributor Author

Closing this stale Draft as superseded by #196. Predecessor #178 is now merged on protected main as 632bb83bb2cfa86cbcb389ef8d544abaeb0403ef, so #184's stacked scalar-integer portion is already protected-main truth. Fresh #196 preserves the remaining unique issue #124 method-string delta on a current-main reconstruction (67d7e8d24f607cb92db38d139dd19fbe92d5f9c9) with its own RED→GREEN lineage; no #184 checks, reviews, approvals, base snapshots, or security evidence transfer. #196 remains Draft and must be refreshed/revalidated against the current protected head before any integration.

@seonghobae seonghobae closed this Aug 12, 2026
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