BS-JD-209 - Deterministic imported-asset fingerprints #56
Labels
No Label
area:animation
area:assets
area:audio
area:brushes
area:build-release
area:extensions
area:governance
area:hierarchy
area:inspector
area:navigation
area:operators
area:physics
area:project-ux
area:quality
area:rendering
area:runtime
area:scene-io
area:terrain
area:viewport
priority:P0
priority:P1
priority:P2
priority:P3
roadmap:jackdaw
roadmap:production
type:architecture
type:docs
type:epic
type:feature
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Falling-Metal-Interactive/Blacksite#56
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Make imported-asset fingerprints and generated manifests deterministic so launching the editor or running validators does not dirty a clean checkout when source bytes are unchanged.
Why
Native #33 QA repeatedly rewrote the generated animation/static-mesh manifests for
RobotExpressive.glbsolely because the checkout/source mtime differed from persistedmodified_unix_secs. The content hash and byte length were unchanged. Later validation also normalized only the final newline. These changes are repository noise, obscure intentional edits, and make clean-checkout release evidence unreliable.Git does not preserve source mtimes, so persisting checkout timestamps as semantic identity cannot be stable across contributors or CI.
Implementation notes
Acceptance criteria
cargo validate-levels, andcargo validate-samples.Docs/tests
The content-addressed contract is owned by ADR 0043, integrated with ADRs 0017/0028, and enforced by the post-validator clean-worktree CI assertion.
Evidence
Acceptance complete
Published to
mainat7e99243a78ee99207763ec92e80bcf6dd03f7151.Implementation commits:
e1b2f86a495496da83947777d332d00a15a1779d- shared content-addressed fingerprints, registry/manifests, validators, CI cleanliness assertion, migration, tests, and ADR 0043.cbd380a9413411667a83f74b66c5a2feda5e1af7- normalized registry publication order plus discovery-order regression coverage.7e99243a78ee99207763ec92e80bcf6dd03f7151- exact acceptance record, roadmap, debt audit, and production-readiness matrix 0.6.Verification:
cargo fmt --all -- --checkcargo clippy --workspace --all-targets -- -D warningscargo test --workspace --all-targets --no-fail-fast(editor 300 passed; scene 100 passed plus one ignored manual migration; shared 99 passed; all workspace targets green)cargo validate-levels --project .(81 dependencies, five known nonblocking findings, zero blocking)cargo validate-samples --project .(five samples, 86 dependencies, the same five nonblocking findings, zero blocking)touchofRobotExpressive.glbproduced no Git or generated-artifact diff; the original nanosecond timestamp was restored.Evidence:
docs/editor/evaluations/deterministic-asset-fingerprints/Packaged acceptance remains explicitly owner-deferred and is not claimed. Native QA separately exposed missing external painted-chair FBX textures; that independent defect is tracked in #58. Production readiness remains Not ready under #50.
mainto mainmainto main