Fix the invalid string literals that keep main red (refs #73) - #76
Conversation
The CI diagnostic (#73) captured the real first failure: precompilation of InvestigativeJournalism aborts with ERROR: LoadError: ParseError: # Error @ src/storytelling/timelines.jl:43:28 println("LEAK_V1: \_*___*") # └┘ -- invalid escape sequence Julia's only single-character escapes are \\ " $ \n \t \r \b \f \v \a \e and the numeric forms, so the ASCII-art backslashes in visualize_git_timeline are syntax errors; they now use \\\\_ and print as intended. src/storage/verisim_bridge.jl had the same shape of defect: the interpolation in VQL output was written as "Executing VQL: "$query" ...", which the parser reads as the string "Executing VQL: " followed by a custom string literal query"..."; it is now a single interpolated string. Neither file is touched by the citation work that surfaced the red checks; both predate it and fail identically on main. Co-authored-by: arena-agent <[email protected]>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (4)
💤 Files with no reviewable changes (1)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (11)
|
| Layer / File(s) | Summary |
|---|---|
Correct Julia string literals src/storytelling/timelines.jl, src/storage/verisim_bridge.jl, CHANGELOG.adoc |
The timeline strings now escape backslashes. vql_query now interpolates query in its execution message. The changelog records both fixes. |
Diagnostic Workflow Removal
| Layer / File(s) | Summary |
|---|---|
Remove temporary CI diagnostics .github/workflows/diag.yml, CHANGELOG.adoc |
The temporary workflow that captured diagnostic and test output and attempted to commit CI-DIAG.txt is removed. The changelog records its removal. |
Priority: ➖ Normal
Estimated code review effort: 2 (Simple) | ~10 minutes
Change: Bug fix
Merge Risk: ⚪ Minimal · up to 4423c
The reported string fixes address package loading, and no actionable merge-blocking risk remains in the reviewed changes.
Architecture Summary
Architecture risk: 🔵 Low · up to 4423c
The change affects 2 systems.
Changed systems: src, CHANGELOG.adoc
Architecture concerns
No architecture-level concerns identified.
Review details
Systems and components
- observed — src (service) was modified; 2 changed files map to changed impact.
- observed — CHANGELOG.adoc (service) was modified; 1 changed file maps to changed impact.
Before / after behavior
- observed — Modified behavior in CHANGELOG.adoc: The changelog adds a fix for two parse errors that prevented package loading: the timeline banner now doubles its backslash, and the log line interpolates
queryusing$(query). - observed — Modified behavior in CHANGELOG.adoc: The changelog records removal of the temporary
.github/workflows/diag.ymldiagnostic workflow and describes its prior role. - observed — Modified behavior in src/storage/verisim_bridge.jl:
vql_querynow embedsqueryin the printed execution message using string interpolation, replacing the previous malformed string expression. - observed — Modified behavior in src/storytelling/timelines.jl: The
LEAK_V1andALT_HISTstrings now escape their backslashes, causing the output to include literal backslashes.
🚥 Pre-merge checks | ✅ 4 | ❌ 1
❌ Failed checks (1 warning)
| Check name | Status | Explanation | Resolution |
|---|---|---|---|
| Description check | The description explains the cause, key changes, and verification work. It does not include the required RSR Quality Checklist or report whether the required tests, formatting, and lint checks passed. | Add the RSR Quality Checklist from the repository template and mark each applicable item. In the Testing section, report the results of just test or an equivalent test command, formatting, and lint checks. If a check was not run, state th… |
✅ Passed checks (4 passed)
| Check name | Status | Explanation |
|---|---|---|
| Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0… |
| Linked Issues check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |
| Out of Scope Changes check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |
| Title check | ✅ Passed | The title clearly identifies the main change: fixing invalid string literals that prevent the application from loading. |
Full details: Description check
Resolution
Add the RSR Quality Checklist from the repository template and mark each applicable item. In the Testing section, report the results of just test or an equivalent test command, formatting, and lint checks. If a check was not run, state that clearly.
- Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
- Commit to this branch
- Create a new PR
- Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
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.
A rabbit checks the strings at dawn,
The stray backslashes now hold on.
A query joins its message bright,
The old CI trail takes flight.
Then carrots crunch; the build moves on.
Comment @coderabbitai help to get the list of available commands.
`using InvestigativeJournalism` raised `LoadError: ParseError` before a single test ran: - src/storytelling/timelines.jl:43-44 used `\_` in the ASCII timeline banner; `\_` is not a valid Julia escape sequence. - src/storage/verisim_bridge.jl:37 closed the log string before interpolating `query`; `$` cannot follow the closing quote of a string literal. Also removes .github/workflows/diag.yml, the temporary diagnostic workflow carried into `main` by the previous squash merge. Refs #73 Co-authored-by: arena-agent <[email protected]>
4423c39 to
fbabc45
Compare
Why
mainis still red after #75 was squash-merged: its CI legs fail before asingle test runs.
Two string literals are parse errors, so
using InvestigativeJournalismraised a
LoadErrorin every job:src/storytelling/timelines.jl:43-44—\_is not one of Julia's validescapes (only
\\,\",\$,\'and the standard control escapes are).src/storage/verisim_bridge.jl:37—println("Executing VQL: "$query" ⚡")closed the log string before interpolating
query.That is exactly what
Julia 1.10 - ubuntu-latestandJulia 1.11 - macos-latestreport onmaintoday, and the third leg(
Julia 1.11 - ubuntu-latest) was previously cancelled mid-install by theold 15-minute job timeout.
What this does
\\_);.github/workflows/diag.yml, a temporary diagnostic workflow thatthe squash commit of fix(ci): declare Luxor, align deps with usage, repair tests and the 15m timeout (fixes #73) #75 carried into
main;[Unreleased]section ofCHANGELOG.adoc.No
continue-on-errorand no demotion to a warning: the fix is a greenJulia 1.10 - ubuntu-latest/Julia 1.11 - ubuntu-latest/Julia 1.11 - macos-latestonmain, which is what #73 records as theacceptance criterion.
Verification
(including comments and
rawliterals) finds no other literal of thisclass.
MISSING ]/ERRORreport onsrc/parsers.jlwasre-checked and is a false positive (regex
iflag suffix); the file isvalid Julia and is left untouched.
Refs #73.