main is red on 99e942dc #291
Labels
No labels
agent
agent:ci
agent:done
agent:failed
agent:needs-input
agent:refined
agent:refining
agent:running
agent:shipped
agent:skip
autonomous
autopilot
driven
local
plan
proposal
qa
qa-gap
research
retro
ship
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jeroen/cartopolis#291
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
mainis red on99e942dcbecause of a rustfmt violation, not a test failure.In the failing job (
test cartopolis, task 1114 / job 1329, run for99e942dc) every test suite passes — 879 incartopolis, 251 incartopolis_geo, 108 incartopolis_simulator, and the rest — with0 failedon every line. The job then dies on its last gate:That is the step at
.forgejo/workflows/ci.yml:540:The offending line is
crates/cartopolis/src/utils/sun.rs:153. It is 104 characters; there is norustfmt.tomlin the tree, so rustfmt's defaultmax_width = 100applies (edition 2021,Cargo.toml:15).It arrived in
dcfa142("fix: sky"), a one-line change tosun_discthat made the smoothstep's lower bound overridable byCARTO_EXP_DISC_LO. The same single diff is the whole failure on all three red commits —dcfa142(job 1324),b488d29(job 1327),99e942dc(job 1329) all printDiff in …/utils/sun.rs:150:and nothing else. The last greentest cartopoliswascd5d1b84(task 1105), the commit beforedcfa142.This is not a runner problem: it is real unformatted code in the tree, it reproduces from the source alone, and the
wasm & android targetsjob went green on the same commit (task 1116) because it is declaredif: always()(ci.yml:603) and does not depend on the fmt gate.Approach
One crate, one file, whitespace only.
crates/cartopolis/src/utils/sun.rs:153— replace the single-linelet lobinding with the four-line form rustfmt already printed in the CI log (quoted verbatim above). The-0.03default, thesmoothstep(lo, 0.06, …)call at line 154 and the doc comment at 150–151 are untouched.No behaviour changes. The three call sites —
systems/map/sky.rs:415,systems/map/sky.rs:1647,systems/map/sky_dome.rs:225— are not edited.Commit as
style(sun): wrap the sun-disc override to rustfmt's width, with a body saying that this is what has heldmainred sincedcfa142and thattools/deploy-maingates on it.Acceptance criteria
crates/cartopolis/src/utils/sun.rscontains the four-linelet lo: f32 = std::env::var("CARTO_EXP_DISC_LO")…form; no line in the file exceeds 100 characters.cargo fmt -p cartopolis -p cartopolis_geo -p cartopolis_core -p cartopolis_simulator -p cartopolis_android --checkexits 0 and prints no diff.git diffagainstmaintouches exactly one file, and the change is whitespace only — the token sequence ofsun_discis unchanged (-0.03,0.06,CARTO_EXP_DISC_LOall still present,smoothstep(lo, 0.06, sun_direction(hours, decl_rad).y)unchanged).Cargo.lockis unmodified.mainhead reportstest cartopolisas success.Verification
Run from the worktree:
cargo fmtneeds rustfmt in the toolchain —docs/guides/development.md:390records that the gate once died for weeks on'cargo-fmt' is not installed for the toolchainafter a--profile minimalinstall. If it is missing here, say so on the ticket rather than working around it.A test run is not required to prove this fix: job 1329's own log shows every suite green on this exact tree, and the change is whitespace. CI re-runs the suite on the branch anyway.
Nothing here needs a workstation, a GPU,
--shot, orcargo shots.Out of scope
CARTO_EXP_DISC_LOknob itself. Reformatting keeps it, and keeping it is deliberate: it is the maintainer's own change fromdcfa142, made 34 minutes before this ticket was filed, and removing it would be a behaviour decision this pass is not entitled to make. Two things about it are worth raising on a separate ticket, not folded in here: it is an undocumentedCARTO_EXP_-prefixed experiment hook (the only one in the tree —grep -rn "CARTO_EXP_" --include=*.rs crates/returns just this line) that reads an environment variable on every call from three sky call sites; anddcfa142landed with an empty commit body, which the repo's own rule (CLAUDE.md, "Where a fact goes") requires for afix. Neither blocks unbreakingmain.sky_dome.test cartopolisone971b4c4(task 1093), which predatesdcfa142and is a different, already-superseded run.Open questions
None.
Branch:
style/291-sun-disc-rustfmtOriginal request
The last commit on
mainthat CI ran for is99e942dc, and it did not pass:test cartopolis— failureNothing can be deployed while this stands —
tools/deploy-maingates on it — so thiscomes before anything on the frontier.
Read the failing job's log, reproduce it locally, and fix the cause. If the failure is
the runner rather than the code (a flake, a cache miss, a missing tool), say so on this
ticket and close it rather than changing code to suit it.
Filed by the autopilot.
🤖 Refined by the viberfox issue agent. Reply with @agent refine and what is wrong to have this rewritten.
🤖 Refining this before anything gets built — reading the code, no branch, no commits. If it turns out I'd have to guess at the requirements I'll stop and ask instead.
🤖 Refined. The description above is now the spec; I'll pick it up for implementation on the next poll.
If the direction is wrong, say so now — @agent refine with a correction rewrites it, and
agent:skipstops me.🤖 viberfox issue agent on the VPS — 23 turns · $2.00 · session
3b284703-8f1b-4c9f-9bec-d29c83be38f7. Reply with @agent to continue this session.🤖 Picked this up — working on branch
style/291-sun-disc-rustfmtin a fresh worktree on the VPS. I'll report back here when I'm done.Label an issue
agent:skipto keep me off it, ordrivento keep it in a session you are driving.Still building. I'll continue when the notification arrives.
No commits were made.
🤖 viberfox issue agent on the VPS — 16 turns · $1.34 · session
8907a638-740c-40be-bb74-d3dcab50a1ee. Reply with @agent to continue this session.alreadyFiledonly ever sees 50 issues, so every autopilot dedupe key silently expires — #206 was QA'd twice #281alreadyFiledonly ever sees 50 issues, so every autopilot dedupe key silently expires — #206 was QA'd twice #281