Repository navigation
fix: redact session credentials from live failure results - #1943
Merged
Merged
Conversation
…sion-redaction-1896
Owner
Author
|
verdict: approve Forge whole-branch reviewReview exit payloads
|
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.
Live-test FAIL output could persist session credentials in console output and result JSON even when upstream exception handling redacted a different representation. The shared failure writer now collects credentials from named session headers, Cookie fields and RequestHeaders/XML forms, removes those sources, and redacts their exact echoes across the same failure object.
Bounded traversal, learned-value limits and matching/source-scan budgets use a complete failure-data marker when processing cannot finish safely. Ordinary diagnostic text and the outer result envelope remain available. Tests exercise direct FAIL records and CallFailure handling through both console and persisted JSON, including raw and once-decoded source identities, malformed/truncated fields and deterministic limit exhaustion.
Scope remains the shared writer, its tests, the specification and ADR 0345. Exception retention is owned by #1884; historical-document sanitization and PASS-row redesign remain outside this change. No live HMC calls were made.
Validation:
just verifypassed in 1,340.97 seconds, including the complete test suite with configured coverage, MCP smoke, wheel/sdist validation and CLI checks; pinneduv run --no-sync prek run --all-filespassed all 14 hooks in 111.53 seconds. Focused runner verification passed 811 tests in 125.78 seconds; controlled faults established that the new boundary checks fail when their protections are removed. All 14 normal commit hooks passed at the final commit. Hosted amd64 Python 3.11–3.14 CI passed: all 30 applicable checks succeeded; the schedule-only support-drift check was skipped. CI run.The latest whole-branch review approved with one medium note and no blockers. The required note and its verified composition regression were then fixed; the subsequent static security confirmation approved the final candidate with zero findings. Five scope audits completed. Review accounting retains 11 cumulative rounds under one charter, including prior exhausted allowances and explicit operator continuations; the latest allowance used 1/3. The original security initial scan and its one confirmation are complete. Simplification was a no-op.
Hook-history disclosure: an early design-only commit bypassed its commit hook by mistake. A compensating pinned all-files run passed at those design bytes; every later commit used normal configured hooks. This grants no future bypass.
Provenance: campaign
152593d7a535-fdfc969e-824d-4d69-a9ae-3ce95496903a, source #1896, same attempt 1 and frozen scope. The implementation is larger than the original 220–300-line estimate: 996 changed production/test lines. Complete design 300/fixed S100=3.00x NOTE; the denominator and approved scope were not expanded.Closes #1896
Review exit payloads