Skip to content

feat(003): product-family registry owns the shared repo list#4

Merged
bartekus merged 1 commit into
mainfrom
003-product-family-registry
Jul 15, 2026
Merged

feat(003): product-family registry owns the shared repo list#4
bartekus merged 1 commit into
mainfrom
003-product-family-registry

Conversation

@bartekus

Copy link
Copy Markdown
Contributor

Summary

app/lib/product-family.ts (the canonical product-family roster consumed by
the index page, the footer, and the /registry viewer's repoMeta lookup)
had no explicit spec owner: it fell under spec 001's app/ directory while its
content was authored in spec 002 section 2. Every roster edit therefore tripped
the coupling gate and was cleared with a Spec-Drift-Waiver: (PR #2 added six
repos, PR #3 fixed the derived count).

Spec 003 gives the module a single explicit owner and carries the roster in its
section 3, so adding, removing, or re-describing a repo is an ordinary authoring
edit to spec 003 plus the module: it couples clean with no waiver and no edit to
the scaffold (001) or launch-content (002) specs. Marked origin.retroactive: true because the module already exists (it shipped in PR #2); this spec adopts
it rather than claiming creation. No code change ships; the module already
matches the roster.

Testing

  • spec-spine compile (4 specs, 0 warnings), index, lint --fail-on-warn
    (0/0/0), index check (fresh).
  • spec-spine couple --base origin/main --head HEAD: OK, no drift (this PR is
    spec-only, so no waiver is needed).
  • Coupling-fix proof (throwaway temp branch, discarded): with
    product-family.ts changed and spec 003 in the range, couple reports
    OK: 2 path(s) checked, no drift, confirming a real roster co-edit no longer
    needs a waiver. The module's owner set is now (001-site-scaffold, 003-product-family-registry).

app/lib/product-family.ts had no explicit owner. It fell under spec
001's app/ directory while its content was authored in spec 002, so
every family-list edit tripped the coupling gate and needed a
Spec-Drift-Waiver (PR #2, PR #3). Spec 003 adopts the module
(origin.retroactive: true) and carries the roster, so a repo add or
remove is an ordinary co-edit here plus the module, coupling clean with
no waiver. No code change ships; the module already matches the roster.
@bartekus
bartekus merged commit ebe6921 into main Jul 15, 2026
1 check passed
@bartekus
bartekus deleted the 003-product-family-registry branch July 15, 2026 09:19
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