Skip to content

chore(gates): refresh the vendored manifest schema 2.25.0 → 2.26.0 - #602

Merged
rubenvdlinde merged 1 commit into
mainfrom
chore/manifest-schema-2.26.0
Aug 27, 2026
Merged

chore(gates): refresh the vendored manifest schema 2.25.0 → 2.26.0#602
rubenvdlinde merged 1 commit into
mainfrom
chore/manifest-schema-2.26.0

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

The problem

gate-22 (manifest-validation) and gate-53 (effective-manifest-crossref) validate every app's
src/manifest.json against a copy of the manifest schema vendored here, not the copy the app
installs from @conduction/nextcloud-vue.

That copy sat at 2.25.0. It has neither the flow page type nor config.entitySource, both of
which landed in 2.26.0. So the two flow-page migrations fail both gates here while passing their own
repo's validator against node_modules — the two validators disagree because they are reading
different schemas.

Blocked by this:

  • ConductionNL/dossiq#1402
  • ConductionNL/openregister#2937

The change

Refresh the vendored copy 2.25.0 → 2.26.0, taken from nextcloud-vue@development.

Strictly additive, so no manifest that passes today can start failing:

  • adds flow to the page-type enum (17 values, was 16)
  • adds config.entitySource and config.app

Verified the old copy is a clean ancestor before overwriting — the only removals in the diff are the
version line and one description string. No gate-local tightening was dropped.

What this does not fix

This is the fourth vendored copy of this one schema found drifting this week. Refreshing is not
the fix. The gate reads a schema with a version field and never compares it to anything, so drift
is silent in the direction that matters: a manifest using a newer feature reads as invalid rather
than as newer than the gate.

The real fix is for the gate to fail loudly on that distinction — "manifest targets 2.26.0, gate has
2.25.0" is a different message from "invalid page type", and only one of them sends you to the right
repo. Filed separately rather than bundled here, because this PR is on the critical path for two
migrations.

Blast radius

quality.yml is consumed as @main, so this takes effect fleet-wide on merge. Additive-only is what
makes that safe.

gate-22 and gate-53 validate every app manifest against THIS copy, not the
one the app installs. It sat at 2.25.0, which has neither the 'flow' page type
nor config.entitySource, so both flow-page migrations failed schema validation
while passing their own repo's validator against node_modules.

This is the fourth vendored copy of one schema found drifting this week. The
refresh unblocks the migrations; it does not fix the drift, which needs the
gate to read a pinned VERSION and fail loudly when an app declares a newer one.
@rubenvdlinde
rubenvdlinde merged commit cae1676 into main Aug 27, 2026
36 checks passed
@rubenvdlinde
rubenvdlinde deleted the chore/manifest-schema-2.26.0 branch August 27, 2026 20:35
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