Releases: Digital-Life-Repository-Standard/DLRS
v0.8-asset-architecture — Four-Layer Asset Architecture + Tier System + 5-Stage Assembly
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). Definesgenesis/<asset_id>.genesis.jsonand
encodes the five Topic-1 decisions: base pretrained models as
virtual assets (D1=C); hosted-API use declared but not blocking
(D2=B); gradedreproducibility_levelenum (D3=C); fixed
consent_scopeenum (D4=A); separategenesis/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: truerequires 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]
- 32 negative) wired into
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 assetstaintedinstead
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_afteris 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"requiresmemorial_metadata+frozen: true;
state == "tainted"requirestainted_reason;
action == "state_changed"requiresfrom_state+to_state;
supersedes.maxItems: 1enforces fork-yes / merge-no statically.
Post-review tightening:elseclause forcesmemorial_metadata
to null on non-memorial states;mutation_log_refpattern uses
the same..-rejection lookahead aslife-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 (memorialelseclause +..path-traversal
rejection onmutation_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). Definesbinding/runtime_binding.jsonand
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 ispolicy/hosted_api.jsonfrom v0.6). [#103]schemas/binding.schema.json— JSON Schema for the binding file
format (dlrs-life-binding/0.1).patternPropertiesenforce both
the capability-name hybrid vocabulary and the hard-constraints
hybrid keyspace;additionalProperties: falsemakes 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 forproviders_whitelist_refpath-traversal (added
in #111 review fix-up) and eight more cases (6 negative + 2 happy)
for path-traversal rejection onsurface.ui_hints.avatar_image_ref
andsurface.ui_hints.background_audio_ref, applying the same
cross-schema convention. [#103]
- 52 negative) wired into
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.7verification_level
totier.dimensions.identity_verification. [#104]schemas/tier.schema.json— JSON Schema for the v0.8 tier block
(dlrs-life-tier/0.1shape via$defs). 12allOf/if-then
rules bindscoreranges to Roman-numerallevelvalues;
computed_bypattern requires<path>@<semver>so hand-rolled
tier blocks fail validation. Standalone for v0.8; integration into
life-package.schema.jsondeferred 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.mdso 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
oncomputed_by. Wired intotools/batch_validate.py. [#104]
- 55 negative) covering both ends of every score → level range,
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
LifeCapabilityProviderinterface, 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-leveltierproperty referencing inlined$defs.tier_block+
$defs.tier_dimensions(copied verbatim from
schemas/tier.schema.jsonso offline validators do not need to
resolve cross-file$ref). Marksverification_levelas deprecated
in description text (remains REQUIRED for v0.1 back-compat). 10 new
sanity cases intools/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-rolledcomputed_byrejection, score out of range,
off-enum dimension, missing required dimension, unknown tier field.tools/build_life_package.pyv0.2 — auto-computes thetierblock
from the staged package: maps v0.7verification_levelto v0.8
identity_verificationperdocs/LIFE_TIER_SPEC.md§6, infers
asset_completenessfrom 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-tierescape hatch for
emitting v0.7-shaped descriptors.computed_byis stamped with the
mandatory@<version>separator so hand-rolled tier blocks fail
schema validation.docs/LIFE_FILE_STANDARD.md— adds thetierrow to the
top-level descriptor table and marksverification_levelas
deprecated in v0.8, pointing atdocs/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...
v0.6.0 — Memory Atoms, Knowledge Graph, Audit Bridge & Hosted-API Gate
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.mdrefreshed 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.pyextended 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.pyonce on each of Python 3.11 and
3.12;tools/batch_validate.pyinvokes it as thepipelinesstep
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
exercisestext→memory_atoms→knowledge_graphend-to-end on a
fictional 3-paragraph diary excerpt, prints the resulting
hash-chainedaudit/events.jsonl, and demonstrates how each
descriptor'saudit_event_refresolves to its line. Deterministic
backends only (paragraph atomiser, regex extractor); zero hosted-API
calls.tools/test_memory_graph_demo.pyvalidates 8 expected
artefacts, every descriptor, the 3-event hash chain, and back-fill
consistency. Wired intotools/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-scopedpolicy/hosted_api.jsondocument
that declaresopt_in: true, anallowed_providerswhitelist, an
allowed_pipelineswhitelist, aconsent_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 statictools/validate_pipelines.pyban on
hosted-API imports continues to pass. (#59, this PR)tools/test_hosted_api_policy.pycovers 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, andlist_allowed_providers
consistency. Wired intotools/batch_validate.py(now 15 steps)
and the pipelines CI matrix. (#59, this PR)pipelines/_audit_bridge.py— descriptor →audit/events.jsonlbridge.
Every pipeline (asr / text / vectorization / moderation / memory_atoms /
knowledge_graph) now appends onederived_asset_emittedevent per
emitted descriptor and back-fills the descriptor'saudit_event_ref
with a stableaudit/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-auditflag 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.pycovering: event append, schema
compliance, hash chain across two pipelines, descriptor back-fill,
--no-auditskip, and silent-no-op when the record has no
manifest.json. Wired intotools/batch_validate.py(14 steps) and
the pipelines CI matrix. (#58, this PR)
Changed
schemas/audit-event.schema.json::event_type.enumextended with
derived_asset_emitted. The eight v0.4 lifecycle events are unchanged;
the new value is additive andadditionalProperties: falseon 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
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.mdv0.5 entrydocs/PIPELINE_GUIDE.md§2.2 text + §2.4 moderationROADMAP.mdv0.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.mdlines 18 (header summary) and 69 (build-pipelines completed list)ROADMAP.mdline 149 (v0.5 text-pipeline summary)
Issues / PRs closed
Validation
tools/batch_validate.py --report-dir reports → 11/11 passed.
Compare
v0.5.0 — Offline-First Build Pipeline Release
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__.py—PipelineSpecregistry + dispatcher.pipelines/_descriptor.py— sharedDescriptorBuilderthat emits
<output>.descriptor.jsonvalidated against
schemas/derived-asset.schema.json.pipelines/asr/—dummy(deterministic, no model) andfaster-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 carriesrule_name + start/end + replacementonly and is
auditable without re-leaking matched substrings.pipelines/vectorization/— paragraph-aware chunking with absolute char
offsets,hash(deterministic 64-D) andsentence-transformersbackends,
optional Qdrant push (backendandmodel_idstored 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-filefor 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 forexamples/asr-demo.schemas/derived-asset.schema.json— provenance descriptor schema
(schema_version/derived_id/record_id/ top-levelpipeline+
pipeline_version/actor_role/inputs.{source_pointers,inputs_hash}
/output.{path,outputs_hash}/ optionalmodel.{id,version?,source?, online_api_used: false}(required when pipeline isasror
vectorization) / optionalmoderation_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: dedicatedpipelinesjob parallel to
validate, matrix over Python 3.11 and 3.12.
Changed
tools/batch_validate.py: collapsed the four per-pipeline tests into a
singlepipelinesstep delegating totools/test_pipelines.py, then
addedasr_demofor the end-to-end fixture. Local report:
11/11 passed.docs/GAP_ANALYSIS.mdanddocs/IMPLEMENTATION_STATUS.mdrewritten to
reflect v0.5 (overall completion ~83%).ROADMAP.md: v0.5 marked as released, with theCloses #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
DLRS v0.4.0 — Governance & Compliance Tooling
Released via PR #27. Closes the v0.4 milestone (issues #17–#26).
Highlights:
- Schema:
manifest.public_disclosureis now machine-checked for anypublic_*visibility (covers EU AI Act §50 and 中国深度合成办法 declaration obligations) - Audit:
tools/emit_audit_event.pywrites append-onlyaudit/events.jsonlwith SHA-256 hash chain;schemas/audit-event.schema.jsontightened to 8 canonical event types + custom - Registry:
tools/build_registry.pynow emits a staticregistry/index.html(zero JS, inline CSS) replacing the planned interactive review console - Validation:
tools/batch_validate.pyaggregates every validator intoreports/validate_<utc-ts>.json; CI uploads it as an artefact - Repo hygiene:
.gitattributesLFS routing +docs/LFS_GUIDE.md - Compliance:
docs/COMPLIANCE_CHECKLIST.mdmaps 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
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)
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:
.lifearchive file format — the distribution unit, a packaged- signed subset of a DLRS v0.6 record.
.liferuntime protocol — how compatible runtimes load + execute
a.lifeto 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.lifearchive
file-format specification (life-format v0.1.0). Defines.lifeas a
zip with mandatory directories (manifest/,consent/,policy/,
audit/,derived/) plus optional (pointers/,encrypted/); two
modes (pointerprivacy-preserving andencryptedoff-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
(.lifeis 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_atrefusal-to-continue, no cross-.lifememory mixing);
termination triggers; prohibited behaviours; conformance clauses;
ethical boundaries. PR #93. [#84]schemas/life-package.schema.json— contract forlife-package.json
inside every.life. Draft 2020-12; pointer/encrypted bi-conditional;
memorial → executor bi-conditional; sha256 hex case-insensitive;
forbidden_uses[]must includefraud,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 → appendpackage_emittedaudit event → sha256 inventory
→ writelife-package.json→ schema-validate → deterministic zip).
--mode encryptedis 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 intotools/batch_validate.pyas step
minimal_life_package(now 18/18). PR #98. [#83]audit-event.schema.json::event_type.enumaddspackage_emitted
(used by the.lifebuilder when appending to the source record's
audit/events.jsonl). Backward-compatible additive change; mirrors
v0.6'sderived_asset_emittedpattern. 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.lifeinstances (not real
human resurrection; must be revocable, auditable, always identifiable
as an AI instance). PR #94. [#85] ROADMAP.mdintroduces two independent semver tracks decoupled from
the repo's v0.x.y: "Track A —.lifeArchive Standard"
(life-format v0.1.0 / v0.2.0 / v0.3.0) and "Track B —.lifeRuntime
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.mdrefreshed to
reflect the new.lifedual-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.liferuntime / encrypted-mode / signing
gaps. Overall completion adjusted from 88% to ~80% to reflect the
expanded scope. PR (this PR). [#87]CHANGELOG.mdv0.7-vision-shift entry promoted from Draft to release.
Changed
- DLRS ULTIMATE positioning shifts from "Git-shaped repo standard" to
".lifearchive file format + runtime protocol dual standard".
Existing v0.6 record structure remains the canonical authoring
surface;.lifeis the portable distribution unit packaged from a
consented subset of that record. audit-event.schema.json::event_type.enumextended additively
(package_emitted); existing event types' semantics unchanged.- README / ROADMAP framing language across the repo updated to make
the.lifedual-standard the headline claim.
Closes
- #80 — housekeeping (PR #88)
- #81 —
docs/LIFE_FILE_STANDARD.md(PR #89) - #82 —
schemas/life-package.schema.json+ 54 sanity tests (PR #92) - #83 —
examples/minimal-life-package/+tools/build_life_package.py
(PR #98) - #84 —
docs/LIFE_RUNTIME_STANDARD.md(PR #93) - #85 — README first-screen
.liferepositioning (PR #94) - #86 —
ROADMAP.md.lifeArchive + Runtime Standard tracks (PR #95) - #87 —
IMPLEMENTATION_STATUS+GAP_ANALYSISreflect 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 #Non 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.pyMUST 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
🎉 DLRS Hub v0.2.0 首次公开发布
核心特性
✅ 完整的标准体系
- DLRS 标准规范 v0.2
- 机器可校验的 JSON Schema
- 完善的目录结构规范
✅ 模板和工具
- 多种档案类型模板(自有、授权代理、纪念档案等)
- 自动化校验工具
- 索引构建脚本
✅ 合规和治理
- 完整的隐私政策和合规指南
- 多层审核机制
- 投诉和下架流程
✅ 示例档案
- 4个完整的示例档案
- 详细的上传指南
- FAQ和参考文档
重要提醒
- 由目标法域律师审核相关政策
- 确认符合当地隐私法规(GDPR、CCPA等)
- 建立完善的安全和投诉处理机制
快速开始
# 克隆仓库
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