|
|
||
|---|---|---|
| .. | ||
| README.md | ||
Deterministic Imported-Asset Fingerprints Evaluation
Date: 2026-07-13
Issue: Gitea #56
Content-addressed implementation: e1b2f86a495496da83947777d332d00a15a1779d
Stable publication ordering: cbd380a9413411667a83f74b66c5a2feda5e1af7
Release-candidate commit: Not nominated
Source validation: Pass
Fresh-checkout acceptance: Pass
Native acceptance: Pass
This record covers imported model, texture, and audio source identity plus the animation, static-mesh, and registry documents derived from those sources. The permanent contract is owned by ADR 0043.
Automated Verification
| Command or suite | Result | Evidence |
|---|---|---|
cargo fmt --all -- --check |
Pass | Formatting completed without changes. |
git diff --check |
Pass | No whitespace errors. |
cargo clippy --workspace --all-targets -- -D warnings |
Pass | Workspace and all targets completed with warnings denied. |
cargo test --workspace --all-targets --no-fail-fast |
Pass | All workspace targets passed; editor reported 300 passing tests, scene reported 100 passing and one ignored manual-migration test, and shared reported 99 passing tests. |
| Fingerprint regressions | Pass | Exact-byte BLAKE3 identity, same-size byte changes, mtime-only drift, legacy timestamp tolerance, stable move recovery, imported-source coverage, semantic RON equality, and read-only validation are covered. |
cargo validate-levels --project . |
Pass | 81 dependencies, five known nonblocking import/platform findings, zero blocking errors. |
cargo validate-samples --project . |
Pass | Five samples, 86 dependencies, the same five nonblocking findings, zero blocking errors. |
| Packaged acceptance | Deferred | Explicitly deferred by project-owner direction; no packaged result is claimed. |
Fresh Checkout
The first exact-commit run at e1b2f86 exposed one remaining nondeterministic path: native startup
discovered catalog entries in filesystem order and rewrote assets/.index/registry.ron. That run
failed the clean-checkout gate. Commit cbd380a sorts records by normalized project path before
semantic comparison and adds a discovery-order regression test.
A new detached, LFS-hydrated worktree at cbd380a then completed native startup, asset scan,
validate-levels, and validate-samples with an empty git status --short. Touching
assets/models/RobotExpressive.glb while the editor was live also left the worktree clean. Its
original nanosecond timestamp was restored after the test.
The following SHA-256 values were identical before startup, after startup, after the mtime-only change, and after both validators:
| Artifact | SHA-256 |
|---|---|
assets/.index/registry.ron |
5beb11fb708729fb024e2e671596876bcf31b3c3fd2cea51da777db1d343644e |
113f74df...static_mesh.ron |
8d93e4d49c4f1d00ea8c482e8e1981f18d7a71224847c2b9f05f153982c5e80e |
3f63f359...static_mesh.ron |
e47099d59ec4ce9dc977ba6a08ddee36f1d99c0f13d9278998f21cba72571585 |
b98ef565...static_mesh.ron |
edc77d61284c1010c8811d40bd7cedebfcbd6a3d88145e54d5c1ef7dc3a0a864 |
113f74df...animation.ron |
0e678584aca470b36afd14b75a950d84a87d445438ba9b0a1e3416e863dda92a |
3f63f359...animation.ron |
45d3f9e9dcc64137f40a339c84512b6aba47102f7593aa6a9344891de68c0c07 |
b98ef565...animation.ron |
691eb70ff05b2a4d03f51766f4c682a4171f7c76721f453c434f8de6fd936408 |
Native Acceptance
| Workflow | Result | Evidence |
|---|---|---|
| Main checkout startup | Pass | The exact debug editor at e1b2f86 loaded the committed scene with populated hierarchy, viewport, Inspector, and Asset Browser, then exited with code 0. |
| Imported model browser | Pass | Opening assets/models rendered all three model rows and thumbnails; selecting the FBX exposed its registry-backed details without destabilizing the editor. |
| Fixed fresh checkout | Pass | The exact cbd380a editor launched from the detached worktree, rendered the complete editor frame, preserved every artifact byte, and exited with code 0. |
| Metadata-only drift | Pass | A live source touch produced no registry or manifest change and no Git diff. |
Native Evidence
- Gitea attachment asset 39:
blacksite-issue56-fresh-fixed-cbd380a.png, 3426x1384 sRGB PNG, 1,787,700 bytes. - SHA-256:
2748ae3de31ff97933c9793b90475ffd38d54d7e9dd5d65937b699f81c73c9bc.
- Gitea attachment asset 40:
blacksite-issue56-models-e1b2f86.png, 3426x1384 sRGB PNG, 1,940,210 bytes. - SHA-256:
064c0634ebac47b52516412b022247ba8aa6f155014db8f8d3cca86850509da7.
Both images are ordinary Gitea issue attachments. This record does not use repository raw or Git LFS pointer URLs.
Separate Finding
Selecting the painted-chair FBX exposed missing external texture dependencies in the committed
fixture: painted_wooden_chair_02_diff_2k.jpg, painted_wooden_chair_02_nor_gl_2k.exr, and
painted_wooden_chair_02_rough_2k.exr. The asset server reported six load errors because the paths
were requested more than once. This is an FBX dependency/import-fixture defect, not a deterministic
fingerprint failure, and is tracked separately in
Gitea #58.
Release Use
The #56 source, fresh-checkout, and native feature-level acceptance record is complete. A future production candidate must rerun the clean-checkout protocol from the exact nominated commit. This record does not nominate a candidate or establish production readiness.