generated from coulomb/repo-seed
Some checks failed
Test / test (push) Has been cancelled
Implements IHUB-WP-0009: closes four GAAF-2026 gaps before domain hub work begins. - TypeRegistry helper + controllers/views (hub_kind, hub_capability_manifest) - HubCapabilityManifest entity with validation and registry linkage - ARCHITECTURE-LAYERS.md + CI-enforced boundary contracts - Alembic migration 1743724800, fitness tests (Test/Architecture/) - GAAF spec, Operational Architecture spec, domain hub extension guide - Updates to CLAUDE.md, SCOPE.md, Schema.sql, Routes, FrontController, Types state_hub_sync: pending (tunnel was STALE at completion time; run fix-consistency) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.6 KiB
2.6 KiB
Module Maturity Labels
Name: module-maturity-labels Version: 1.0 Date: 2026-03-31 Status: Active Layer: Functional
Purpose
Defines the four maturity states used to label IHF functional modules and contract tables. These labels communicate to domain hub developers which surfaces are safe to depend on long-term.
Labels
Stable
The public interface will not change within the current major version.
- Removing a field, renaming a table, or changing a column type is a breaking change and requires a major version bump (e.g. IHF v1.0 → v2.0).
- Adding a nullable or defaulted column is not breaking and may occur without a version bump, but is documented in the changelog.
- Suitable for all production use, including domain hub compilation dependencies.
Beta
The interface is finalised for typical use but edge-case fields may change with a minor-version notice (e.g. IHF v0.2 → v0.3).
- Core workflow fields are stable; metadata, computed, or supplementary fields may be refined.
- Suitable for production use with awareness: monitor the changelog before upgrading.
- A Beta module will be promoted to Stable once it has been used in at least two deployed domain hubs without reported breaking-change issues.
Experimental
The interface may change without notice between patch releases.
- Use only for internal prototyping, spike implementations, or with explicit opt-in acknowledgement.
- Not suitable for domain hub production code.
- A module remains Experimental until its design is confirmed by real usage.
Deprecated
The module or field will be removed in the next major version.
- A replacement is documented in the contract or in the schema comment.
- The deprecated item remains functional until the major version boundary.
- Domain hubs must migrate before upgrading to the next major version.
Where Labels Are Used
| Surface | How the label is expressed |
|---|---|
| Functional modules | docs/functional-modules.md maturity column |
envelope_emission_contracts table |
maturity column (added in IHUB-WP-0009) |
interaction_reporting_contracts table |
maturity column |
widget_adapter_specs table |
maturity column |
| Type registry entries | status column (active / deprecated) |
Contract files in /contracts/ |
Maturity: header field |
Promotion Path
Experimental → Beta → Stable
↓
Deprecated → (removed at next major version)
Promotions are recorded in the module's entry in docs/functional-modules.md
and the corresponding maturity column in the DB is updated.