fix(redaction): skip RFC 3339 offset and HTAB timestamps - #1040
fix(redaction): skip RFC 3339 offset and HTAB timestamps#1040cursor[bot] wants to merge 4 commits into
Conversation
Replay unique #929 source onto current origin/main. Skip shared ARCHITECTURE/CLAUDE/AGENTS trees and stale materialize files.
Treat only plausible JSON openers as span starts and score a failed parse against the window until the next opener. A ##[group] marker or prose [timeout] no longer fail-closes a later pretty-printed password object. Cite RFC 8259, ECMA-404, and ISO/IEC 21778 for duplicate-member layout. Co-authored-by: Seongho Bae <[email protected]>
Skip RFC 3339 runner timestamps inside raw JSON spans and open '[' only for a real JSON value so a downloaded pretty-printed password dump keeps ##[group] and [INFO] text instead of fail-closing the entire log. Co-authored-by: Seongho Bae <[email protected]>
Z-only prefixes still fail-closed a pretty-printed password dump when the collector emitted time-numoffset or a tab after the timestamp. Skip those RFC 3339 §5.6 forms the same way Z plus SPACE is skipped. Co-authored-by: Seongho Bae <[email protected]>
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
There was a problem hiding this comment.
Stale comment
Next action
Mark this pull request ready for review, then merge it instead of #1038, #1031, or #929.
This head skips RFC 3339
time-numoffsetand HTAB runner prefixes inside raw JSON spans so a downloaded pretty-printed password dump keeps##[group]and status text. Local focused selection: 170 passed; 100% statement/branch on the three owned modules.Do not self-approve. After it is green, treat
[REDACTED]as evidence suppression and rerun the exact-head sandbox redaction quality job before closing #908.Sent by Cursor Automation: Fix Issues
There was a problem hiding this comment.
Next action
Do not merge this pull request. Merge #1053 instead.
This head correctly skips RFC 3339 time-numoffset and HTAB on line-start downloaded zip timestamps, so a pretty-printed password object keeps ##[group] and "status". The production collector does not feed that shape. collect_failed_check_evidence.sh runs gh run view --log-failed, which prefixes every zip line with job<HTAB>step<HTAB> (UNKNOWN STEP when unassociated) before the timestamp (GitHub, n.d.-d). On this head that prefix is treated as JSON text, the next collector line breaks the span, and the excerpt fail-closes to [REDACTED].
#1053 (5b66ccd4) skips that two-field prefix only when an RFC 3339 timestamp follows, and unstructured-redacts skipped job/step bytes that remain inside a rewritten span so a credential-shaped job name or run: step text cannot survive on continuation lines. Focused selection: 177 passed; 100% statement/branch on the three owned modules (1,136 / 464).
Do not self-approve. Do not merge #929, #1031, #1038, or this pull request.
Sent by Cursor Automation: Fix Issues


Next action
Merge this successor instead of #1038. That head still fail-closes a pretty-printed password dump when the collector emits RFC 3339
time-numoffset(+00:00,-07:00) or separates the timestamp from the payload with HTAB.What changed
Zortime-numoffset, then a SPACE or HTAB, inside raw JSON spans the same way JSON whitespace is skipped.[opener guard from fix(redaction): keep timestamped Actions job logs visible #1038 so[INFO]/[timeout]stay visible.+00:00/-07:00prefixes and tab-separated downloaded logs.time-numoffsetand HTAB next to the existing APA 7 JSON / workflow-log references.Verification
Focused redaction selection: 170 passed. Owned modules
redact_sensitive_log.py,sandboxed_verify.py, andsandboxed_web_e2e.pyreport 100% statement and branch coverage (1,094 statements, 444 branches).Acceptance
Do not merge #929, #1031, or #1038. After this head is green, treat
[REDACTED]as evidence suppression and rerun the exact-head sandbox redaction quality job before closing #908.