[bug] Squad XP stays at 0/60 even after a completed mission run #16
Labels
No labels
blocked:needs-attention
blocked:needs-decision
blocked:needs-decompose
blocked:needs-design
blocked:needs-triage
blocked:unclassified
bug
documentation
enhancement
gsd-spec
in-progress
needs-decompose
priority:high
priority:low
priority:medium
quickfix
test
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/cybertactics#16
Loading…
Add table
Add a link
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?
Bug found during play test.
Repro:
localStorage.clear()).Save & Title.Expected: Each squad member that survived should show non-zero XP (the after-action report claims
+15 terminal hack, +50 core breach, +5 salvage, +10/+30 survive).Actual: VEX, DIAZ, ROOK, SABLE all still show
STREETRUNNER · 0 XPand0/60 XP. Thect_rosterlocalStorage key the README claims is the persistence target was not present in the keys probed (ct_missions,ct_save,ct_squad— noct_roster).Suspect: XP is awarded only when the player clicks through the full after-action report flow (
Save & Settlefrom the strategic view, not fromSave & Title). The mid-missionSave & Titledoes not write XP.Acceptance:
Save & Title), at least one squad member shows> 0 XP.localStorage.ct_rosterexists and contains the updated roster.Refs: Playwright play test 2026-09-23. README states "The roster persists (localStorage
ct_roster); upgrades apply when an operative is deployed."Fixed in commit
5bf4b19on main.Root cause: the Save & Title button (web/js/main.js) saved ct_save and reloaded, but never called awardXp() for the squad — only endMission() does that, and it runs only when the after-action overlay fires. The XP shown in the after-action report (per-mission survive + win) was computed in memory in G.xpEarned and discarded on reload; ct_roster was never written from this path.
Fix:
Verification (local
make ciis green on5bf4b19):Note: the Forgejo Actions runner for this repo has been failing every push since #7157 (9 prior unrelated commits also red) — this looks like a runner-side infrastructure issue independent of the code. Local
make ciis the authoritative gate from AGENTS.md, and it is green here. Re-running the workflow once the runner is repaired should turn this commit green as well.