Skip to content

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

Merged
rubenvdlinde merged 2 commits into
developmentfrom
spec/feature-normalisation
Oct 8, 2026
Merged

rubenvdlinde merged 2 commits into
developmentfrom
spec/feature-normalisation

Conversation

@rubenvdlinde

@rubenvdlinde rubenvdlinde commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Gives stackiq one feature list in openspec/parity/capabilities.json and puts every capability row under exactly one feature (decisions 110-112). Data only: the new top-level features key (right after areas) and the feature / featureConfidence values on rows. No specs, code or overlay changed.

Numbers

  • 38 features over 216 rows (216 capabilities, no pending rows).
  • Rows per feature: min 1, median 5, max 14.
  • featureConfidence was present on 127 rows and is reset there for the new value: 78 high, 31 medium, 18 low. The 89 rows without the key still have none, as the brief asks.

Overlay entries used

All 20 entries of openspec/features.overlay.json matched rows and became features with the same slug and titles: software-landscape-register, gemma-alignment, archimate-import-and-export, contract-administration, contract-renewal-approval, standards-compliance, lifecycle-and-end-of-support, portfolio-roadmap, open-data-publishing, self-registration-with-moderation, offering-and-usage-listings, shared-usage-on-gemma-views, automatic-user-provisioning, notifications, federation-between-catalogues, reviews, license-and-seat-tracking, maintenance-and-supplier-roadmap, portfolio-reporting, audit-trail-view.

Old feature values merged or renamed

The old field held the 20 overlay slugs on 90 rows; 126 rows had no feature key at all. No old slug was renamed. Rows moved between overlay features where the content fitted better:

  • The eight connection rows that sat under software-landscape-register, plus conn-diagram and conn-export-graph from archimate-import-and-export, form the new application-connections.
  • life-value-assessment moved from portfolio-reporting to the new portfolio-rationalisation.
  • The BIO, DPIA and processing-register rows moved from standards-compliance to the new security-and-privacy-assessment; standards-compliance keeps the standards register, evidence and matrix rows.
  • share-export moved from archimate-import-and-export to portfolio-reporting; land-bulk-edit stayed in open-data-publishing.
    New features for the 126 unlabelled rows: landscape-import, data-quality, ai-system-inventory, application-connections, architecture-modelling, security-and-privacy-assessment, supplier-directory, portfolio-rationalisation, vulnerability-management, sign-in-and-accounts, organisation-register, roles-and-access, api-and-integrations, dashboard-and-overviews, ai-assistant, asset-discovery, service-management, open-platform.

Odd cases

  • audit-trail-view has one row (ins-audit-trail). It comes from the overlay, so it stays.
  • 126 rows had no feature key. The key is inserted in the position the other rows use (after providerHow; after built on the one row without providerHow), so the diff touches no other line.
  • specs lists only names that resolve to openspec/specs/<name> or an open change, after stripping archive date and retrofit-<date>- prefixes and trying the name without its first segment (landscape-application-page to application-page). 11 linked names resolve to neither (for example 2026-09-29-landscape-usage-registration, 2026-09-29-connections-catalogue-pages, index-copy-with-relations) and are left out.
  • No validator in this repo reads parity/capabilities.json (grep of scripts/, tests/, .github/, package.json, composer.json).

Verified

python3 -m json.tool passes; row ids and order equal origin/development; every row has a feature from the list and every feature has a row; a key-by-key compare shows only features, feature and featureConfidence changed; git diff removes no line other than old feature lines.

@rubenvdlinde
rubenvdlinde merged commit 86afd76 into development Oct 8, 2026
8 checks passed
@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/stackiq @ eeaf744

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 ✅ ✅ 133/133
npm ✅ ✅ 807/807
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-08 14:23 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