Overview
The goal of the Products layer is a "governable business map", not listing all feature names. Too many will make the map ineffective; it is recommended to converge to ≤ 6(if convergence is impossible, the reason and the governance recommendation entry point must be stated).
At the start, announce:"I am using the aisdlc-project-discover-products-aggregation skill to reverse-engineer business modules from code facts and converge the number."
Clue priority (from strong to weak)
- Data ownership (strongest): which module primarily writes which core objects (from
contracts/data/*) - External capability boundary: which APIs are stable commitments (from
contracts/api/*) - Organizational boundary: the module group owned by the Owner/team
- Runtime boundary: independent deployment/scaling/SLO (if present)
Output files
.aisdlc/project/products/index.md(optional but recommended).aisdlc/project/products/{module}.md(one page per business module)
Minimal template (copyable)
products/index.md
| product_module | owner | key_components | key_data_ownership | key_contracts | status |
|---|---|---|---|---|---|
../components/... |
../contracts/data/... |
../contracts/api/... |
- [ ] |
products/{module}.md
- Business boundary: In/Out (one sentence + link to evidence entry point)
- Hosting components (entry point): link to
../components/* - Data ownership (entry point): link to
../contracts/data/* - External capabilities (entry point): link to
../contracts/api/* - Key terms (entry point): link to
../memory/glossary.md
Convergence strategy (the <= 6 approach)
- First cluster by "data ownership", then correct boundaries using "external capabilities"
- Prioritize merging fragmented modules that are "only called internally, have no data ownership, and have no stable external contract"
- Keep business modules with "many cross-team interfaces/clear data ownership/stable external commitments" as first-level
What to do if convergence is impossible ( >6 is allowed, but must be stated)
In products/index.md add a section at the top titled "Reasons for non-convergence and governance entry point"; common acceptable reasons:
- Hard requirements for compliance isolation/data isolation
- Data ownership is naturally split and cannot be merged in the short term
- Strong organizational boundary constraints (multiple independent teams/domains)
And provide governance recommendation entry points (e.g., links to ADR/migration roadmap/organizational alignment meeting minutes); do not leave empty TODOs.
Red flag checklist (if any one appears: stop and correct)
- Writing the product layer as a "complete feature list" (the map should be short)
- The number of business modules keeps expanding and there is no convergence strategy
- The products page copies details from component pages/contract pages (it should only link to entry points)