Skip to content
This repository was archived by the owner on May 29, 2026. It is now read-only.
This repository was archived by the owner on May 29, 2026. It is now read-only.

Phase 3 follow-up: pre-split 8 namespace-word Bucket 2b clusters #294

Description

@rubenvdlinde

The Phase 3 reverse-spec run (umbrella #285) processed 6 Bucket 2 clusters (PRs #288 / #289 / #290 / #291 / #292 / #293) but skipped 8 Bucket 2b clusters whose labels are namespace words rather than behaviour names. The `/opsx-reverse-spec` skill explicitly defers these — a namespace label like "frontend-components" describes the file-type cluster, not an observable behaviour, so reverse-spec'ing one would mint REQs against an arbitrary collection of unrelated components.

Each of these needs a human pre-split into behavioural sub-clusters before a future reverse-spec pass can run.

Namespace-word clusters needing pre-split

From `openspec/coverage-report.md` (generated 2026-05-24) — Notes section explicitly flags these:

  1. background-jobs — suggested split: `organization-contact-sync` (the actual cron behaviour in `OrganizationContactSyncJob`) + `cronjob-context` (shared trait in `CronjobContextTrait`).
  2. frontend-shell-and-views — split per page or per behavioural group: app shell + router, dashboard, organisaties index, settings root, the 8 settings sections (ArchiMateImportExport, CronjobConfiguration, EmailConfiguration, OpenRegisterIntegration, OrganizationSynchronization, StatisticsOverview, UserGroupsConfiguration, VersionInformation).
  3. frontend-modals-and-dialogs — split into: the 12 generic object-action modals (Delete/Download/Lock/MassDelete/Depublish/Lock/Publish/Unlock/Validate/Merge/Migration/Object/Upload/View + ChangeOrganisatieStatusDialog), the modal multiplexer, the OrganisationModal, the dialog multiplexer, the 3 sidebars (dashboard/directory/search), the navigation Configuration component. Most of the 12 generic object-action modals likely belong to a single `object-actions` capability rather than per-modal REQs.
  4. frontend-components — split per component theme: contactpersoon UI (AddContactpersoonModal, ContactpersonenList), generic form scaffolding (AlwaysVisibleSection, CollapsibleSection, StandardTabs), display widgets (PaginationComponent, PublishedIcon, SelectedObjectsList), cards (OrganisatieCard).
  5. frontend-stores — split per store domain: navigation store, catalog store, settings store, organisatie store, the pinia instance + aggregator (plumbing).
  6. frontend-utils — only 2 entries; split into `theme-resolution` + `heartbeat-polling` or fold into the parent that consumes them.
  7. repair-bootstrap — single `InitializeSettings` run() method; can rename the cluster to `repair-step-initialize-settings` and run reverse-spec directly (1 method / 1 REQ) — this one is the smallest lift.
  8. examples-docs — `ContactpersoonServiceExample` is documentation code, not a runtime path. Recommend marking as ignored in the coverage scan via `.opsx-ignore` + re-running the scan, rather than reverse-spec'ing it.

Suggested next steps

  • For each namespace cluster: open a 1-line proposal in this issue thread (or as a sub-issue) describing the suggested split.
  • Once split, run `/opsx-reverse-spec softwarecatalog --cluster ` per the skill workflow.
  • `examples-docs` should be moved to `.opsx-ignore` instead.

Context

Metadata

Metadata

Assignees

No one assigned

    Labels

    openspecOpenSpec-driven changeready-to-buildSpec ready — awaiting builder dispatchretrofitRetrofit playbook

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions