Initial public ModelForge release
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
# Model Lifecycle
|
||||
|
||||
## Discovery and artifact lifecycle
|
||||
|
||||
```text
|
||||
DISCOVERED
|
||||
→ CANDIDATE
|
||||
→ DOWNLOADING
|
||||
→ QUARANTINED
|
||||
→ VERIFIED
|
||||
→ TESTING
|
||||
→ APPROVED
|
||||
→ STANDBY / ACTIVE
|
||||
→ DEPRECATED
|
||||
→ ARCHIVED
|
||||
```
|
||||
|
||||
Terminal/side states:
|
||||
|
||||
- `REJECTED`
|
||||
- `INCOMPATIBLE`
|
||||
- `SECURITY_BLOCKED`
|
||||
- `LICENSE_BLOCKED`
|
||||
|
||||
## Deployment channels
|
||||
|
||||
- **stable** — production-approved project bindings
|
||||
- **candidate** — validated candidate awaiting comparison/promotion
|
||||
- **experimental** — lab-only use
|
||||
- **archive** — retained for evidence or rollback, not routable by normal project traffic
|
||||
|
||||
## Promotion rules
|
||||
|
||||
A model/revision becoming downloadable is not a promotion. Promotion changes deployment/channel state and requires evidence.
|
||||
|
||||
M4 adds a non-production evidence chain: verified ArtifactSet → static compatibility → exact-set LAB
|
||||
execution approval → successful RuntimeProbe → `LAB_READY` DeploymentCandidate. This does not move
|
||||
the Model lifecycle to approved/active, create a stable channel or satisfy benchmark/project gates.
|
||||
|
||||
Minimum promotion package:
|
||||
|
||||
- immutable model revision;
|
||||
- approved artifact security status;
|
||||
- approved license status;
|
||||
- reproducible runtime profile;
|
||||
- compatibility probe;
|
||||
- local benchmark evidence;
|
||||
- project-specific evidence for affected stable bindings;
|
||||
- migration plan for non-transparent changes;
|
||||
- explicit operator approval;
|
||||
- rollback target.
|
||||
|
||||
## Upgrade classification
|
||||
|
||||
### transparent
|
||||
|
||||
Wire-compatible and expected not to change persisted derived data. Still requires smoke/performance validation.
|
||||
|
||||
### behavioral
|
||||
|
||||
Same interface but output quality/behavior may change. Requires task/project benchmarks.
|
||||
|
||||
### requires_reindex
|
||||
|
||||
Persistent vectors/features are incompatible across deployment versions. Requires shadow/backfill/cutover workflow.
|
||||
|
||||
### schema_breaking
|
||||
|
||||
Output contract changes. Requires capability contract versioning and project migration.
|
||||
|
||||
M5 continues without collapsing identities: LAB_READY candidate → exact supply-chain-backed
|
||||
production approval → stable CapabilityDeployment → cold/warm residency. Promotion does not mutate
|
||||
the ModelRevision, ArtifactSet, RuntimeProfile or candidate. Drain and deprecation remove routing;
|
||||
they do not delete provenance. An embedding deployment also creates an immutable EmbeddingSpace,
|
||||
and any changed identity is `requires_reindex`.
|
||||
|
||||
## M12 evidence-bound release lifecycle
|
||||
|
||||
M12 makes approval, plan and execution distinct records. Independent integrity, security, runtime,
|
||||
evaluation, project-fit and deployment dimensions are documented in `LIFECYCLE_STATE_MODEL.md`.
|
||||
Production needs an exact current ApprovalRequest, an immutable PromotionPlan, a rollback snapshot
|
||||
and explicit execution. Canary success stops for review. Deprecation and archive never imply physical
|
||||
deletion; cleanup is a dependency-rechecked operator action. Advisor eligibility remains evidence,
|
||||
not permission.
|
||||
Reference in New Issue
Block a user