Repair redaction damage that left a committed JS file unparseable - #952
Conversation
pro_deck_quality_check.js has never parsed. A redaction pass spliced its marker into the middle of 29 identifiers, and the file was committed that way -- its only commit, 19a3ee6, already contains the damage, so there is no pre-redaction version in this repo's history to restore. The original text is recoverable anyway, from the file itself rather than by guessing. The removed substring is the literal `rt_` in every case, and two survivors prove it: chartNames line 134, intact -- `chart` + `N`, no `rt_` chartish_textbox_count line 549, intact -- `chart` + `ish`, no `rt_` Everything of the form `chart_` was hit; everything else containing `chart` was not. `result.chart_count = chartNames.length` on line 138 is assigned from that surviving variable, and line 134's own regex matches `charts/chart\d+\.xml`, so the key names are read off the file, not inferred from convention. Same damage, same substring, in .serena/project.yml: `insert_after_symbol` and `insert_before_symbol`, which are Serena's actual tool names. Verified: `node --check` on the JS now passes, where before it died at line 112 with "Unexpected token **". The YAML still parses. 0 markers remain in either file, and no bare `rt_` was introduced anywhere -- every insertion merged back into an identifier. Why nothing caught this: check_redaction_damage.py is diff-based (`--base`/`--head` are required arguments), so it only inspects a PR's changed files. Damage that arrives in a file's first commit and is never touched again is invisible to it forever. Not addressed here: 161 other tracked files contain the marker, almost all of them .claude/ session state and backups where it is expected. These two are the only ones where it broke code. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EBV6TkrwsZhcwkh1b6NUHs
|
Warning Review limit reached
Next review available in: 45 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
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 |
Reviewer's GuideRepairs redaction damage in the deck quality-check script and Serena project config by restoring corrupted Flow diagram for repaired chart metrics and warnings in deck quality check scriptflowchart TD
A[inspectPptx]
A --> B[pptxMetrics.chart_count]
A --> C[pptxMetrics.chart_parts]
D[inspectNdjson]
D --> E[inspectMetrics.native_chart_record_count]
D --> F[inspectMetrics.native_chart_record_samples]
D --> G[inspectMetrics.manual_chart_textbox_count]
D --> H[inspectMetrics.manual_chart_textbox_samples]
D --> I[inspectMetrics.manual_chart_shape_count]
D --> J[inspectMetrics.manual_chart_shape_samples]
D --> K[inspectMetrics.chartish_textbox_count]
D --> L[inspectMetrics.chartish_textbox_samples]
M[main]
B --> M
C --> M
E --> M
F --> M
G --> M
H --> M
I --> M
J --> M
K --> M
L --> M
M --> N[failures]
M --> O[warnings]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Up to standards ✅🟢 Issues
|
|
Insufficient balance to process this code review. Please add funds or upgrade your plan in billing. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing |
There was a problem hiding this comment.
Pull request overview
Restores redaction-damaged identifiers so the deck quality checker parses and Serena documentation names valid tools.
Changes:
- Restores all
chart_*metric identifiers and references. - Corrects Serena’s
insert_after_symbolandinsert_before_symbolnames.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
.serena/project.yml |
Repairs two tool names in configuration comments. |
.codex/skills/codex-primary-runtime/slides/scripts/pro_deck_quality_check.js |
Repairs chart-related identifiers throughout the script. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
PING! |
Pull Request Summary by devActivityMetricsAchievements
|
AGENT PR TEMPLATE
Agent: Claude Code (
agent:claude-code)Date: 2026-08-11
Branch:
claude/redaction-repair-qzt7le→mainChanges Made
.codex/skills/codex-primary-runtime/slides/scripts/pro_deck_quality_check.jshas never parsed. A redaction pass spliced its marker into the middle of 29 identifiers and the file was committed that way.node --checkdies at line 112 withUnexpected token **.Its only commit —
19a3ee6ad— already contains the damage, so there is no pre-redaction version in this repo's history to restore.The original is recoverable from the file, not guessed
The removed substring is the literal
rt_in every case. Two survivors prove it:chartNames(line 134)chart+N— nort_chartish_textbox_count(line 549)chart+ish— nort_chart_count,chart_parts, …chart+_— containsrt_Everything of the form
chart_was hit; everything else containingchartwas not. And line 138 assigns the damaged key straight from the surviving variable:So the key names are read off the file's own logic, not inferred from convention. Same damage and same substring in
.serena/project.yml—insert_after_symbolandinsert_before_symbol, which are Serena's actual tool names.Why nothing caught it
check_redaction_damage.pyis diff-based —--baseand--headare required arguments — so it only inspects a PR's changed files. Damage that arrives in a file's first commit and is never touched again is invisible to it forever. That is a gap in the guard, not a failure of it; the guard does what it says.Surfaced by ESLint in #950, which is the argument for turning these tools on: nothing else in the repo reads that file.
Not addressed here
161 other tracked files contain the marker, almost all
.claude/session state and backups where it is expected and harmless. These two are the only ones where it broke code.Related Work
eslint.config.jsdocuments the damage and deliberately does not configure it away; once this merges, that note should be trimmed to point here.Blockers
Checklist:
node --checkon the JS now passes (previously failed at 112);.serena/project.ymlstill parses viayaml.safe_load; 0 markers remain in either file; andgrep -oE '\brt_[a-z_]*'finds no barert_anywhere — every insertion merged back into an identifier rather than standing alone.chart_count,insert_after_symbol). Nothing sensitive is reintroduced: the eaten substring isrt_, and the surrounding names are ordinary code and documentation..serenachange is a doc comment; the JS change is code.Risk Level:
Two files. The JS goes from never-parsing to parsing, which can only widen what runs — worth a human glance at the reconstructed names even though the file grounds them.
Labels to apply:
agent:claude-codehttps://claude.ai/code/session_01EBV6TkrwsZhcwkh1b6NUHs
Generated by Claude Code
Summary by Sourcery
Restore chart-related metrics and tool names that were corrupted by redaction so affected code and configuration parse correctly.
Bug Fixes:
Enhancements: