Handbook
Artifact envelope extensions (FI Phase 1)
Backward-compatible optional fields for cross-node handoffs. Base validation still uses the immutable bundle schema (bundles/.../artifact-envelope.schema.json). When any extension key is present, FI also validates…
Updated
Optional extension keys
| Key | Purpose |
|---|---|
uncertainty |
Stated confidence / interval for downstream gating |
blockers |
Unresolved issues that must propagate through fan-in |
consent |
Subject consent basis and scope |
retention |
TTL, policy id, legal hold |
validity_interval |
valid_from / valid_until for time-bound artifacts |
supersession |
Lineage when an artifact replaces another |
Validation
from forge_intelligence.artifacts.validate import validate_envelope, validate_envelope_extensions
ok, errors = validate_envelope(envelope)
ok_ext, ext_errors = validate_envelope_extensions(envelope)
validate_envelope — required bundle fields only (unchanged).
validate_envelope_extensions — no-op pass when no extension keys present; otherwise
validates only the extension subset.
Construction
create_envelope(..., uncertainty=..., blockers=..., consent=..., retention=..., validity_interval=..., supersession=...)
Omitted parameters are not emitted (backward compatible).
Related
- SESSION-DATA-GOVERNANCE.md
- Governance FI-P0-009