Skip to content

release: sync main resolution and version gate into dev - #2332

Merged
numnx merged 17 commits into
devfrom
release/orchestration-dashboard-hardening
Jul 6, 2026
Merged

release: sync main resolution and version gate into dev#2332
numnx merged 17 commits into
devfrom
release/orchestration-dashboard-hardening

Conversation

@numnx

@numnx numnx commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

Syncs current main conflict resolution back into dev before the release promotion, bumps the package version to 0.9.2, and adds a CI gate that requires future main release PRs to include a version bump.

What Changed

  • Merged current main into the release promotion branch so dev receives the E2E and workflow conflict resolutions before the final main PR.
  • Preserved the isolated Playwright E2E fixture helpers from dev while adding the deterministic agent preset fixture helper from main.
  • Resolved E2E conflicts in the avatar scene, accessibility smoke, and sprint ledger responsive specs.
  • Kept the protected-branch-safe models.dev catalogue PR workflow wording from main.
  • Bumped package.json from 0.9.1 to 0.9.2.
  • Added Release Version Bump to CI for pull requests targeting main; it compares package.json between the PR head and target main commit and fails unless the version increases.
  • Documented the main release version gate and corrected the Playwright E2E trigger policy documentation.

Validation

pnpm run lint
git diff --check
python3 - <<'PY'
import yaml
from pathlib import Path
for path in Path(".github/workflows").glob("*.yml"):
    yaml.safe_load(path.read_text())
print("workflow yaml ok")
PY
node - "0.9.1" "0.9.2" <<'NODE'
const [, , baseVersion, headVersion] = process.argv;
const semverPattern = /^(\d+)\.(\d+)\.(\d+)(?:[-+][0-9A-Za-z.-]+)?$/;
function parseVersion(value, label) {
  const match = semverPattern.exec(value);
  if (!match) throw new Error(`${label} package.json version is not valid semver: ${value}`);
  return match.slice(1, 4).map(Number);
}
const base = parseVersion(baseVersion, "Base");
const head = parseVersion(headVersion, "Head");
const isGreater = head[0] > base[0]
  || (head[0] === base[0] && head[1] > base[1])
  || (head[0] === base[0] && head[1] === base[1] && head[2] > base[2]);
if (!isGreater) throw new Error(`Main release PRs must bump package.json version above ${baseVersion}; found ${headVersion}.`);
console.log("version comparator ok");
NODE

Risk / Rollback

Low runtime risk: this PR only syncs release branch resolution, package metadata, CI, E2E conflict resolution, and docs. Roll back by reverting this PR before creating the final main release PR.

@numnx
numnx merged commit 53c638f into dev Jul 6, 2026
15 of 18 checks passed
@numnx
numnx deleted the release/orchestration-dashboard-hardening branch July 6, 2026 15:35
@numnx numnx mentioned this pull request Jul 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant