chore(register): rename the assessment slug to software-review - #894
Merged
Conversation
added 3 commits
August 31, 2026 23:31
Learniq also ships a schema slugged `assessment`: a toets, tentamen or examen composed of items from an ItemBank. This one rates applications and services. The two share NO properties at all, and slugs are global on a shared OpenRegister. The schema's own description says it "wordt niet daadwerkelijk in de applicatie gebruikt", which is not true: src/manifest.json carries three live bindings, including the rating stat on the application detail page. Renaming rather than deleting keeps that surface working. Three manifest bindings follow the slug; the schema KEY stays `assessment`, so any register.d fragment extending it by key is unaffected.
…e maps In this app the object type IS the schema slug: SettingsService says so in its own comment, and records that an unmapped type once silently killed this very ratings feature, with ReviewService and ReviewAggregateService reading "not configured" forever. So the slug moves through all of it: - ReviewService::REVIEW_TYPE and ReviewAggregateService::REVIEW_TYPE - ModerationService::MODERATED_TYPE_REVIEW - the objectType -> config-key map, which appears THREE times in SettingsService (LEGACY_SCHEMA_KEY and two inline copies) - RenameDutchSchemaSlugs' target for 'beoordeeling' The config KEY stays `beoordeeling_schema`. It is stored app-config and renaming it is a data migration the same comment scopes as its own change.
…by slug Measured on the descriptor: key equals slug for every other schema here. Renaming only the slug made this one the single exception, and a reference that names a schema by bare string then has no way to stay right. The key is anchored to the schema-entry indent, so a nested property with the same name cannot be caught by it: dossiq has four `location` PROPERTIES, and an unanchored rename reshaped all four.
Contributor
Quality Report — ConductionNL/stackiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ⏭️ | ||||
| phpcs | ⏭️ | ||||
| phpmd | ⏭️ | ||||
| psalm | ⏭️ | ||||
| phpstan | ⏭️ | ||||
| phpmetrics | ⏭️ | ||||
| eslint | ⏭️ | ||||
| stylelint | ⏭️ | ||||
| build | ⏭️ | ||||
| composer | ⏭️ | ⏭️ | |||
| npm | ⏭️ | ⏭️ | |||
| app:check-code | ⏭️ | ||||
| info.xml | ⏭️ | ||||
| REUSE | ⏭️ | ||||
| PHPUnit | ❌ | ||||
| Newman | ❌ | ||||
| Playwright | ❌ | ||||
| Hydra gates | ❌ |
Quality workflow — 2026-08-31 21:41 UTC
Download the full PDF report from the workflow artifacts.
Contributor
Quality Report — ConductionNL/stackiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| check-vue-demi | ✅ | ||||
| test-l10n | ✅ | ||||
| format | ❌ | ||||
| check-schema-l10n | ✅ | ||||
| check-l10n-js | ✅ | ||||
| composer | ✅ | ✅ 130/130 | |||
| npm | ✅ | ✅ 711/711 | |||
| 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:59 UTC
Download the full PDF report from the workflow artifacts.
The object type IS the schema slug here, so software-review is what getSchemaIdForObjectType resolves now. The config key beoordeeling_schema is unchanged, which is the whole point of the split the test pins.
Contributor
Quality Report — ConductionNL/stackiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| check-vue-demi | ✅ | ||||
| test-l10n | ✅ | ||||
| format | ❌ | ||||
| check-schema-l10n | ✅ | ||||
| check-l10n-js | ✅ | ||||
| composer | ✅ | ✅ 130/130 | |||
| npm | ✅ | ✅ 711/711 | |||
| 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-09-01 05:12 UTC
Download the full PDF report from the workflow artifacts.
added 3 commits
September 1, 2026 08:01
Three checks were already red on development before this branch, and the
goal is to leave none behind.
Frontend Check (format): CatalogPanels.vue was not prettier-clean.
gate-60 icon-vocabulary: src/icons.js registered neither FileDocument nor
Web, both named by the manifests. An unregistered name renders NO icon at
all, not a fallback glyph, so two surfaces shipped blank.
gate-102 manifest-l10n-coverage: three manifest strings had no nl.json key.
Two of them were authored in Dutch inside an English-source manifest
("Diensten", "Object statistieken"), so the fix is to write them in English
and carry the Dutch in l10n/nl.json, which is where it belongs. "Modules"
reads the same in both and gets an explicit key rather than falling through.
Verified locally: check:manifest, test:l10n, format, check:schema-l10n and
check:l10n-js all pass, and both gates report 0 failures.
…ssessment-slug # Conflicts: # src/icons.js
The spec landed on development while this branch was open and addresses the reviews collection by slug: the afterAll cleanup, the anonymous-review lookup and the persisted-review lookup all named `assessment`. Against the renamed schema the cleanup would have swept nothing and both lookups would have returned empty, which reads as "the review was not persisted at all". Also reformats the file, which was not prettier-clean as merged.
Contributor
Quality Report — ConductionNL/stackiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ⏭️ | ||||
| phpcs | ⏭️ | ||||
| phpmd | ⏭️ | ||||
| psalm | ⏭️ | ||||
| phpstan | ⏭️ | ||||
| phpmetrics | ⏭️ | ||||
| eslint | ⏭️ | ||||
| stylelint | ⏭️ | ||||
| build | ⏭️ | ||||
| composer | ⏭️ | ⏭️ | |||
| npm | ⏭️ | ⏭️ | |||
| app:check-code | ⏭️ | ||||
| info.xml | ⏭️ | ||||
| REUSE | ⏭️ | ||||
| PHPUnit | ❌ | ||||
| Newman | ❌ | ||||
| Playwright | ❌ | ||||
| Hydra gates | ❌ |
Quality workflow — 2026-09-01 07:03 UTC
Download the full PDF report from the workflow artifacts.
Contributor
Quality Report — ConductionNL/stackiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| check-vue-demi | ✅ | ||||
| test-l10n | ✅ | ||||
| format | ✅ | ||||
| check-schema-l10n | ✅ | ||||
| check-l10n-js | ✅ | ||||
| composer | ✅ | ✅ 130/130 | |||
| npm | ✅ | ✅ 711/711 | |||
| 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-09-01 07:14 UTC
Download the full PDF report from the workflow artifacts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of the fleet schema consolidation.
Learniq also ships a schema slugged
assessment: a toets, tentamen, examen composed of items from an ItemBank, with a scoring scheme and attempt policy. This one rates applications and services. The two share no properties at all, and slugs are global on a shared OpenRegister.Why renamed and not deleted
The schema's own description says it "wordt niet daadwerkelijk in de applicatie gebruikt". That is not true:
src/manifest.jsoncarries three live bindings, including therv-scorerating stat on the application detail page. Deleting it would have taken that surface with it, so it is renamed instead.Three manifest bindings follow the slug. The schema key stays
assessment, so anyregister.dfragment extending it by key is unaffected.Register versions bumped so the import reaches an existing install. Depends on ConductionNL/openregister#3248 for pruning the row the import leaves behind.
🤖 Generated with Claude Code