Work Plan: Product and Component Governance Moves to Venture Repositories¶
Objective¶
Resolve the "product registry status" open question by implementing the Founder's direct architectural directive: this governance repository's authority over a venture ends at the venture's existence (name, purpose, scope, target markets, legal structure); everything about what a venture actually builds (product specs, decisions, registry/lifecycle status, backlog, reusable-component content) moves entirely into that venture's own implementation repository.
Scope¶
- New company-level ADR (
ADR-0017) recording the decision. - Rewrite
docs/architecture/company-venture-product-model.md's Product/Component layers and fix its stale reference to the superseded ADR-0007 boundary framing. - Rewrite
portfolio/intake-and-stage-gates.md's registration step. - Update
templates/implementation-repository/(bothAGENTS.mdanddocs/ai/README.md) with the product-registration convention, so every future venture inherits it automatically. - Reduce
portfolio/product-registry.jsonto a pure cross-venture table of contents, populated fromdevonside-labs' two products; fixportfolio/repository-registry.json's stale "no product has cleared discovery" note. - Retire (not delete)
ventures/digital-products/components/component-catalog.md(status: deprecated); remove its now-purposeless category subdirectories and_template/; rewritecomponents/README.md. - Remove
ventures/digital-products/products/llc-accounting-tracker/andproducts/_template/, after migrating the two files with real, non-duplicated content intodevonside-labs. - Remove
ventures/digital-products/portfolio/product-backlog.md, after migrating it verbatim intodevonside-labs. - Remove
ventures/shelfery/product/(verified zero real content first — pure removal, no migration needed). - Remove the
products/scaffold fromventures/_template/itself, so future ventures don't inherit the retired pattern. - Fix every cross-reference to all of the above found across both ventures'
documentation, the root-level docs (
README.md,CONTRIBUTING.md,scripts/README.md), thecreate-product.md/new-product.mdprompt and slash command, andscripts/create_product.py(marked retired, not deleted — its test coverage uses tempfile fixtures, unaffected). - Companion changes in
devonside-labs:product.jsonfor both products, migratedproduct-backlog.mdand the two real files from the governance repo, resolved open question, recorded decision.
Out of scope¶
- Fully rewriting Shelfery's stale pre-implementation architecture docs
(
ventures/shelfery/docs/architecture/README.md,system-context.md) beyond fixing the specific danglingproduct/references and flagging the broader staleness with a note — that's a separate, larger task. - Rewriting
scripts/create_product.py's logic or deleting it and its test — marked retired via docstring/README note instead, to avoid cascading intotests/test_create_product.pyand related doc updates for a script with no remaining valid use case but working test coverage. - Any change to company-level or venture-level policy content (brand, strategy, standards substance) beyond what's needed to reflect this restructuring.
Applicable authority¶
- Founder's direct instruction (this session, 2026-07-27), following from the
"product registry status" open question raised in
devonside-labs. docs/decisions/ADR-0014-venture-implementation-repositories-are-the-default-pattern.md(the boundary this extends).ventures/digital-products/docs/decisions/DD-DIGPROD-ADR-0003-product-specs-live-in-implementation-repository.md(the same-day, narrower precursor this generalizes venture-wide).docs/standards/archival-and-retention-standard.md(governs how the component catalog is retired —status: deprecated, not deleted).
Files expected to change¶
See Scope above; touches both devonshire-digital and devonside-labs. Full list
is the diff this plan ships with, not restated here — over 40 files across both
repositories.
Assumptions¶
- "Retire" (the Founder's word for the component catalog) means deprecate-in-place per this repo's own retention standard, not silent deletion — confirmed consistent with how ADRs and other deprecated content are already handled here.
- The two ventures (Digital Products, Shelfery) should be treated consistently — confirmed explicitly by the Founder ("Yes clean up Shelfery as well").
product-specification-standard.mdstays at governance level as the full 16-section baseline (not narrowed to NFRs only) — confirmed by the Founder's "your proposal works" after a clarifying question.
Risks¶
- Large surface area increases the chance of a missed cross-reference. Mitigated by
running
python scripts/check.py's link validator repeatedly during the change and a final manualgrepsweep for the retired path patterns beyond what the link validator alone catches (plain-prose mentions, not just markdown links). - Two files in the removed
products/llc-accounting-tracker/folder held real, non-duplicated content (product-brief.md's market/customer framing,assets/source-requirements-2026-07-12.md). Mitigated by migrating both intodevonside-labsbefore deleting the governance-repo originals, verified by content diff during migration, not after.
Validation plan¶
python scripts/check.py(all four validators) after every structural change, and again at the end.python -m unittest discover testsat the end.- Manual
grepsweep across both repositories for the retired path patterns, excluding historical/archived records (which intentionally retain the old references with a dated correction note per the retention standard).
Progress checklist¶
- [x]
ADR-0017written and approved (Founder, same session). - [x]
company-venture-product-model.mdrewritten. - [x]
intake-and-stage-gates.mdrewritten. - [x]
templates/implementation-repository/updated (registration convention). - [x]
portfolio/product-registry.jsonreduced to table of contents, populated. - [x]
portfolio/repository-registry.jsonstale note fixed. - [x] Component catalog deprecated; category subdirectories and
_template/removed;components/README.mdrewritten. - [x]
products/llc-accounting-tracker/andproducts/_template/removed, after migrating real content todevonside-labs. - [x]
portfolio/product-backlog.mdremoved, after migrating todevonside-labs. - [x]
ventures/shelfery/product/removed; cross-references fixed (AGENTS.md,context-loading.md,implementation-alignment.md, architectureREADME.mdandsystem-context.md,product-principles.md,roadmap.md, ADR-0010's follow-up, the 2026-07-11 reconciliation work plan). - [x]
ventures/_template/products/removed; its own cross-references fixed (AGENTS.md,docs/ai/context-loading.md,docs/architecture/README.md,docs/decisions/README.md,README.md). - [x] Root-level fallout fixed:
README.md,CONTRIBUTING.md,scripts/README.md,.claude/commands/new-product.md,prompts/create-product.md,scripts/create_product.py(deprecation docstring),templates/product-brief-template.md. - [x]
devonside-labscompanion changes:product.json× 2, migratedproduct-backlog.md, migratedmarket-and-positioning.md+source-requirements-2026-07-12.md, resolved open question, decision recorded,roadmap.md/READMEs corrected. - [x]
python scripts/check.pypassing. - [x]
python -m unittest discover testspassing (38/38). - [x] Commit and push both repositories.
- [x] Archive this plan to
work/archive/once pushed.
Decisions required¶
None outstanding — every judgment call in this restructuring (retire vs. migrate the
component catalog; Shelfery in-scope; product-specification-standard.md scope) was
made directly by the Founder in the conversation that produced this plan.
Handoff notes¶
Complete pending the final commit/push (tracked in the checklist above). If picked
up mid-flight: run python scripts/check.py first — if it's green, the structural
work is done and only the commit/push/archive steps remain. The devonside-labs
side is a separate repository and separate commit; both need to land for this
restructuring to be consistent (a devonshire-digital-only commit would leave
devonside-labs' docs pointing at a state that doesn't exist yet, and vice versa).