Retirement is a process, and it needs a path out.
Marking a capability deprecated does not remove it. The deprecation records a successor or a migration path, and the graph tracks which consumers have moved across and which have not. Removal is evaluated against that record: while consumers remain and no path exists for them, the policy engine refuses it, and no argument, however well phrased, changes that answer. Consumers migrate on their own release schedule, and the queue stays visible while they do.
Deleting is not the same as deprecating
Dropping a published capability from a repository leaves every consumer to find out at build time. The graph treats removal as a state change with preconditions, not as a file operation somebody can do on a Friday.
The way out is part of the record
A deprecation names the successor capability and how consumers move to it. Without that, the deprecation is incomplete, and the removal that would otherwise follow it does not pass the policy check.
The last consumer to move unblocks removal
Each consumer shows as migrated or outstanding against the deprecated version. The last one moving across is what unblocks removal, and that state is read from the graph rather than from someone's recollection.
In this capability
- Deprecated status
- Required migration path
- Removal blocked without one
- Per-consumer migration state
Capability Graph
The rest of Capability Graph
Capability Registry
One key per capability, held steady while the code behind it is regenerated, plus version, owner, status, dependencies and consumers.
Consumers & Impact
Which products depend on which version, direct and indirect, read while a change is still a proposal.
Shared and Product-Specific
Promotion from one product to shared is an explicit step, with the cost and the benefit shown before it happens.
Reuse Opportunities
Analysis that finds two products solving the same problem separately, and proposes the shared capability that replaces both.
Stop managing prompts. Start managing software strategy.
Connect your repositories. Let Foundariq understand what you have already built. Then tell it what your portfolio should build next.
Read-only to start · Your code stays in your GitHub · [email protected]