Skip to content

fix(hydra-gates): vendor manifest schema 2.171.0 and run the sync PR's required checks - #896

Merged
rubenvdlinde merged 3 commits into
mainfrom
fix/vendor-manifest-schema-2.171
Nov 3, 2026
Merged

rubenvdlinde merged 3 commits into
mainfrom
fix/vendor-manifest-schema-2.171

Conversation

@rubenvdlinde

@rubenvdlinde rubenvdlinde commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Gates 22 and 53 reject valid manifests in every app on nextcloud-vue 2.171 and later (dossiq, portaliq, pipelinq), because the vendored schema was still at 2.138.0 (e39aded, 21 Oct). This PR re-vendors it and fixes why the sync workflow did not keep it current.

What changes

  • hydra-gates/scripts/schemas/app-manifest-v2.schema.json: schema 2.171.0, taken from @conduction/nextcloud-vue 2.172.0 (npm view @conduction/nextcloud-vue version = 2.172.0, the latest). Produced with the sync workflow's own steps run locally (npm pack, copy, diff_schema_strictness.js). The differ reports none: no constraint got stricter. The file is byte-identical to the bot's chore(hydra-gates): vendor manifest schema 2.171.0 #894.
  • .github/workflows/hydra-gates-schema-sync.yml: after opening its PR, the workflow now dispatches hydra-gates-package.yml and quality-resolve-probe.yml on the sync branch (plus actions: write).

Why the sync workflow fell behind

The workflow ran green every day and opened a PR every day (#859, #863 to #870, #878, #886, #887, #889, #894). None of them got the three required checks (Package invariants, Install from published location, Shared-workflow guard). A PR opened by github-actions[bot] with GITHUB_TOKEN does get pull_request runs, but they wait for approval and never start a job: #894's runs are action_required (run 41576030176), and #889's, #878's and #859's ended with zero jobs. So only CodeQL reported, every PR sat BLOCKED, and the next day's run closed it as superseded. The last sync PR that merged was #853 (2.96.0), and only because a human pushed a commit to it. A workflow_dispatch fired with GITHUB_TOKEN runs without approval, and its check runs land on the branch head, which is what the ruleset reads. A reviewer still merges; the PR is now mergeable when they do. The repo has auto-merge off, so I left merging to a person, as the workflow intends.

Verified (gates 22 and 53, run with the runner's own commands, full scope)

On each app's development tip, main's schema vs this branch's:

app gate 22 on main gate 22 here gate 53 on main gate 53 here
dossiq FAIL, 78 PASS FAIL, 86 PASS (crossref 0)
portaliq FAIL, 33 (sendingRef) PASS FAIL, 33 PASS
pipelinq FAIL, 155 PASS FAIL, 173 PASS

Negative control: dossiq's manifest with pages[1].type = 42 fails both gates on this branch (2 violations each).
Helper suites green: test_check_manifest.sh, test_check_manifest_ajv_collapse.js, test_check_manifest_crossref.js, test_build_effective_manifest.js, test_diff_schema_strictness.js, test_vendored_schema_freshness.js, test_manifest_scope_filter.js.
The workflow change is checked for valid YAML only; it first runs on the next scheduled sync.

Supersedes #894 (same schema bytes, and #894 cannot get its required checks).

AI disclosure: prepared with Claude Code (Opus 5.5).

🤖 Generated with Claude Code

Re-vendored from @conduction/nextcloud-vue 2.172.0 (the latest on npm).
diff_schema_strictness.js reports no tightened constraint.

Assisted-by: ClaudeCode:claude-opus-5-5
A pull request opened with GITHUB_TOKEN triggers no pull_request
workflow, so the sync PRs never got their required checks and stayed
blocked until the next run closed them. Dispatch the two workflows that
carry the required checks onto the sync branch.

Assisted-by: ClaudeCode:claude-opus-5-5
Assisted-by: ClaudeCode:claude-opus-5-5
@rubenvdlinde
rubenvdlinde merged commit 141d71b into main Nov 3, 2026
48 of 49 checks passed
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