Skip to content

Releases: Digital-Life-Repository-Standard/DLRS

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

27 Apr 00:27
1765230

Choose a tag to compare

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 Stand...
Read more

v0.6.0 — Memory Atoms, Knowledge Graph, Audit Bridge & Hosted-API Gate

27 Apr 00:27
0a8790d

Choose a tag to compare

v0.6.0 (2026-04-26)

Status: Released. Builds on the v0.5 offline-first build pipelines with
memory atoms, a knowledge-graph extraction pipeline, a descriptor → audit
event bridge, and an opt-in hosted-API policy gate. Epic
#52
landed in 11 sub-PRs (#64#75) under the v0.5 governance "one issue = one
PR, Closes #N on its own line" rule. Overall completion: ~88%.

Source of truth for these notes is the
v0.6.0 GitHub Release.

Added

  • docs/PIPELINE_GUIDE.md refreshed to v0.6: new §2.5 (memory_atoms),
    §2.6 (knowledge_graph), §3 (descriptor → audit bridge), §4
    (hosted-API opt-in policy gate). §6 author-a-pipeline checklist
    extended with the audit-bridge and hosted-API gate steps. §7 "what
    v0.6 deliberately is not" replaces the v0.5 equivalent. §8 references
    list now includes every v0.6 schema, module, and demo. (#62, this PR)
  • tools/test_pipelines.py extended into the umbrella driver for the
    full DLRS pipeline test suite. Per-pipeline tests (asr / text /
    vectorization / moderation / memory_atoms / knowledge_graph) and the
    v0.6 cross-cutting tests (descriptor → audit bridge, hosted-API
    opt-in policy gate, memory-graph end-to-end demo) are now dispatched
    from a single entry point. The CI pipelines matrix invokes
    python tools/test_pipelines.py once on each of Python 3.11 and
    3.12; tools/batch_validate.py invokes it as the pipelines step
    while still listing the cross-cutting tests individually so a
    failure surfaces against a meaningful step name. (#61, this PR)
  • examples/memory-graph-demo/ — fully runnable v0.6 walkthrough that
    exercises textmemory_atomsknowledge_graph end-to-end on a
    fictional 3-paragraph diary excerpt, prints the resulting
    hash-chained audit/events.jsonl, and demonstrates how each
    descriptor's audit_event_ref resolves to its line. Deterministic
    backends only (paragraph atomiser, regex extractor); zero hosted-API
    calls. tools/test_memory_graph_demo.py validates 8 expected
    artefacts, every descriptor, the 3-event hash chain, and back-fill
    consistency. Wired into tools/batch_validate.py (now 16 steps) and
    the pipelines CI matrix. (#60, this PR)
  • schemas/hosted-api-policy.schema.json + pipelines/_hosted_api.py
    per-record opt-in policy gate for hosted (online) AI APIs. Default DLRS
    remains offline-first; the only way to authorise a hosted-API code
    path is to commit a record-scoped policy/hosted_api.json document
    that declares opt_in: true, an allowed_providers whitelist, an
    allowed_pipelines whitelist, a consent_evidence_ref, and an
    [issued_at, expires_at) window. pipelines._hosted_api.assert_allowed
    refuses to authorise any combination outside the policy and raises
    HostedApiNotAllowed. Pipelines lazy-import the SDK inside the
    gated branch so the static tools/validate_pipelines.py ban on
    hosted-API imports continues to pass. (#59, this PR)
  • tools/test_hosted_api_policy.py covers schema golden + 6 negative
    schema cases, default-deny when no policy file, opt_in=false
    short-circuit, provider/pipeline whitelists, [issued_at, expires_at)
    bounds, malformed-JSON refusal, and list_allowed_providers
    consistency. Wired into tools/batch_validate.py (now 15 steps)
    and the pipelines CI matrix. (#59, this PR)
  • pipelines/_audit_bridge.py — descriptor → audit/events.jsonl bridge.
    Every pipeline (asr / text / vectorization / moderation / memory_atoms /
    knowledge_graph) now appends one derived_asset_emitted event per
    emitted descriptor and back-fills the descriptor's audit_event_ref
    with a stable audit/events.jsonl#L<n> reference. The bridge reuses
    the v0.4 emitter's hash-chain and schema validation, so audit
    integrity carries over unchanged. (#58, this PR)
  • --no-audit flag on every pipeline CLI for fixture / dry-run
    invocations that must not produce an audit log entry. (#58, this PR)
  • tools/test_descriptor_audit_bridge.py covering: event append, schema
    compliance, hash chain across two pipelines, descriptor back-fill,
    --no-audit skip, and silent-no-op when the record has no
    manifest.json. Wired into tools/batch_validate.py (14 steps) and
    the pipelines CI matrix. (#58, this PR)

Changed

  • schemas/audit-event.schema.json::event_type.enum extended with
    derived_asset_emitted. The eight v0.4 lifecycle events are unchanged;
    the new value is additive and additionalProperties: false on the
    enum still excludes any other custom strings. (#58, this PR)

Closes

  • #53 (housekeeping; PR #64)
  • #54 (memory-atom schema; PR #65)
  • #55 (entity-graph node + edge schemas; PR #66)
  • #56 (memory_atoms pipeline; PR #67)
  • #57 (knowledge_graph pipeline; PR #69)
  • #70 (knowledge_graph regex newline fix; PR #71)
  • #58 (descriptor → audit bridge; PR #72)
  • #59 (hosted-API opt-in policy gate; PR #73)
  • #60 (memory-graph demo; PR #74)
  • #61 (pipeline tests + CI integration; PR #75)
  • #62 (PIPELINE_GUIDE + GAP/STATUS/ROADMAP/CHANGELOG/README refresh; this PR)

v0.5.1 — Documentation patch release

26 Apr 08:57
46ff1b4

Choose a tag to compare

Patch release on top of v0.5.0.

Documentation-only — no schema, code, behaviour, governance, or CI changes.
Pure consistency fixes for the v0.5.0 release notes that were caught by Devin
Review on PR #49 after v0.5.0 was already tagged.

What changed

PR #51 corrected two long-lived status docs that contradicted the v0.5 code:

1. redactions.json / moderation.json field name

The schema-of-truth is pipelines/text/cleaning.py:90-96:

def to_dict(self) -> dict:
    return {
        "kind": self.kind,
        "start": self.start,
        "end": self.end,
        "replacement": self.replacement,
    }

The field is kind, not rule_name. Same gotcha in moderation:
pipelines/moderation/policies.py:83-89 Flag.to_dict() emits
{rule, category, severity, start, end} — also not rule_name.

Updated:

  • CHANGELOG.md v0.5 entry
  • docs/PIPELINE_GUIDE.md §2.2 text + §2.4 moderation
  • ROADMAP.md v0.5 sub-issue summary

2. Phantom redaction patterns ("IBAN, IPv6, passport")

pipelines/text/cleaning.py:101-143 implements exactly seven patterns:
url_with_credentials, email, id_cn, phone_cn, ipv4,
credit_card_like, phone_generic.

There is no IBAN, no IPv6, no passport redaction anywhere in the pipeline.
The English CHANGELOG was fixed during PR #49 review, but the Chinese
long-lived docs were missed. Updated:

  • docs/IMPLEMENTATION_STATUS.md lines 18 (header summary) and 69 (build-pipelines completed list)
  • ROADMAP.md line 149 (v0.5 text-pipeline summary)

Issues / PRs closed

  • Closes #50 (via PR #51, merged into master before this tag)

Validation

tools/batch_validate.py --report-dir reports11/11 passed.

Compare

v0.5.0...v0.5.1

v0.5.0 — Offline-First Build Pipeline Release

26 Apr 08:44
481c2b7

Choose a tag to compare

v0.5 Draft (2026-04-26)

Status: RFC. Introduces the v0.5 offline-first build pipelines (ASR / text /
vectorization / moderation), a derived-asset provenance schema, and the
single-entrypoint pipeline CLI. No breaking changes to v0.4 manifests; the new
pipelines write everything under derived/<name>/ so existing records are
untouched until a pipeline is explicitly run against them.

Added

  • pipelines/ directory with the v0.5 pipeline contract:
    • pipelines/__init__.pyPipelineSpec registry + dispatcher.
    • pipelines/_descriptor.py — shared DescriptorBuilder that emits
      <output>.descriptor.json validated against
      schemas/derived-asset.schema.json.
    • pipelines/asr/dummy (deterministic, no model) and faster-whisper
      (lazy-imported, opt-in) backends.
    • pipelines/text/ — NFKC normalisation + conservative redaction
      (priority order: URLs with embedded credentials, emails, CN ID
      cards, CN mobile phones, IPv4 addresses, credit-card-like 13–19
      digit runs, generic phone numbers). Replacements use stable
      category placeholders (<EMAIL>, <PHONE_CN>, <ID_CN>, <IPV4>,
      <CARD>, <PHONE>, <URL_WITH_CREDENTIALS>). redactions.json
      sidecar carries rule_name + start/end + replacement only and is
      auditable without re-leaking matched substrings.
    • pipelines/vectorization/ — paragraph-aware chunking with absolute char
      offsets, hash (deterministic 64-D) and sentence-transformers backends,
      optional Qdrant push (backend and model_id stored as separate
      payload keys so downstream filters work without ambiguity).
    • pipelines/moderation/ — deterministic regex/wordlist policy with
      severity-based outcome aggregation (pass | flag | block). Built-in
      v0.5 policy + --policy-file for JSON/YAML overrides. Flags carry
      rule + span only, never the matched substring.
  • tools/run_pipeline.py — single CLI entrypoint (python tools/run_pipeline.py <name> --record path/to/record …) shared by every pipeline.
  • tools/validate_pipelines.py — static guard: enforces the
    derived/<spec.name>/ output-prefix invariant and refuses any module that
    imports a hosted-API client (openai, anthropic, google.generativeai,
    cohere, aliyun_sdk_bailian, …). This is what turns "offline-first" into
    machine-checked policy.
  • tools/test_pipelines.py — umbrella test driver. Runs the four
    per-pipeline test scripts as subprocesses so an import failure in one
    pipeline cannot mask test results in another.
  • tools/test_asr_demo.py — end-to-end test for examples/asr-demo.
  • schemas/derived-asset.schema.json — provenance descriptor schema
    (schema_version / derived_id / record_id / top-level pipeline +
    pipeline_version / actor_role / inputs.{source_pointers,inputs_hash}
    / output.{path,outputs_hash} / optional model.{id,version?,source?, online_api_used: false} (required when pipeline is asr or
    vectorization) / optional moderation_outcome).
  • examples/asr-demo/ — self-contained fixture record. run_demo.sh
    regenerates a deterministic placeholder WAV (DLRS is pointer-first so
    audio is never committed) and walks all four pipelines end-to-end with
    no model download.
  • docs/PIPELINE_GUIDE.md — companion to the example. Covers the contract,
    the descriptor, every pipeline's CLI, authoring guide, and what v0.5
    deliberately is not.
  • .github/workflows/validate.yml: dedicated pipelines job parallel to
    validate, matrix over Python 3.11 and 3.12.

Changed

  • tools/batch_validate.py: collapsed the four per-pipeline tests into a
    single pipelines step delegating to tools/test_pipelines.py, then
    added asr_demo for the end-to-end fixture. Local report:
    11/11 passed.
  • docs/GAP_ANALYSIS.md and docs/IMPLEMENTATION_STATUS.md rewritten to
    reflect v0.5 (overall completion ~83%).
  • ROADMAP.md: v0.5 marked as released, with the Closes #N-per-PR
    governance rule appended to the v0.5 section so future major versions
    inherit it.

Closes

#28 (epic), #29, #30, #31, #32, #33, #34, #35, #36, #37, #38.


Sub-issues closed by this epic

#28 (epic), #29, #30, #31, #32, #33, #34, #35, #36, #37, #38.

Validation

tools/batch_validate.py --report-dir reports -> 11/11 passed.

Compare

v0.4.0...v0.5.0

DLRS v0.4.0 — Governance & Compliance Tooling

26 Apr 05:12
851547e

Choose a tag to compare

Released via PR #27. Closes the v0.4 milestone (issues #17#26).

Highlights:

  • Schema: manifest.public_disclosure is now machine-checked for any public_* visibility (covers EU AI Act §50 and 中国深度合成办法 declaration obligations)
  • Audit: tools/emit_audit_event.py writes append-only audit/events.jsonl with SHA-256 hash chain; schemas/audit-event.schema.json tightened to 8 canonical event types + custom
  • Registry: tools/build_registry.py now emits a static registry/index.html (zero JS, inline CSS) replacing the planned interactive review console
  • Validation: tools/batch_validate.py aggregates every validator into reports/validate_<utc-ts>.json; CI uploads it as an artefact
  • Repo hygiene: .gitattributes LFS routing + docs/LFS_GUIDE.md
  • Compliance: docs/COMPLIANCE_CHECKLIST.md maps PIPL / GDPR / EU AI Act / 中国深度合成办法 clauses to manifest fields and validators
  • Examples: examples/minor-protected/, examples/estate-conflict-frozen/ (registry-excluded by design)
  • CI: separate non-blocking docs job (markdownlint + lychee)

See CHANGELOG.md for the full delta.

DLRS v0.3.0 — Minimum Viable Repository

26 Apr 05:12
57a88ed

Choose a tag to compare

Released via PR #16. Closes the v0.3 milestone (issues #6#15).

Highlights:

  • Restored CI pipeline (.github/workflows/validate.yml)
  • Tightened JSON Schemas (manifest, pointer, consent, public-profile, audit-event, registry-entry)
  • New docs: COLLECTION_STANDARD.md, OBJECT_STORAGE_POINTERS.md, HIGH_FIDELITY_GUIDE.md
  • New tools: validate_media.py (ffprobe), test_registry.py (12 cases), lint_schemas.py, validate_examples.py, upload_to_storage.py, estimate_costs.py
  • Replaced placeholder URLs/emails; rewrote PR / Issue templates

See CHANGELOG.md for the full delta.

v0.7-vision-shift — .life File Format + Runtime Protocol (Dual Standard)

27 Apr 00:27
c7a8ed3

Choose a tag to compare

v0.7-vision-shift (2026-04-26)

Status: Released. Repositions DLRS's ULTIMATE from "Digital Life
Repository Standard 数字生命仓库标准" (Git-shaped repo structure standard)
to ".life 可运行数字生命档案文件标准" — a dual standard:

  1. .life archive file format — the distribution unit, a packaged
    • signed subset of a DLRS v0.6 record.
  2. .life runtime protocol — how compatible runtimes load + execute
    a .life to produce an AI digital life instance.

The DLRS Git repo continues to be the canonical authoring place for
v0.6 records. The .life file is the portable distribution unit,
runnable in any compatible runtime (chat / virtual world / 3D / …).

Tracked in epic
#79
under milestone
.life Archive + Runtime Standard (v0.7-vision-shift).
All 8 sub-issues #80#87 closed; PRs #88, #89, #91, #92, #93, #94,
#95, #97, #98 merged.

This epic ships specs + schema + example builder. It does not
ship a working runtime — that is deferred to v0.8+.

Added

  • docs/LIFE_FILE_STANDARD.md — authoritative .life archive
    file-format specification (life-format v0.1.0). Defines .life as a
    zip with mandatory directories (manifest/, consent/, policy/,
    audit/, derived/) plus optional (pointers/, encrypted/); two
    modes (pointer privacy-preserving and encrypted off-grid full pack);
    mandatory metadata fields (mode, record_id, issued_by,
    consent_evidence_ref, verification_level, withdrawal_endpoint,
    runtime_compatibility, ai_disclosure, forbidden_uses,
    audit_event_ref, contents, expires_at); ethical boundaries
    (.life is not resurrection, instance must always be identifiable
    as AI, must be revocable and auditable). PR #89 + post-merge fix
    PR #91 (eight-entries miscount). [#81 / #90]
  • docs/LIFE_RUNTIME_STANDARD.md — authoritative runtime protocol
    spec (life-runtime v0.1). Defines the 8-step load sequence (verify
    schema → verify time window → verify integrity → verify audit chain
    → resolve consent → poll withdrawal endpoint → mount → expose
    identity / withdrawal / audit hooks); runtime obligations (visible
    AI disclosure, forbidden_uses[] refusal, ≥ 24h withdrawal poll,
    expires_at refusal-to-continue, no cross-.life memory mixing);
    termination triggers; prohibited behaviours; conformance clauses;
    ethical boundaries. PR #93. [#84]
  • schemas/life-package.schema.json — contract for life-package.json
    inside every .life. Draft 2020-12; pointer/encrypted bi-conditional;
    memorial → executor bi-conditional; sha256 hex case-insensitive;
    forbidden_uses[] must include fraud, political_impersonation,
    sexually_explicit_unconsented; expires_at > created_at;
    contents[] paths reject .. and absolute paths. 54/54 sanity test
    cases pass (tools/test_life_package_schema.py). PR #92 + post-merge
    fix PR #97 (sha256 hex case-insensitivity). [#82 / #96]
  • examples/minimal-life-package/ + tools/build_life_package.py
    reference example record subset (manifest + consent + policy +
    audit seed + derived/memory_atoms + voice pointer) and
    pointer-mode-only builder implementing the §5 authoring workflow
    (stage → append package_emitted audit event → sha256 inventory
    → write life-package.json → schema-validate → deterministic zip).
    --mode encrypted is rejected with a guard message until KMS
    plumbing lands. End-to-end test driver
    (tools/test_minimal_life_package.py) verifies schema validation,
    contents[] matches zip members, audit chain integrity, and that
    two consecutive deterministic builds produce byte-identical
    life-package.json. Wired into tools/batch_validate.py as step
    minimal_life_package (now 18/18). PR #98. [#83]
  • audit-event.schema.json::event_type.enum adds package_emitted
    (used by the .life builder when appending to the source record's
    audit/events.jsonl). Backward-compatible additive change; mirrors
    v0.6's derived_asset_emitted pattern. PR #98. [#83]
  • README first-screen + README.en.md repositioning to make DLRS = .life
    dual standard the headline claim. "What is DLRS?" split into archive
    format / runtime protocol / supporting infrastructure; explicit
    "What is NOT" / "What IS" framing for .life instances (not real
    human resurrection; must be revocable, auditable, always identifiable
    as an AI instance). PR #94. [#85]
  • ROADMAP.md introduces two independent semver tracks decoupled from
    the repo's v0.x.y: "Track A — .life Archive Standard"
    (life-format v0.1.0 / v0.2.0 / v0.3.0) and "Track B — .life Runtime
    Standard" (life-runtime v0.1 / v0.2 / v0.3). Repo v0.x.y continues
    to track tooling + examples + governance. PR #95. [#86]
  • docs/IMPLEMENTATION_STATUS.md + docs/GAP_ANALYSIS.md refreshed to
    reflect the new .life dual-standard ULTIMATE: maturity table adds
    .life Archive Standard (70%) and .life Runtime Standard (30%,
    specs only); GAP_ANALYSIS §0 dedicated to the two new tracks; §13
    rewritten to call out the .life runtime / encrypted-mode / signing
    gaps. Overall completion adjusted from 88% to ~80% to reflect the
    expanded scope. PR (this PR). [#87]
  • CHANGELOG.md v0.7-vision-shift entry promoted from Draft to release.

Changed

  • DLRS ULTIMATE positioning shifts from "Git-shaped repo standard" to
    ".life archive file format + runtime protocol dual standard".
    Existing v0.6 record structure remains the canonical authoring
    surface; .life is the portable distribution unit packaged from a
    consented subset of that record.
  • audit-event.schema.json::event_type.enum extended additively
    (package_emitted); existing event types' semantics unchanged.
  • README / ROADMAP framing language across the repo updated to make
    the .life dual-standard the headline claim.

Closes

  • #80 — housekeeping (PR #88)
  • #81docs/LIFE_FILE_STANDARD.md (PR #89)
  • #82schemas/life-package.schema.json + 54 sanity tests (PR #92)
  • #83examples/minimal-life-package/ + tools/build_life_package.py
    (PR #98)
  • #84docs/LIFE_RUNTIME_STANDARD.md (PR #93)
  • #85 — README first-screen .life repositioning (PR #94)
  • #86ROADMAP.md .life Archive + Runtime Standard tracks (PR #95)
  • #87IMPLEMENTATION_STATUS + GAP_ANALYSIS reflect new ULTIMATE
    (this PR)
  • #90 — post-#89 LIFE_FILE_STANDARD eight-entries miscount fix (PR #91)
  • #96 — post-#92 sha256 hex pattern case-insensitivity fix (PR #97)

Hard rules (continued from v0.5/v0.6)

  • One sub-issue = one PR. PR body MUST contain Closes #N on its own line.
  • No force-push to master, no commit amends, no skipped hooks, no git add ..
  • GitHub CI green is sufficient to merge. Devin Review is async non-blocking.
  • tools/batch_validate.py MUST stay green at every merge.

Ethical positioning (carried into every spec)

.life is not a resurrection technology, not a claim that the AI
instance equals the person, and not a consent-free post-mortem
reanimation tool. .life is a consented, revocable, auditable
digital representation — a signed, time-bounded license to operate an
AI instance under specified constraints, always identifiable as an
AI digital life instance rather than the underlying human.


DLRS Hub v0.2.0 - Initial Public Release

25 Apr 14:54

Choose a tag to compare

🎉 DLRS Hub v0.2.0 首次公开发布

核心特性

完整的标准体系

  • DLRS 标准规范 v0.2
  • 机器可校验的 JSON Schema
  • 完善的目录结构规范

模板和工具

  • 多种档案类型模板(自有、授权代理、纪念档案等)
  • 自动化校验工具
  • 索引构建脚本

合规和治理

  • 完整的隐私政策和合规指南
  • 多层审核机制
  • 投诉和下架流程

示例档案

  • 4个完整的示例档案
  • 详细的上传指南
  • FAQ和参考文档

重要提醒

⚠️ 本项目涉及肖像、声纹、生物识别等敏感数据。正式使用前请务必:

  1. 由目标法域律师审核相关政策
  2. 确认符合当地隐私法规(GDPR、CCPA等)
  3. 建立完善的安全和投诉处理机制

快速开始

# 克隆仓库
git clone https://github.com/LING71671/DLRS.git

# 安装依赖
pip install -r tools/requirements.txt

# 创建新档案
python tools/new_human_record.py --record-id dlrs_xxxxxxxx --display-name "Name" --region asia --country cn

# 验证
python tools/validate_repo.py

文档

贡献

欢迎贡献标准、工具、模板和示例。详见 CONTRIBUTING.md


仓库地址: https://github.com/LING71671/DLRS