Skip to content

chore(register): retire the product schema, pipelinq owns it - #1076

Merged
rubenvdlinde merged 2 commits into
developmentfrom
chore/retire-product-schema
Aug 31, 2026
Merged

chore(register): retire the product schema, pipelinq owns it#1076
rubenvdlinde merged 2 commits into
developmentfrom
chore/retire-product-schema

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Part of the fleet schema consolidation. Three apps shipped a schema slugged product: decidiq, filinq and pipelinq. Slugs are global on a shared OpenRegister and a bare relation resolves by slug alone, so the copies could bind to each other. Pipelinq's is the fleet's commercial catalog entry and keeps the slug.

Nothing in decidiq read this copy: zero references across src/ and lib/. The Decision.product relation that pointed at it goes too, otherwise the descriptor ships a $ref to a schema it no longer carries.

The descriptor is only half the job

ImportHandler unions the freshly-imported schema ids into the register's existing list, so a schema removed from the descriptor keeps its row and its magic table. Verified on the dev instance with the companion command from ConductionNL/openregister#3248:

occ openregister:schemas:prune-retired --app decidiq --slug product --apply
  product (id=987, app=decidiq): 0 object(s), referenced by 1 register(s)
  unlinked from register id=28 (decidiq)
  DELETED (objects removed=0, table dropped=yes)

Version bump

info.version 0.10.0 to 0.11.0, mock 1.0.0 to 1.1.0. The import is version-gated, so without the bump this never reaches an existing install.

Sibling: ConductionNL/filinq#980. Depends on ConductionNL/openregister#3248.

🤖 Generated with Claude Code

Three apps shipped a schema slugged `product`: decidiq, filinq and
pipelinq. Slugs are global on a shared OpenRegister and a bare relation
resolves by slug alone, so the copies could bind to each other. Pipelinq's
is the fleet's commercial catalog entry and keeps the slug.

Nothing in decidiq read this copy: zero references across src/ and lib/.
The `Decision.product` relation that pointed at it goes too, otherwise the
descriptor ships a \$ref to a schema it no longer carries.

Removing it from the descriptor is only half the job. ImportHandler unions
the freshly-imported schema ids into the register's existing list, so the
live row survives a descriptor deletion. Verified on the dev instance:

  occ openregister:schemas:prune-retired --app decidiq --slug product --apply
  -> product (id=987, app=decidiq): 0 objects, referenced by 1 register(s)
     DELETED (objects removed=0, table dropped=yes)
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/decidiq @ fefed33

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-manifest
check-nav-ceiling
test-l10n
format
check-l10n-js
check-schema-l10n
composer ✅ 104/104
npm ✅ 537/537
app:check-code ⏭️
info.xml
REUSE
PHPUnit
Newman
Playwright ⏭️ deferred — runs on the promotion into beta/main, not on a pull request into development
Hydra gates

Quality workflow — 2026-08-31 21:10 UTC

Download the full PDF report from the workflow artifacts.

RegisterJsonTest hard-codes the schema list and the schema.org annotation
map, so retiring Product left it asserting 39 schemas against 38 and
expecting a schema:Product annotation that no longer exists.
@rubenvdlinde
rubenvdlinde merged commit ee0d895 into development Aug 31, 2026
49 checks passed
@rubenvdlinde
rubenvdlinde deleted the chore/retire-product-schema branch August 31, 2026 21:41
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/decidiq @ 29b0da5

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-manifest
check-nav-ceiling
test-l10n
format
check-l10n-js
check-schema-l10n
composer ✅ 104/104
npm ✅ 537/537
app:check-code ⏭️
info.xml
REUSE
PHPUnit
Newman
Playwright ⏭️ deferred — runs on the promotion into beta/main, not on a pull request into development
Hydra gates

Quality workflow — 2026-08-31 21:46 UTC

Download the full PDF report from the workflow artifacts.

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