You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Buyer-visible request-timeout policy-integrity gap
EgressTimeoutPolicy is retained as an immutable finite request-phase resource policy and later converted immediately before HTTPCore dispatch. Non-exact subclasses are outside that reviewed configuration contract because subclass-controlled conversion behavior could replace the finite ceilings. This is trusted configuration integrity, not a Python-sandbox claim.
Current canonical candidate
The current replacement is Draft PR #220, exact head b0e9b43d4b3c8701e8b6af7a93f1e82a0e9030c7, stacked on method-policy predecessor #204. Historical #114/#149/#158 remain evidence only; #158 is closed as superseded and none of its checks, reviews, base identity, or mergeability transfer.
Test-first reconstruction on the current policy stack is complete:
RED-only head a460ca5927c19ae593d70e508e7829dd772252ec failed both new exact-type regressions across Python 3.10–3.14;
minimal GREEN head 0b72ac4bd946f7a4aa4d6668f701859e03e45cdb introduced the exact built-in policy-type boundary;
exact final head b0e9b43d4b3c8701e8b6af7a93f1e82a0e9030c7 adds source-grounded migration documentation and its permanent contract;
exact-head CI passed Python 3.10–3.14, 1,035 tests, 1,762/1,762 production statements, and 590/590 production branches.
Acceptance blockers owned outside this source delta
The organization dependency-review fail-closed repair is .github#897; its exact current head must pass and integrate before a fresh EgressWeave required scan can be accepted.
The organization Strix evidence repair is .github#965; unavailable, incomplete, metadata-less, or mismatched evidence must remain fail-closed.
Current-head formal OpenCode and independent Noema approvals are required; wrapper checks and stale reviews are not verdicts.
Acceptance criteria
Reproduce the non-exact timeout-policy subclass dispatch boundary on the current policy stack.
Add deterministic hosted RED evidence before production code.
Preserve exact factory-created policy values, defaults, normalization, constructor parity, deterministic fingerprints, and all existing finite timeout semantics.
Document the pre-1.0 compatibility narrowing and direct migration to an exact declarative instance.
Obtain fresh Python 3.10–3.14/package verification with 100% owned-production statement/branch coverage.
No raw timeout-object injection API, no weakening or disabling finite timeout values, no Python-sandbox claim, no local substitute for organization-owned security/reviewer evidence, and no manual status or review synthesis.
Buyer-visible request-timeout policy-integrity gap
EgressTimeoutPolicyis retained as an immutable finite request-phase resource policy and later converted immediately before HTTPCore dispatch. Non-exact subclasses are outside that reviewed configuration contract because subclass-controlled conversion behavior could replace the finite ceilings. This is trusted configuration integrity, not a Python-sandbox claim.Current canonical candidate
The current replacement is Draft PR #220, exact head
b0e9b43d4b3c8701e8b6af7a93f1e82a0e9030c7, stacked on method-policy predecessor #204. Historical #114/#149/#158 remain evidence only; #158 is closed as superseded and none of its checks, reviews, base identity, or mergeability transfer.Test-first reconstruction on the current policy stack is complete:
a460ca5927c19ae593d70e508e7829dd772252ecfailed both new exact-type regressions across Python 3.10–3.14;0b72ac4bd946f7a4aa4d6668f701859e03e45cdbintroduced the exact built-in policy-type boundary;b0e9b43d4b3c8701e8b6af7a93f1e82a0e9030c7adds source-grounded migration documentation and its permanent contract;Acceptance blockers owned outside this source delta
src/egressweave/policy.py..github#897; its exact current head must pass and integrate before a fresh EgressWeave required scan can be accepted..github#965; unavailable, incomplete, metadata-less, or mismatched evidence must remain fail-closed.Acceptance criteria
main, then close this issue and advance security: reject connection-pool policy subclasses on the current policy stack #221 → security: require exact pool-count scalar types #222.Non-goals
No raw timeout-object injection API, no weakening or disabling finite timeout values, no Python-sandbox claim, no local substitute for organization-owned security/reviewer evidence, and no manual status or review synthesis.