Skip to content

v0.8-asset-architecture — Four-Layer Asset Architecture + Tier System + 5-Stage Assembly

Latest

Choose a tag to compare

@devin-ai-integration devin-ai-integration released this 27 Apr 00:27
1765230

This release ships the v0.8-asset-architecture epic
(#106) —
the four-layer asset architecture (Genesis / Lifecycle / Binding / Tier) plus
the 5-stage assembly pipeline added as Part B of the runtime spec.

Shipped via 6 sub-issue PRs (#107 / #108 / #110 / #111 / #113 / #115) + 4
post-merge review follow-ups (#109 / #112 / #114 / #116) + close-out
integration PR (#117) + README / spec-header sync PR (#118).

See the bundled CHANGELOG stanza below for the full change list.


v0.8-asset-architecture (2026-04-26)

Status: Released. v0.8 closes the four asset-architecture gaps left
by v0.7-vision-shift: provenance (Genesis), evolution (Lifecycle),
consumption (Binding), and orchestration (Assembly), plus a
multi-dimensional tier system that replaces v0.7's single-axis
verification_level.

Tracked in epic
#106
(closed). Sub-issues #100#105 all merged; four post-merge review
follow-ups (#109, #112, #114, #116) merged alongside. Final integration
step (this release) folds the tier block into life-package.schema.json
and teaches tools/build_life_package.py to auto-compute it from
package contents, completing the v0.8 spec → builder loop.

Added

  • docs/LIFE_ASSET_ARCHITECTURE.md — authoritative human-readable
    record of the four-topic architecture discussion (Genesis /
    Lifecycle / Binding / Tier / Assembly). Single overview document
    capturing all final decisions, design rationale, cross-topic
    dependencies, the Schema D Cosmic Evolution naming registry
    (Quark → Singularity), the memorial dispute period (7-day
    reverse-attestation window), and a "rejected alternatives"
    appendix preserving institutional memory of options considered and
    declined. Entry point for sub-issues #101#105 which deliver the
    per-topic normative specs and schemas. [#100]
  • docs/LIFE_GENESIS_SPEC.md — per-topic normative spec for Topic 1
    (Asset Genesis). Defines genesis/<asset_id>.genesis.json and
    encodes the five Topic-1 decisions: base pretrained models as
    virtual assets (D1=C); hosted-API use declared but not blocking
    (D2=B); graded reproducibility_level enum (D3=C); fixed
    consent_scope enum (D4=A); separate genesis/ directory (D5=B).
    #101
  • schemas/genesis.schema.json — JSON Schema for the genesis file
    format (dlrs-life-genesis/0.1). Conditional rule:
    compute.hosted_api_used: true requires at least one entry in
    compute.hosted_api_providers[]. #101
  • tools/test_genesis_schema.py — 36 sanity-test cases (4 happy-path
    • 32 negative) wired into tools/batch_validate.py. #101
  • docs/LIFE_LIFECYCLE_SPEC.md — per-topic normative spec for Topic 2
    (Asset Lifecycle). Defines four document shapes
    (package_lifecycle, asset_lifecycle, mutation_event,
    cascade_index) and encodes the five Topic-2 decisions: dual
    human/machine identity (D1=D); forks allowed, merges forbidden
    (D2=C); withdrawal cascade marks derived assets tainted instead
    of deleting (D3=B); memorial trigger from executor / next-of-kin /
    court order with 7-day reverse-attestation window (D4=C+(a)+(c));
    recommended_re_consent_after is a soft hint that never blocks
    (D5=C). #102
  • schemas/lifecycle.schema.json — JSON Schema exporting four
    reusable shapes via $defs. Conditional rules: lifecycle_state == "memorial" requires memorial_metadata + frozen: true;
    state == "tainted" requires tainted_reason;
    action == "state_changed" requires from_state + to_state;
    supersedes.maxItems: 1 enforces fork-yes / merge-no statically.
    Post-review tightening: else clause forces memorial_metadata
    to null on non-memorial states; mutation_log_ref pattern uses
    the same ..-rejection lookahead as life-package.schema.json.
    #102
  • tools/test_lifecycle_schema.py — 42 sanity-test cases (9
    happy-path + 33 negative) covering all four shapes, wired into
    tools/batch_validate.py. The 42 reflects the post-merge fixes
    applied in #110 (memorial else clause + .. path-traversal
    rejection on mutation_log_ref) plus the asset_id pattern fix
    in #112. #102
  • docs/LIFE_BINDING_SPEC.md — per-topic normative spec for Topic 3
    (Runtime Binding). Defines binding/runtime_binding.json and
    encodes the four locked Topic-3 decisions: hybrid capability
    vocabulary (D1=C, ~20 core enum + x- extension); issuer-self
    -decided engine strictness (D2=C, strict: true | false); hybrid
    hard-constraints keys with runtime fail-close on unknown keys
    (D4=C); AND-gate hosted-API decision (D5=A, issuer half only —
    user half is policy/hosted_api.json from v0.6). #103
  • schemas/binding.schema.json — JSON Schema for the binding file
    format (dlrs-life-binding/0.1). patternProperties enforce both
    the capability-name hybrid vocabulary and the hard-constraints
    hybrid keyspace; additionalProperties: false makes unknown
    non-x- keys reject statically (decision D4=C fail-close at schema
    layer). #103
  • tools/test_binding_schema.py — 63 sanity-test cases (11 happy-path
    • 52 negative) wired into tools/batch_validate.py. The 63 includes
      three negatives for providers_whitelist_ref path-traversal (added
      in #111 review fix-up) and eight more cases (6 negative + 2 happy)
      for path-traversal rejection on surface.ui_hints.avatar_image_ref
      and surface.ui_hints.background_audio_ref, applying the same
      cross-schema convention. #103
  • docs/LIFE_TIER_SPEC.md — per-topic normative spec for Topic 3
    (Tier System). Defines a six-dimensional credit rating
    (identity_verification, asset_completeness,
    consent_completeness, detail_level, audit_chain_strength,
    jurisdiction_clarity), a normative weighted-score formula
    (consent + identity ×2, others ×1), 12 score → level boundaries
    (I–XII), and a back-compat mapping from v0.7 verification_level
    to tier.dimensions.identity_verification. #104
  • schemas/tier.schema.json — JSON Schema for the v0.8 tier block
    (dlrs-life-tier/0.1 shape via $defs). 12 allOf / if-then
    rules bind score ranges to Roman-numeral level values;
    computed_by pattern requires <path>@<semver> so hand-rolled
    tier blocks fail validation. Standalone for v0.8; integration into
    life-package.schema.json deferred to a follow-on PR. #104
  • docs/appendix/TIER_NAMING_SCHEMA_D.md — versioned naming
    appendix listing the 12 Schema D tiers (Cosmic Evolution: Quark →
    Singularity), their canonical names, glyphs, score ranges, and
    cosmological reading. The appendix is decoupled from
    LIFE_TIER_SPEC.md so future naming schemes can ship without a
    spec major bump. #104
  • tools/test_tier_schema.py — 81 sanity-test cases (26 happy-path
    • 55 negative) covering both ends of every score → level range,
      every score → level mismatch boundary, every required-field
      removal, every dimension off-enum, and the auto-computation guard
      on computed_by. Wired into tools/batch_validate.py. #104
  • docs/LIFE_RUNTIME_STANDARD.md — appends Part B with normative
    v0.8 additions for Topic 4 (Runtime / Assembly): the five-stage
    assembly pipeline (Verify / Resolve / Assemble / Run / Guard),
    the Provider Registry concept, the abstract
    LifeCapabilityProvider interface, the three-tier sandbox class
    (built_in / user_installed / bundled_in_life), the
    hosted-API AND-gate, and the OS-package-manager bootstrap rule.
    Encodes Topic 4 decisions D1=C (graded sandbox), D2=B (no
    bundled providers in v0.8), D3=mixed (offline + hosted both
    first-class), D4=C (three-field surface — already in binding
    spec), D5=C (OS package manager bootstrap), and the new D6
    (fail-close stage gating). Adds four new audit event types:
    capability_bound, assembly_aborted, withdrawal_poll (reuse of
    the v0.7 event with a v0.8 field requirement), and
    lifecycle_transition_observed. Part A (the v0.7 eight-step
    load sequence) is unchanged. #105
  • schemas/life-package.schema.json — v0.8 integration: adds optional
    top-level tier property referencing inlined $defs.tier_block +
    $defs.tier_dimensions (copied verbatim from
    schemas/tier.schema.json so offline validators do not need to
    resolve cross-file $ref). Marks verification_level as deprecated
    in description text (remains REQUIRED for v0.1 back-compat). 10 new
    sanity cases in tools/test_life_package_schema.py (64 total, up
    from 54): tier omitted (back-compat), tier present (consistent
    score/level), lowest / highest boundary, score↔level mismatch
    rejection, hand-rolled computed_by rejection, score out of range,
    off-enum dimension, missing required dimension, unknown tier field.
  • tools/build_life_package.py v0.2 — auto-computes the tier block
    from the staged package: maps v0.7 verification_level to v0.8
    identity_verification per docs/LIFE_TIER_SPEC.md §6, infers
    asset_completeness from capability-bearing top-level directories,
    defaults the remaining four dimensions conservatively, applies
    weighted-average scoring (identity & consent ×2, others ×1), and
    bands the result into the 12 Schema D tiers. Adds six
    --tier-<dim> CLI overrides and a --no-tier escape hatch for
    emitting v0.7-shaped descriptors. computed_by is stamped with the
    mandatory @<version> separator so hand-rolled tier blocks fail
    schema validation.
  • docs/LIFE_FILE_STANDARD.md — adds the tier row to the
    top-level descriptor table and marks verification_level as
    deprecated in v0.8, pointing at docs/LIFE_TIER_SPEC.md §6 for the
    migration mapping.

Changed

  • docs/IMPLEMENTATION_STATUS.md — bumped to doc version 6.0 with a
    new v0.8 increment summary; overall maturity adjusted from ~80% to
    ~82% (Asset Architecture + Tier + Assembly spec deltas).
  • docs/GAP_ANALYSIS.md — baseline moved to post-#106; .life
    Archive Standard maturity 70% → 82%, .life Runtime Standard
    30% → 45%; overall 80% → 82%.
  • ROADMAP.md — marks life-format v0.1.0 and life-runtime v0.1
    as Delivered; adds life-format v0.1.1 (Asset Architecture) and
    life-runtime v0.1.1 (Assembly) rows as Delivered under
    v0.8-asset-architecture; reference runtime deferral moved from
    v0.8+ to v0.9+.