Skip to content

chore(parity): normalise features in the capability matrix - #820

Merged
rubenvdlinde merged 1 commit into
developmentfrom
spec/feature-normalisation
Oct 8, 2026
Merged

rubenvdlinde merged 1 commit into
developmentfrom
spec/feature-normalisation

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Data-only change to openspec/parity/capabilities.json (feature normalisation, decisions 110-112). Nothing else in the repo changes.

What changed

  • New top-level features list right after areas: 41 features, each with slug, title, title_nl, area (the area most of its rows have), overlay and specs (main specs and open changes its rows link to through built.spec / built.change; archived changes are not listed).
  • Every row now carries a feature: the 169 capabilities and the 8 pending question rows (177 in all). 50 rows had no feature before. featureConfidence stays only on the 138 rows that already had it (high when the row follows its old slug or that slug's rename, medium when it moved).
  • Row count, ids, key order and every other value are unchanged (checked structurally against origin/development).

Rows per feature

min 1, median 3, max 12 (grid-layout, tiles, content-widgets).

Overlay

All 27 entries of openspec/features.overlay.json match rows and are used with their own slug and titles. 23 matched on an existing row feature or built.spec; four had no row tagged with them and were matched on meaning:

  • groupfolder-storage-backend <- q-groupfolder
  • launchpad-compliance-audit-panel <- g-audit, q-person-activity
  • launchpad-enterprise-security-access <- p-sso, d-single-logout, d-idp-groups
  • launchpad-meeting-calendar-actions <- d-room-free

Old feature values merged or renamed

  • dashboard-locking -> grid-layout
  • dashboard-icons, dashboard-deeplinking, dashboard-language-content, dashboard-metadata-fields -> dashboard-switcher
  • navigation-editor-org, footer-customization -> organisation-navigation
  • text-display-widget, image-widget, video-widget, files-widget, header-widget, link-button-widget, news-widget, clock-weather-widgets, calendar-widget -> content-widgets
  • live-data-tile-widget -> runtime-or-consumption (overlay "Live business data")
  • conditional-visibility-editor -> conditional-visibility
  • demo-data-showcases -> setup-wizard
  • dashboard-bulk-operations, cli-commands -> admin-tooling
  • dashboard-acknowledgements, dashboard-reactions -> acknowledgements-and-reactions
  • mcp-tool-surface -> launchpad-ai-dashboard-assistant
  • resource-uploads -> tiles
  • dashboards (an area restated) split over dashboard-kiosk-mode, admin-templates, theming-and-languages and self-hosting
  • Kept: every overlay slug, plus dashboard-sharing, iframe-embed-widget, people-widget, setup-wizard, dashboard-view-analytics.

Odd cases

  • Five overlay features carry only one or two rows because the overlay is that fine: dashboard-versioning, dashboard-quota-limits, launchpad-spend-analytics-widget, groupfolder-storage-backend, launchpad-meeting-calendar-actions (one row each).
  • 15 features have an empty specs list: their rows link only archived changes (for example dashboard-versioning, dashboard-kiosk-mode). The overlay's docsUrl was not copied into specs, since the brief derives specs from the rows.
  • Four built.change / built.spec values point outside this repo and are left out of specs: dossiq/widgets-my-open-cases-on-the-start-page, nextcloud-vue/dashboard-notepad-widget, openregister/store-over-federated-config, and none.
  • No validator in this repo reads capabilities.json (grepped scripts/, tests/, .github/).

Verified

python3 -m json.tool passes; a structural compare against origin/development confirms identical ids and row order, only features, feature and featureConfidence differ, every row's feature is in the list and every feature has rows.

@rubenvdlinde
rubenvdlinde requested a review from Rem-Dam as a code owner October 8, 2026 13:17
@rubenvdlinde
rubenvdlinde merged commit dbe21bf into development Oct 8, 2026
6 checks passed
@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/launchpad @ 3894004

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 ✅ 225/225
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-08 14:20 UTC

Download the full PDF report from the workflow artifacts.

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