Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
886 commits
Select commit Hold shift + click to select a range
d826781
fix(e2e): retain-on-failure traces + a globalTimeout under the 45m CI…
rubenvdlinde Aug 8, 2026
99264e3
Merge pull request #462 from ConductionNL/fix/spec-tag-sniff-canonica…
rubenvdlinde Aug 8, 2026
b3838c6
feat(settings): add canonical PUT /api/settings (settings#update) (#464)
rubenvdlinde Aug 8, 2026
3a542f2
fix(a11y): four widget icons rendered the wrong glyph, three controls…
rubenvdlinde Aug 9, 2026
eff9e05
fix(auth): scope the contact-person read-outs to the caller's organis…
rubenvdlinde Aug 9, 2026
df0a21f
refactor(archimate): delete the unreachable private getVoorzieningenC…
rubenvdlinde Aug 9, 2026
f5538e7
fix(a11y): label 19 form fields, scope 19 tables, honour reduced moti…
rubenvdlinde Aug 9, 2026
b2c070a
fix(gates): one settings home, four dangling $refs, two mistyped spec…
rubenvdlinde Aug 9, 2026
f0bea90
test: pin the public review-aggregate wire contract and prove five pa…
rubenvdlinde Aug 9, 2026
f8c32f7
fix(archimate): unset AMEF ids were handed on as empty strings past a…
rubenvdlinde Aug 9, 2026
0020132
docs(spec): trace 64 frontend methods to their spec, and sync the spe…
rubenvdlinde Aug 9, 2026
0586437
fix(register): drop the unresolvable $ref on the cross-app decisions …
rubenvdlinde Aug 9, 2026
5b4fe42
chore(deps): pin @conduction/nextcloud-vue to 2.2.0-vue3.7
rubenvdlinde Aug 10, 2026
d2616b8
Merge pull request #474 from ConductionNL/chore/pin-ncvue-2.2.0-vue3.7
rubenvdlinde Aug 10, 2026
39a3333
chore(deps): pin @conduction/nextcloud-vue to 2.2.0-vue3.9
rubenvdlinde Aug 10, 2026
4fbb85b
Merge pull request #475 from ConductionNL/chore/pin-ncvue-2.2.0-vue3.9
rubenvdlinde Aug 10, 2026
72f92f4
ci: this workflow could not be run on purpose (#476)
rubenvdlinde Aug 10, 2026
274790f
fix(spec): four @spec tags named a Scenario as if it were a Requireme…
rubenvdlinde Aug 10, 2026
f699b5a
fix(fe): gate-13 — extract four inline modals, and fix the slot typo …
rubenvdlinde Aug 10, 2026
126eda6
test(gates): real contract tests close gate-25 (41 -> 0); gate-26 3 -…
rubenvdlinde Aug 11, 2026
ebc93ff
test(e2e): 18 real Playwright tests close gate-19 137 -> 112 (#486)
rubenvdlinde Aug 11, 2026
ea4dc7e
fix(security): bump phpcsstandards/phpcsutils to 1.2.3 for CVE-2026-6…
rubenvdlinde Aug 11, 2026
d401ab7
fix(merge): organisation merge re-points nothing — probe a magic acce…
rubenvdlinde Aug 12, 2026
f2dcacc
chore(softwarecatalog): remove two committed debug scripts (#487)
rubenvdlinde Aug 12, 2026
088e14c
feat(repair): migrate softwarecatalog's Dutch columns to English (#488)
rubenvdlinde Aug 12, 2026
514d9c0
chore: adopt Nextcloud's coding standard, .editorconfig and NC 34 (#493)
rubenvdlinde Aug 12, 2026
5546f7d
fix(ci): test the whole declared Nextcloud range, not only the ceilin…
rubenvdlinde Aug 12, 2026
bbe8883
chore: delete the inert .prettierrc (#495)
rubenvdlinde Aug 12, 2026
d788cd5
fix(install): seed on a FRESH install, not only on upgrade (#496)
rubenvdlinde Aug 12, 2026
11c54b6
chore(quality): point PHPMD at the central ruleset (#498)
rubenvdlinde Aug 12, 2026
4ef32fe
chore(quality): adopt the central PHPStan base config (#497)
rubenvdlinde Aug 12, 2026
021fc72
chore(deps): pin @conduction/nextcloud-vue to 2.2.0-vue3.16 (#499)
rubenvdlinde Aug 12, 2026
051aa85
chore(deps): resolve conduction/hydra-gates v1.7.3 in composer.lock (…
rubenvdlinde Aug 12, 2026
ee2152d
fix(repair): guard the Dutch column rename on what the schema declare…
rubenvdlinde Aug 13, 2026
bd9751a
fix(auth): four admin actions were reachable by any authenticated use…
rubenvdlinde Aug 13, 2026
cd27979
feat(format): adopt Nextcloud's prettier config, so styles are tabs t…
rubenvdlinde Aug 13, 2026
34d8318
ci: run `format` (prettier --check) as a Frontend Check leg (#507)
rubenvdlinde Aug 13, 2026
c8e82f4
ci(stylelint): cover css/ as well as src/, and fix what it found (#508)
rubenvdlinde Aug 14, 2026
c016ae8
fix(security): rate-limit the public review aggregate endpoint
rubenvdlinde Aug 14, 2026
702f24a
Merge pull request #510 from ConductionNL/fix/public-endpoint-rate-li…
rubenvdlinde Aug 14, 2026
bc57048
build(lint): migrate to eslint 10 + @nextcloud/eslint-config 9
rubenvdlinde Aug 14, 2026
aab66d5
refactor(softwarecatalog): translate Dutch vocabulary to English (#506)
rubenvdlinde Aug 14, 2026
6aceb6e
Merge remote-tracking branch 'origin/development' into feat/eslint-10
rubenvdlinde Aug 14, 2026
b7916e9
Merge pull request #511 from ConductionNL/feat/eslint-10
rubenvdlinde Aug 14, 2026
8c6798b
ci: a branch nobody named got no checks at all (#512)
rubenvdlinde Aug 14, 2026
f4e57eb
fix(security): give every public endpoint a volume ceiling (ADR-082) …
rubenvdlinde Aug 14, 2026
517f650
refactor(deps): inject OpenRegister instead of looking it up (ADR-083)
rubenvdlinde Aug 14, 2026
386771d
refactor(softwarecatalog): translate 12 pre-existing Dutch property n…
rubenvdlinde Aug 14, 2026
d3fa65a
refactor(softwarecatalog): one Dutch name, two English targets — let …
rubenvdlinde Aug 15, 2026
58c3c30
refactor(deps): type-hint OpenRegister's published contract (ADR-084)
rubenvdlinde Aug 15, 2026
826bf1b
fix(adr-084): complete the conversion the first transformer under-did
rubenvdlinde Aug 15, 2026
c15e6fd
refactor(softwarecatalog): translate eight schema slugs, and migrate …
rubenvdlinde Aug 15, 2026
153a7e5
refactor(softwarecatalog): translate the stored enum values, and migr…
rubenvdlinde Aug 15, 2026
2020f87
test: pass the ObjectServiceInterface the constructors now require
rubenvdlinde Aug 15, 2026
153e850
fix: the contract lives in Contract\, not Service\
rubenvdlinde Aug 15, 2026
5e7ae8d
ci: adopt development's Code Quality workflow — the branch had the pr…
rubenvdlinde Aug 15, 2026
26fae3e
chore(deps): track @conduction/nextcloud-vue ^2.3.0 (#521)
rubenvdlinde Aug 15, 2026
3e16612
test: complete the ADR-083 constructor changes and make the stubs sat…
rubenvdlinde Aug 15, 2026
4619549
refactor: persist through the published contract, not OpenRegister's …
rubenvdlinde Aug 15, 2026
701ad8b
refactor: convert the last two MagicMapper lookups on their own terms
rubenvdlinde Aug 15, 2026
684384e
fix: finish the MagicMapper removal and wire the composition root
rubenvdlinde Aug 15, 2026
cee771e
fix: repair references to the local $objectService ADR-083 deleted
rubenvdlinde Aug 15, 2026
4f6da66
fix(tests): drop constructor arguments belonging to a same-named class
rubenvdlinde Aug 15, 2026
bc36d9c
fix: clear the docblocks and dead code ADR-083 left behind
rubenvdlinde Aug 15, 2026
67e7eff
Merge development, and restore two parameters my dangling-reference p…
rubenvdlinde Aug 15, 2026
d5f5e69
chore(deps): move @conduction/nextcloud-vue to ^2.3.0 (#522)
rubenvdlinde Aug 15, 2026
785b9f2
fix(build): make local-lib opt-in and test the -vue3 marker, not the …
rubenvdlinde Aug 15, 2026
0856704
refactor(facets): translate the four facet dimensions as one set (#524)
rubenvdlinde Aug 15, 2026
34bdf86
chore(security): enable the npm supply-chain cooldown on npm 11 (#523)
rubenvdlinde Aug 16, 2026
9ecc2fa
Put register and schema back inside findAll()'s config (2 sites)
rubenvdlinde Aug 16, 2026
d639397
fix(lint): clear 3 of 4 tranche-A suppressions (#525)
rubenvdlinde Aug 16, 2026
0335cb2
Merge pull request #519 from ConductionNL/refactor/adr-084-type-hint-…
rubenvdlinde Aug 16, 2026
103a102
fix(tests): the ObjectEntity stub declared return types wider than th…
rubenvdlinde Aug 16, 2026
6d19682
fix(register): point three x-relation-filter tokens at the renamed pr…
rubenvdlinde Aug 16, 2026
01cc731
fix: the errors the class-load fatal was hiding
rubenvdlinde Aug 16, 2026
7cf3afa
fix(coverage-guard): scope the ratchet to the files a change touches …
rubenvdlinde Aug 16, 2026
89a7ea1
Merge pull request #528 from ConductionNL/fix/stub-return-types-match…
rubenvdlinde Aug 16, 2026
57f6c7a
fix(me): pass the two ADR-084 arguments the /me factory stopped suppl…
rubenvdlinde Aug 16, 2026
ece273a
fix(register): two dangling objectDescriptionField values detached th…
rubenvdlinde Aug 16, 2026
1a1632a
fix(gate-57): delete six orphaned write capabilities (#530)
rubenvdlinde Aug 16, 2026
2466541
fix(phpcs): clear all 19 errors — phpcs exits 0
rubenvdlinde Aug 16, 2026
5380993
Merge pull request #534 from ConductionNL/fix/phpcs-docblocks
rubenvdlinde Aug 16, 2026
e58efc9
fix: close the ADR-084 contract drift behind 19 PHPUnit failures and …
rubenvdlinde Aug 16, 2026
8fd9130
Merge pull request #535 from ConductionNL/fix/green-softwarecatalog
rubenvdlinde Aug 16, 2026
583f538
fix: close the last three Hydra Gates and the five E2E failures
rubenvdlinde Aug 16, 2026
a539753
test: cover getOrganisationMapper(), which the coverage ratchet caugh…
rubenvdlinde Aug 16, 2026
24c2fa1
fix(e2e): the Organisations index filtered on values #520 deleted, an…
rubenvdlinde Aug 16, 2026
95aabce
Merge origin/development — resolve #536 for the union, keeping the fi…
rubenvdlinde Aug 16, 2026
68202d5
Merge pull request #537 from ConductionNL/fix/green-softwarecatalog-2
rubenvdlinde Aug 17, 2026
eb71c24
fix(ci): least-privilege workflow permissions + drop a dead string re…
Aug 17, 2026
a99ee19
fix(ci): correct the documentation.yml permissions rationale — build-…
Aug 17, 2026
edd4320
fix(manifest): the Standards pages read `element` from a register tha…
rubenvdlinde Aug 17, 2026
ee6b389
test(e2e): seed the AMEF register and assert the Standards page LISTS…
rubenvdlinde Aug 17, 2026
bac20b4
test(unit): pin manifest register sentinels to a register that attach…
rubenvdlinde Aug 17, 2026
6d91a5b
Merge pull request #540 from ConductionNL/fix/swc-standards-register
rubenvdlinde Aug 17, 2026
d1aff37
chore(deps): correct composer cooldown — default-days 1 to 2, add con…
rubenvdlinde Aug 17, 2026
24212bd
docs(openspec): change proposals — adopt-integration-leaves mcp-full-…
rubenvdlinde Aug 18, 2026
aba319e
ci(release): converge on the shared release.yml (#543)
rubenvdlinde Aug 18, 2026
398d870
docs(openspec): change proposals — adopt-integration-leaves mcp-full-…
rubenvdlinde Aug 18, 2026
e875a51
chore(release): 0.1.141-unstable.20260818220154 [skip ci]
github-actions[bot] Aug 18, 2026
57d17bf
Merge pull request #546 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 19, 2026
0dd1ca0
chore(release): 0.1.141-unstable.20260819194337 [skip ci]
github-actions[bot] Aug 19, 2026
1efab16
Merge remote-tracking branch 'origin/development' into fix/codeql-wor…
juanclaude-conduction Aug 19, 2026
a63f15a
Merge pull request #538 from ConductionNL/fix/codeql-workflow-permiss…
rubenvdlinde Aug 19, 2026
7162067
Merge pull request #547 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 19, 2026
2f67bce
chore(release): 0.1.141-unstable.20260819222324 [skip ci]
github-actions[bot] Aug 19, 2026
89ba1db
Merge pull request #549 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
2b3c555
chore(release): 0.1.141-unstable.20260820044910 [skip ci]
github-actions[bot] Aug 20, 2026
1394e77
Merge pull request #550 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
edeadfb
chore(release): 0.1.141-unstable.20260820045736 [skip ci]
github-actions[bot] Aug 20, 2026
247201e
Merge pull request #551 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
90da99e
chore(release): 0.1.141-unstable.20260820051001 [skip ci]
github-actions[bot] Aug 20, 2026
d8f724c
chore(deps): take hydra-gates v1.8.1 — the contract v1.8.0 shipped br…
juanclaude-conduction Aug 20, 2026
abf6f57
Merge pull request #552 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
2e84e28
chore(release): 0.1.141-unstable.20260820052611 [skip ci]
github-actions[bot] Aug 20, 2026
bf2a5da
Merge pull request #553 from ConductionNL/chore/hydra-gates-v1.8.1
rubenvdlinde Aug 20, 2026
961426f
Merge pull request #554 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
8f111b1
chore(release): 0.1.141-unstable.20260820054802 [skip ci]
github-actions[bot] Aug 20, 2026
06c65dd
Merge pull request #556 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
3b9a7bf
chore(release): 0.1.141-unstable.20260820060415 [skip ci]
github-actions[bot] Aug 20, 2026
842b488
Merge pull request #557 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
bca8b2c
chore(release): 0.1.141-unstable.20260820081134 [skip ci]
github-actions[bot] Aug 20, 2026
4508f10
Merge pull request #558 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
7fdddee
chore(release): 0.1.141-unstable.20260820082249 [skip ci]
github-actions[bot] Aug 20, 2026
3f89e84
Merge pull request #559 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
97b5b7f
chore(release): 0.1.141-unstable.20260820083657 [skip ci]
github-actions[bot] Aug 20, 2026
a8b6ab7
Merge pull request #560 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
d4f9d80
chore(release): 0.1.141-unstable.20260820085327 [skip ci]
github-actions[bot] Aug 20, 2026
3152e71
Merge pull request #561 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
0d0716d
chore(release): 0.1.141-unstable.20260820090828 [skip ci]
github-actions[bot] Aug 20, 2026
3b83dec
Merge pull request #562 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
6f7b168
chore(release): 0.1.141-unstable.20260820092253 [skip ci]
github-actions[bot] Aug 20, 2026
e2b9cf7
Merge pull request #563 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
94fbe93
chore(release): 0.1.141-unstable.20260820093628 [skip ci]
github-actions[bot] Aug 20, 2026
647e587
Merge pull request #564 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
34ae4a7
chore(release): 0.1.141-unstable.20260820095037 [skip ci]
github-actions[bot] Aug 20, 2026
03dc3ee
Merge pull request #565 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
06527ae
chore(release): 0.1.141-unstable.20260820100647 [skip ci]
github-actions[bot] Aug 20, 2026
ab3b14f
Merge pull request #566 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
cd1ed66
chore(release): 0.1.141-unstable.20260820102116 [skip ci]
github-actions[bot] Aug 20, 2026
eddce09
Merge pull request #567 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
6ff355f
chore(deps): take @conduction/nextcloud-vue 2.8.2 (was 2.3.0)
juanclaude-conduction Aug 20, 2026
8d15d88
chore(release): 0.1.141-unstable.20260820103634 [skip ci]
github-actions[bot] Aug 20, 2026
31e4715
Merge pull request #569 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
3e902b6
chore(release): 0.1.141-unstable.20260820110112 [skip ci]
github-actions[bot] Aug 20, 2026
721bc72
Merge pull request #568 from ConductionNL/chore/nc-vue-2.8.2
rubenvdlinde Aug 20, 2026
00f8fda
Merge pull request #570 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
f727a4d
chore(release): 0.1.141-unstable.20260820112844 [skip ci]
github-actions[bot] Aug 20, 2026
7bebbeb
Merge pull request #572 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
6120550
chore(release): 0.1.141-unstable.20260820114338 [skip ci]
github-actions[bot] Aug 20, 2026
1feca4c
Merge pull request #573 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
8e32bb1
chore(release): 0.1.141-unstable.20260820115302 [skip ci]
github-actions[bot] Aug 20, 2026
e194536
Merge pull request #574 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
167c060
chore(release): 0.1.141-unstable.20260820120301 [skip ci]
github-actions[bot] Aug 20, 2026
0110fa3
Merge pull request #575 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
33e174c
chore(release): 0.1.141-unstable.20260820121244 [skip ci]
github-actions[bot] Aug 20, 2026
fc39888
Merge pull request #576 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
6396158
chore(release): 0.1.141-unstable.20260820122242 [skip ci]
github-actions[bot] Aug 20, 2026
e010df4
Merge pull request #577 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
32bede5
chore(release): 0.1.141-unstable.20260820124146 [skip ci]
github-actions[bot] Aug 20, 2026
39a3f2f
Merge pull request #578 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
ee101bd
chore(release): 0.1.141-unstable.20260820125107 [skip ci]
github-actions[bot] Aug 20, 2026
6b4477c
Merge pull request #579 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
95ff8c3
chore(release): 0.1.141-unstable.20260820130046 [skip ci]
github-actions[bot] Aug 20, 2026
98333a5
Merge pull request #580 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
35a943c
chore(release): 0.1.141-unstable.20260820201847 [skip ci]
github-actions[bot] Aug 20, 2026
3539cb0
Merge pull request #583 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
6a2d172
chore(release): 0.1.141-unstable.20260820203911 [skip ci]
github-actions[bot] Aug 20, 2026
b7cb07a
Merge pull request #584 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
5689d7e
chore(release): 0.1.141-unstable.20260820205557 [skip ci]
github-actions[bot] Aug 20, 2026
3115b37
Merge pull request #585 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
743ba4b
chore(release): 0.1.141-unstable.20260820212102 [skip ci]
github-actions[bot] Aug 20, 2026
4f03776
fix(manifest): process and audit fields are no longer editable inputs
rubenvdlinde Aug 20, 2026
609d9b2
Merge pull request #586 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
d0bdc09
chore(release): 0.1.141-unstable.20260820214311 [skip ci]
github-actions[bot] Aug 20, 2026
9d49b71
Merge pull request #588 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
9a6e9e5
chore(release): 0.1.141-unstable.20260820220515 [skip ci]
github-actions[bot] Aug 20, 2026
54c4b8a
Merge pull request #589 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
fc64d96
Merge pull request #587 from ConductionNL/fix/lock-process-fields
rubenvdlinde Aug 20, 2026
71cb9a0
chore(release): 0.1.141-unstable.20260820223149 [skip ci]
github-actions[bot] Aug 20, 2026
068755c
Merge pull request #590 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
0c1e103
chore(release): 0.1.141-unstable.20260820224848 [skip ci]
github-actions[bot] Aug 20, 2026
aa50152
Merge pull request #592 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
c74a3a9
build(deps-dev): move the whole stylelint family to 17 as one upgrade
rubenvdlinde Aug 20, 2026
4f75670
chore(release): 0.1.141-unstable.20260820231107 [skip ci]
github-actions[bot] Aug 20, 2026
7dd42a7
Merge pull request #594 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
3b98ca4
chore(release): 0.1.141-unstable.20260820233952 [skip ci]
github-actions[bot] Aug 20, 2026
bafaf3c
Merge pull request #595 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 20, 2026
fa4ecea
chore(release): 0.1.141-unstable.20260821000125 [skip ci]
github-actions[bot] Aug 21, 2026
036a897
Merge pull request #593 from ConductionNL/chore/stylelint-17-coupled
rubenvdlinde Aug 21, 2026
95d44cb
Merge pull request #596 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
1ef96a2
chore(release): 0.1.141-unstable.20260821002227 [skip ci]
github-actions[bot] Aug 21, 2026
c3086f4
Merge pull request #598 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
ed1a773
chore(release): 0.1.141-unstable.20260821004639 [skip ci]
github-actions[bot] Aug 21, 2026
0e8550d
Merge pull request #599 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
de3924f
chore(release): 0.1.141-unstable.20260821010037 [skip ci]
github-actions[bot] Aug 21, 2026
36df9fc
Merge pull request #600 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
228c60b
chore(release): 0.1.141-unstable.20260821011425 [skip ci]
github-actions[bot] Aug 21, 2026
4d8f60a
Merge pull request #601 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
003cdf5
chore(release): 0.1.141-unstable.20260821012736 [skip ci]
github-actions[bot] Aug 21, 2026
e20f819
Merge pull request #602 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
231bfe2
chore(release): 0.1.141-unstable.20260821014525 [skip ci]
github-actions[bot] Aug 21, 2026
f736052
Merge pull request #603 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
249246c
chore(release): 0.1.141-unstable.20260821015458 [skip ci]
github-actions[bot] Aug 21, 2026
5719054
Merge pull request #604 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
c33308f
chore(release): 0.1.141-unstable.20260821020326 [skip ci]
github-actions[bot] Aug 21, 2026
2b7ed1a
Merge pull request #605 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
340ed2a
chore(release): 0.1.141-unstable.20260821022249 [skip ci]
github-actions[bot] Aug 21, 2026
bc2dd06
Merge pull request #606 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
7c737b5
chore(release): 0.1.141-unstable.20260821024223 [skip ci]
github-actions[bot] Aug 21, 2026
7316056
Merge pull request #607 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
6933bbb
chore(release): 0.1.141-unstable.20260821025313 [skip ci]
github-actions[bot] Aug 21, 2026
7210a42
Merge pull request #608 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
8569683
chore(release): 0.1.141-unstable.20260821030426 [skip ci]
github-actions[bot] Aug 21, 2026
baf46d3
Merge pull request #609 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
22f0241
chore(release): 0.1.141-unstable.20260821031723 [skip ci]
github-actions[bot] Aug 21, 2026
bbcef2a
Merge pull request #610 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
91062c2
chore(release): 0.1.141-unstable.20260821033058 [skip ci]
github-actions[bot] Aug 21, 2026
3a37cbc
Merge pull request #611 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
c69f4ee
chore(release): 0.1.141-unstable.20260821034217 [skip ci]
github-actions[bot] Aug 21, 2026
98db1e8
Merge pull request #612 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
692b859
chore(release): 0.1.141-unstable.20260821035333 [skip ci]
github-actions[bot] Aug 21, 2026
30f766e
Merge pull request #613 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
c25af32
chore(release): 0.1.141-unstable.20260821040505 [skip ci]
github-actions[bot] Aug 21, 2026
1c649cd
Merge pull request #614 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
5c61693
chore(release): 0.1.141-unstable.20260821041656 [skip ci]
github-actions[bot] Aug 21, 2026
a57e90b
Merge pull request #615 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
4ca2fed
chore(release): 0.1.141-unstable.20260821042832 [skip ci]
github-actions[bot] Aug 21, 2026
60626fe
Merge pull request #616 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
24a0095
chore(release): 0.1.141-unstable.20260821044543 [skip ci]
github-actions[bot] Aug 21, 2026
b5b738e
Merge pull request #617 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
29f588e
chore(release): 0.1.141-unstable.20260821050743 [skip ci]
github-actions[bot] Aug 21, 2026
b40f2b1
Merge pull request #653 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
1c0b9cb
chore(release): 0.1.141-unstable.20260821052417 [skip ci]
github-actions[bot] Aug 21, 2026
bbd7253
Merge pull request #689 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
08ed7cf
chore(release): 0.1.141-unstable.20260821053703 [skip ci]
github-actions[bot] Aug 21, 2026
e847c4c
Merge pull request #690 from ConductionNL/release/v0.1.141-unstable.2…
rubenvdlinde Aug 21, 2026
bcece50
chore(deps): refresh the shared Conduction locks (#692)
rubenvdlinde Aug 21, 2026
3f6beb9
chore(deps): refresh the shared Conduction locks (#694)
rubenvdlinde Aug 21, 2026
646c301
fix(tests): opt into the OpenRegister contract — fixes 130 standalone…
rubenvdlinde Aug 22, 2026
53692a1
chore(quality): migrate to PHPStan 2 — 35 findings to zero, plus a mi…
rubenvdlinde Aug 22, 2026
fe82198
chore(deps): refresh the shared Conduction locks (#706)
rubenvdlinde Aug 22, 2026
b95d4e4
feat: rename the app id from softwarecatalog to stackiq (#708)
rubenvdlinde Aug 23, 2026
95f4c99
feat(docs): move the docs host to the new name, and stop linking to C…
rubenvdlinde Aug 23, 2026
ccd57b3
test(l10n): ratchet the untranslated schema strings (#712)
rubenvdlinde Aug 23, 2026
fd400e1
fix(docs): point the repository CTA at GitHub, not Codeberg (#713)
rubenvdlinde Aug 23, 2026
902385c
Merge pull request #711 from ConductionNL/feat/docs-host-to-stackiq
rubenvdlinde Aug 24, 2026
f2d89f0
fix(docs): point openspec links at GitHub, so the docs site builds (#…
rubenvdlinde Aug 24, 2026
361ca9b
chore(deps): refresh the shared Conduction locks (#719)
rubenvdlinde Aug 24, 2026
2271112
chore(release): 0.1.141-unstable.20260824071410 [skip ci] (#720)
github-actions[bot] Aug 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
92 changes: 46 additions & 46 deletions .claude/commands/test.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ category: Testing
tags: [testing, softwarecatalogus, newman, playwright, persona]
---

Base directory for this skill: /home/rubenlinde/nextcloud-docker-dev/workspace/server/apps-extra/softwarecatalog
Base directory for this skill: /home/rubenlinde/nextcloud-docker-dev/workspace/server/apps-extra/stackiq

# Test Softwarecatalogus — Orchestrator

Expand Down Expand Up @@ -57,33 +57,33 @@ When running API tests, use Newman CLI:
which newman || npm install -g newman newman-reporter-htmlextra

# Run setup first (creates test data)
newman run softwarecatalog/postman/softwarecatalogus-tests.json \
-e softwarecatalog/postman/environment-local.json \
newman run stackiq/postman/softwarecatalogus-tests.json \
-e stackiq/postman/environment-local.json \
--folder "00 - Setup" --reporters cli 2>&1 | tail -20

# Run all test folders
newman run softwarecatalog/postman/softwarecatalogus-tests.json \
-e softwarecatalog/postman/environment-local.json \
newman run stackiq/postman/softwarecatalogus-tests.json \
-e stackiq/postman/environment-local.json \
--reporters cli,htmlextra \
--reporter-htmlextra-export softwarecatalog/test-results/api/report.html 2>&1
--reporter-htmlextra-export stackiq/test-results/api/report.html 2>&1

# Run a specific folder
newman run softwarecatalog/postman/softwarecatalogus-tests.json \
-e softwarecatalog/postman/environment-local.json \
newman run stackiq/postman/softwarecatalogus-tests.json \
-e stackiq/postman/environment-local.json \
--folder "{folder-name}" --reporters cli 2>&1
```

**For custom environments**, pass variables:
```bash
newman run softwarecatalog/postman/softwarecatalogus-tests.json \
-e softwarecatalog/postman/environment-local.json \
newman run stackiq/postman/softwarecatalogus-tests.json \
-e stackiq/postman/environment-local.json \
--env-var "base_url={BACKEND}" \
--env-var "admin_user={ADMIN_USER}" \
--env-var "admin_pass={ADMIN_PASS}" \
--reporters cli 2>&1
```

Write API results to `softwarecatalog/test-results/api/results.md`.
Write API results to `stackiq/test-results/api/results.md`.

---

Expand Down Expand Up @@ -200,7 +200,7 @@ After EVERY page navigation, check network performance:
- Search queries with >5 active filters

### Acceptance Criteria
Before testing each issue, read its detailed acceptance criteria in `softwarecatalog/issues.md`. Each issue has specific, testable acceptance criteria with checkboxes. Use these to determine status:
Before testing each issue, read its detailed acceptance criteria in `stackiq/issues.md`. Each issue has specific, testable acceptance criteria with checkboxes. Use these to determine status:
- **PASS** = ALL acceptance criteria are met
- **PARTIAL** = Some criteria met, some not
- **FAIL** = Key criteria not met or feature is broken
Expand All @@ -217,7 +217,7 @@ CMS pages (privacy, terms, FAQ, disclaimer) are managed in the **OpenCatalogi**

### RBAC Reference
The authoritative RBAC rules are defined in the register JSON configuration:
- **File**: `softwarecatalog/lib/Settings/softwarecatalogus_register.json`
- **File**: `stackiq/lib/Settings/softwarecatalogus_register.json`
- Each schema has an `"authorization"` block with `create`, `read`, `update`, `delete` rules
- Rules can be simple group names (e.g., `"public"`, `"gebruik-beheerder"`) or conditional: `{ "group": "aanbod-beheerder", "match": { "_organisation": "$organisation" } }` (only own org's data)

Expand Down Expand Up @@ -261,7 +261,7 @@ After all testing is complete, agents **MUST** clean up any objects they created

### Rules
- **READ ONLY on GitHub issues** — NEVER update, close, or comment on issues
- Write test results ONLY to local files in `softwarecatalog/test-results/`
- Write test results ONLY to local files in `stackiq/test-results/`
- Take screenshots as evidence where applicable
- **ALWAYS clean up test data** created during wizard walkthroughs (see Test Data Cleanup above)

Expand Down Expand Up @@ -289,10 +289,10 @@ Run the setup script to create test organizations, contact persons, user account

```bash
# Local (default):
bash softwarecatalog/test-setup.sh
bash stackiq/test-setup.sh

# Custom environment:
BACKEND_URL="{BACKEND}" ADMIN_USER="{ADMIN_USER}" ADMIN_PASS="{ADMIN_PASS}" bash softwarecatalog/test-setup.sh
BACKEND_URL="{BACKEND}" ADMIN_USER="{ADMIN_USER}" ADMIN_PASS="{ADMIN_PASS}" bash stackiq/test-setup.sh
```

This script creates:
Expand Down Expand Up @@ -334,7 +334,7 @@ Run the Postman/Newman API test suite. This covers all `[API]`-tagged acceptance
which newman || npm install -g newman newman-reporter-htmlextra
```

**After Newman completes**, parse the output and write results to `softwarecatalog/test-results/api/results.md`:
**After Newman completes**, parse the output and write results to `stackiq/test-results/api/results.md`:
- Total requests, assertions, passes, failures
- Per-folder pass/fail counts
- Failed test names with issue references (tests are named `#NNN AC: description`)
Expand Down Expand Up @@ -366,7 +366,7 @@ Note: All 7 browsers are used. The bezoeker uses browser-6 (does not need headed
You are a testing agent for the GEMMA Softwarecatalogus.

Read and follow the instructions in the skill file at:
softwarecatalog/.claude/skills/test-{persona}.md
stackiq/.claude/skills/test-{persona}.md

This file contains your persona details, login credentials, test scope, and the list of issues to test.

Expand Down Expand Up @@ -418,7 +418,7 @@ Your persona is linked to a proper organization (not Default Organisation):
Organization-specific features (wizards, filters, dashboards) should work for your persona's org type.

### RBAC Reference
The authoritative RBAC rules are in `softwarecatalog/lib/Settings/softwarecatalogus_register.json`.
The authoritative RBAC rules are in `stackiq/lib/Settings/softwarecatalogus_register.json`.
Each schema has an `"authorization"` block. Key rules:
- **contactpersoon**: NOT public, but leverancier contact persons ARE expected to be publicly visible via publications. Only gemeente contact persons should be hidden.
- **module** (applicatie): Public can read only where `geregistreerdDoor: Leverancier`. aanbod-beheerder sees only own org.
Expand Down Expand Up @@ -523,11 +523,11 @@ After completing all tests, you MUST clean up any objects you created during wiz
**Why this matters:** Without cleanup, wizard re-runs create duplicate entries that cause false FAIL results for count-based issues (#300, #307).

### Acceptance Criteria
Before testing each issue, read its acceptance criteria from softwarecatalog/issues.md.
Before testing each issue, read its acceptance criteria from stackiq/issues.md.
The file contains detailed checkboxes for each issue. Use these to determine PASS/FAIL/PARTIAL/CANNOT_TEST.

### Output Format
Write your results to: softwarecatalog/test-results/{persona}/results-authenticated.md
Write your results to: stackiq/test-results/{persona}/results-authenticated.md

Use this format:
- Header with persona name, date, environment, login used
Expand Down Expand Up @@ -557,20 +557,20 @@ If any agent fails (crashes, doesn't write results), log the failure and continu
After all tests complete (or in `summary-only` mode), read all result files and generate a summary.

**Read these files** (if they exist):
- `softwarecatalog/test-results/api/results.md` (API test results)
- `softwarecatalog/test-results/leverancier/results-authenticated.md`
- `softwarecatalog/test-results/gemeente/results-authenticated.md`
- `softwarecatalog/test-results/security-officer/results-authenticated.md`
- `softwarecatalog/test-results/functioneel-beheerder/results-authenticated.md`
- `softwarecatalog/test-results/samenwerking/results-authenticated.md`
- `softwarecatalog/test-results/architectuur-expert/results-authenticated.md`
- `softwarecatalog/test-results/bezoeker/results-public.md`
- `stackiq/test-results/api/results.md` (API test results)
- `stackiq/test-results/leverancier/results-authenticated.md`
- `stackiq/test-results/gemeente/results-authenticated.md`
- `stackiq/test-results/security-officer/results-authenticated.md`
- `stackiq/test-results/functioneel-beheerder/results-authenticated.md`
- `stackiq/test-results/samenwerking/results-authenticated.md`
- `stackiq/test-results/architectuur-expert/results-authenticated.md`
- `stackiq/test-results/bezoeker/results-public.md`

For each file, extract:
- Issue number, title, status (PASS/PARTIAL/FAIL/CANNOT_TEST), severity
- Agent/method that tested it (API or persona name)

**Write the summary to**: `softwarecatalog/test-results/README.md`
**Write the summary to**: `stackiq/test-results/README.md`

### Summary Report Format

Expand Down Expand Up @@ -707,11 +707,11 @@ After writing the summary, display a concise overview to the user:
- Total issues tested
- PASS/FAIL/PARTIAL/CANNOT_TEST counts
- Top 3 critical findings
- Link to the full report: `softwarecatalog/test-results/README.md`
- Link to the full report: `stackiq/test-results/README.md`

### Step 6: Backlog Suggestions

After presenting the report, review the test findings for **suggestions and improvements** that are NOT existing GitHub issues but could be valuable. Present these to the user and ask if they should be added to the backlog at `softwarecatalog/website/docs/backlog.md`.
After presenting the report, review the test findings for **suggestions and improvements** that are NOT existing GitHub issues but could be valuable. Present these to the user and ask if they should be added to the backlog at `stackiq/website/docs/backlog.md`.

Examples of backlog-worthy suggestions:
- UX improvements noticed during testing (e.g., inconsistent naming, confusing navigation)
Expand All @@ -730,7 +730,7 @@ When the argument starts with `issues`, this workflow processes open IGS issues

### Step 7: Build Issue List

Read `softwarecatalog/aanvullende-informatie.md` to get the full list of open issues with their categories.
Read `stackiq/aanvullende-informatie.md` to get the full list of open issues with their categories.

**Filter based on argument:**
- `issues` → all 72 open issues
Expand All @@ -756,22 +756,22 @@ Your task is to process the following open issues and prepare a GitHub reply com
For EACH issue number in your list:

### 1. Read the issue
Read `softwarecatalog/issues/{number}.md` for the full description, comments, and images.
Read `stackiq/issues/{number}.md` for the full description, comments, and images.

### 2. Determine the category
Look up the issue in `softwarecatalog/aanvullende-informatie.md` to find its category (Bug, Datakwaliteit, Tekstueel, Wens, Nog te bepalen).
Look up the issue in `stackiq/aanvullende-informatie.md` to find its category (Bug, Datakwaliteit, Tekstueel, Wens, Nog te bepalen).

### 3. Investigate based on category

**Bug issues:**
1. Navigate to the relevant page in the browser (Frontend: {FRONTEND}, Backend: {BACKEND})
2. Try to reproduce the problem described in the issue
3. Take screenshots showing the current state (whether fixed or still broken)
4. If it involves RBAC, check `softwarecatalog/lib/Settings/softwarecatalogus_register.json`
4. If it involves RBAC, check `stackiq/lib/Settings/softwarecatalogus_register.json`
5. Use the appropriate template from aanvullende-informatie.md (Template A if fixed, Template B if still broken)

**Datakwaliteit issues:**
1. Read the relevant CSV file(s) from `softwarecatalog/data/`
1. Read the relevant CSV file(s) from `stackiq/data/`
2. Search for the specific data causing the issue (orphaned references, missing fields, etc.)
3. Count affected records and provide examples
4. Use Template C from aanvullende-informatie.md
Expand All @@ -783,7 +783,7 @@ Look up the issue in `softwarecatalog/aanvullende-informatie.md` to find its cat
4. Use Template D from aanvullende-informatie.md

**Wens issues:**
1. Read `softwarecatalog/issues.md` to confirm this is outside the original PvE scope
1. Read `stackiq/issues.md` to confirm this is outside the original PvE scope
2. Describe current behavior
3. Use Template E from aanvullende-informatie.md

Expand All @@ -793,11 +793,11 @@ Look up the issue in `softwarecatalog/aanvullende-informatie.md` to find its cat
3. Follow that category's procedure

### 4. Write the reply
Save the prepared reply as: `softwarecatalog/reacties/{number}.md`
Save the prepared reply as: `stackiq/reacties/{number}.md`
Include the issue title as an H1 header, the category, and the reply content using the appropriate template.

### 5. Save screenshots
Save any screenshots to: `softwarecatalog/reacties/screenshots/{number}-{description}.png`
Save any screenshots to: `stackiq/reacties/screenshots/{number}-{description}.png`

## Browser Assignment
Use browser-{browser_num} for ALL browser operations (mcp__browser-{browser_num}__* tools).
Expand All @@ -808,16 +808,16 @@ For issues requiring authenticated access, log in as admin ({ADMIN_USER}/{ADMIN_
For public-facing issues, test without logging in.

## Data Files
CSV import data is in `softwarecatalog/data/`:
CSV import data is in `stackiq/data/`:
- module.csv (applicaties), koppeling.csv, organisatie.csv, contactpersoon.csv
- compliancy.csv, gebruik.csv, gebruik_2.csv, gebruik_3.csv, moduleversie.csv

GEMMA AMEF model: `softwarecatalog/data/GEMMA release.xml`
GEMMA AMEF model: `stackiq/data/GEMMA release.xml`

## Rules — CRITICAL
- NEVER update, close, or comment on GitHub issues — this is PREPARATION ONLY
- NEVER post anything to GitHub — all output is LOCAL files for human review
- Write replies ONLY to local files in softwarecatalog/reacties/
- Write replies ONLY to local files in stackiq/reacties/
- Take screenshots as evidence
- Do NOT use gh CLI to interact with issues in any way
```
Expand All @@ -827,14 +827,14 @@ GEMMA AMEF model: `softwarecatalog/data/GEMMA release.xml`
Wait for all issue agents to complete. Create the output directory if needed:

```bash
mkdir -p softwarecatalog/reacties/screenshots
mkdir -p stackiq/reacties/screenshots
```

### Step 10: Generate Issues Summary

After all agents complete, read all files in `softwarecatalog/reacties/` and generate a summary.
After all agents complete, read all files in `stackiq/reacties/` and generate a summary.

**Write to**: `softwarecatalog/reacties/README.md`
**Write to**: `stackiq/reacties/README.md`

```markdown
# IGS Issues — Voorbereide Reacties
Expand Down
Loading