fix: restore three PRs that #66's merge silently reverted, and take openspec 1.10 #94
No reviewers
Labels
No labels
dependencies
major
security-pin
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
trails-cool/trails!94
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/restore-openspec-1.10"
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?
What happened
#66 ("Update testing tooling to v1.62.1") reverted three already-merged PRs. It was squashed onto a stale base, so its commit carried that branch's entire tree rather than just the
ci.ymlchange it was for. Merging it undid everything that had landed in between:docker/brouter/Dockerfileroute-features/activity-feed/spec.mdwahoo-production-cutover/wahoo-route-push/spec.mdpnpm-lock.yaml@fission-ai/openspec1.9.0 → 1.6.0.agents/skills/*,.claude/commands/opsx/*Only
.forgejo/workflows/ci.ymlwas meant to change.It wasn't only git.
cd-brouterredeployed afterwards, so production BRouter has been runningopenjdk 11.0.31— not the25.0.3that #63 verified. Java 25 was live for about three hours before being silently rolled back.Nothing failed. Every CI run was green, because each PR was tested against its base at push time, not at merge time — precisely the hazard
CLAUDE.mddocuments. The revert simply looked like a dependency PR doing dependency things.What this restores
All three, plus openspec goes to 1.10.0 rather than #86's 1.9.0, which is already stale.
package.json's floor moves^1.6.0 → ^1.10.0so it stops understating the requirement, and the generated skill/command docs are rebuilt withopenspec update --force. 1.10 adds asyncworkflow, hence the newopenspec-sync-specsskill andopsx/synccommand.Deliberately not included
The rest of #86's development-group bumps. They're within existing caret ranges and belong to Renovate, which regenerates the lockfile against current main — hand-merging its 586-line lockfile is the exact manoeuvre that caused this incident. Two of them,
vitestand@vitest/browser-playwright, must also move in lockstep with theci.ymlPlaywright image tag, so they need the grouping rather than an opportunistic bump here.#86 should be left for Renovate to rebase (
rebaseWhen: "conflicted"), after which it will contain only the remaining bumps.Testing
emoji-regex 10.6.0 → 8.0.0) is a duplicate copy dropping out — main carried both 8.0.0 and 10.6.0, the latter pulled bystring-width@7.2.0in the old inquirer chain that 1.10 no longer needs. Not a direct dependency anywhere.That last check is the one whose absence let this through, and it's worth making routine: after rebasing or squashing any lockfile-touching branch, diff resolved versions against the target and assert no package moves backwards. A green CI run will not tell you.
After merging
cd-brouterwill trigger on thedocker/brouter/Dockerfilechange and put Java 25 back. Worth confirming it actually routes afterwards —docker exec trails-brouter java -versionplus a route request — since that's how the rollback went unnoticed the first time.