fix(report): harden generic diagnostics title boundary - #1000
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
|
@opencode-agent Implement the GREEN on the current exact head Required minimal delta:
If the branch head moved, refetch it, inspect the delta, and apply only if compatible. |
|
@opencode-agent Clean the current exact head In
Preserve the two intentional changes in the same file:
Do not touch tests, changelog fragments, CSS beyond that selector, locks, aggregate CHANGELOG, workflows, or other files. Commit to the same branch without force-push after refetching the exact head. |
Record the current parent branch in the title-boundary child after both branches restored protected-main's exact palette blob. No product behavior changes.
|
@opencode-agent review The draft is ready after exact-head validation. Re-review head |
776963d
into
fix/report-main-focus-current-review-978
…ow (#1002) * 🎨 Palette: [UX improvement] Improve focus styles for main content Modifies the `:focus` rule on `<main>` to `:not(:focus-visible)` in `report.py` to ensure keyboard focus rings appear while suppressing mouse click rings. * test(report): lock pointer and keyboard focus selectors * docs(palette): normalize focus guidance formatting * chore(report): remove bot-local palette artifact * chore(report): restore protected-main palette artifact * fix(report): harden generic diagnostics title boundary (#1000) * test(report): reject hostile generic report titles * fix(report): reject title subclasses before callbacks * docs(changelog): record report title callback hardening * test(report): preserve title HTML escaping contract * chore(report): remove bot-local palette artifact * chore(report): restore protected-main palette artifact * chore(report): match protected-main palette blob exactly * test(report): require modality-safe focus containers * fix(report): preserve keyboard focus on scroll containers * test(report): require modality-safe disclosure focus * fix(report): preserve keyboard focus on disclosures * test: align report focus contract --------- Co-authored-by: seonghobae <8172694+seonghobae@users.noreply.github.com>
Closes #999.
Direct child of #1002 at exact parent
52c7401bdec44a7a1e6194f0336617bfc5fe6eed; merge order is #1002 then #1000.TDD lineage
18137218ad3eb825a5b792cb3dd1cf8f568b1b62: publicrender_diagnostics_report()must reject a caller-definedstrsubclass before overridden__bool__orreplace()can execute, raise package-ownedValueError("title must be a string or None"), and create no output artifact. It also preserves the empty exact built-in string → default-title contract.54b374c9ebbd8412e2f7cf51bc6cc7684b1ff8b1: admit onlyNoneor an exact built-instrbefore truth-value testing and HTML escaping.e58df9ae468f676e332616581f26a464cddd7e05: governed changelog fragment.4d34e34e667109598eed7cb44555a6a072690681: prove an admitted exact built-in title remains escaped in both<title>and<h1>surfaces.528d980c1613fd6326f4c5c59effc85e80fb98b2: record current fix(report): replay main focus accessibility on current review workflow #1002 parent ancestry after both branches restored protected-main's exact.Jules/palette.mdblob.Effective diff
Exactly three files relative to #1002:
python/fast_mlsirm/report.py— two-line exact-type admission plus stable error;tests/test_report_title_callback_safety.py— hostile callback, default-title, and HTML-escaping regressions;docs/changelog.d/999-report-title-callback-safety.md— authoritative release fragment.Unrelated report-limit formatting churn was removed.
.Jules/palette.mdmatches protected main exactly and is absent from the effective diff.Ownership boundary
No report metric, fit statistic, model-selection result, likelihood, optimizer, or psychometric arithmetic changes. Python only validates the public title scalar before rendering. Keep Draft until fresh exact-head CI/security/review evidence for
528d980...is terminal; predecessor evidence does not transfer.