Skip to content

chore(register): rename the assessment slug to software-review - #894

Merged
rubenvdlinde merged 7 commits into
developmentfrom
chore/rename-assessment-slug
Sep 1, 2026
Merged

chore(register): rename the assessment slug to software-review#894
rubenvdlinde merged 7 commits into
developmentfrom
chore/rename-assessment-slug

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

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.json carries three live bindings, including the rv-score rating 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 any register.d fragment 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

Conduction Release Bot 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.
@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/stackiq @ fbed3bd

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.

@github-actions

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/stackiq @ dd972bb

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.
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/stackiq @ f0ed0eb

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.

Conduction Release Bot 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.
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/stackiq @ 562ef20

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.

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/stackiq @ 9a0522b

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.

@rubenvdlinde
rubenvdlinde merged commit fc0aeee into development Sep 1, 2026
50 checks passed
@rubenvdlinde
rubenvdlinde deleted the chore/rename-assessment-slug branch September 1, 2026 07:15
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