Repository navigation
docs(openspec): re-rated rows and specs for unspecified built capabilities - #810
Merged
Merged
Conversation
… link standalone install
Contributor
Quality Report — ConductionNL/launchpad @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| check-manifest | ✅ | ||||
| format | ❌ | ||||
| check-schema-l10n | ✅ | ||||
| composer | ✅ | ✅ 107/107 | |||
| npm | ✅ | ✅ 636/636 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | ⏭️ not run for this diff — no file in this diff matches the code globs, and none carries a source extension — the heavy tier has nothing to decide about it. | ||||
| Newman | ✅ | ||||
| Playwright | ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development. |
||||
| Hydra gates | ❌ |
Quality workflow — 2026-10-07 21:29 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.
Spec round part 2 (decisions 78 and 81). Only
openspec/changes: the capability file, one new main spec and one requirement added to an existing main spec. No code.Step 1: re-rated rows
No row in
specifiedorbuildingpoints at an archived change (checked againstopenspec/changes/archive/), so there were no stale rows. One row was flagged in round 1:build-keyboard: built, yes → built, yes. New evidence and a note. nextcloud-vue'sCnDashboardGridmakes each grid item in edit mode focusable and turns Enter into the context menu. The menu's Move openssrc/modals/WidgetMovePanel.vue: arrow keys move, Shift and the arrow keys resize, Enter saves throughnudgePlacement().tests/e2e/keyboard-widget-repositioning.spec.tsdrives it with the keyboard only. The changekeyboard-accessible-widget-repositioningstill has its 11 tasks unticked, but all of them are delivered. Tasks 1 to 3 landed in nextcloud-vue, not in thesrc/components/DashboardGrid.vuethe tasks name, which no longer exists.Step 2: specs for our own
spec: nonerowsWritten or extended:
openspec/specs/action-authorization(new)t-action-matrixActionAuthService::requireAction()and how an action resolves (admin,@all, admin-only, group intersection, unknown means admin-only), the Action authorization grid on the Roles and permissions tab, the admin-only matrix endpoints, and the seed and baseline repair stepsopenspec/specs/runtime-shell, REQ-SHELL-010 (added)d-toursrc/manifest.json: three steps, per-user completion against version 1. Drawing the tour is nextcloud-vue'sopenspec/specs/runtime-or-consumption(linked, unchanged)p-standaloneLeft at
spec: none, because they are not LaunchPad's code:p-sso,p-own-servers,p-theme,p-languages,d-idp-groups(groups come from user_oidc or user_saml),d-pwa(the theming app serves the web app manifest),d-dark-mode.w-charts. The chart, statistic, gauge, delta and table widgets, their configuration forms and their data all come from nextcloud-vue and OpenRegister. LaunchPad only adds two thin adapters (ChartHost.vue,StatsBlockHost.vue). I corrected the row's evidence: it citedgraphqlClient.js, which belongs to the spend-analytics widget.Validation
openspec validate --type spec --strict: action-authorization, runtime-shell and runtime-or-consumption are valid.openspec validate --specs --strict: 71 of 80. The 9 failures existed before this change and none of them is in a spec this PR touches.python3 -m json.toolon capabilities.json passes.--scope-to-diff --base origin/development: gate 16 passes. Gate 46 does not apply. Two findings were already there before this PR. Gate 19 namesruntime-shell::save-button-disabled-while-in-flight, an old scenario, not one this PR adds. Gate 23 flagsPermissionService.phpandRoleFeaturePermissionService.php, and neither file is in this diff.Needs Ruben
keyboard-accessible-widget-repositioning: tick its 11 tasks and archive it? The work has shipped. The tasks name a file that is gone, so a reader of the open change thinks it has not.d-tour: the row says the tour covers "the dashboard and the admin area". The declared tour has three steps (welcome, Dashboards, Flows) and none of them is in the admin settings. Rename the row, or keepyesand add an admin step later?w-chartsnamesConductionNL/openregisteras owner. The renderers and forms are nextcloud-vue's. Should the owner be nextcloud-vue, with OpenRegister as the data source?