fix(review): widen fix-handoff code-span delimiter for backtick paths (#9289) - #9339
fix(review): widen fix-handoff code-span delimiter for backtick paths (#9289)#9339michiot05 wants to merge 1 commit into
Conversation
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
❌ 2 Tests Failed:
View the top 2 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
|
Caution 🛑 LoopOver review result - fixes requiredReview updated: 2026-07-27 13:31:54 UTC
Review summary Nits — 3 non-blocking
CI checks failing
Decision drivers
Context & advisory signals — never blocks the verdict
Linked issue satisfactionAddressed Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
|
LoopOver is closing this pull request on the maintainer's behalf (CI is failing (validate, validate-tests)). This is an automated maintenance action — to pursue this change, please open a new pull request with the issues resolved. Closed PRs may be analyzed later to improve review accuracy, but they are not automatically reopened or re-reviewed. |
Summary
markdownPathCodeTextinsrc/review/fix-handoff-render.tstried to make a finding path safe for an inline code span by backslash-escaping backticks (.replace(/`/g, "\\`")). CommonMark/GFM code spans are delimited by a run of backticks and do not honor a backslash before a backtick, so afinding.pathcontaining a literal backtick still broke out of the`…`span and corrupted the rendered fix-handoff block.markdownPathCodeinsrc/review/unified-comment-bridge.ts: compute the longest backtick run in the value and wrap it in a delimiter one backtick longer (with the surrounding spaces a code span strips), instead of backslash-escaping. The|,<,>entity/pipe escaping is preserved exactly; only the backtick strategy changed.buildFixHandoffBlock,fixHandoffAggregateItem) now consume the function's own delimiter-wrapped output directly instead of re-wrapping it in a hardcoded single backtick — the same wayunified-comment-bridge.ts's callers consumemarkdownPathCode.src/review/unified-comment-bridge.tsis the precedent and was not modified.Closes #9289
Scope
type(scope): short summaryConventional Commit format, for examplefix(api): restore profile access checks.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Closes #123) — a linked open issue is required for every contributor PR.Validation
git diff --checknpm run typecheck— the changed file is type-clean; see the skipped-checks note about pre-existing stale-distdiagnostics in unrelated files.npm run test:coverage(scoped) —src/review/fix-handoff-render.tsat 100% statements / branches / functions / lines on the diff; all touched suites pass (fix-handoff-render,fix-handoff-collapsible,unified-comment-bridge,unified-comment,local-write-tools,queue-4— 367 tests green).npm audit --audit-level=moderate— no new advisories introduced (see note).</>/|escaping-preservation test.If any required check was skipped, explain why:
src/reviewmarkdown-rendering change with no workers, MCP, UI, OpenAPI, GitHub Actions, or dependency changes, sotest:workers,build:mcp,test:mcp-pack,ui:openapi:check,ui:lint,ui:typecheck,ui:build, andactionlintare not applicable.npm run typecheckreports pre-existing errors only in unrelated files (packages/loopover-*,scripts/, attested-run files) from a stale local@loopover/enginedist— the referenced exports (assertScenarioLocalBranchInputSafe,discoverAmsPolicySpecPath,calibration/attester) exist in engine source +index.ts, so a fresh CI build resolves them. The changed file imports onlyLOCAL_WRITE_BOUNDARYand theInlineFindingtype and has no diagnostics.npm auditreports only pre-existing high-severitysharp/libvipsadvisories; this PR changes no dependencies and introduces none.Safety
UI Evidencesection — N/A: this is backend markdown-string rendering, not a visible UI/frontend/docs change, so no screenshots apply.Notes
path:line(path in its own delimiter-wrapped span,:lineoutside), matching howmarkdownPathCode's callers compose their cells. Two sibling test assertions that pinned the old single-backtick`path:line`shape (fix-handoff-collapsible.test.ts,queue-4.test.ts) were updated to the corrected output; the previous adversarial-path assertion encoded the old broken\`-escaped form and now asserts the widened delimiter.