Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
676 commits
Select commit Hold shift + click to select a range
80ca89e
feat(ai-locality): a sovereignty guarantee a school can prove to its …
rubenvdlinde Jul 16, 2026
d6b579d
Merge pull request 'scholiq: sovereign AI guarantee — verifiable proc…
Jul 16, 2026
48d5281
feat(portable-record): a record the LEARNER holds, exportable, verifi…
rubenvdlinde Jul 16, 2026
3c8a9d3
Merge pull request 'scholiq: portable learner-held learning record (w…
Jul 16, 2026
b3bb28b
chore(openspec): archive wave-3 whitespace changes, sync canonical specs
rubenvdlinde Jul 16, 2026
c01b37d
Merge pull request 'scholiq: archive 2 wave-3 whitespace changes, syn…
Jul 16, 2026
c2b3e17
perf(repair): stop forcing the register import + content-address the …
rubenvdlinde Jul 17, 2026
6ece3ad
Merge pull request 'perf(repair): content-address version + drop the …
Jul 22, 2026
f88b085
fix: relocate cross-app stub autoload out of composer autoload-dev
rubenvdlinde Jul 23, 2026
b8fc1a4
Merge pull request #242 from ConductionNL/fix/or-stub-autoload-shadow
rubenvdlinde Jul 23, 2026
b34c315
fix: relocate cross-app stub autoload out of composer autoload-dev
rubenvdlinde Jul 23, 2026
9eb39b6
Merge pull request 'fix(test): load OpenRegister/Talk stubs via phpun…
Jul 23, 2026
ac464c7
Merge remote-tracking branch 'github/development' into _sync_merge
rubenvdlinde Jul 23, 2026
7573e05
build(deps): bump the npm_and_yarn group across 1 directory with 15 u…
dependabot[bot] Jul 23, 2026
277a19f
feat(icons): adopt the ADR-077 semantic icon vocabulary (#246)
rubenvdlinde Jul 30, 2026
03b554d
perf(events): declare register/schema interest for object-event liste…
rubenvdlinde Aug 1, 2026
d0b9760
feat: migrate scholiq from Vue 2 to Vue 3 (@conduction/nextcloud-vue …
rubenvdlinde Aug 1, 2026
e5b78e9
fix(listeners): resolve register/schema ids to slugs so 9 dead listen…
rubenvdlinde Aug 2, 2026
5c279e5
fix(tests): suite ran ZERO tests and exited 0 in the standard checkou…
rubenvdlinde Aug 2, 2026
a4ed426
chore(deps): @conduction/nextcloud-vue 2.1.0-vue3.13 -> 2.1.0-vue3.16…
rubenvdlinde Aug 2, 2026
91e5846
fix(ci): make composer check:strict able to fail (#253)
rubenvdlinde Aug 2, 2026
fb6a82c
ci: report branch check under the context the org ruleset expects
remko48 Aug 3, 2026
c51dea7
fix(quality): phpmd DevelopmentCodeFragment could never fire on names…
rubenvdlinde Aug 3, 2026
159bc65
ci: align branch check with org ruleset, harden quality wrapper
remko48 Aug 3, 2026
d66447c
chore(security): refresh roave/security-advisories guard (2026-03-20 …
rubenvdlinde Aug 3, 2026
cb101f1
Merge pull request #257 from ConductionNL/feature/workflow-update
remko48 Aug 3, 2026
d75c7d9
ci(quality): add explicit permission ceiling and concurrency group
remko48 Aug 3, 2026
9741606
ci: bound CI job runtimes with timeout-minutes (#261)
rubenvdlinde Aug 3, 2026
5b81687
build: regenerate docs/features.json at commit time via committed git…
remko48 Aug 3, 2026
a873914
Merge pull request #258 from ConductionNL/feature/workflow-update
remko48 Aug 3, 2026
ccc354e
chore(deps): upgrade @conduction/nextcloud-vue to 3.0.0-vue3.4 (#262)
rubenvdlinde Aug 3, 2026
f617a27
fix(quality): clear the psalm and phpstan gates and delete the phpsta…
rubenvdlinde Aug 4, 2026
376089c
fix(tests): scholiq's PHPUnit legs had never run — 231 errors, one ro…
rubenvdlinde Aug 4, 2026
a4225a3
fix: verifyChain() named args threw at runtime; the stub was hiding it
rubenvdlinde Aug 4, 2026
a8931ac
refactor(quality): decompose AuditPackExportController export/CSV met…
rubenvdlinde Aug 4, 2026
fcbaee5
refactor(quality): decompose LearningRecordExportService check/isWith…
rubenvdlinde Aug 4, 2026
ebfdc2b
refactor(quality): decompose DataExchangeRunHandler run/payload/trans…
rubenvdlinde Aug 4, 2026
9b299c3
refactor(quality): decompose ScholiqToolProvider course handlers (121…
rubenvdlinde Aug 4, 2026
db6d2f0
refactor(quality): decompose CompetencyAttainmentRollupHandler (117 -…
rubenvdlinde Aug 4, 2026
ead15ed
refactor(quality): decompose assessment/attendance/timetable hot spot…
rubenvdlinde Aug 4, 2026
612d864
refactor(quality): decompose conference generation and xAPI completio…
rubenvdlinde Aug 4, 2026
1985e17
refactor(quality): decompose the remaining Lifecycle guards (96 -> 84)
rubenvdlinde Aug 4, 2026
8408d9c
refactor(quality): decompose the remaining Listener handlers (84 -> 71)
rubenvdlinde Aug 4, 2026
de98d66
refactor(quality): decompose Service, Controller and Cron hot spots (…
rubenvdlinde Aug 4, 2026
ab38f3c
refactor(quality): split Application register/boot registration block…
rubenvdlinde Aug 4, 2026
cd22f80
fix: repair $intervalsBySignup lost in the rebase onto development
rubenvdlinde Aug 4, 2026
3af6f48
Merge pull request #269 from ConductionNL/chore/phpmd-complexity
rubenvdlinde Aug 4, 2026
72f0b34
chore(ci): remove dead Forgejo/Codeberg CI residue (#271)
rubenvdlinde Aug 4, 2026
a363b9b
fix(quality): remove the 'not installed, skipping' swallow from test:…
rubenvdlinde Aug 4, 2026
eab40aa
chore(deps): @conduction/nextcloud-vue 3.0.0-vue3.6
Aug 4, 2026
7f7feea
Merge pull request #272 from ConductionNL/chore/ncvue-vue3.6
rubenvdlinde Aug 4, 2026
a975288
fix(quality): clear scholiq's phpmd debt — 119 findings to 0 (#273)
rubenvdlinde Aug 4, 2026
659288c
ci(quality): enable the Code Quality gates this repo was silently ski…
rubenvdlinde Aug 4, 2026
668bf1e
fix(register): the scholiq register could never be created on a clean…
rubenvdlinde Aug 5, 2026
9233959
chore(deps): repin @conduction/nextcloud-vue to 2.2.0-vue3.3 (3.0.0-v…
rubenvdlinde Aug 5, 2026
30ae68b
chore(license): normalise the last stray AGPL-3.0 SPDX declaration to…
Aug 5, 2026
97bff73
ci(quality): move the hydra-gates pin v1.0.1 -> v1.3.0 (#281)
rubenvdlinde Aug 5, 2026
39ad3ea
Merge pull request #282 from ConductionNL/chore/eupl-license-normalis…
rubenvdlinde Aug 5, 2026
0d1ecf9
fix(phpmd): scope the lib/Migration UnusedFormalParameter exclusion t…
rubenvdlinde Aug 5, 2026
584bec2
chore(ci): move hydra-gates-ref v1.3.0 -> v1.4.0 (#283)
rubenvdlinde Aug 6, 2026
6f4462c
ci(quality): give main/development push runs their own concurrency la…
rubenvdlinde Aug 6, 2026
304cace
fix(ci): compare the coverage ratchet against the measured merge base…
rubenvdlinde Aug 6, 2026
3794fcc
chore(ci): stop pinning hydra-gates — track the package at @main (#285)
rubenvdlinde Aug 6, 2026
f757880
fix(apphost): register OpenRegister's autoloader before referencing A…
rubenvdlinde Aug 6, 2026
805c1c1
ci: publish an installable build of development (#290)
rubenvdlinde Aug 6, 2026
2fc5d86
fix(security): bump php_codesniffer to 3.13.6 for CVE-2026-67434
rubenvdlinde Aug 6, 2026
bbd238d
Merge pull request #291 from ConductionNL/fix/phpcs-cve-2026-67434
rubenvdlinde Aug 6, 2026
fc1dffe
ci(e2e): run the 433-test suite and make it return a verdict (#280)
rubenvdlinde Aug 7, 2026
66574fb
fix(spec): repoint 35 dangling @spec anchors at requirements that exist
rubenvdlinde Aug 8, 2026
972ed01
fix(manifest): 18 detail-page widget icons rendered the wrong icon, n…
rubenvdlinde Aug 8, 2026
06ae162
Merge branch 'development' into dependabot/npm_and_yarn/docs/npm_and_…
rubenvdlinde Aug 8, 2026
a156249
fix(icons): register Package and Phone — the icon fix broke the OTHER…
rubenvdlinde Aug 8, 2026
37fed43
fix(phpcs): stop the SpecTagSniff instructing the pattern gate-46 rej…
rubenvdlinde Aug 8, 2026
35860c8
Merge pull request #244 from ConductionNL/dependabot/npm_and_yarn/doc…
rubenvdlinde Aug 8, 2026
58cfccc
Merge pull request #293 from ConductionNL/fix/gate-55-widget-icons
rubenvdlinde Aug 8, 2026
d9c42a8
Merge pull request #292 from ConductionNL/fix/gate-46-dangling-spec-a…
rubenvdlinde Aug 8, 2026
25a97d2
fix(e2e): retain-on-failure traces + a globalTimeout under the 45m CI…
rubenvdlinde Aug 8, 2026
7c462dd
chore(phpcs): normalise SpecTagSniff to the fleet-canonical wording (…
rubenvdlinde Aug 8, 2026
7b2324c
fix(settings): route PUT /api/settings to a real settings#update (#300)
rubenvdlinde Aug 8, 2026
e0a8138
fix(a11y): label form controls, scope table headers, make KPI tiles r…
rubenvdlinde Aug 9, 2026
896f0da
fix(e2e): replace 65 networkidle waits that can never settle on Nextc…
rubenvdlinde Aug 9, 2026
d427d77
fix(manifest): register OrderPaymentPanel and drop the duplicate in-a…
rubenvdlinde Aug 9, 2026
8a4606f
fix(controllers): translate DoesNotExistException, and $ref two item …
rubenvdlinde Aug 9, 2026
ed1e513
fix(payments): translate a failed Order lookup into the 404 it alread…
rubenvdlinde Aug 9, 2026
a3a3deb
docs(security): keep @PublicPage out of docblock-tag position, and lo…
rubenvdlinde Aug 9, 2026
835ffa9
build(deps): bump the npm_and_yarn group across 1 directory with 6 up…
dependabot[bot] Aug 10, 2026
e94517f
chore(deps): pin @conduction/nextcloud-vue to 2.2.0-vue3.9 (#310)
rubenvdlinde Aug 10, 2026
8aec9ea
chore(deps): pin @conduction/nextcloud-vue to 2.2.0-vue3.10 (#311)
rubenvdlinde Aug 10, 2026
e43f7f6
fix(spec): repoint 8 @spec anchors that archiving left dangling (#312)
rubenvdlinde Aug 10, 2026
39d7b1b
fix(gate-54): declare the two polymorphic relations' discriminators (…
rubenvdlinde Aug 11, 2026
916c5ed
fix(gate-26): 12 -> 0 with real executed browser tests, and a dossier…
rubenvdlinde Aug 11, 2026
d2a0a1c
fix(listeners): resolveSlug() guarded on method_exists() against a ma…
rubenvdlinde Aug 11, 2026
7e4c74c
chore: adopt Nextcloud's coding standard, .editorconfig and NC 34 (#322)
rubenvdlinde Aug 12, 2026
0507300
chore: delete the inert .prettierrc (#323)
rubenvdlinde Aug 12, 2026
e50e679
chore(quality): point PHPMD at the central ruleset (#325)
rubenvdlinde Aug 12, 2026
a265e6b
chore(quality): adopt the central PHPStan base config (#324)
rubenvdlinde Aug 12, 2026
d23d5d5
chore(deps): pin @conduction/nextcloud-vue to 2.2.0-vue3.16 (#326)
rubenvdlinde Aug 12, 2026
e45aa95
chore(deps): resolve conduction/hydra-gates v1.7.3 in composer.lock (…
rubenvdlinde Aug 12, 2026
0db8560
feat(format): adopt Nextcloud's prettier config, so styles are tabs t…
rubenvdlinde Aug 13, 2026
398b19a
ci: run `format` (prettier --check) as a Frontend Check leg (#330)
rubenvdlinde Aug 13, 2026
3cf08a9
refactor(scholiq): translate Dutch vocabulary to English, with migrat…
rubenvdlinde Aug 14, 2026
7b683d4
build(lint): migrate to eslint 10 + @nextcloud/eslint-config 9
rubenvdlinde Aug 14, 2026
fe485cd
fix(security): brute-force throttle the public verify endpoints (#332)
rubenvdlinde Aug 14, 2026
281f467
Merge pull request #333 from ConductionNL/feat/eslint-10
rubenvdlinde Aug 14, 2026
b9254a9
fix(security): rate-limit the payment provider callback (#335)
rubenvdlinde Aug 14, 2026
5590eb6
ci: a branch nobody named got no checks at all (#334)
rubenvdlinde Aug 14, 2026
41e37dc
chore(deps): track @conduction/nextcloud-vue ^2.3.0 (#337)
rubenvdlinde Aug 15, 2026
b2c6126
fix(build): make local-lib opt-in and validate the sibling by semver …
rubenvdlinde Aug 15, 2026
010a118
fix(contract): re-pin the OpenRegister contract to what it is now (#340)
rubenvdlinde Aug 15, 2026
ebb4973
chore(security): enable the npm supply-chain cooldown on npm 11 (#339)
rubenvdlinde Aug 16, 2026
23f8e6d
fix(lint): clear the last tranche-A suppression — require.context und…
rubenvdlinde Aug 16, 2026
e732f45
fix(coverage-guard): scope the ratchet to the files a change touches …
rubenvdlinde Aug 16, 2026
43caaaf
chore(deps): raise hydra-gates to v1.8.0 so gates 65-84 exist locally
rubenvdlinde Aug 16, 2026
0b5b1af
Merge pull request #345 from ConductionNL/chore/hydra-gates-1.8.0
rubenvdlinde Aug 16, 2026
a45c91f
fix(gate-49): translate the OpenRegister exceptions two controllers l…
rubenvdlinde Aug 16, 2026
24ffeff
fix(gate-26): name the nine views their specs already drive
rubenvdlinde Aug 16, 2026
edc4aac
Merge pull request #347 from ConductionNL/fix/gate-26-name-the-views
rubenvdlinde Aug 16, 2026
6d108b3
docs(openspec): scope + stage OpenConnector classic-dialect to Flow m…
rubenvdlinde Aug 16, 2026
e5d905e
fix(e2e): the seed created 118 schemas the register did not carry (#421)
rubenvdlinde Aug 16, 2026
c1647fa
fix(tests): guard the OR integration tests on an authenticated sessio…
rubenvdlinde Aug 16, 2026
91af6f2
fix(tests): give find() its own catch — it THROWS on a miss despite ?…
rubenvdlinde Aug 16, 2026
083e793
Merge pull request #422 from ConductionNL/fix/green-scholiq
rubenvdlinde Aug 16, 2026
c38f1c9
chore(deps): add composer cooldown to dependabot.yml (#424)
rubenvdlinde Aug 17, 2026
621a930
build(deps-dev): bump phpcsstandards/phpcsextra from 1.5.0 to 1.5.1
dependabot[bot] Aug 17, 2026
9f8a4af
build(deps-dev): bump phpmetrics/phpmetrics from 2.9.1 to 2.11.0
dependabot[bot] Aug 17, 2026
075237a
build(deps-dev): bump nextcloud/ocp from 34.0.2 to 34.0.3
dependabot[bot] Aug 17, 2026
3be35cb
build(deps): bump dexie from 4.4.4 to 4.4.5
dependabot[bot] Aug 17, 2026
c45a153
build(deps): bump @nextcloud/axios from 2.5.2 to 2.6.0
dependabot[bot] Aug 17, 2026
f4f9755
build(deps): bump marked from 12.0.2 to 18.0.9
dependabot[bot] Aug 17, 2026
a73c758
docs(spec): tag changed methods with their files' requirements (214 -…
rubenvdlinde Aug 18, 2026
bd9dd71
ci(release): converge on the shared release.yml (#442)
rubenvdlinde Aug 18, 2026
e4abccf
docs(openspec): change proposals — hermiq-ai-tooling leaf-integration…
rubenvdlinde Aug 18, 2026
9140385
feat(tools): declare subject and action on the agent tool catalogue
rubenvdlinde Aug 19, 2026
ec58854
test(talk): mock the Room instead of constructing one, so the suite r…
rubenvdlinde Aug 19, 2026
bd3d551
docs(openspec): five changes for the Learniq reframe
rubenvdlinde Aug 19, 2026
f0deb21
Merge pull request #448 from ConductionNL/feat/tool-taxonomy-subject-…
rubenvdlinde Aug 19, 2026
91b38e3
feat(rbac): declare register cascade, 42 schema authorization blocks,…
rubenvdlinde Aug 19, 2026
a987765
docs(rbac): record live verification results for tasks 6-7
rubenvdlinde Aug 19, 2026
8f97d62
docs(rbac): read denials are masked as 404, not 403
rubenvdlinde Aug 19, 2026
926646b
fix(dashboard): correct dead role-visibility gates onto the canonical…
rubenvdlinde Aug 19, 2026
bf659e3
docs(rbac): live-verify Task 5 — named-verifier checklist for all 9 r…
rubenvdlinde Aug 19, 2026
578e0d7
docs(rbac): mark Tasks 6-8 complete — gate 30 extension + doc sync
rubenvdlinde Aug 19, 2026
bf77891
refactor(rename-to-learniq): rename PHP namespace OCA\Scholiq to OCA\…
rubenvdlinde Aug 19, 2026
7a9c772
feat(rename-to-learniq): app id, routes, and register/config-key migr…
rubenvdlinde Aug 19, 2026
bcaa2dd
feat(rename-to-learniq): register JSON, manifest, and all literal reg…
rubenvdlinde Aug 19, 2026
35f932e
refactor(rename-to-learniq): rename filenames and classes for the MCP…
rubenvdlinde Aug 19, 2026
c364c87
feat(rename-to-learniq): frontend app-id boundary, Vue file renames, …
rubenvdlinde Aug 19, 2026
9819644
test(e2e): point the suite at the learniq app id and routes
rubenvdlinde Aug 19, 2026
d4603e2
fix(rename-to-learniq): three defects that made the app un-enableable
rubenvdlinde Aug 19, 2026
3e21b0c
ci(rename-to-learniq): point every reusable workflow at the learniq a…
rubenvdlinde Aug 19, 2026
9b12d49
refactor(rename-to-learniq): sweep residual Scholiq naming in prose, …
rubenvdlinde Aug 19, 2026
1399855
test: point the suite at the real authorization key and the learniq DID
rubenvdlinde Aug 19, 2026
3fe2c28
test(e2e): unblock the shared fixture, and stop asserting the Complia…
rubenvdlinde Aug 19, 2026
89797ed
Merge remote-tracking branch 'origin/development' into feat/learniq-r…
rubenvdlinde Aug 19, 2026
4beb360
fix(ci): summary length, import order, and tests for the two new repa…
rubenvdlinde Aug 19, 2026
2fe06a3
Merge pull request #426 from ConductionNL/dependabot/composer/phpcsst…
rubenvdlinde Aug 19, 2026
4e176be
chore(release): 0.1.1-unstable.20260819175834 [skip ci]
github-actions[bot] Aug 19, 2026
096fae3
build(deps-dev): bump squizlabs/php_codesniffer from 3.13.6 to 4.0.4
dependabot[bot] Aug 19, 2026
315b192
style(phpcs): clear the 10 phpcs ERRORS, leaving warnings untouched (…
rubenvdlinde Aug 19, 2026
5504726
Merge branch 'development' into feat/learniq-reframe
rubenvdlinde Aug 19, 2026
e256baa
Merge branch 'development' into dependabot/npm_and_yarn/marked-18.0.9
rubenvdlinde Aug 19, 2026
3c4ec2d
Merge branch 'development' into dependabot/npm_and_yarn/nextcloud/axi…
rubenvdlinde Aug 19, 2026
61e2581
Merge branch 'development' into dependabot/npm_and_yarn/dexie-4.4.5
rubenvdlinde Aug 19, 2026
0c466fd
Merge branch 'development' into dependabot/composer/nextcloud/ocp-34.0.3
rubenvdlinde Aug 19, 2026
0a99f6c
Merge branch 'development' into dependabot/composer/phpmetrics/phpmet…
rubenvdlinde Aug 19, 2026
19fa92b
Merge branch 'development' into dependabot/composer/squizlabs/php_cod…
rubenvdlinde Aug 19, 2026
543c66c
test(e2e): the visual spec asserted component names that no longer exist
rubenvdlinde Aug 19, 2026
83eb87f
docs(spec): add @spec traceability to the 19 methods gate-16 flagged
rubenvdlinde Aug 19, 2026
a9fe729
test(e2e): cover the app root and the accessibility statement
rubenvdlinde Aug 19, 2026
3c9660d
Merge remote-tracking branch 'origin/feat/learniq-reframe' into feat/…
rubenvdlinde Aug 19, 2026
11346c5
Merge pull request #425 from ConductionNL/dependabot/composer/squizla…
rubenvdlinde Aug 19, 2026
a9bdfd3
Merge pull request #428 from ConductionNL/dependabot/composer/nextclo…
rubenvdlinde Aug 19, 2026
07be463
Merge pull request #427 from ConductionNL/dependabot/composer/phpmetr…
rubenvdlinde Aug 19, 2026
a36693c
Merge pull request #453 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 19, 2026
b03422d
Merge pull request #436 from ConductionNL/dependabot/npm_and_yarn/mar…
rubenvdlinde Aug 19, 2026
591d509
Merge pull request #433 from ConductionNL/dependabot/npm_and_yarn/nex…
rubenvdlinde Aug 19, 2026
5f54973
Merge pull request #432 from ConductionNL/dependabot/npm_and_yarn/dex…
rubenvdlinde Aug 19, 2026
0cf9f1a
fix(learniq): finish Scholiq->Learniq rename in lib/ (constants + prose)
rubenvdlinde Aug 19, 2026
dea9cc4
fix(learniq): finish Scholiq->Learniq rename in src/ (frontend)
rubenvdlinde Aug 19, 2026
a01d6dd
fix(learniq): finish Scholiq->Learniq rename in tests/
rubenvdlinde Aug 19, 2026
1b6c742
fix(learniq): finish Scholiq->Learniq rename in appinfo/routes.php + …
rubenvdlinde Aug 19, 2026
d2ed3ab
docs(spec): annotate ListenerSchemaResolver::schemaSlug for gate-16
rubenvdlinde Aug 19, 2026
ca67455
Merge remote-tracking branch 'origin/development' into feat/learniq-r…
juanclaude-conduction Aug 19, 2026
c95cb6a
Merge pull request #452 from ConductionNL/feat/learniq-reframe
rubenvdlinde Aug 19, 2026
2db7eec
Merge remote-tracking branch 'origin/development' into feat/learniq-r…
rubenvdlinde Aug 19, 2026
b110228
fix(learniq): restore the app identity development lost in a merge
rubenvdlinde Aug 19, 2026
1c8f450
fix(repair): RenameDutchColumns silently no-opped on every upgrade
rubenvdlinde Aug 19, 2026
c70cdbe
Merge pull request #463 from ConductionNL/feat/learniq-reframe
rubenvdlinde Aug 19, 2026
13dd41d
test(e2e): stop waiting for the whole 11.3 MiB bundle before asserting
rubenvdlinde Aug 20, 2026
0cb1f76
Merge pull request #466 from ConductionNL/feat/learniq-reframe
rubenvdlinde Aug 20, 2026
6664edf
chore(release): 0.1.1-unstable.20260820004806 [skip ci]
github-actions[bot] Aug 20, 2026
8556867
docs(spec): menu-six gets real card grids — its blocking reason is gone
rubenvdlinde Aug 20, 2026
f51cd26
Merge pull request #467 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
eadd598
chore(release): 0.1.1-unstable.20260820045228 [skip ci]
github-actions[bot] Aug 20, 2026
c464d66
Merge pull request #468 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
e2acafc
chore(release): 0.1.1-unstable.20260820050545 [skip ci]
github-actions[bot] Aug 20, 2026
638813b
chore(deps): take hydra-gates v1.8.1 — the contract v1.8.0 shipped br…
juanclaude-conduction Aug 20, 2026
a948805
Merge pull request #469 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
4e49128
config(manifest): split manifest.json into 14 domain-scoped manifest.…
rubenvdlinde Aug 20, 2026
7f7c71f
chore(release): 0.1.1-unstable.20260820052222 [skip ci]
github-actions[bot] Aug 20, 2026
8e427eb
test(e2e): read the effective manifest, not the base file, in manifes…
rubenvdlinde Aug 20, 2026
805a781
Merge pull request #470 from ConductionNL/chore/hydra-gates-v1.8.1
rubenvdlinde Aug 20, 2026
14cb176
Merge pull request #471 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
8a32975
chore(release): 0.1.1-unstable.20260820054539 [skip ci]
github-actions[bot] Aug 20, 2026
fbdb291
Merge pull request #473 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
a4e2eda
chore(release): 0.1.1-unstable.20260820060528 [skip ci]
github-actions[bot] Aug 20, 2026
5b0f036
Merge pull request #474 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
35acd2e
chore(release): 0.1.1-unstable.20260820081446 [skip ci]
github-actions[bot] Aug 20, 2026
f98a3ae
Merge pull request #475 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
bd350b2
chore(release): 0.1.1-unstable.20260820083258 [skip ci]
github-actions[bot] Aug 20, 2026
88c359a
Merge pull request #476 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
5e7df05
chore(release): 0.1.1-unstable.20260820084901 [skip ci]
github-actions[bot] Aug 20, 2026
395fa44
Merge pull request #477 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
2606e89
chore(release): 0.1.1-unstable.20260820090420 [skip ci]
github-actions[bot] Aug 20, 2026
5629616
build(deps-dev): bump stylelint to 17 as one coupled upgrade
juanclaude-conduction Aug 20, 2026
206d0bf
Merge pull request #479 from ConductionNL/chore/stylelint-17-coupled-…
rubenvdlinde Aug 20, 2026
7f888d2
Merge pull request #478 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
f5e009d
chore(release): 0.1.1-unstable.20260820092435 [skip ci]
github-actions[bot] Aug 20, 2026
773fe5b
feat(nav): collapse deep groups into card grids; keep every route rea…
rubenvdlinde Aug 20, 2026
56929f1
Merge pull request #481 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
1e86e6f
Merge remote-tracking branch 'origin/development' into feat/learniq-menu
rubenvdlinde Aug 20, 2026
0f78763
chore(release): 0.1.1-unstable.20260820093752 [skip ci]
github-actions[bot] Aug 20, 2026
51d3ec9
Merge pull request #482 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
dfc19b1
chore(release): 0.1.1-unstable.20260820095257 [skip ci]
github-actions[bot] Aug 20, 2026
629c98d
Merge pull request #484 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
b60911c
chore(release): 0.1.1-unstable.20260820100846 [skip ci]
github-actions[bot] Aug 20, 2026
18ed2b2
Merge pull request #485 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
369283e
chore(release): 0.1.1-unstable.20260820102435 [skip ci]
github-actions[bot] Aug 20, 2026
b5db049
chore(deps): take @conduction/nextcloud-vue 2.8.2 (was 2.8.1)
juanclaude-conduction Aug 20, 2026
c146829
Merge pull request #486 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
9034aa6
Merge pull request #483 from ConductionNL/feat/learniq-menu
rubenvdlinde Aug 20, 2026
4cac7c2
chore(release): 0.1.1-unstable.20260820104232 [skip ci]
github-actions[bot] Aug 20, 2026
1e7df4a
Merge pull request #488 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
2ebcd7b
Merge pull request #487 from ConductionNL/chore/nc-vue-2.8.2
rubenvdlinde Aug 20, 2026
c0d5781
chore(release): 0.1.1-unstable.20260820110941 [skip ci]
github-actions[bot] Aug 20, 2026
e1b1b25
Merge pull request #490 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
c39e4ab
chore(release): 0.1.1-unstable.20260820112930 [skip ci]
github-actions[bot] Aug 20, 2026
7bc4408
Merge pull request #492 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
8f6f1dd
chore(release): 0.1.1-unstable.20260820114526 [skip ci]
github-actions[bot] Aug 20, 2026
29de512
Merge pull request #493 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
00f6f1c
chore(release): 0.1.1-unstable.20260820115511 [skip ci]
github-actions[bot] Aug 20, 2026
b661f15
Merge pull request #494 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
7f42624
chore(release): 0.1.1-unstable.20260820120700 [skip ci]
github-actions[bot] Aug 20, 2026
4329dbf
Merge pull request #495 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
a11d665
chore(release): 0.1.1-unstable.20260820121657 [skip ci]
github-actions[bot] Aug 20, 2026
293b49d
Merge pull request #496 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
3d9c61f
chore(release): 0.1.1-unstable.20260820123637 [skip ci]
github-actions[bot] Aug 20, 2026
28351e5
Merge pull request #497 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 2026
7108645
chore(release): 0.1.1-unstable.20260820125348 [skip ci]
github-actions[bot] Aug 20, 2026
c96f803
Merge pull request #498 from ConductionNL/release/v0.1.1-unstable.202…
rubenvdlinde Aug 20, 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
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .coverage-baseline
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
71.16
36 changes: 36 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# https://editorconfig.org

# SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later

root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true

[*.yml]
indent_size = 2
indent_style = space

[*.md]
trim_trailing_whitespace = false

[*.svg]
insert_final_newline = false

[package*.json]
indent_size = 2
indent_style = space

[build/psalm-baseline.xml]
indent_size = 2
indent_style = space

[config/*config.php]
indent_size = 2
indent_style = space
16 changes: 16 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Revisions to skip in `git blame`.
#
# Enable locally, once:
# git config blame.ignoreRevsFile .git-blame-ignore-revs
#
# GitHub reads this file automatically. Your terminal does not, until you run
# the line above.
#
# Only ever add commits that change formatting and NOTHING else. A commit listed
# here becomes invisible to blame, so a behaviour change hidden inside one would
# be very hard to find later.

# style: reformat with nextcloud/coding-standard — whitespace only
# The fleet-wide move from a PEAR-derived PHPCS ruleset (4 spaces, next-line
# braces) to Nextcloud's own standard (tabs, same-line braces).
2fd6f31b8eda5512cdb0267024db86da22cf73a8
38 changes: 38 additions & 0 deletions .githooks/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#!/bin/sh
# Committed pre-commit hook (activated via `git config core.hooksPath .githooks`,
# which `npm install` / `composer install` set automatically — see package.json
# "prepare" and composer.json "post-install-cmd").
#
# Regenerates docs/features.json whenever staged changes touch openspec/specs/
# or the features overlay, so the commercial capability list can never go
# stale. CI (features-check / features-extract) only VERIFIES — generation
# happens here, before the commit, never in the pipeline.
#
# Best-effort by design: any failure only warns and never blocks the commit —
# the CI gate is the enforcement backstop.

if git diff --cached --name-only | grep -qE "^openspec/(specs/|features\.overlay\.json)"; then
CACHE=".git/extract-features.py"
# Fetch the canonical script (single source of truth in ConductionNL/.github);
# fall back to a previously cached copy when offline.
curl -sf --max-time 10 \
https://raw.githubusercontent.com/ConductionNL/.github/main/scripts/extract-features.py \
-o "$CACHE" 2>/dev/null || true

if [ -f "$CACHE" ]; then
if command -v python3 >/dev/null 2>&1; then PY="python3";
elif command -v py >/dev/null 2>&1; then PY="py -3";
else PY="python"; fi

if $PY "$CACHE" --app-root . >/dev/null 2>&1; then
git add docs/features.json
echo "pre-commit: docs/features.json regenerated from openspec/specs/."
else
echo "pre-commit: WARNING — could not regenerate docs/features.json (python or pyyaml missing?). CI features-check will verify." >&2
fi
else
echo "pre-commit: WARNING — could not fetch extract-features.py (offline?). CI features-check will verify." >&2
fi
fi

exit 0
38 changes: 38 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 10
cooldown:
default-days: 1
include:
- "*"
exclude:
- "@conduction/*"

# Composer had NO entry at all, so PHP dependencies were updated with no
# cooldown whatsoever — the window in which a compromised release is still
# published is exactly the window an instant update walks into. `npm` above
# has had one for a while; composer was simply never added, which is not a
# decision anyone made.
#
# Two days rather than one: that is the floor gate-93 enforces, and the npm
# entry's single day predates it.
#
# Our own packages are excluded from the wait on purpose. A cooldown protects
# against a compromised upstream release; `conduction/*` comes from this
# fleet's own CI, and delaying it would only slow the loop between a fix
# being released here and arriving here.
- package-ecosystem: "composer"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 10
cooldown:
default-days: 2
include:
- "*"
exclude:
- "conduction/*"
5 changes: 3 additions & 2 deletions .github/workflows/branch-protection.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ on:
pull_request:
branches: [main, beta]

permissions: {}

jobs:
check:
branch-protection:
uses: ConductionNL/.github/.github/workflows/branch-protection.yml@main
secrets: inherit
Loading
Loading