2.0 KiB
Fixed V2R2C2 release lineage contract
Why this contract exists
AIOS has multiple engineering commits in the same ancestry, and they serve different purposes.
The fixed V2R2C2 live Task was created by the dedicated Release Worker activation. Its immutable release source is therefore the Release Worker implementation candidate:
71e736b05fab13efc06af7a4fe2dc022c1cf9a85
Later engineering commits are descendants but are not retroactive V2R2C2 release sources:
17deb91ca7a187dc81766945b1174e854f86bd25
capability-contract remediation
b4b4416c93fedbe451d655d49e28f915b8fd38e6
Autonomous Control Plane engineering candidate
Conflating "current engineering base" with "immutable release source" caused ACP activation to
fail closed with FIXED_RELEASE_SOURCE_DRIFT.
Canonical fixed lineage
Task:
r42-release-candidate-v2r2c2-live-20260819
candidate_id:
r42-release-candidate-v2r2c2-20260819
source_commit:
71e736b05fab13efc06af7a4fe2dc022c1cf9a85
version:
V2R2C2
required_capabilities:
["release:candidate"]
This contract is immutable for V2R2C2.
What may change
The following are lifecycle state, not release identity:
status
attempt
max_attempts
revision
claimed_by
lease
verification
They may change through official retry/claim/result/verification without changing the release lineage.
What must never be "repaired"
Do not rewrite the fixed V2R2C2 Task source to a later engineering commit.
A later engineering source that must itself be released receives a later immutable release version (for example V2R2C3), not a mutation of V2R2C2.
Activation invariant
ACP activation must:
- verify its own governed engineering candidate separately;
- read the live fixed V2R2C2 Task;
- validate that Task through
validate_fixed_v2r2c2_task(); - never compare the fixed release source to the ACP engineering base/candidate;
- never mutate the fixed Task merely to satisfy activation.
This makes engineering lineage and release lineage explicit and independently verifiable.