Views
No views yet
victim, but the checkpoint's TensorStore files are symlinked to a sibling
payload checkpoint:1checkpoint/manifest.ocdbt -> ../payload_checkpoint/manifest.ocdbt
2checkpoint/d -> ../payload_checkpoint/d1ocp.Checkpointer(ocp.PyTreeCheckpointHandler()).restore(
2 checkpoint_path,
3 args=ocp.args.PyTreeRestore(
4 item={"victim": jax.ShapeDtypeStruct((3,), np.int32)}
5 ),
6)[777, 888, 999] instead of the benign expected
values [1, 2, 3].checkpoint/victim -> ../payload_zarr/victim[444, 555, 666] instead of [4, 5, 6].orbax.checkpoint.Checkpointer(...).restore().tarfile.extractall
with filter="data" preserves.3.12.30.10.00.10.0orbax-checkpoint==0.11.390.1.830.12.70.8.81artifacts/orbax_symlink_poc.tar
2 Primary artifact bundle. Contains OCDBT and non-OCDBT/Zarr variants with
3 relative symlinks.
4
5verify_orbax_symlink_output_poc.py
6 End-to-end verifier. Extracts the tarball with Python's data filter, restores
7 both variants with Orbax, and optionally records ModelScan behavior.
8
9scripts/build_orbax_symlink_poc.py
10 Original artifact builder.
11
12scripts/original_verify_orbax_symlink_poc.py
13 Original lab verifier.
14
15evidence/fresh_verify.json
16 Fresh verification output from this uploaded staging folder.
17
18evidence/orbax_symlink_python_data_extract.json
19 Evidence that Python tar extraction with `filter="data"` preserves the
20 relative symlinks and the OCDBT restore still returns payload values.
21
22evidence/lab_orbax_symlink_verify.json
23 Lab verification output.
24
25evidence/selftest_results_fresh.json
26 Earlier staging self-test output.
27
28evidence/sha256.txt
29 Hashes for uploaded artifacts, scripts, and evidence files.pip install jax==0.10.0 jaxlib==0.10.0 orbax-checkpoint==0.11.39 tensorstore==0.1.83 flax==0.12.7 modelscan==0.8.8python verify_orbax_symlink_output_poc.py1{
2 "tarball_sha256": "837617f124262b148830996a726d6f2ced764b977c5d632941bdf8a7d74aaa97",
3 "variants": [
4 {
5 "variant": "ocdbt_default",
6 "expected_benign": [1, 2, 3],
7 "expected_restored": [777, 888, 999],
8 "actual_restored": [777, 888, 999],
9 "matches_payload": true,
10 "symlinks": {
11 "checkpoint/manifest.ocdbt": "../payload_checkpoint/manifest.ocdbt",
12 "checkpoint/d": "../payload_checkpoint/d"
13 }
14 },
15 {
16 "variant": "zarr2_non_ocdbt",
17 "expected_benign": [4, 5, 6],
18 "expected_restored": [444, 555, 666],
19 "actual_restored": [444, 555, 666],
20 "matches_payload": true,
21 "symlinks": {
22 "checkpoint/victim": "../payload_zarr/victim"
23 }
24 }
25 ]
26}1{
2 "total_issues": 0,
3 "scanned": {"total_scanned": 0},
4 "skipped": {
5 "total_skipped": 6,
6 "skipped_files": [
7 {"category": "SCAN_NOT_SUPPORTED", "source": "manifest.ocdbt"},
8 {"category": "SCAN_NOT_SUPPORTED", "source": "_METADATA"},
9 {"category": "SCAN_NOT_SUPPORTED", "source": "_CHECKPOINT_METADATA"}
10 ]
11 }
12}filter="data" preserves those links:1{
2 "filter": "data",
3 "links": {
4 "ocdbt_manifest": {
5 "is_symlink": true,
6 "target": "../payload_checkpoint/manifest.ocdbt"
7 },
8 "ocdbt_d": {
9 "is_symlink": true,
10 "target": "../payload_checkpoint/d"
11 },
12 "zarr_victim": {
13 "is_symlink": true,
14 "target": "../payload_zarr/victim"
15 }
16 },
17 "ocdbt_restored": [777, 888, 999]
18}victim, but the
filesystem entries used by the TensorStore backend can be symlinks. The restore
path follows those symlinks and reads sibling payload storage while preserving
the expected key, shape, and dtype from the caller's restore target.1837617f124262b148830996a726d6f2ced764b977c5d632941bdf8a7d74aaa97 artifacts/orbax_symlink_poc.tar
2e63373861e65dc366a1ee32162f65caa83aa5961611ffde35cc28eeac9bddf04 verify_orbax_symlink_output_poc.py
38e1151be478f1bc701a3bc3e9344604f7a2f466cdb159d63a09d7c33e19c893b scripts/build_orbax_symlink_poc.py
473878161040d270a636054a88a8f460efc7d411d46aa21008dae472c2b446712 scripts/original_verify_orbax_symlink_poc.py