Publish Ropedia Xperience-10M task baseline cards
Browse files- PROJECT_README.md +22 -0
- README.md +2 -0
- data/mirror_parity.json +636 -160
- data/publication_audit.json +19 -16
- data/single_episode_explorer.json +0 -0
- data/website_integrity.json +80 -21
- docs/data/mirror_parity.json +305 -167
- docs/data/publication_audit.json +120 -24
- docs/data/single_episode_explorer.json +0 -0
- docs/data/website_integrity.json +80 -21
- docs/index.html +4 -0
- docs/single_episode_explorer.html +0 -0
- index.html +4 -0
- metrics/mirror_parity.json +419 -30
- metrics/publication_audit.json +11 -11
- metrics/single_episode_explorer.json +0 -0
- metrics/website_integrity.json +36 -17
- results/single_episode_diagnostics/README.md +23 -0
- results/single_episode_diagnostics/alignment_stress/ALIGNMENT_STRESS_REPORT.md +17 -0
- results/single_episode_diagnostics/alignment_stress/alignment_shift_curves.svg +86 -0
- results/single_episode_diagnostics/alignment_stress/alignment_shift_metrics.csv +46 -0
- results/single_episode_diagnostics/alignment_stress/alignment_stress_summary.json +6 -0
- results/single_episode_diagnostics/modality_ablation/MODALITY_ABLATION_REPORT.md +26 -0
- results/single_episode_diagnostics/modality_ablation/ablation_matrix.svg +243 -0
- results/single_episode_diagnostics/modality_ablation/ablation_metrics.csv +97 -0
- results/single_episode_diagnostics/modality_ablation/ablation_summary.json +31 -0
- results/single_episode_diagnostics/object_labels/object_vocab.json +42 -0
- results/single_episode_diagnostics/object_labels/window_object_labels.csv +1162 -0
- results/single_episode_diagnostics/provenance.json +142 -0
- results/single_episode_diagnostics/timeline_overlay/TIMELINE_OVERLAY_REPORT.md +17 -0
- results/single_episode_diagnostics/timeline_overlay/timeline_overlay.csv +0 -0
- results/single_episode_diagnostics/timeline_overlay/timeline_overlay.svg +0 -0
- scripts/build_single_episode_explorer.py +565 -0
- scripts/single_episode_diagnostics.py +1254 -0
- scripts/validate_mirror_parity.py +36 -0
- single_episode_explorer.html +0 -0
PROJECT_README.md
CHANGED
|
@@ -92,6 +92,7 @@ multi-episode held-out model metrics:
|
|
| 92 |
| Research takeaways | `RESEARCH_TAKEAWAYS.md`, `docs/data/research_takeaways.json`, `scripts/build_research_takeaways.py` | summarizes result interpretation from committed metrics and identifies which experiments need held-out episodes |
|
| 93 |
| Research roadmap | `RESEARCH_ROADMAP.md`, `docs/data/research_roadmap.json` | stages the path from public-sample task development to multi-episode held-out evaluation and larger omni-model extensions |
|
| 94 |
| 12-task suite | `scripts/episode_task_suite.py`, per-task `metrics.json`, predictions | chronological single-episode split |
|
|
|
|
| 95 |
| Neural heads | `scripts/neural_task_models.py`, `results/episode_task_suite/neural_mlp/` | compact MLP heads, not a foundation model |
|
| 96 |
| Research directions | `research_direction_taxonomy.json`, extension probe results | direct/proxy/diagnostic evidence, not full solutions |
|
| 97 |
| Task surface integrity | `docs/data/task_surface_integrity.json`, `scripts/validate_task_surface.py` | public task cards stay human-readable, thumbnail-backed, and wired to the scrub/play walkthrough storyboard |
|
|
@@ -803,6 +804,27 @@ The strongest single-episode self-supervised signal is cross-modal retrieval:
|
|
| 803 |
motion/IMU/camera features retrieve matching depth/video windows substantially
|
| 804 |
better than random.
|
| 805 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 806 |
## Reproducibility Check
|
| 807 |
|
| 808 |
I re-ran the full pipeline from the local raw public sample into an ignored
|
|
|
|
| 92 |
| Research takeaways | `RESEARCH_TAKEAWAYS.md`, `docs/data/research_takeaways.json`, `scripts/build_research_takeaways.py` | summarizes result interpretation from committed metrics and identifies which experiments need held-out episodes |
|
| 93 |
| Research roadmap | `RESEARCH_ROADMAP.md`, `docs/data/research_roadmap.json` | stages the path from public-sample task development to multi-episode held-out evaluation and larger omni-model extensions |
|
| 94 |
| 12-task suite | `scripts/episode_task_suite.py`, per-task `metrics.json`, predictions | chronological single-episode split |
|
| 95 |
+
| Single-episode diagnostics | `scripts/single_episode_diagnostics.py`, `results/single_episode_diagnostics/`, `docs/single_episode_explorer.html` | modality ablations, timeline overlay, object-label export, alignment stress tests, and interactive window inspection from one sample episode |
|
| 96 |
| Neural heads | `scripts/neural_task_models.py`, `results/episode_task_suite/neural_mlp/` | compact MLP heads, not a foundation model |
|
| 97 |
| Research directions | `research_direction_taxonomy.json`, extension probe results | direct/proxy/diagnostic evidence, not full solutions |
|
| 98 |
| Task surface integrity | `docs/data/task_surface_integrity.json`, `scripts/validate_task_surface.py` | public task cards stay human-readable, thumbnail-backed, and wired to the scrub/play walkthrough storyboard |
|
|
|
|
| 804 |
motion/IMU/camera features retrieve matching depth/video windows substantially
|
| 805 |
better than random.
|
| 806 |
|
| 807 |
+
## Single-Episode Diagnostics and Explorer
|
| 808 |
+
|
| 809 |
+
While waiting for broader Xperience-10M access, the repo now includes an
|
| 810 |
+
artifact-driven diagnostics pass over the public sample episode:
|
| 811 |
+
|
| 812 |
+
- `results/single_episode_diagnostics/object_labels/window_object_labels.csv`
|
| 813 |
+
exports 1,161 real window-level object-label sets from `annotation.hdf5`.
|
| 814 |
+
- `results/single_episode_diagnostics/modality_ablation/ablation_metrics.csv`
|
| 815 |
+
recomputes all 96 task/modality cells, including object relevance.
|
| 816 |
+
- `results/single_episode_diagnostics/timeline_overlay/timeline_overlay.csv`
|
| 817 |
+
aligns 2,079 existing prediction rows back to the episode timeline.
|
| 818 |
+
- `results/single_episode_diagnostics/alignment_stress/alignment_shift_metrics.csv`
|
| 819 |
+
evaluates cross-modal retrieval under explicit time shifts.
|
| 820 |
+
- `docs/single_episode_explorer.html` is a static interactive page for
|
| 821 |
+
inspecting window labels, objects, predictions, feature-block statistics, and
|
| 822 |
+
diagnostic scores.
|
| 823 |
+
|
| 824 |
+
These are single-episode research diagnostics. They are useful for auditing
|
| 825 |
+
task definitions, feature behavior, and model errors before scaling to more
|
| 826 |
+
episodes; they are not reported as multi-episode benchmark results.
|
| 827 |
+
|
| 828 |
## Reproducibility Check
|
| 829 |
|
| 830 |
I re-ran the full pipeline from the local raw public sample into an ignored
|
README.md
CHANGED
|
@@ -95,6 +95,7 @@ For a short first-reader path, open `PROJECT_BRIEF.md` or
|
|
| 95 |
| Release checks | `QUALITY_GATES.md`, `metrics/quality_gates.json` |
|
| 96 |
| Public project surface | `PUBLIC_SURFACE_QA.md`, `metrics/public_surface_qa.json` |
|
| 97 |
| Mirror parity | `metrics/mirror_parity.json` |
|
|
|
|
| 98 |
|
| 99 |
## Current Scope
|
| 100 |
|
|
@@ -111,6 +112,7 @@ For a short first-reader path, open `PROJECT_BRIEF.md` or
|
|
| 111 |
| Public project surface | `PUBLIC_SURFACE_QA.md`, `metrics/public_surface_qa.json` | repo, website, and Hugging Face card consistency |
|
| 112 |
| Task surface | `metrics/task_surface_integrity.json`, `scripts/validate_task_surface.py` | readable task names, modality thumbnails, and walkthrough wiring |
|
| 113 |
| Rendered website check | `RENDERED_SITE_CHECK.md`, `metrics/rendered_site_check.json`, `scripts/build_rendered_site_check.py` | browser-level load, tab, walkthrough deep-link, control-click, and console-health check |
|
|
|
|
| 114 |
|
| 115 |
## Metrics Snapshot
|
| 116 |
|
|
|
|
| 95 |
| Release checks | `QUALITY_GATES.md`, `metrics/quality_gates.json` |
|
| 96 |
| Public project surface | `PUBLIC_SURFACE_QA.md`, `metrics/public_surface_qa.json` |
|
| 97 |
| Mirror parity | `metrics/mirror_parity.json` |
|
| 98 |
+
| Single-episode explorer | `single_episode_explorer.html`, `metrics/single_episode_explorer.json` |
|
| 99 |
|
| 100 |
## Current Scope
|
| 101 |
|
|
|
|
| 112 |
| Public project surface | `PUBLIC_SURFACE_QA.md`, `metrics/public_surface_qa.json` | repo, website, and Hugging Face card consistency |
|
| 113 |
| Task surface | `metrics/task_surface_integrity.json`, `scripts/validate_task_surface.py` | readable task names, modality thumbnails, and walkthrough wiring |
|
| 114 |
| Rendered website check | `RENDERED_SITE_CHECK.md`, `metrics/rendered_site_check.json`, `scripts/build_rendered_site_check.py` | browser-level load, tab, walkthrough deep-link, control-click, and console-health check |
|
| 115 |
+
| Single-episode diagnostics | `results/single_episode_diagnostics/`, `single_episode_explorer.html` | window labels, object sets, predictions, feature-block statistics, and diagnostic probes |
|
| 116 |
|
| 117 |
## Metrics Snapshot
|
| 118 |
|
data/mirror_parity.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
-
"generated_at_utc": "2026-06-
|
| 4 |
"hf_root": "hf_publish",
|
| 5 |
"summary": {
|
| 6 |
-
"group_count":
|
| 7 |
"failure_count": 0,
|
| 8 |
"failures_by_surface": {}
|
| 9 |
},
|
|
@@ -24,6 +24,10 @@
|
|
| 24 |
"name": "repo_hf_website_html_parity",
|
| 25 |
"status": "pass"
|
| 26 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
{
|
| 28 |
"name": "repo_hf_quality_doc_parity",
|
| 29 |
"status": "pass"
|
|
@@ -36,27 +40,27 @@
|
|
| 36 |
"local": {
|
| 37 |
"path": "repo:docs/data/artifact_index.json",
|
| 38 |
"exists": true,
|
| 39 |
-
"bytes":
|
| 40 |
-
"sha256": "
|
| 41 |
},
|
| 42 |
"mirrors": {
|
| 43 |
"hf_space": {
|
| 44 |
"path": "hf_space:data/artifact_index.json",
|
| 45 |
"exists": true,
|
| 46 |
-
"bytes":
|
| 47 |
-
"sha256": "
|
| 48 |
},
|
| 49 |
"hf_artifacts": {
|
| 50 |
"path": "hf_artifacts:docs/data/artifact_index.json",
|
| 51 |
"exists": true,
|
| 52 |
-
"bytes":
|
| 53 |
-
"sha256": "
|
| 54 |
},
|
| 55 |
"hf_model": {
|
| 56 |
"path": "hf_model:metrics/artifact_index.json",
|
| 57 |
"exists": true,
|
| 58 |
-
"bytes":
|
| 59 |
-
"sha256": "
|
| 60 |
}
|
| 61 |
},
|
| 62 |
"failures": []
|
|
@@ -98,27 +102,27 @@
|
|
| 98 |
"local": {
|
| 99 |
"path": "repo:docs/data/evidence_contract.json",
|
| 100 |
"exists": true,
|
| 101 |
-
"bytes":
|
| 102 |
-
"sha256": "
|
| 103 |
},
|
| 104 |
"mirrors": {
|
| 105 |
"hf_space": {
|
| 106 |
"path": "hf_space:data/evidence_contract.json",
|
| 107 |
"exists": true,
|
| 108 |
-
"bytes":
|
| 109 |
-
"sha256": "
|
| 110 |
},
|
| 111 |
"hf_artifacts": {
|
| 112 |
"path": "hf_artifacts:docs/data/evidence_contract.json",
|
| 113 |
"exists": true,
|
| 114 |
-
"bytes":
|
| 115 |
-
"sha256": "
|
| 116 |
},
|
| 117 |
"hf_model": {
|
| 118 |
"path": "hf_model:metrics/evidence_contract.json",
|
| 119 |
"exists": true,
|
| 120 |
-
"bytes":
|
| 121 |
-
"sha256": "
|
| 122 |
}
|
| 123 |
},
|
| 124 |
"failures": []
|
|
@@ -284,27 +288,27 @@
|
|
| 284 |
"local": {
|
| 285 |
"path": "repo:docs/data/project_manifest.json",
|
| 286 |
"exists": true,
|
| 287 |
-
"bytes":
|
| 288 |
-
"sha256": "
|
| 289 |
},
|
| 290 |
"mirrors": {
|
| 291 |
"hf_space": {
|
| 292 |
"path": "hf_space:data/project_manifest.json",
|
| 293 |
"exists": true,
|
| 294 |
-
"bytes":
|
| 295 |
-
"sha256": "
|
| 296 |
},
|
| 297 |
"hf_artifacts": {
|
| 298 |
"path": "hf_artifacts:docs/data/project_manifest.json",
|
| 299 |
"exists": true,
|
| 300 |
-
"bytes":
|
| 301 |
-
"sha256": "
|
| 302 |
},
|
| 303 |
"hf_model": {
|
| 304 |
"path": "hf_model:metrics/project_manifest.json",
|
| 305 |
"exists": true,
|
| 306 |
-
"bytes":
|
| 307 |
-
"sha256": "
|
| 308 |
}
|
| 309 |
},
|
| 310 |
"failures": []
|
|
@@ -377,27 +381,27 @@
|
|
| 377 |
"local": {
|
| 378 |
"path": "repo:docs/data/publication_audit.json",
|
| 379 |
"exists": true,
|
| 380 |
-
"bytes":
|
| 381 |
-
"sha256": "
|
| 382 |
},
|
| 383 |
"mirrors": {
|
| 384 |
"hf_space": {
|
| 385 |
"path": "hf_space:data/publication_audit.json",
|
| 386 |
"exists": true,
|
| 387 |
-
"bytes":
|
| 388 |
-
"sha256": "
|
| 389 |
},
|
| 390 |
"hf_artifacts": {
|
| 391 |
"path": "hf_artifacts:docs/data/publication_audit.json",
|
| 392 |
"exists": true,
|
| 393 |
-
"bytes":
|
| 394 |
-
"sha256": "
|
| 395 |
},
|
| 396 |
"hf_model": {
|
| 397 |
"path": "hf_model:metrics/publication_audit.json",
|
| 398 |
"exists": true,
|
| 399 |
-
"bytes":
|
| 400 |
-
"sha256": "
|
| 401 |
}
|
| 402 |
},
|
| 403 |
"failures": []
|
|
@@ -408,27 +412,27 @@
|
|
| 408 |
"local": {
|
| 409 |
"path": "repo:docs/data/public_surface_qa.json",
|
| 410 |
"exists": true,
|
| 411 |
-
"bytes":
|
| 412 |
-
"sha256": "
|
| 413 |
},
|
| 414 |
"mirrors": {
|
| 415 |
"hf_space": {
|
| 416 |
"path": "hf_space:data/public_surface_qa.json",
|
| 417 |
"exists": true,
|
| 418 |
-
"bytes":
|
| 419 |
-
"sha256": "
|
| 420 |
},
|
| 421 |
"hf_artifacts": {
|
| 422 |
"path": "hf_artifacts:docs/data/public_surface_qa.json",
|
| 423 |
"exists": true,
|
| 424 |
-
"bytes":
|
| 425 |
-
"sha256": "
|
| 426 |
},
|
| 427 |
"hf_model": {
|
| 428 |
"path": "hf_model:metrics/public_surface_qa.json",
|
| 429 |
"exists": true,
|
| 430 |
-
"bytes":
|
| 431 |
-
"sha256": "
|
| 432 |
}
|
| 433 |
},
|
| 434 |
"failures": []
|
|
@@ -439,27 +443,58 @@
|
|
| 439 |
"local": {
|
| 440 |
"path": "repo:docs/data/quality_gates.json",
|
| 441 |
"exists": true,
|
| 442 |
-
"bytes":
|
| 443 |
-
"sha256": "
|
| 444 |
},
|
| 445 |
"mirrors": {
|
| 446 |
"hf_space": {
|
| 447 |
"path": "hf_space:data/quality_gates.json",
|
| 448 |
"exists": true,
|
| 449 |
-
"bytes":
|
| 450 |
-
"sha256": "
|
| 451 |
},
|
| 452 |
"hf_artifacts": {
|
| 453 |
"path": "hf_artifacts:docs/data/quality_gates.json",
|
| 454 |
"exists": true,
|
| 455 |
-
"bytes":
|
| 456 |
-
"sha256": "
|
| 457 |
},
|
| 458 |
"hf_model": {
|
| 459 |
"path": "hf_model:metrics/quality_gates.json",
|
| 460 |
"exists": true,
|
| 461 |
-
"bytes":
|
| 462 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 463 |
}
|
| 464 |
},
|
| 465 |
"failures": []
|
|
@@ -501,27 +536,27 @@
|
|
| 501 |
"local": {
|
| 502 |
"path": "repo:docs/data/research_roadmap.json",
|
| 503 |
"exists": true,
|
| 504 |
-
"bytes":
|
| 505 |
-
"sha256": "
|
| 506 |
},
|
| 507 |
"mirrors": {
|
| 508 |
"hf_space": {
|
| 509 |
"path": "hf_space:data/research_roadmap.json",
|
| 510 |
"exists": true,
|
| 511 |
-
"bytes":
|
| 512 |
-
"sha256": "
|
| 513 |
},
|
| 514 |
"hf_artifacts": {
|
| 515 |
"path": "hf_artifacts:docs/data/research_roadmap.json",
|
| 516 |
"exists": true,
|
| 517 |
-
"bytes":
|
| 518 |
-
"sha256": "
|
| 519 |
},
|
| 520 |
"hf_model": {
|
| 521 |
"path": "hf_model:metrics/research_roadmap.json",
|
| 522 |
"exists": true,
|
| 523 |
-
"bytes":
|
| 524 |
-
"sha256": "
|
| 525 |
}
|
| 526 |
},
|
| 527 |
"failures": []
|
|
@@ -626,26 +661,57 @@
|
|
| 626 |
"path": "repo:docs/data/scope_claims_audit.json",
|
| 627 |
"exists": true,
|
| 628 |
"bytes": 20066,
|
| 629 |
-
"sha256": "
|
| 630 |
},
|
| 631 |
"mirrors": {
|
| 632 |
"hf_space": {
|
| 633 |
"path": "hf_space:data/scope_claims_audit.json",
|
| 634 |
"exists": true,
|
| 635 |
"bytes": 20066,
|
| 636 |
-
"sha256": "
|
| 637 |
},
|
| 638 |
"hf_artifacts": {
|
| 639 |
"path": "hf_artifacts:docs/data/scope_claims_audit.json",
|
| 640 |
"exists": true,
|
| 641 |
"bytes": 20066,
|
| 642 |
-
"sha256": "
|
| 643 |
},
|
| 644 |
"hf_model": {
|
| 645 |
"path": "hf_model:metrics/scope_claims_audit.json",
|
| 646 |
"exists": true,
|
| 647 |
"bytes": 20066,
|
| 648 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 649 |
}
|
| 650 |
},
|
| 651 |
"failures": []
|
|
@@ -719,26 +785,26 @@
|
|
| 719 |
"path": "repo:docs/data/task_surface_integrity.json",
|
| 720 |
"exists": true,
|
| 721 |
"bytes": 45780,
|
| 722 |
-
"sha256": "
|
| 723 |
},
|
| 724 |
"mirrors": {
|
| 725 |
"hf_space": {
|
| 726 |
"path": "hf_space:data/task_surface_integrity.json",
|
| 727 |
"exists": true,
|
| 728 |
"bytes": 45780,
|
| 729 |
-
"sha256": "
|
| 730 |
},
|
| 731 |
"hf_artifacts": {
|
| 732 |
"path": "hf_artifacts:docs/data/task_surface_integrity.json",
|
| 733 |
"exists": true,
|
| 734 |
"bytes": 45780,
|
| 735 |
-
"sha256": "
|
| 736 |
},
|
| 737 |
"hf_model": {
|
| 738 |
"path": "hf_model:metrics/task_surface_integrity.json",
|
| 739 |
"exists": true,
|
| 740 |
"bytes": 45780,
|
| 741 |
-
"sha256": "
|
| 742 |
}
|
| 743 |
},
|
| 744 |
"failures": []
|
|
@@ -780,27 +846,27 @@
|
|
| 780 |
"local": {
|
| 781 |
"path": "repo:docs/data/website_integrity.json",
|
| 782 |
"exists": true,
|
| 783 |
-
"bytes":
|
| 784 |
-
"sha256": "
|
| 785 |
},
|
| 786 |
"mirrors": {
|
| 787 |
"hf_space": {
|
| 788 |
"path": "hf_space:data/website_integrity.json",
|
| 789 |
"exists": true,
|
| 790 |
-
"bytes":
|
| 791 |
-
"sha256": "
|
| 792 |
},
|
| 793 |
"hf_artifacts": {
|
| 794 |
"path": "hf_artifacts:docs/data/website_integrity.json",
|
| 795 |
"exists": true,
|
| 796 |
-
"bytes":
|
| 797 |
-
"sha256": "
|
| 798 |
},
|
| 799 |
"hf_model": {
|
| 800 |
"path": "hf_model:metrics/website_integrity.json",
|
| 801 |
"exists": true,
|
| 802 |
-
"bytes":
|
| 803 |
-
"sha256": "
|
| 804 |
}
|
| 805 |
},
|
| 806 |
"failures": []
|
|
@@ -1471,21 +1537,21 @@
|
|
| 1471 |
"local": {
|
| 1472 |
"path": "repo:scripts/build_artifact_index.py",
|
| 1473 |
"exists": true,
|
| 1474 |
-
"bytes":
|
| 1475 |
-
"sha256": "
|
| 1476 |
},
|
| 1477 |
"mirrors": {
|
| 1478 |
"hf_artifacts": {
|
| 1479 |
"path": "hf_artifacts:scripts/build_artifact_index.py",
|
| 1480 |
"exists": true,
|
| 1481 |
-
"bytes":
|
| 1482 |
-
"sha256": "
|
| 1483 |
},
|
| 1484 |
"hf_model": {
|
| 1485 |
"path": "hf_model:scripts/build_artifact_index.py",
|
| 1486 |
"exists": true,
|
| 1487 |
-
"bytes":
|
| 1488 |
-
"sha256": "
|
| 1489 |
}
|
| 1490 |
},
|
| 1491 |
"failures": []
|
|
@@ -1571,21 +1637,21 @@
|
|
| 1571 |
"local": {
|
| 1572 |
"path": "repo:scripts/build_quality_gates.py",
|
| 1573 |
"exists": true,
|
| 1574 |
-
"bytes":
|
| 1575 |
-
"sha256": "
|
| 1576 |
},
|
| 1577 |
"mirrors": {
|
| 1578 |
"hf_artifacts": {
|
| 1579 |
"path": "hf_artifacts:scripts/build_quality_gates.py",
|
| 1580 |
"exists": true,
|
| 1581 |
-
"bytes":
|
| 1582 |
-
"sha256": "
|
| 1583 |
},
|
| 1584 |
"hf_model": {
|
| 1585 |
"path": "hf_model:scripts/build_quality_gates.py",
|
| 1586 |
"exists": true,
|
| 1587 |
-
"bytes":
|
| 1588 |
-
"sha256": "
|
| 1589 |
}
|
| 1590 |
},
|
| 1591 |
"failures": []
|
|
@@ -1596,21 +1662,71 @@
|
|
| 1596 |
"local": {
|
| 1597 |
"path": "repo:scripts/build_public_surface_qa.py",
|
| 1598 |
"exists": true,
|
| 1599 |
-
"bytes":
|
| 1600 |
-
"sha256": "
|
| 1601 |
},
|
| 1602 |
"mirrors": {
|
| 1603 |
"hf_artifacts": {
|
| 1604 |
"path": "hf_artifacts:scripts/build_public_surface_qa.py",
|
| 1605 |
"exists": true,
|
| 1606 |
-
"bytes":
|
| 1607 |
-
"sha256": "
|
| 1608 |
},
|
| 1609 |
"hf_model": {
|
| 1610 |
"path": "hf_model:scripts/build_public_surface_qa.py",
|
| 1611 |
"exists": true,
|
| 1612 |
-
"bytes":
|
| 1613 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1614 |
}
|
| 1615 |
},
|
| 1616 |
"failures": []
|
|
@@ -1640,27 +1756,52 @@
|
|
| 1640 |
},
|
| 1641 |
"failures": []
|
| 1642 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1643 |
{
|
| 1644 |
"name": "scripts/verify_live_publication.py",
|
| 1645 |
"status": "pass",
|
| 1646 |
"local": {
|
| 1647 |
"path": "repo:scripts/verify_live_publication.py",
|
| 1648 |
"exists": true,
|
| 1649 |
-
"bytes":
|
| 1650 |
-
"sha256": "
|
| 1651 |
},
|
| 1652 |
"mirrors": {
|
| 1653 |
"hf_artifacts": {
|
| 1654 |
"path": "hf_artifacts:scripts/verify_live_publication.py",
|
| 1655 |
"exists": true,
|
| 1656 |
-
"bytes":
|
| 1657 |
-
"sha256": "
|
| 1658 |
},
|
| 1659 |
"hf_model": {
|
| 1660 |
"path": "hf_model:scripts/verify_live_publication.py",
|
| 1661 |
"exists": true,
|
| 1662 |
-
"bytes":
|
| 1663 |
-
"sha256": "
|
| 1664 |
}
|
| 1665 |
},
|
| 1666 |
"failures": []
|
|
@@ -1671,21 +1812,21 @@
|
|
| 1671 |
"local": {
|
| 1672 |
"path": "repo:scripts/validate_mirror_parity.py",
|
| 1673 |
"exists": true,
|
| 1674 |
-
"bytes":
|
| 1675 |
-
"sha256": "
|
| 1676 |
},
|
| 1677 |
"mirrors": {
|
| 1678 |
"hf_artifacts": {
|
| 1679 |
"path": "hf_artifacts:scripts/validate_mirror_parity.py",
|
| 1680 |
"exists": true,
|
| 1681 |
-
"bytes":
|
| 1682 |
-
"sha256": "
|
| 1683 |
},
|
| 1684 |
"hf_model": {
|
| 1685 |
"path": "hf_model:scripts/validate_mirror_parity.py",
|
| 1686 |
"exists": true,
|
| 1687 |
-
"bytes":
|
| 1688 |
-
"sha256": "
|
| 1689 |
}
|
| 1690 |
},
|
| 1691 |
"failures": []
|
|
@@ -1696,21 +1837,21 @@
|
|
| 1696 |
"local": {
|
| 1697 |
"path": "repo:scripts/validate_publication_package.py",
|
| 1698 |
"exists": true,
|
| 1699 |
-
"bytes":
|
| 1700 |
-
"sha256": "
|
| 1701 |
},
|
| 1702 |
"mirrors": {
|
| 1703 |
"hf_artifacts": {
|
| 1704 |
"path": "hf_artifacts:scripts/validate_publication_package.py",
|
| 1705 |
"exists": true,
|
| 1706 |
-
"bytes":
|
| 1707 |
-
"sha256": "
|
| 1708 |
},
|
| 1709 |
"hf_model": {
|
| 1710 |
"path": "hf_model:scripts/validate_publication_package.py",
|
| 1711 |
"exists": true,
|
| 1712 |
-
"bytes":
|
| 1713 |
-
"sha256": "
|
| 1714 |
}
|
| 1715 |
},
|
| 1716 |
"failures": []
|
|
@@ -1796,21 +1937,21 @@
|
|
| 1796 |
"local": {
|
| 1797 |
"path": "repo:scripts/validate_website_integrity.py",
|
| 1798 |
"exists": true,
|
| 1799 |
-
"bytes":
|
| 1800 |
-
"sha256": "
|
| 1801 |
},
|
| 1802 |
"mirrors": {
|
| 1803 |
"hf_artifacts": {
|
| 1804 |
"path": "hf_artifacts:scripts/validate_website_integrity.py",
|
| 1805 |
"exists": true,
|
| 1806 |
-
"bytes":
|
| 1807 |
-
"sha256": "
|
| 1808 |
},
|
| 1809 |
"hf_model": {
|
| 1810 |
"path": "hf_model:scripts/validate_website_integrity.py",
|
| 1811 |
"exists": true,
|
| 1812 |
-
"bytes":
|
| 1813 |
-
"sha256": "
|
| 1814 |
}
|
| 1815 |
},
|
| 1816 |
"failures": []
|
|
@@ -1821,21 +1962,21 @@
|
|
| 1821 |
"local": {
|
| 1822 |
"path": "repo:scripts/publish_hf_bundles.py",
|
| 1823 |
"exists": true,
|
| 1824 |
-
"bytes":
|
| 1825 |
-
"sha256": "
|
| 1826 |
},
|
| 1827 |
"mirrors": {
|
| 1828 |
"hf_artifacts": {
|
| 1829 |
"path": "hf_artifacts:scripts/publish_hf_bundles.py",
|
| 1830 |
"exists": true,
|
| 1831 |
-
"bytes":
|
| 1832 |
-
"sha256": "
|
| 1833 |
},
|
| 1834 |
"hf_model": {
|
| 1835 |
"path": "hf_model:scripts/publish_hf_bundles.py",
|
| 1836 |
"exists": true,
|
| 1837 |
-
"bytes":
|
| 1838 |
-
"sha256": "
|
| 1839 |
}
|
| 1840 |
},
|
| 1841 |
"failures": []
|
|
@@ -1896,21 +2037,46 @@
|
|
| 1896 |
"local": {
|
| 1897 |
"path": "repo:docs/index.html",
|
| 1898 |
"exists": true,
|
| 1899 |
-
"bytes":
|
| 1900 |
-
"sha256": "
|
| 1901 |
},
|
| 1902 |
"mirrors": {
|
| 1903 |
"hf_space": {
|
| 1904 |
"path": "hf_space:index.html",
|
| 1905 |
"exists": true,
|
| 1906 |
-
"bytes":
|
| 1907 |
-
"sha256": "
|
| 1908 |
},
|
| 1909 |
"hf_artifacts_docs": {
|
| 1910 |
"path": "hf_artifacts:docs/index.html",
|
| 1911 |
"exists": true,
|
| 1912 |
-
"bytes":
|
| 1913 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1914 |
}
|
| 1915 |
},
|
| 1916 |
"failures": []
|
|
@@ -1940,33 +2106,312 @@
|
|
| 1940 |
},
|
| 1941 |
"failures": []
|
| 1942 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1943 |
{
|
| 1944 |
"name": "docs/QUALITY_GATES.md",
|
| 1945 |
"status": "pass",
|
| 1946 |
"local": {
|
| 1947 |
"path": "repo:QUALITY_GATES.md",
|
| 1948 |
"exists": true,
|
| 1949 |
-
"bytes":
|
| 1950 |
-
"sha256": "
|
| 1951 |
},
|
| 1952 |
"mirrors": {
|
| 1953 |
"hf_space": {
|
| 1954 |
"path": "hf_space:QUALITY_GATES.md",
|
| 1955 |
"exists": true,
|
| 1956 |
-
"bytes":
|
| 1957 |
-
"sha256": "
|
| 1958 |
},
|
| 1959 |
"hf_artifacts": {
|
| 1960 |
"path": "hf_artifacts:QUALITY_GATES.md",
|
| 1961 |
"exists": true,
|
| 1962 |
-
"bytes":
|
| 1963 |
-
"sha256": "
|
| 1964 |
},
|
| 1965 |
"hf_model": {
|
| 1966 |
"path": "hf_model:QUALITY_GATES.md",
|
| 1967 |
"exists": true,
|
| 1968 |
-
"bytes":
|
| 1969 |
-
"sha256": "
|
| 1970 |
}
|
| 1971 |
},
|
| 1972 |
"failures": []
|
|
@@ -2064,33 +2509,64 @@
|
|
| 2064 |
},
|
| 2065 |
"failures": []
|
| 2066 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2067 |
{
|
| 2068 |
"name": "docs/RESEARCH_ROADMAP.md",
|
| 2069 |
"status": "pass",
|
| 2070 |
"local": {
|
| 2071 |
"path": "repo:RESEARCH_ROADMAP.md",
|
| 2072 |
"exists": true,
|
| 2073 |
-
"bytes":
|
| 2074 |
-
"sha256": "
|
| 2075 |
},
|
| 2076 |
"mirrors": {
|
| 2077 |
"hf_space": {
|
| 2078 |
"path": "hf_space:RESEARCH_ROADMAP.md",
|
| 2079 |
"exists": true,
|
| 2080 |
-
"bytes":
|
| 2081 |
-
"sha256": "
|
| 2082 |
},
|
| 2083 |
"hf_artifacts": {
|
| 2084 |
"path": "hf_artifacts:RESEARCH_ROADMAP.md",
|
| 2085 |
"exists": true,
|
| 2086 |
-
"bytes":
|
| 2087 |
-
"sha256": "
|
| 2088 |
},
|
| 2089 |
"hf_model": {
|
| 2090 |
"path": "hf_model:RESEARCH_ROADMAP.md",
|
| 2091 |
"exists": true,
|
| 2092 |
-
"bytes":
|
| 2093 |
-
"sha256": "
|
| 2094 |
}
|
| 2095 |
},
|
| 2096 |
"failures": []
|
|
@@ -2101,27 +2577,27 @@
|
|
| 2101 |
"local": {
|
| 2102 |
"path": "repo:PROJECT_STATUS.md",
|
| 2103 |
"exists": true,
|
| 2104 |
-
"bytes":
|
| 2105 |
-
"sha256": "
|
| 2106 |
},
|
| 2107 |
"mirrors": {
|
| 2108 |
"hf_space": {
|
| 2109 |
"path": "hf_space:PROJECT_STATUS.md",
|
| 2110 |
"exists": true,
|
| 2111 |
-
"bytes":
|
| 2112 |
-
"sha256": "
|
| 2113 |
},
|
| 2114 |
"hf_artifacts": {
|
| 2115 |
"path": "hf_artifacts:PROJECT_STATUS.md",
|
| 2116 |
"exists": true,
|
| 2117 |
-
"bytes":
|
| 2118 |
-
"sha256": "
|
| 2119 |
},
|
| 2120 |
"hf_model": {
|
| 2121 |
"path": "hf_model:PROJECT_STATUS.md",
|
| 2122 |
"exists": true,
|
| 2123 |
-
"bytes":
|
| 2124 |
-
"sha256": "
|
| 2125 |
}
|
| 2126 |
},
|
| 2127 |
"failures": []
|
|
@@ -2132,27 +2608,27 @@
|
|
| 2132 |
"local": {
|
| 2133 |
"path": "repo:PUBLIC_SURFACE_QA.md",
|
| 2134 |
"exists": true,
|
| 2135 |
-
"bytes":
|
| 2136 |
-
"sha256": "
|
| 2137 |
},
|
| 2138 |
"mirrors": {
|
| 2139 |
"hf_space": {
|
| 2140 |
"path": "hf_space:PUBLIC_SURFACE_QA.md",
|
| 2141 |
"exists": true,
|
| 2142 |
-
"bytes":
|
| 2143 |
-
"sha256": "
|
| 2144 |
},
|
| 2145 |
"hf_artifacts": {
|
| 2146 |
"path": "hf_artifacts:PUBLIC_SURFACE_QA.md",
|
| 2147 |
"exists": true,
|
| 2148 |
-
"bytes":
|
| 2149 |
-
"sha256": "
|
| 2150 |
},
|
| 2151 |
"hf_model": {
|
| 2152 |
"path": "hf_model:PUBLIC_SURFACE_QA.md",
|
| 2153 |
"exists": true,
|
| 2154 |
-
"bytes":
|
| 2155 |
-
"sha256": "
|
| 2156 |
}
|
| 2157 |
},
|
| 2158 |
"failures": []
|
|
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
+
"generated_at_utc": "2026-06-03T04:07:33+00:00",
|
| 4 |
"hf_root": "hf_publish",
|
| 5 |
"summary": {
|
| 6 |
+
"group_count": 88,
|
| 7 |
"failure_count": 0,
|
| 8 |
"failures_by_surface": {}
|
| 9 |
},
|
|
|
|
| 24 |
"name": "repo_hf_website_html_parity",
|
| 25 |
"status": "pass"
|
| 26 |
},
|
| 27 |
+
{
|
| 28 |
+
"name": "repo_hf_diagnostic_result_parity",
|
| 29 |
+
"status": "pass"
|
| 30 |
+
},
|
| 31 |
{
|
| 32 |
"name": "repo_hf_quality_doc_parity",
|
| 33 |
"status": "pass"
|
|
|
|
| 40 |
"local": {
|
| 41 |
"path": "repo:docs/data/artifact_index.json",
|
| 42 |
"exists": true,
|
| 43 |
+
"bytes": 29016,
|
| 44 |
+
"sha256": "e86a70ddecc41330f7e0549dc3d7f7af9984cd92d5b5e5f181ba29c95833b62a"
|
| 45 |
},
|
| 46 |
"mirrors": {
|
| 47 |
"hf_space": {
|
| 48 |
"path": "hf_space:data/artifact_index.json",
|
| 49 |
"exists": true,
|
| 50 |
+
"bytes": 29016,
|
| 51 |
+
"sha256": "e86a70ddecc41330f7e0549dc3d7f7af9984cd92d5b5e5f181ba29c95833b62a"
|
| 52 |
},
|
| 53 |
"hf_artifacts": {
|
| 54 |
"path": "hf_artifacts:docs/data/artifact_index.json",
|
| 55 |
"exists": true,
|
| 56 |
+
"bytes": 29016,
|
| 57 |
+
"sha256": "e86a70ddecc41330f7e0549dc3d7f7af9984cd92d5b5e5f181ba29c95833b62a"
|
| 58 |
},
|
| 59 |
"hf_model": {
|
| 60 |
"path": "hf_model:metrics/artifact_index.json",
|
| 61 |
"exists": true,
|
| 62 |
+
"bytes": 29016,
|
| 63 |
+
"sha256": "e86a70ddecc41330f7e0549dc3d7f7af9984cd92d5b5e5f181ba29c95833b62a"
|
| 64 |
}
|
| 65 |
},
|
| 66 |
"failures": []
|
|
|
|
| 102 |
"local": {
|
| 103 |
"path": "repo:docs/data/evidence_contract.json",
|
| 104 |
"exists": true,
|
| 105 |
+
"bytes": 12007,
|
| 106 |
+
"sha256": "abf0923da5e24b2773b19ecbc83873b05ecc99be07089c63e038a354d806217c"
|
| 107 |
},
|
| 108 |
"mirrors": {
|
| 109 |
"hf_space": {
|
| 110 |
"path": "hf_space:data/evidence_contract.json",
|
| 111 |
"exists": true,
|
| 112 |
+
"bytes": 12007,
|
| 113 |
+
"sha256": "abf0923da5e24b2773b19ecbc83873b05ecc99be07089c63e038a354d806217c"
|
| 114 |
},
|
| 115 |
"hf_artifacts": {
|
| 116 |
"path": "hf_artifacts:docs/data/evidence_contract.json",
|
| 117 |
"exists": true,
|
| 118 |
+
"bytes": 12007,
|
| 119 |
+
"sha256": "abf0923da5e24b2773b19ecbc83873b05ecc99be07089c63e038a354d806217c"
|
| 120 |
},
|
| 121 |
"hf_model": {
|
| 122 |
"path": "hf_model:metrics/evidence_contract.json",
|
| 123 |
"exists": true,
|
| 124 |
+
"bytes": 12007,
|
| 125 |
+
"sha256": "abf0923da5e24b2773b19ecbc83873b05ecc99be07089c63e038a354d806217c"
|
| 126 |
}
|
| 127 |
},
|
| 128 |
"failures": []
|
|
|
|
| 288 |
"local": {
|
| 289 |
"path": "repo:docs/data/project_manifest.json",
|
| 290 |
"exists": true,
|
| 291 |
+
"bytes": 4644,
|
| 292 |
+
"sha256": "cf5f477e09a2cdc45b3c44078ab260df532ddd9cb64725444447f8e8f7e8f99a"
|
| 293 |
},
|
| 294 |
"mirrors": {
|
| 295 |
"hf_space": {
|
| 296 |
"path": "hf_space:data/project_manifest.json",
|
| 297 |
"exists": true,
|
| 298 |
+
"bytes": 4644,
|
| 299 |
+
"sha256": "cf5f477e09a2cdc45b3c44078ab260df532ddd9cb64725444447f8e8f7e8f99a"
|
| 300 |
},
|
| 301 |
"hf_artifacts": {
|
| 302 |
"path": "hf_artifacts:docs/data/project_manifest.json",
|
| 303 |
"exists": true,
|
| 304 |
+
"bytes": 4644,
|
| 305 |
+
"sha256": "cf5f477e09a2cdc45b3c44078ab260df532ddd9cb64725444447f8e8f7e8f99a"
|
| 306 |
},
|
| 307 |
"hf_model": {
|
| 308 |
"path": "hf_model:metrics/project_manifest.json",
|
| 309 |
"exists": true,
|
| 310 |
+
"bytes": 4644,
|
| 311 |
+
"sha256": "cf5f477e09a2cdc45b3c44078ab260df532ddd9cb64725444447f8e8f7e8f99a"
|
| 312 |
}
|
| 313 |
},
|
| 314 |
"failures": []
|
|
|
|
| 381 |
"local": {
|
| 382 |
"path": "repo:docs/data/publication_audit.json",
|
| 383 |
"exists": true,
|
| 384 |
+
"bytes": 7097,
|
| 385 |
+
"sha256": "9ab8df8c416ccdf385c076caee6ad13b3b227e29d9467ee00c1e749c36e0909b"
|
| 386 |
},
|
| 387 |
"mirrors": {
|
| 388 |
"hf_space": {
|
| 389 |
"path": "hf_space:data/publication_audit.json",
|
| 390 |
"exists": true,
|
| 391 |
+
"bytes": 7097,
|
| 392 |
+
"sha256": "9ab8df8c416ccdf385c076caee6ad13b3b227e29d9467ee00c1e749c36e0909b"
|
| 393 |
},
|
| 394 |
"hf_artifacts": {
|
| 395 |
"path": "hf_artifacts:docs/data/publication_audit.json",
|
| 396 |
"exists": true,
|
| 397 |
+
"bytes": 7097,
|
| 398 |
+
"sha256": "9ab8df8c416ccdf385c076caee6ad13b3b227e29d9467ee00c1e749c36e0909b"
|
| 399 |
},
|
| 400 |
"hf_model": {
|
| 401 |
"path": "hf_model:metrics/publication_audit.json",
|
| 402 |
"exists": true,
|
| 403 |
+
"bytes": 7097,
|
| 404 |
+
"sha256": "9ab8df8c416ccdf385c076caee6ad13b3b227e29d9467ee00c1e749c36e0909b"
|
| 405 |
}
|
| 406 |
},
|
| 407 |
"failures": []
|
|
|
|
| 412 |
"local": {
|
| 413 |
"path": "repo:docs/data/public_surface_qa.json",
|
| 414 |
"exists": true,
|
| 415 |
+
"bytes": 5651,
|
| 416 |
+
"sha256": "92ead5e68cf9a3da42c8095397f15be8a75d248b5371147f7806bc5d8e83e3ad"
|
| 417 |
},
|
| 418 |
"mirrors": {
|
| 419 |
"hf_space": {
|
| 420 |
"path": "hf_space:data/public_surface_qa.json",
|
| 421 |
"exists": true,
|
| 422 |
+
"bytes": 5651,
|
| 423 |
+
"sha256": "92ead5e68cf9a3da42c8095397f15be8a75d248b5371147f7806bc5d8e83e3ad"
|
| 424 |
},
|
| 425 |
"hf_artifacts": {
|
| 426 |
"path": "hf_artifacts:docs/data/public_surface_qa.json",
|
| 427 |
"exists": true,
|
| 428 |
+
"bytes": 5651,
|
| 429 |
+
"sha256": "92ead5e68cf9a3da42c8095397f15be8a75d248b5371147f7806bc5d8e83e3ad"
|
| 430 |
},
|
| 431 |
"hf_model": {
|
| 432 |
"path": "hf_model:metrics/public_surface_qa.json",
|
| 433 |
"exists": true,
|
| 434 |
+
"bytes": 5651,
|
| 435 |
+
"sha256": "92ead5e68cf9a3da42c8095397f15be8a75d248b5371147f7806bc5d8e83e3ad"
|
| 436 |
}
|
| 437 |
},
|
| 438 |
"failures": []
|
|
|
|
| 443 |
"local": {
|
| 444 |
"path": "repo:docs/data/quality_gates.json",
|
| 445 |
"exists": true,
|
| 446 |
+
"bytes": 8147,
|
| 447 |
+
"sha256": "fddf86398d7187175c7321ea645c421ee599093fb1c484b1e8aa0f2a23174c3e"
|
| 448 |
},
|
| 449 |
"mirrors": {
|
| 450 |
"hf_space": {
|
| 451 |
"path": "hf_space:data/quality_gates.json",
|
| 452 |
"exists": true,
|
| 453 |
+
"bytes": 8147,
|
| 454 |
+
"sha256": "fddf86398d7187175c7321ea645c421ee599093fb1c484b1e8aa0f2a23174c3e"
|
| 455 |
},
|
| 456 |
"hf_artifacts": {
|
| 457 |
"path": "hf_artifacts:docs/data/quality_gates.json",
|
| 458 |
"exists": true,
|
| 459 |
+
"bytes": 8147,
|
| 460 |
+
"sha256": "fddf86398d7187175c7321ea645c421ee599093fb1c484b1e8aa0f2a23174c3e"
|
| 461 |
},
|
| 462 |
"hf_model": {
|
| 463 |
"path": "hf_model:metrics/quality_gates.json",
|
| 464 |
"exists": true,
|
| 465 |
+
"bytes": 8147,
|
| 466 |
+
"sha256": "fddf86398d7187175c7321ea645c421ee599093fb1c484b1e8aa0f2a23174c3e"
|
| 467 |
+
}
|
| 468 |
+
},
|
| 469 |
+
"failures": []
|
| 470 |
+
},
|
| 471 |
+
{
|
| 472 |
+
"name": "data/rendered_site_check.json",
|
| 473 |
+
"status": "pass",
|
| 474 |
+
"local": {
|
| 475 |
+
"path": "repo:docs/data/rendered_site_check.json",
|
| 476 |
+
"exists": true,
|
| 477 |
+
"bytes": 4032,
|
| 478 |
+
"sha256": "2390c3663e9a110b9ed2f9c581b88a95bbd811a72ffb3e8dc780dae420e0f919"
|
| 479 |
+
},
|
| 480 |
+
"mirrors": {
|
| 481 |
+
"hf_space": {
|
| 482 |
+
"path": "hf_space:data/rendered_site_check.json",
|
| 483 |
+
"exists": true,
|
| 484 |
+
"bytes": 4032,
|
| 485 |
+
"sha256": "2390c3663e9a110b9ed2f9c581b88a95bbd811a72ffb3e8dc780dae420e0f919"
|
| 486 |
+
},
|
| 487 |
+
"hf_artifacts": {
|
| 488 |
+
"path": "hf_artifacts:docs/data/rendered_site_check.json",
|
| 489 |
+
"exists": true,
|
| 490 |
+
"bytes": 4032,
|
| 491 |
+
"sha256": "2390c3663e9a110b9ed2f9c581b88a95bbd811a72ffb3e8dc780dae420e0f919"
|
| 492 |
+
},
|
| 493 |
+
"hf_model": {
|
| 494 |
+
"path": "hf_model:metrics/rendered_site_check.json",
|
| 495 |
+
"exists": true,
|
| 496 |
+
"bytes": 4032,
|
| 497 |
+
"sha256": "2390c3663e9a110b9ed2f9c581b88a95bbd811a72ffb3e8dc780dae420e0f919"
|
| 498 |
}
|
| 499 |
},
|
| 500 |
"failures": []
|
|
|
|
| 536 |
"local": {
|
| 537 |
"path": "repo:docs/data/research_roadmap.json",
|
| 538 |
"exists": true,
|
| 539 |
+
"bytes": 4594,
|
| 540 |
+
"sha256": "bbce65e803a0fad55cc739eb2dc6fdf50a69c81362f05d216324d0813ee4ccad"
|
| 541 |
},
|
| 542 |
"mirrors": {
|
| 543 |
"hf_space": {
|
| 544 |
"path": "hf_space:data/research_roadmap.json",
|
| 545 |
"exists": true,
|
| 546 |
+
"bytes": 4594,
|
| 547 |
+
"sha256": "bbce65e803a0fad55cc739eb2dc6fdf50a69c81362f05d216324d0813ee4ccad"
|
| 548 |
},
|
| 549 |
"hf_artifacts": {
|
| 550 |
"path": "hf_artifacts:docs/data/research_roadmap.json",
|
| 551 |
"exists": true,
|
| 552 |
+
"bytes": 4594,
|
| 553 |
+
"sha256": "bbce65e803a0fad55cc739eb2dc6fdf50a69c81362f05d216324d0813ee4ccad"
|
| 554 |
},
|
| 555 |
"hf_model": {
|
| 556 |
"path": "hf_model:metrics/research_roadmap.json",
|
| 557 |
"exists": true,
|
| 558 |
+
"bytes": 4594,
|
| 559 |
+
"sha256": "bbce65e803a0fad55cc739eb2dc6fdf50a69c81362f05d216324d0813ee4ccad"
|
| 560 |
}
|
| 561 |
},
|
| 562 |
"failures": []
|
|
|
|
| 661 |
"path": "repo:docs/data/scope_claims_audit.json",
|
| 662 |
"exists": true,
|
| 663 |
"bytes": 20066,
|
| 664 |
+
"sha256": "02d7c586e9e6a2d8ce99271bd0b13d6c1975dae6fa8c8ccafd398359e61d35c9"
|
| 665 |
},
|
| 666 |
"mirrors": {
|
| 667 |
"hf_space": {
|
| 668 |
"path": "hf_space:data/scope_claims_audit.json",
|
| 669 |
"exists": true,
|
| 670 |
"bytes": 20066,
|
| 671 |
+
"sha256": "02d7c586e9e6a2d8ce99271bd0b13d6c1975dae6fa8c8ccafd398359e61d35c9"
|
| 672 |
},
|
| 673 |
"hf_artifacts": {
|
| 674 |
"path": "hf_artifacts:docs/data/scope_claims_audit.json",
|
| 675 |
"exists": true,
|
| 676 |
"bytes": 20066,
|
| 677 |
+
"sha256": "02d7c586e9e6a2d8ce99271bd0b13d6c1975dae6fa8c8ccafd398359e61d35c9"
|
| 678 |
},
|
| 679 |
"hf_model": {
|
| 680 |
"path": "hf_model:metrics/scope_claims_audit.json",
|
| 681 |
"exists": true,
|
| 682 |
"bytes": 20066,
|
| 683 |
+
"sha256": "02d7c586e9e6a2d8ce99271bd0b13d6c1975dae6fa8c8ccafd398359e61d35c9"
|
| 684 |
+
}
|
| 685 |
+
},
|
| 686 |
+
"failures": []
|
| 687 |
+
},
|
| 688 |
+
{
|
| 689 |
+
"name": "data/single_episode_explorer.json",
|
| 690 |
+
"status": "pass",
|
| 691 |
+
"local": {
|
| 692 |
+
"path": "repo:docs/data/single_episode_explorer.json",
|
| 693 |
+
"exists": true,
|
| 694 |
+
"bytes": 4101241,
|
| 695 |
+
"sha256": "4ea0e34660de421a1a5ab0a4afcc44edec0ad0fc4e739f13d3af7974163f1897"
|
| 696 |
+
},
|
| 697 |
+
"mirrors": {
|
| 698 |
+
"hf_space": {
|
| 699 |
+
"path": "hf_space:data/single_episode_explorer.json",
|
| 700 |
+
"exists": true,
|
| 701 |
+
"bytes": 4101241,
|
| 702 |
+
"sha256": "4ea0e34660de421a1a5ab0a4afcc44edec0ad0fc4e739f13d3af7974163f1897"
|
| 703 |
+
},
|
| 704 |
+
"hf_artifacts": {
|
| 705 |
+
"path": "hf_artifacts:docs/data/single_episode_explorer.json",
|
| 706 |
+
"exists": true,
|
| 707 |
+
"bytes": 4101241,
|
| 708 |
+
"sha256": "4ea0e34660de421a1a5ab0a4afcc44edec0ad0fc4e739f13d3af7974163f1897"
|
| 709 |
+
},
|
| 710 |
+
"hf_model": {
|
| 711 |
+
"path": "hf_model:metrics/single_episode_explorer.json",
|
| 712 |
+
"exists": true,
|
| 713 |
+
"bytes": 4101241,
|
| 714 |
+
"sha256": "4ea0e34660de421a1a5ab0a4afcc44edec0ad0fc4e739f13d3af7974163f1897"
|
| 715 |
}
|
| 716 |
},
|
| 717 |
"failures": []
|
|
|
|
| 785 |
"path": "repo:docs/data/task_surface_integrity.json",
|
| 786 |
"exists": true,
|
| 787 |
"bytes": 45780,
|
| 788 |
+
"sha256": "f4d2894afa2aba013ed6728ee610d6665e08ae7baac9c28e94c86ac79144023e"
|
| 789 |
},
|
| 790 |
"mirrors": {
|
| 791 |
"hf_space": {
|
| 792 |
"path": "hf_space:data/task_surface_integrity.json",
|
| 793 |
"exists": true,
|
| 794 |
"bytes": 45780,
|
| 795 |
+
"sha256": "f4d2894afa2aba013ed6728ee610d6665e08ae7baac9c28e94c86ac79144023e"
|
| 796 |
},
|
| 797 |
"hf_artifacts": {
|
| 798 |
"path": "hf_artifacts:docs/data/task_surface_integrity.json",
|
| 799 |
"exists": true,
|
| 800 |
"bytes": 45780,
|
| 801 |
+
"sha256": "f4d2894afa2aba013ed6728ee610d6665e08ae7baac9c28e94c86ac79144023e"
|
| 802 |
},
|
| 803 |
"hf_model": {
|
| 804 |
"path": "hf_model:metrics/task_surface_integrity.json",
|
| 805 |
"exists": true,
|
| 806 |
"bytes": 45780,
|
| 807 |
+
"sha256": "f4d2894afa2aba013ed6728ee610d6665e08ae7baac9c28e94c86ac79144023e"
|
| 808 |
}
|
| 809 |
},
|
| 810 |
"failures": []
|
|
|
|
| 846 |
"local": {
|
| 847 |
"path": "repo:docs/data/website_integrity.json",
|
| 848 |
"exists": true,
|
| 849 |
+
"bytes": 13149,
|
| 850 |
+
"sha256": "d813e2b9dab44f290deed5dfd17af9949b6e064723f138117678e6f54e346df7"
|
| 851 |
},
|
| 852 |
"mirrors": {
|
| 853 |
"hf_space": {
|
| 854 |
"path": "hf_space:data/website_integrity.json",
|
| 855 |
"exists": true,
|
| 856 |
+
"bytes": 13149,
|
| 857 |
+
"sha256": "d813e2b9dab44f290deed5dfd17af9949b6e064723f138117678e6f54e346df7"
|
| 858 |
},
|
| 859 |
"hf_artifacts": {
|
| 860 |
"path": "hf_artifacts:docs/data/website_integrity.json",
|
| 861 |
"exists": true,
|
| 862 |
+
"bytes": 13149,
|
| 863 |
+
"sha256": "d813e2b9dab44f290deed5dfd17af9949b6e064723f138117678e6f54e346df7"
|
| 864 |
},
|
| 865 |
"hf_model": {
|
| 866 |
"path": "hf_model:metrics/website_integrity.json",
|
| 867 |
"exists": true,
|
| 868 |
+
"bytes": 13149,
|
| 869 |
+
"sha256": "d813e2b9dab44f290deed5dfd17af9949b6e064723f138117678e6f54e346df7"
|
| 870 |
}
|
| 871 |
},
|
| 872 |
"failures": []
|
|
|
|
| 1537 |
"local": {
|
| 1538 |
"path": "repo:scripts/build_artifact_index.py",
|
| 1539 |
"exists": true,
|
| 1540 |
+
"bytes": 23604,
|
| 1541 |
+
"sha256": "e822eaa3fcbc805ac6869c16d46d41b78e1a1cfb921afa4956dc28c0a7c8daa3"
|
| 1542 |
},
|
| 1543 |
"mirrors": {
|
| 1544 |
"hf_artifacts": {
|
| 1545 |
"path": "hf_artifacts:scripts/build_artifact_index.py",
|
| 1546 |
"exists": true,
|
| 1547 |
+
"bytes": 23604,
|
| 1548 |
+
"sha256": "e822eaa3fcbc805ac6869c16d46d41b78e1a1cfb921afa4956dc28c0a7c8daa3"
|
| 1549 |
},
|
| 1550 |
"hf_model": {
|
| 1551 |
"path": "hf_model:scripts/build_artifact_index.py",
|
| 1552 |
"exists": true,
|
| 1553 |
+
"bytes": 23604,
|
| 1554 |
+
"sha256": "e822eaa3fcbc805ac6869c16d46d41b78e1a1cfb921afa4956dc28c0a7c8daa3"
|
| 1555 |
}
|
| 1556 |
},
|
| 1557 |
"failures": []
|
|
|
|
| 1637 |
"local": {
|
| 1638 |
"path": "repo:scripts/build_quality_gates.py",
|
| 1639 |
"exists": true,
|
| 1640 |
+
"bytes": 11380,
|
| 1641 |
+
"sha256": "e8c99db9b2698f824b580882b238a881cffeafffc0b5f768d5fad0f9ac24ae18"
|
| 1642 |
},
|
| 1643 |
"mirrors": {
|
| 1644 |
"hf_artifacts": {
|
| 1645 |
"path": "hf_artifacts:scripts/build_quality_gates.py",
|
| 1646 |
"exists": true,
|
| 1647 |
+
"bytes": 11380,
|
| 1648 |
+
"sha256": "e8c99db9b2698f824b580882b238a881cffeafffc0b5f768d5fad0f9ac24ae18"
|
| 1649 |
},
|
| 1650 |
"hf_model": {
|
| 1651 |
"path": "hf_model:scripts/build_quality_gates.py",
|
| 1652 |
"exists": true,
|
| 1653 |
+
"bytes": 11380,
|
| 1654 |
+
"sha256": "e8c99db9b2698f824b580882b238a881cffeafffc0b5f768d5fad0f9ac24ae18"
|
| 1655 |
}
|
| 1656 |
},
|
| 1657 |
"failures": []
|
|
|
|
| 1662 |
"local": {
|
| 1663 |
"path": "repo:scripts/build_public_surface_qa.py",
|
| 1664 |
"exists": true,
|
| 1665 |
+
"bytes": 11894,
|
| 1666 |
+
"sha256": "d0e86f45f2f23670e967c1a92024797a59106116ac9d948c35972512384f41de"
|
| 1667 |
},
|
| 1668 |
"mirrors": {
|
| 1669 |
"hf_artifacts": {
|
| 1670 |
"path": "hf_artifacts:scripts/build_public_surface_qa.py",
|
| 1671 |
"exists": true,
|
| 1672 |
+
"bytes": 11894,
|
| 1673 |
+
"sha256": "d0e86f45f2f23670e967c1a92024797a59106116ac9d948c35972512384f41de"
|
| 1674 |
},
|
| 1675 |
"hf_model": {
|
| 1676 |
"path": "hf_model:scripts/build_public_surface_qa.py",
|
| 1677 |
"exists": true,
|
| 1678 |
+
"bytes": 11894,
|
| 1679 |
+
"sha256": "d0e86f45f2f23670e967c1a92024797a59106116ac9d948c35972512384f41de"
|
| 1680 |
+
}
|
| 1681 |
+
},
|
| 1682 |
+
"failures": []
|
| 1683 |
+
},
|
| 1684 |
+
{
|
| 1685 |
+
"name": "scripts/build_rendered_site_check.py",
|
| 1686 |
+
"status": "pass",
|
| 1687 |
+
"local": {
|
| 1688 |
+
"path": "repo:scripts/build_rendered_site_check.py",
|
| 1689 |
+
"exists": true,
|
| 1690 |
+
"bytes": 7820,
|
| 1691 |
+
"sha256": "670f31c75e9d641ef20f8ad761a63104e96fd631372c965c7f7746a692b4d514"
|
| 1692 |
+
},
|
| 1693 |
+
"mirrors": {
|
| 1694 |
+
"hf_artifacts": {
|
| 1695 |
+
"path": "hf_artifacts:scripts/build_rendered_site_check.py",
|
| 1696 |
+
"exists": true,
|
| 1697 |
+
"bytes": 7820,
|
| 1698 |
+
"sha256": "670f31c75e9d641ef20f8ad761a63104e96fd631372c965c7f7746a692b4d514"
|
| 1699 |
+
},
|
| 1700 |
+
"hf_model": {
|
| 1701 |
+
"path": "hf_model:scripts/build_rendered_site_check.py",
|
| 1702 |
+
"exists": true,
|
| 1703 |
+
"bytes": 7820,
|
| 1704 |
+
"sha256": "670f31c75e9d641ef20f8ad761a63104e96fd631372c965c7f7746a692b4d514"
|
| 1705 |
+
}
|
| 1706 |
+
},
|
| 1707 |
+
"failures": []
|
| 1708 |
+
},
|
| 1709 |
+
{
|
| 1710 |
+
"name": "scripts/build_single_episode_explorer.py",
|
| 1711 |
+
"status": "pass",
|
| 1712 |
+
"local": {
|
| 1713 |
+
"path": "repo:scripts/build_single_episode_explorer.py",
|
| 1714 |
+
"exists": true,
|
| 1715 |
+
"bytes": 29394,
|
| 1716 |
+
"sha256": "c837f4f4a0d7baff8d4e3bea36ea0f669c6a3eb073a0504c0a31bab481a38b73"
|
| 1717 |
+
},
|
| 1718 |
+
"mirrors": {
|
| 1719 |
+
"hf_artifacts": {
|
| 1720 |
+
"path": "hf_artifacts:scripts/build_single_episode_explorer.py",
|
| 1721 |
+
"exists": true,
|
| 1722 |
+
"bytes": 29394,
|
| 1723 |
+
"sha256": "c837f4f4a0d7baff8d4e3bea36ea0f669c6a3eb073a0504c0a31bab481a38b73"
|
| 1724 |
+
},
|
| 1725 |
+
"hf_model": {
|
| 1726 |
+
"path": "hf_model:scripts/build_single_episode_explorer.py",
|
| 1727 |
+
"exists": true,
|
| 1728 |
+
"bytes": 29394,
|
| 1729 |
+
"sha256": "c837f4f4a0d7baff8d4e3bea36ea0f669c6a3eb073a0504c0a31bab481a38b73"
|
| 1730 |
}
|
| 1731 |
},
|
| 1732 |
"failures": []
|
|
|
|
| 1756 |
},
|
| 1757 |
"failures": []
|
| 1758 |
},
|
| 1759 |
+
{
|
| 1760 |
+
"name": "scripts/single_episode_diagnostics.py",
|
| 1761 |
+
"status": "pass",
|
| 1762 |
+
"local": {
|
| 1763 |
+
"path": "repo:scripts/single_episode_diagnostics.py",
|
| 1764 |
+
"exists": true,
|
| 1765 |
+
"bytes": 57667,
|
| 1766 |
+
"sha256": "865ab2cd732e561fdf006516d50b337878592ab06708f231e9a864f82b3c867f"
|
| 1767 |
+
},
|
| 1768 |
+
"mirrors": {
|
| 1769 |
+
"hf_artifacts": {
|
| 1770 |
+
"path": "hf_artifacts:scripts/single_episode_diagnostics.py",
|
| 1771 |
+
"exists": true,
|
| 1772 |
+
"bytes": 57667,
|
| 1773 |
+
"sha256": "865ab2cd732e561fdf006516d50b337878592ab06708f231e9a864f82b3c867f"
|
| 1774 |
+
},
|
| 1775 |
+
"hf_model": {
|
| 1776 |
+
"path": "hf_model:scripts/single_episode_diagnostics.py",
|
| 1777 |
+
"exists": true,
|
| 1778 |
+
"bytes": 57667,
|
| 1779 |
+
"sha256": "865ab2cd732e561fdf006516d50b337878592ab06708f231e9a864f82b3c867f"
|
| 1780 |
+
}
|
| 1781 |
+
},
|
| 1782 |
+
"failures": []
|
| 1783 |
+
},
|
| 1784 |
{
|
| 1785 |
"name": "scripts/verify_live_publication.py",
|
| 1786 |
"status": "pass",
|
| 1787 |
"local": {
|
| 1788 |
"path": "repo:scripts/verify_live_publication.py",
|
| 1789 |
"exists": true,
|
| 1790 |
+
"bytes": 28398,
|
| 1791 |
+
"sha256": "bcc5377beea66e731866182f307be7ed2c51a56d7cd6055d6f5e8c9643e274d3"
|
| 1792 |
},
|
| 1793 |
"mirrors": {
|
| 1794 |
"hf_artifacts": {
|
| 1795 |
"path": "hf_artifacts:scripts/verify_live_publication.py",
|
| 1796 |
"exists": true,
|
| 1797 |
+
"bytes": 28398,
|
| 1798 |
+
"sha256": "bcc5377beea66e731866182f307be7ed2c51a56d7cd6055d6f5e8c9643e274d3"
|
| 1799 |
},
|
| 1800 |
"hf_model": {
|
| 1801 |
"path": "hf_model:scripts/verify_live_publication.py",
|
| 1802 |
"exists": true,
|
| 1803 |
+
"bytes": 28398,
|
| 1804 |
+
"sha256": "bcc5377beea66e731866182f307be7ed2c51a56d7cd6055d6f5e8c9643e274d3"
|
| 1805 |
}
|
| 1806 |
},
|
| 1807 |
"failures": []
|
|
|
|
| 1812 |
"local": {
|
| 1813 |
"path": "repo:scripts/validate_mirror_parity.py",
|
| 1814 |
"exists": true,
|
| 1815 |
+
"bytes": 11942,
|
| 1816 |
+
"sha256": "730159d3136e1f7fd7db236157d4081096bde0fde5110faeb265eb2724509945"
|
| 1817 |
},
|
| 1818 |
"mirrors": {
|
| 1819 |
"hf_artifacts": {
|
| 1820 |
"path": "hf_artifacts:scripts/validate_mirror_parity.py",
|
| 1821 |
"exists": true,
|
| 1822 |
+
"bytes": 11942,
|
| 1823 |
+
"sha256": "730159d3136e1f7fd7db236157d4081096bde0fde5110faeb265eb2724509945"
|
| 1824 |
},
|
| 1825 |
"hf_model": {
|
| 1826 |
"path": "hf_model:scripts/validate_mirror_parity.py",
|
| 1827 |
"exists": true,
|
| 1828 |
+
"bytes": 11942,
|
| 1829 |
+
"sha256": "730159d3136e1f7fd7db236157d4081096bde0fde5110faeb265eb2724509945"
|
| 1830 |
}
|
| 1831 |
},
|
| 1832 |
"failures": []
|
|
|
|
| 1837 |
"local": {
|
| 1838 |
"path": "repo:scripts/validate_publication_package.py",
|
| 1839 |
"exists": true,
|
| 1840 |
+
"bytes": 19097,
|
| 1841 |
+
"sha256": "1073dd6539d4b998150a820e5eb2a5267ea9d492cbe1929f1d958567b3935649"
|
| 1842 |
},
|
| 1843 |
"mirrors": {
|
| 1844 |
"hf_artifacts": {
|
| 1845 |
"path": "hf_artifacts:scripts/validate_publication_package.py",
|
| 1846 |
"exists": true,
|
| 1847 |
+
"bytes": 19097,
|
| 1848 |
+
"sha256": "1073dd6539d4b998150a820e5eb2a5267ea9d492cbe1929f1d958567b3935649"
|
| 1849 |
},
|
| 1850 |
"hf_model": {
|
| 1851 |
"path": "hf_model:scripts/validate_publication_package.py",
|
| 1852 |
"exists": true,
|
| 1853 |
+
"bytes": 19097,
|
| 1854 |
+
"sha256": "1073dd6539d4b998150a820e5eb2a5267ea9d492cbe1929f1d958567b3935649"
|
| 1855 |
}
|
| 1856 |
},
|
| 1857 |
"failures": []
|
|
|
|
| 1937 |
"local": {
|
| 1938 |
"path": "repo:scripts/validate_website_integrity.py",
|
| 1939 |
"exists": true,
|
| 1940 |
+
"bytes": 22821,
|
| 1941 |
+
"sha256": "6385dc491daad67f771df9d44895a2e930f572127684c421b132e2d1866040dc"
|
| 1942 |
},
|
| 1943 |
"mirrors": {
|
| 1944 |
"hf_artifacts": {
|
| 1945 |
"path": "hf_artifacts:scripts/validate_website_integrity.py",
|
| 1946 |
"exists": true,
|
| 1947 |
+
"bytes": 22821,
|
| 1948 |
+
"sha256": "6385dc491daad67f771df9d44895a2e930f572127684c421b132e2d1866040dc"
|
| 1949 |
},
|
| 1950 |
"hf_model": {
|
| 1951 |
"path": "hf_model:scripts/validate_website_integrity.py",
|
| 1952 |
"exists": true,
|
| 1953 |
+
"bytes": 22821,
|
| 1954 |
+
"sha256": "6385dc491daad67f771df9d44895a2e930f572127684c421b132e2d1866040dc"
|
| 1955 |
}
|
| 1956 |
},
|
| 1957 |
"failures": []
|
|
|
|
| 1962 |
"local": {
|
| 1963 |
"path": "repo:scripts/publish_hf_bundles.py",
|
| 1964 |
"exists": true,
|
| 1965 |
+
"bytes": 8996,
|
| 1966 |
+
"sha256": "9790951493763e6490d01fec62661df2bbe2a3341466fe41298b95cda0900229"
|
| 1967 |
},
|
| 1968 |
"mirrors": {
|
| 1969 |
"hf_artifacts": {
|
| 1970 |
"path": "hf_artifacts:scripts/publish_hf_bundles.py",
|
| 1971 |
"exists": true,
|
| 1972 |
+
"bytes": 8996,
|
| 1973 |
+
"sha256": "9790951493763e6490d01fec62661df2bbe2a3341466fe41298b95cda0900229"
|
| 1974 |
},
|
| 1975 |
"hf_model": {
|
| 1976 |
"path": "hf_model:scripts/publish_hf_bundles.py",
|
| 1977 |
"exists": true,
|
| 1978 |
+
"bytes": 8996,
|
| 1979 |
+
"sha256": "9790951493763e6490d01fec62661df2bbe2a3341466fe41298b95cda0900229"
|
| 1980 |
}
|
| 1981 |
},
|
| 1982 |
"failures": []
|
|
|
|
| 2037 |
"local": {
|
| 2038 |
"path": "repo:docs/index.html",
|
| 2039 |
"exists": true,
|
| 2040 |
+
"bytes": 159797,
|
| 2041 |
+
"sha256": "6071494e626ef88821cce4f6f9ee27b7d56011de345add95e1708c921ccc84e4"
|
| 2042 |
},
|
| 2043 |
"mirrors": {
|
| 2044 |
"hf_space": {
|
| 2045 |
"path": "hf_space:index.html",
|
| 2046 |
"exists": true,
|
| 2047 |
+
"bytes": 159797,
|
| 2048 |
+
"sha256": "6071494e626ef88821cce4f6f9ee27b7d56011de345add95e1708c921ccc84e4"
|
| 2049 |
},
|
| 2050 |
"hf_artifacts_docs": {
|
| 2051 |
"path": "hf_artifacts:docs/index.html",
|
| 2052 |
"exists": true,
|
| 2053 |
+
"bytes": 159797,
|
| 2054 |
+
"sha256": "6071494e626ef88821cce4f6f9ee27b7d56011de345add95e1708c921ccc84e4"
|
| 2055 |
+
}
|
| 2056 |
+
},
|
| 2057 |
+
"failures": []
|
| 2058 |
+
},
|
| 2059 |
+
{
|
| 2060 |
+
"name": "website/single_episode_explorer.html",
|
| 2061 |
+
"status": "pass",
|
| 2062 |
+
"local": {
|
| 2063 |
+
"path": "repo:docs/single_episode_explorer.html",
|
| 2064 |
+
"exists": true,
|
| 2065 |
+
"bytes": 2641502,
|
| 2066 |
+
"sha256": "e97fede9233ce1329ea113dbbd06d0b6b9e5da986d35a9d6a3e20b626d741935"
|
| 2067 |
+
},
|
| 2068 |
+
"mirrors": {
|
| 2069 |
+
"hf_space": {
|
| 2070 |
+
"path": "hf_space:single_episode_explorer.html",
|
| 2071 |
+
"exists": true,
|
| 2072 |
+
"bytes": 2641502,
|
| 2073 |
+
"sha256": "e97fede9233ce1329ea113dbbd06d0b6b9e5da986d35a9d6a3e20b626d741935"
|
| 2074 |
+
},
|
| 2075 |
+
"hf_artifacts_docs": {
|
| 2076 |
+
"path": "hf_artifacts:docs/single_episode_explorer.html",
|
| 2077 |
+
"exists": true,
|
| 2078 |
+
"bytes": 2641502,
|
| 2079 |
+
"sha256": "e97fede9233ce1329ea113dbbd06d0b6b9e5da986d35a9d6a3e20b626d741935"
|
| 2080 |
}
|
| 2081 |
},
|
| 2082 |
"failures": []
|
|
|
|
| 2106 |
},
|
| 2107 |
"failures": []
|
| 2108 |
},
|
| 2109 |
+
{
|
| 2110 |
+
"name": "results/single_episode_diagnostics/provenance.json",
|
| 2111 |
+
"status": "pass",
|
| 2112 |
+
"local": {
|
| 2113 |
+
"path": "repo:results/single_episode_diagnostics/provenance.json",
|
| 2114 |
+
"exists": true,
|
| 2115 |
+
"bytes": 3962,
|
| 2116 |
+
"sha256": "48087224240941fd92444d4fee94a6146c96c35b5acc429a209db3c5cdb8d24b"
|
| 2117 |
+
},
|
| 2118 |
+
"mirrors": {
|
| 2119 |
+
"hf_space": {
|
| 2120 |
+
"path": "hf_space:results/single_episode_diagnostics/provenance.json",
|
| 2121 |
+
"exists": true,
|
| 2122 |
+
"bytes": 3962,
|
| 2123 |
+
"sha256": "48087224240941fd92444d4fee94a6146c96c35b5acc429a209db3c5cdb8d24b"
|
| 2124 |
+
},
|
| 2125 |
+
"hf_artifacts": {
|
| 2126 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/provenance.json",
|
| 2127 |
+
"exists": true,
|
| 2128 |
+
"bytes": 3962,
|
| 2129 |
+
"sha256": "48087224240941fd92444d4fee94a6146c96c35b5acc429a209db3c5cdb8d24b"
|
| 2130 |
+
},
|
| 2131 |
+
"hf_model": {
|
| 2132 |
+
"path": "hf_model:results/single_episode_diagnostics/provenance.json",
|
| 2133 |
+
"exists": true,
|
| 2134 |
+
"bytes": 3962,
|
| 2135 |
+
"sha256": "48087224240941fd92444d4fee94a6146c96c35b5acc429a209db3c5cdb8d24b"
|
| 2136 |
+
}
|
| 2137 |
+
},
|
| 2138 |
+
"failures": []
|
| 2139 |
+
},
|
| 2140 |
+
{
|
| 2141 |
+
"name": "results/single_episode_diagnostics/README.md",
|
| 2142 |
+
"status": "pass",
|
| 2143 |
+
"local": {
|
| 2144 |
+
"path": "repo:results/single_episode_diagnostics/README.md",
|
| 2145 |
+
"exists": true,
|
| 2146 |
+
"bytes": 1058,
|
| 2147 |
+
"sha256": "e64b13f227f270dc545317636f432fb766d6f7ab8695f69234b2c24b6413a42e"
|
| 2148 |
+
},
|
| 2149 |
+
"mirrors": {
|
| 2150 |
+
"hf_space": {
|
| 2151 |
+
"path": "hf_space:results/single_episode_diagnostics/README.md",
|
| 2152 |
+
"exists": true,
|
| 2153 |
+
"bytes": 1058,
|
| 2154 |
+
"sha256": "e64b13f227f270dc545317636f432fb766d6f7ab8695f69234b2c24b6413a42e"
|
| 2155 |
+
},
|
| 2156 |
+
"hf_artifacts": {
|
| 2157 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/README.md",
|
| 2158 |
+
"exists": true,
|
| 2159 |
+
"bytes": 1058,
|
| 2160 |
+
"sha256": "e64b13f227f270dc545317636f432fb766d6f7ab8695f69234b2c24b6413a42e"
|
| 2161 |
+
},
|
| 2162 |
+
"hf_model": {
|
| 2163 |
+
"path": "hf_model:results/single_episode_diagnostics/README.md",
|
| 2164 |
+
"exists": true,
|
| 2165 |
+
"bytes": 1058,
|
| 2166 |
+
"sha256": "e64b13f227f270dc545317636f432fb766d6f7ab8695f69234b2c24b6413a42e"
|
| 2167 |
+
}
|
| 2168 |
+
},
|
| 2169 |
+
"failures": []
|
| 2170 |
+
},
|
| 2171 |
+
{
|
| 2172 |
+
"name": "results/single_episode_diagnostics/modality_ablation/ablation_metrics.csv",
|
| 2173 |
+
"status": "pass",
|
| 2174 |
+
"local": {
|
| 2175 |
+
"path": "repo:results/single_episode_diagnostics/modality_ablation/ablation_metrics.csv",
|
| 2176 |
+
"exists": true,
|
| 2177 |
+
"bytes": 24871,
|
| 2178 |
+
"sha256": "8e43bfa9b90544d7b09e207de26d1b852dd115b3e7c957eaa4b45e520dc050b8"
|
| 2179 |
+
},
|
| 2180 |
+
"mirrors": {
|
| 2181 |
+
"hf_space": {
|
| 2182 |
+
"path": "hf_space:results/single_episode_diagnostics/modality_ablation/ablation_metrics.csv",
|
| 2183 |
+
"exists": true,
|
| 2184 |
+
"bytes": 24871,
|
| 2185 |
+
"sha256": "8e43bfa9b90544d7b09e207de26d1b852dd115b3e7c957eaa4b45e520dc050b8"
|
| 2186 |
+
},
|
| 2187 |
+
"hf_artifacts": {
|
| 2188 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/modality_ablation/ablation_metrics.csv",
|
| 2189 |
+
"exists": true,
|
| 2190 |
+
"bytes": 24871,
|
| 2191 |
+
"sha256": "8e43bfa9b90544d7b09e207de26d1b852dd115b3e7c957eaa4b45e520dc050b8"
|
| 2192 |
+
},
|
| 2193 |
+
"hf_model": {
|
| 2194 |
+
"path": "hf_model:results/single_episode_diagnostics/modality_ablation/ablation_metrics.csv",
|
| 2195 |
+
"exists": true,
|
| 2196 |
+
"bytes": 24871,
|
| 2197 |
+
"sha256": "8e43bfa9b90544d7b09e207de26d1b852dd115b3e7c957eaa4b45e520dc050b8"
|
| 2198 |
+
}
|
| 2199 |
+
},
|
| 2200 |
+
"failures": []
|
| 2201 |
+
},
|
| 2202 |
+
{
|
| 2203 |
+
"name": "results/single_episode_diagnostics/modality_ablation/ablation_summary.json",
|
| 2204 |
+
"status": "pass",
|
| 2205 |
+
"local": {
|
| 2206 |
+
"path": "repo:results/single_episode_diagnostics/modality_ablation/ablation_summary.json",
|
| 2207 |
+
"exists": true,
|
| 2208 |
+
"bytes": 735,
|
| 2209 |
+
"sha256": "2761e1777963473ffa5110ab25e863a6b8ee19ce2004d94ffa938cfa5e0d93fc"
|
| 2210 |
+
},
|
| 2211 |
+
"mirrors": {
|
| 2212 |
+
"hf_space": {
|
| 2213 |
+
"path": "hf_space:results/single_episode_diagnostics/modality_ablation/ablation_summary.json",
|
| 2214 |
+
"exists": true,
|
| 2215 |
+
"bytes": 735,
|
| 2216 |
+
"sha256": "2761e1777963473ffa5110ab25e863a6b8ee19ce2004d94ffa938cfa5e0d93fc"
|
| 2217 |
+
},
|
| 2218 |
+
"hf_artifacts": {
|
| 2219 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/modality_ablation/ablation_summary.json",
|
| 2220 |
+
"exists": true,
|
| 2221 |
+
"bytes": 735,
|
| 2222 |
+
"sha256": "2761e1777963473ffa5110ab25e863a6b8ee19ce2004d94ffa938cfa5e0d93fc"
|
| 2223 |
+
},
|
| 2224 |
+
"hf_model": {
|
| 2225 |
+
"path": "hf_model:results/single_episode_diagnostics/modality_ablation/ablation_summary.json",
|
| 2226 |
+
"exists": true,
|
| 2227 |
+
"bytes": 735,
|
| 2228 |
+
"sha256": "2761e1777963473ffa5110ab25e863a6b8ee19ce2004d94ffa938cfa5e0d93fc"
|
| 2229 |
+
}
|
| 2230 |
+
},
|
| 2231 |
+
"failures": []
|
| 2232 |
+
},
|
| 2233 |
+
{
|
| 2234 |
+
"name": "results/single_episode_diagnostics/object_labels/object_vocab.json",
|
| 2235 |
+
"status": "pass",
|
| 2236 |
+
"local": {
|
| 2237 |
+
"path": "repo:results/single_episode_diagnostics/object_labels/object_vocab.json",
|
| 2238 |
+
"exists": true,
|
| 2239 |
+
"bytes": 995,
|
| 2240 |
+
"sha256": "813320bbe5d57c74803f5dfb080d440ef1804af41950e031d82ab80311eb04c7"
|
| 2241 |
+
},
|
| 2242 |
+
"mirrors": {
|
| 2243 |
+
"hf_space": {
|
| 2244 |
+
"path": "hf_space:results/single_episode_diagnostics/object_labels/object_vocab.json",
|
| 2245 |
+
"exists": true,
|
| 2246 |
+
"bytes": 995,
|
| 2247 |
+
"sha256": "813320bbe5d57c74803f5dfb080d440ef1804af41950e031d82ab80311eb04c7"
|
| 2248 |
+
},
|
| 2249 |
+
"hf_artifacts": {
|
| 2250 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/object_labels/object_vocab.json",
|
| 2251 |
+
"exists": true,
|
| 2252 |
+
"bytes": 995,
|
| 2253 |
+
"sha256": "813320bbe5d57c74803f5dfb080d440ef1804af41950e031d82ab80311eb04c7"
|
| 2254 |
+
},
|
| 2255 |
+
"hf_model": {
|
| 2256 |
+
"path": "hf_model:results/single_episode_diagnostics/object_labels/object_vocab.json",
|
| 2257 |
+
"exists": true,
|
| 2258 |
+
"bytes": 995,
|
| 2259 |
+
"sha256": "813320bbe5d57c74803f5dfb080d440ef1804af41950e031d82ab80311eb04c7"
|
| 2260 |
+
}
|
| 2261 |
+
},
|
| 2262 |
+
"failures": []
|
| 2263 |
+
},
|
| 2264 |
+
{
|
| 2265 |
+
"name": "results/single_episode_diagnostics/object_labels/window_object_labels.csv",
|
| 2266 |
+
"status": "pass",
|
| 2267 |
+
"local": {
|
| 2268 |
+
"path": "repo:results/single_episode_diagnostics/object_labels/window_object_labels.csv",
|
| 2269 |
+
"exists": true,
|
| 2270 |
+
"bytes": 78160,
|
| 2271 |
+
"sha256": "a28e43bf88f5c4c0a193b7c0c574526822e5ca0757d78b168c8450730d804510"
|
| 2272 |
+
},
|
| 2273 |
+
"mirrors": {
|
| 2274 |
+
"hf_space": {
|
| 2275 |
+
"path": "hf_space:results/single_episode_diagnostics/object_labels/window_object_labels.csv",
|
| 2276 |
+
"exists": true,
|
| 2277 |
+
"bytes": 78160,
|
| 2278 |
+
"sha256": "a28e43bf88f5c4c0a193b7c0c574526822e5ca0757d78b168c8450730d804510"
|
| 2279 |
+
},
|
| 2280 |
+
"hf_artifacts": {
|
| 2281 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/object_labels/window_object_labels.csv",
|
| 2282 |
+
"exists": true,
|
| 2283 |
+
"bytes": 78160,
|
| 2284 |
+
"sha256": "a28e43bf88f5c4c0a193b7c0c574526822e5ca0757d78b168c8450730d804510"
|
| 2285 |
+
},
|
| 2286 |
+
"hf_model": {
|
| 2287 |
+
"path": "hf_model:results/single_episode_diagnostics/object_labels/window_object_labels.csv",
|
| 2288 |
+
"exists": true,
|
| 2289 |
+
"bytes": 78160,
|
| 2290 |
+
"sha256": "a28e43bf88f5c4c0a193b7c0c574526822e5ca0757d78b168c8450730d804510"
|
| 2291 |
+
}
|
| 2292 |
+
},
|
| 2293 |
+
"failures": []
|
| 2294 |
+
},
|
| 2295 |
+
{
|
| 2296 |
+
"name": "results/single_episode_diagnostics/timeline_overlay/timeline_overlay.csv",
|
| 2297 |
+
"status": "pass",
|
| 2298 |
+
"local": {
|
| 2299 |
+
"path": "repo:results/single_episode_diagnostics/timeline_overlay/timeline_overlay.csv",
|
| 2300 |
+
"exists": true,
|
| 2301 |
+
"bytes": 293713,
|
| 2302 |
+
"sha256": "eebd53caf853aac5da51adea285e6623dd00860d23d3bc5703169ed6c53d0405"
|
| 2303 |
+
},
|
| 2304 |
+
"mirrors": {
|
| 2305 |
+
"hf_space": {
|
| 2306 |
+
"path": "hf_space:results/single_episode_diagnostics/timeline_overlay/timeline_overlay.csv",
|
| 2307 |
+
"exists": true,
|
| 2308 |
+
"bytes": 293713,
|
| 2309 |
+
"sha256": "eebd53caf853aac5da51adea285e6623dd00860d23d3bc5703169ed6c53d0405"
|
| 2310 |
+
},
|
| 2311 |
+
"hf_artifacts": {
|
| 2312 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/timeline_overlay/timeline_overlay.csv",
|
| 2313 |
+
"exists": true,
|
| 2314 |
+
"bytes": 293713,
|
| 2315 |
+
"sha256": "eebd53caf853aac5da51adea285e6623dd00860d23d3bc5703169ed6c53d0405"
|
| 2316 |
+
},
|
| 2317 |
+
"hf_model": {
|
| 2318 |
+
"path": "hf_model:results/single_episode_diagnostics/timeline_overlay/timeline_overlay.csv",
|
| 2319 |
+
"exists": true,
|
| 2320 |
+
"bytes": 293713,
|
| 2321 |
+
"sha256": "eebd53caf853aac5da51adea285e6623dd00860d23d3bc5703169ed6c53d0405"
|
| 2322 |
+
}
|
| 2323 |
+
},
|
| 2324 |
+
"failures": []
|
| 2325 |
+
},
|
| 2326 |
+
{
|
| 2327 |
+
"name": "results/single_episode_diagnostics/alignment_stress/alignment_shift_metrics.csv",
|
| 2328 |
+
"status": "pass",
|
| 2329 |
+
"local": {
|
| 2330 |
+
"path": "repo:results/single_episode_diagnostics/alignment_stress/alignment_shift_metrics.csv",
|
| 2331 |
+
"exists": true,
|
| 2332 |
+
"bytes": 8203,
|
| 2333 |
+
"sha256": "8b0026b472a0c0fd8c6eb5c9c307b41ac7ed71fe0ae3d52c8b18dfd5721f0ef1"
|
| 2334 |
+
},
|
| 2335 |
+
"mirrors": {
|
| 2336 |
+
"hf_space": {
|
| 2337 |
+
"path": "hf_space:results/single_episode_diagnostics/alignment_stress/alignment_shift_metrics.csv",
|
| 2338 |
+
"exists": true,
|
| 2339 |
+
"bytes": 8203,
|
| 2340 |
+
"sha256": "8b0026b472a0c0fd8c6eb5c9c307b41ac7ed71fe0ae3d52c8b18dfd5721f0ef1"
|
| 2341 |
+
},
|
| 2342 |
+
"hf_artifacts": {
|
| 2343 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/alignment_stress/alignment_shift_metrics.csv",
|
| 2344 |
+
"exists": true,
|
| 2345 |
+
"bytes": 8203,
|
| 2346 |
+
"sha256": "8b0026b472a0c0fd8c6eb5c9c307b41ac7ed71fe0ae3d52c8b18dfd5721f0ef1"
|
| 2347 |
+
},
|
| 2348 |
+
"hf_model": {
|
| 2349 |
+
"path": "hf_model:results/single_episode_diagnostics/alignment_stress/alignment_shift_metrics.csv",
|
| 2350 |
+
"exists": true,
|
| 2351 |
+
"bytes": 8203,
|
| 2352 |
+
"sha256": "8b0026b472a0c0fd8c6eb5c9c307b41ac7ed71fe0ae3d52c8b18dfd5721f0ef1"
|
| 2353 |
+
}
|
| 2354 |
+
},
|
| 2355 |
+
"failures": []
|
| 2356 |
+
},
|
| 2357 |
+
{
|
| 2358 |
+
"name": "results/single_episode_diagnostics/alignment_stress/alignment_stress_summary.json",
|
| 2359 |
+
"status": "pass",
|
| 2360 |
+
"local": {
|
| 2361 |
+
"path": "repo:results/single_episode_diagnostics/alignment_stress/alignment_stress_summary.json",
|
| 2362 |
+
"exists": true,
|
| 2363 |
+
"bytes": 332,
|
| 2364 |
+
"sha256": "2a467dae8e2f1606d77eccc8d1cbeb11507d462f95291d52b49d1057b7db9f14"
|
| 2365 |
+
},
|
| 2366 |
+
"mirrors": {
|
| 2367 |
+
"hf_space": {
|
| 2368 |
+
"path": "hf_space:results/single_episode_diagnostics/alignment_stress/alignment_stress_summary.json",
|
| 2369 |
+
"exists": true,
|
| 2370 |
+
"bytes": 332,
|
| 2371 |
+
"sha256": "2a467dae8e2f1606d77eccc8d1cbeb11507d462f95291d52b49d1057b7db9f14"
|
| 2372 |
+
},
|
| 2373 |
+
"hf_artifacts": {
|
| 2374 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/alignment_stress/alignment_stress_summary.json",
|
| 2375 |
+
"exists": true,
|
| 2376 |
+
"bytes": 332,
|
| 2377 |
+
"sha256": "2a467dae8e2f1606d77eccc8d1cbeb11507d462f95291d52b49d1057b7db9f14"
|
| 2378 |
+
},
|
| 2379 |
+
"hf_model": {
|
| 2380 |
+
"path": "hf_model:results/single_episode_diagnostics/alignment_stress/alignment_stress_summary.json",
|
| 2381 |
+
"exists": true,
|
| 2382 |
+
"bytes": 332,
|
| 2383 |
+
"sha256": "2a467dae8e2f1606d77eccc8d1cbeb11507d462f95291d52b49d1057b7db9f14"
|
| 2384 |
+
}
|
| 2385 |
+
},
|
| 2386 |
+
"failures": []
|
| 2387 |
+
},
|
| 2388 |
{
|
| 2389 |
"name": "docs/QUALITY_GATES.md",
|
| 2390 |
"status": "pass",
|
| 2391 |
"local": {
|
| 2392 |
"path": "repo:QUALITY_GATES.md",
|
| 2393 |
"exists": true,
|
| 2394 |
+
"bytes": 4919,
|
| 2395 |
+
"sha256": "7138e99b116c44f128cd2f749e9d7427e496cb7596d30d54dd44af79be80df81"
|
| 2396 |
},
|
| 2397 |
"mirrors": {
|
| 2398 |
"hf_space": {
|
| 2399 |
"path": "hf_space:QUALITY_GATES.md",
|
| 2400 |
"exists": true,
|
| 2401 |
+
"bytes": 4919,
|
| 2402 |
+
"sha256": "7138e99b116c44f128cd2f749e9d7427e496cb7596d30d54dd44af79be80df81"
|
| 2403 |
},
|
| 2404 |
"hf_artifacts": {
|
| 2405 |
"path": "hf_artifacts:QUALITY_GATES.md",
|
| 2406 |
"exists": true,
|
| 2407 |
+
"bytes": 4919,
|
| 2408 |
+
"sha256": "7138e99b116c44f128cd2f749e9d7427e496cb7596d30d54dd44af79be80df81"
|
| 2409 |
},
|
| 2410 |
"hf_model": {
|
| 2411 |
"path": "hf_model:QUALITY_GATES.md",
|
| 2412 |
"exists": true,
|
| 2413 |
+
"bytes": 4919,
|
| 2414 |
+
"sha256": "7138e99b116c44f128cd2f749e9d7427e496cb7596d30d54dd44af79be80df81"
|
| 2415 |
}
|
| 2416 |
},
|
| 2417 |
"failures": []
|
|
|
|
| 2509 |
},
|
| 2510 |
"failures": []
|
| 2511 |
},
|
| 2512 |
+
{
|
| 2513 |
+
"name": "docs/RENDERED_SITE_CHECK.md",
|
| 2514 |
+
"status": "pass",
|
| 2515 |
+
"local": {
|
| 2516 |
+
"path": "repo:RENDERED_SITE_CHECK.md",
|
| 2517 |
+
"exists": true,
|
| 2518 |
+
"bytes": 1922,
|
| 2519 |
+
"sha256": "be747c041579fa1b1131ad1f8935217c607d7307843c88fef5e656cd74a74471"
|
| 2520 |
+
},
|
| 2521 |
+
"mirrors": {
|
| 2522 |
+
"hf_space": {
|
| 2523 |
+
"path": "hf_space:RENDERED_SITE_CHECK.md",
|
| 2524 |
+
"exists": true,
|
| 2525 |
+
"bytes": 1922,
|
| 2526 |
+
"sha256": "be747c041579fa1b1131ad1f8935217c607d7307843c88fef5e656cd74a74471"
|
| 2527 |
+
},
|
| 2528 |
+
"hf_artifacts": {
|
| 2529 |
+
"path": "hf_artifacts:RENDERED_SITE_CHECK.md",
|
| 2530 |
+
"exists": true,
|
| 2531 |
+
"bytes": 1922,
|
| 2532 |
+
"sha256": "be747c041579fa1b1131ad1f8935217c607d7307843c88fef5e656cd74a74471"
|
| 2533 |
+
},
|
| 2534 |
+
"hf_model": {
|
| 2535 |
+
"path": "hf_model:RENDERED_SITE_CHECK.md",
|
| 2536 |
+
"exists": true,
|
| 2537 |
+
"bytes": 1922,
|
| 2538 |
+
"sha256": "be747c041579fa1b1131ad1f8935217c607d7307843c88fef5e656cd74a74471"
|
| 2539 |
+
}
|
| 2540 |
+
},
|
| 2541 |
+
"failures": []
|
| 2542 |
+
},
|
| 2543 |
{
|
| 2544 |
"name": "docs/RESEARCH_ROADMAP.md",
|
| 2545 |
"status": "pass",
|
| 2546 |
"local": {
|
| 2547 |
"path": "repo:RESEARCH_ROADMAP.md",
|
| 2548 |
"exists": true,
|
| 2549 |
+
"bytes": 5051,
|
| 2550 |
+
"sha256": "1d640dbc0bcba26d72dbedd4c2dacb04e38bc7c3b11ac79f57b52c2a6e8caec3"
|
| 2551 |
},
|
| 2552 |
"mirrors": {
|
| 2553 |
"hf_space": {
|
| 2554 |
"path": "hf_space:RESEARCH_ROADMAP.md",
|
| 2555 |
"exists": true,
|
| 2556 |
+
"bytes": 5051,
|
| 2557 |
+
"sha256": "1d640dbc0bcba26d72dbedd4c2dacb04e38bc7c3b11ac79f57b52c2a6e8caec3"
|
| 2558 |
},
|
| 2559 |
"hf_artifacts": {
|
| 2560 |
"path": "hf_artifacts:RESEARCH_ROADMAP.md",
|
| 2561 |
"exists": true,
|
| 2562 |
+
"bytes": 5051,
|
| 2563 |
+
"sha256": "1d640dbc0bcba26d72dbedd4c2dacb04e38bc7c3b11ac79f57b52c2a6e8caec3"
|
| 2564 |
},
|
| 2565 |
"hf_model": {
|
| 2566 |
"path": "hf_model:RESEARCH_ROADMAP.md",
|
| 2567 |
"exists": true,
|
| 2568 |
+
"bytes": 5051,
|
| 2569 |
+
"sha256": "1d640dbc0bcba26d72dbedd4c2dacb04e38bc7c3b11ac79f57b52c2a6e8caec3"
|
| 2570 |
}
|
| 2571 |
},
|
| 2572 |
"failures": []
|
|
|
|
| 2577 |
"local": {
|
| 2578 |
"path": "repo:PROJECT_STATUS.md",
|
| 2579 |
"exists": true,
|
| 2580 |
+
"bytes": 5385,
|
| 2581 |
+
"sha256": "353e177fac7a2009c475b8ae833117ae4cf68ca69307d9e1c292b6e13a18be61"
|
| 2582 |
},
|
| 2583 |
"mirrors": {
|
| 2584 |
"hf_space": {
|
| 2585 |
"path": "hf_space:PROJECT_STATUS.md",
|
| 2586 |
"exists": true,
|
| 2587 |
+
"bytes": 5385,
|
| 2588 |
+
"sha256": "353e177fac7a2009c475b8ae833117ae4cf68ca69307d9e1c292b6e13a18be61"
|
| 2589 |
},
|
| 2590 |
"hf_artifacts": {
|
| 2591 |
"path": "hf_artifacts:PROJECT_STATUS.md",
|
| 2592 |
"exists": true,
|
| 2593 |
+
"bytes": 5385,
|
| 2594 |
+
"sha256": "353e177fac7a2009c475b8ae833117ae4cf68ca69307d9e1c292b6e13a18be61"
|
| 2595 |
},
|
| 2596 |
"hf_model": {
|
| 2597 |
"path": "hf_model:PROJECT_STATUS.md",
|
| 2598 |
"exists": true,
|
| 2599 |
+
"bytes": 5385,
|
| 2600 |
+
"sha256": "353e177fac7a2009c475b8ae833117ae4cf68ca69307d9e1c292b6e13a18be61"
|
| 2601 |
}
|
| 2602 |
},
|
| 2603 |
"failures": []
|
|
|
|
| 2608 |
"local": {
|
| 2609 |
"path": "repo:PUBLIC_SURFACE_QA.md",
|
| 2610 |
"exists": true,
|
| 2611 |
+
"bytes": 1988,
|
| 2612 |
+
"sha256": "b93b5c16c87a5b9f87de937ae1ca68a59668c039fdec75765049c526b6e83326"
|
| 2613 |
},
|
| 2614 |
"mirrors": {
|
| 2615 |
"hf_space": {
|
| 2616 |
"path": "hf_space:PUBLIC_SURFACE_QA.md",
|
| 2617 |
"exists": true,
|
| 2618 |
+
"bytes": 1988,
|
| 2619 |
+
"sha256": "b93b5c16c87a5b9f87de937ae1ca68a59668c039fdec75765049c526b6e83326"
|
| 2620 |
},
|
| 2621 |
"hf_artifacts": {
|
| 2622 |
"path": "hf_artifacts:PUBLIC_SURFACE_QA.md",
|
| 2623 |
"exists": true,
|
| 2624 |
+
"bytes": 1988,
|
| 2625 |
+
"sha256": "b93b5c16c87a5b9f87de937ae1ca68a59668c039fdec75765049c526b6e83326"
|
| 2626 |
},
|
| 2627 |
"hf_model": {
|
| 2628 |
"path": "hf_model:PUBLIC_SURFACE_QA.md",
|
| 2629 |
"exists": true,
|
| 2630 |
+
"bytes": 1988,
|
| 2631 |
+
"sha256": "b93b5c16c87a5b9f87de937ae1ca68a59668c039fdec75765049c526b6e83326"
|
| 2632 |
}
|
| 2633 |
},
|
| 2634 |
"failures": []
|
data/publication_audit.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
-
"generated_at_utc": "2026-06-
|
| 4 |
"checks": [
|
| 5 |
{
|
| 6 |
"name": "required_publication_assets_present",
|
|
@@ -54,6 +54,7 @@
|
|
| 54 |
"RESEARCH_TAKEAWAYS.md": true,
|
| 55 |
"QUALITY_GATES.md": true,
|
| 56 |
"PUBLIC_SURFACE_QA.md": true,
|
|
|
|
| 57 |
"EVALUATION_PROTOCOL.md": true,
|
| 58 |
"FIGURE_INDEX.md": true,
|
| 59 |
"SOURCE_ALIGNMENT_AUDIT.md": true,
|
|
@@ -87,6 +88,7 @@
|
|
| 87 |
"docs/data/modality_atlas.json": true,
|
| 88 |
"docs/data/mirror_parity.json": true,
|
| 89 |
"docs/data/public_surface_qa.json": true,
|
|
|
|
| 90 |
"docs/data/scope_claims_audit.json": true,
|
| 91 |
"docs/data/task_surface_integrity.json": true,
|
| 92 |
"docs/data/website_integrity.json": true,
|
|
@@ -121,6 +123,7 @@
|
|
| 121 |
"scripts/build_figure_index.py": true,
|
| 122 |
"scripts/build_quality_gates.py": true,
|
| 123 |
"scripts/build_public_surface_qa.py": true,
|
|
|
|
| 124 |
"scripts/verify_live_publication.py": true,
|
| 125 |
"scripts/validate_mirror_parity.py": true,
|
| 126 |
"scripts/validate_scope_claims.py": true,
|
|
@@ -135,7 +138,7 @@
|
|
| 135 |
"surface": "github_repo",
|
| 136 |
"path": "README.md",
|
| 137 |
"exists": true,
|
| 138 |
-
"required_marker_count":
|
| 139 |
"missing_markers": [],
|
| 140 |
"status": "pass"
|
| 141 |
},
|
|
@@ -143,7 +146,7 @@
|
|
| 143 |
"surface": "hf_space_bundle",
|
| 144 |
"path": "README.md",
|
| 145 |
"exists": true,
|
| 146 |
-
"required_marker_count":
|
| 147 |
"missing_markers": [],
|
| 148 |
"status": "pass"
|
| 149 |
},
|
|
@@ -151,7 +154,7 @@
|
|
| 151 |
"surface": "hf_artifact_bundle",
|
| 152 |
"path": "README.md",
|
| 153 |
"exists": true,
|
| 154 |
-
"required_marker_count":
|
| 155 |
"missing_markers": [],
|
| 156 |
"status": "pass"
|
| 157 |
},
|
|
@@ -159,7 +162,7 @@
|
|
| 159 |
"surface": "hf_artifact_bundle",
|
| 160 |
"path": "PROJECT_README.md",
|
| 161 |
"exists": true,
|
| 162 |
-
"required_marker_count":
|
| 163 |
"missing_markers": [],
|
| 164 |
"status": "pass"
|
| 165 |
},
|
|
@@ -167,7 +170,7 @@
|
|
| 167 |
"surface": "hf_model_bundle",
|
| 168 |
"path": "README.md",
|
| 169 |
"exists": true,
|
| 170 |
-
"required_marker_count":
|
| 171 |
"missing_markers": [],
|
| 172 |
"status": "pass"
|
| 173 |
}
|
|
@@ -176,8 +179,8 @@
|
|
| 176 |
"github_repo": {
|
| 177 |
"root": "repo",
|
| 178 |
"exists": true,
|
| 179 |
-
"file_count":
|
| 180 |
-
"text_file_count":
|
| 181 |
"largest_file": {
|
| 182 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 183 |
"bytes": 52601010
|
|
@@ -187,19 +190,19 @@
|
|
| 187 |
"hf_space_bundle": {
|
| 188 |
"root": "hf_publish/space",
|
| 189 |
"exists": true,
|
| 190 |
-
"file_count":
|
| 191 |
-
"text_file_count":
|
| 192 |
"largest_file": {
|
| 193 |
-
"path": "
|
| 194 |
-
"bytes":
|
| 195 |
},
|
| 196 |
"violations": []
|
| 197 |
},
|
| 198 |
"hf_artifact_bundle": {
|
| 199 |
"root": "hf_publish/artifacts",
|
| 200 |
"exists": true,
|
| 201 |
-
"file_count":
|
| 202 |
-
"text_file_count":
|
| 203 |
"largest_file": {
|
| 204 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 205 |
"bytes": 52601010
|
|
@@ -209,8 +212,8 @@
|
|
| 209 |
"hf_model_bundle": {
|
| 210 |
"root": "hf_publish/model",
|
| 211 |
"exists": true,
|
| 212 |
-
"file_count":
|
| 213 |
-
"text_file_count":
|
| 214 |
"largest_file": {
|
| 215 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 216 |
"bytes": 52601010
|
|
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
+
"generated_at_utc": "2026-06-03T04:07:12+00:00",
|
| 4 |
"checks": [
|
| 5 |
{
|
| 6 |
"name": "required_publication_assets_present",
|
|
|
|
| 54 |
"RESEARCH_TAKEAWAYS.md": true,
|
| 55 |
"QUALITY_GATES.md": true,
|
| 56 |
"PUBLIC_SURFACE_QA.md": true,
|
| 57 |
+
"RENDERED_SITE_CHECK.md": true,
|
| 58 |
"EVALUATION_PROTOCOL.md": true,
|
| 59 |
"FIGURE_INDEX.md": true,
|
| 60 |
"SOURCE_ALIGNMENT_AUDIT.md": true,
|
|
|
|
| 88 |
"docs/data/modality_atlas.json": true,
|
| 89 |
"docs/data/mirror_parity.json": true,
|
| 90 |
"docs/data/public_surface_qa.json": true,
|
| 91 |
+
"docs/data/rendered_site_check.json": true,
|
| 92 |
"docs/data/scope_claims_audit.json": true,
|
| 93 |
"docs/data/task_surface_integrity.json": true,
|
| 94 |
"docs/data/website_integrity.json": true,
|
|
|
|
| 123 |
"scripts/build_figure_index.py": true,
|
| 124 |
"scripts/build_quality_gates.py": true,
|
| 125 |
"scripts/build_public_surface_qa.py": true,
|
| 126 |
+
"scripts/build_rendered_site_check.py": true,
|
| 127 |
"scripts/verify_live_publication.py": true,
|
| 128 |
"scripts/validate_mirror_parity.py": true,
|
| 129 |
"scripts/validate_scope_claims.py": true,
|
|
|
|
| 138 |
"surface": "github_repo",
|
| 139 |
"path": "README.md",
|
| 140 |
"exists": true,
|
| 141 |
+
"required_marker_count": 20,
|
| 142 |
"missing_markers": [],
|
| 143 |
"status": "pass"
|
| 144 |
},
|
|
|
|
| 146 |
"surface": "hf_space_bundle",
|
| 147 |
"path": "README.md",
|
| 148 |
"exists": true,
|
| 149 |
+
"required_marker_count": 20,
|
| 150 |
"missing_markers": [],
|
| 151 |
"status": "pass"
|
| 152 |
},
|
|
|
|
| 154 |
"surface": "hf_artifact_bundle",
|
| 155 |
"path": "README.md",
|
| 156 |
"exists": true,
|
| 157 |
+
"required_marker_count": 19,
|
| 158 |
"missing_markers": [],
|
| 159 |
"status": "pass"
|
| 160 |
},
|
|
|
|
| 162 |
"surface": "hf_artifact_bundle",
|
| 163 |
"path": "PROJECT_README.md",
|
| 164 |
"exists": true,
|
| 165 |
+
"required_marker_count": 20,
|
| 166 |
"missing_markers": [],
|
| 167 |
"status": "pass"
|
| 168 |
},
|
|
|
|
| 170 |
"surface": "hf_model_bundle",
|
| 171 |
"path": "README.md",
|
| 172 |
"exists": true,
|
| 173 |
+
"required_marker_count": 20,
|
| 174 |
"missing_markers": [],
|
| 175 |
"status": "pass"
|
| 176 |
}
|
|
|
|
| 179 |
"github_repo": {
|
| 180 |
"root": "repo",
|
| 181 |
"exists": true,
|
| 182 |
+
"file_count": 352,
|
| 183 |
+
"text_file_count": 288,
|
| 184 |
"largest_file": {
|
| 185 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 186 |
"bytes": 52601010
|
|
|
|
| 190 |
"hf_space_bundle": {
|
| 191 |
"root": "hf_publish/space",
|
| 192 |
"exists": true,
|
| 193 |
+
"file_count": 135,
|
| 194 |
+
"text_file_count": 108,
|
| 195 |
"largest_file": {
|
| 196 |
+
"path": "data/single_episode_explorer.json",
|
| 197 |
+
"bytes": 4101241
|
| 198 |
},
|
| 199 |
"violations": []
|
| 200 |
},
|
| 201 |
"hf_artifact_bundle": {
|
| 202 |
"root": "hf_publish/artifacts",
|
| 203 |
"exists": true,
|
| 204 |
+
"file_count": 381,
|
| 205 |
+
"text_file_count": 297,
|
| 206 |
"largest_file": {
|
| 207 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 208 |
"bytes": 52601010
|
|
|
|
| 212 |
"hf_model_bundle": {
|
| 213 |
"root": "hf_publish/model",
|
| 214 |
"exists": true,
|
| 215 |
+
"file_count": 561,
|
| 216 |
+
"text_file_count": 445,
|
| 217 |
"largest_file": {
|
| 218 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 219 |
"bytes": 52601010
|
data/single_episode_explorer.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
data/website_integrity.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
-
"generated_at_utc": "2026-06-
|
| 4 |
"docs_root": "docs",
|
| 5 |
"site_base": "/ropedia-xperience-10m-task-suite/",
|
| 6 |
"summary": {
|
| 7 |
-
"html_pages":
|
| 8 |
-
"local_references":
|
| 9 |
-
"external_reference_count":
|
| 10 |
-
"json_files":
|
| 11 |
-
"image_assets_referenced":
|
| 12 |
"failure_count": 0
|
| 13 |
},
|
| 14 |
"failures": {
|
|
@@ -74,8 +74,8 @@
|
|
| 74 |
"name": "project_overview_precedes_progress_ledger",
|
| 75 |
"status": "pass",
|
| 76 |
"reason": "The project overview should appear before the deeper progress ledger.",
|
| 77 |
-
"overview_index":
|
| 78 |
-
"evidence_index":
|
| 79 |
},
|
| 80 |
{
|
| 81 |
"name": "project_status_links_json",
|
|
@@ -83,13 +83,48 @@
|
|
| 83 |
"reason": "The website should expose the machine-readable project status.",
|
| 84 |
"marker_count": 2
|
| 85 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 86 |
{
|
| 87 |
"name": "evaluation_protocol_between_overview_and_progress",
|
| 88 |
"status": "pass",
|
| 89 |
"reason": "The evaluation protocol should appear before the deeper evidence ledger.",
|
| 90 |
-
"overview_index":
|
| 91 |
-
"protocol_index":
|
| 92 |
-
"evidence_index":
|
| 93 |
},
|
| 94 |
{
|
| 95 |
"name": "evaluation_protocol_links_json",
|
|
@@ -163,14 +198,20 @@
|
|
| 163 |
{
|
| 164 |
"path": "index.html",
|
| 165 |
"id_count": 75,
|
| 166 |
-
"reference_count":
|
| 167 |
"image_count": 22
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 168 |
}
|
| 169 |
],
|
| 170 |
"json_files": [
|
| 171 |
{
|
| 172 |
"path": "data/artifact_index.json",
|
| 173 |
-
"bytes":
|
| 174 |
"top_level_type": "dict"
|
| 175 |
},
|
| 176 |
{
|
|
@@ -185,7 +226,7 @@
|
|
| 185 |
},
|
| 186 |
{
|
| 187 |
"path": "data/evidence_contract.json",
|
| 188 |
-
"bytes":
|
| 189 |
"top_level_type": "dict"
|
| 190 |
},
|
| 191 |
{
|
|
@@ -200,7 +241,7 @@
|
|
| 200 |
},
|
| 201 |
{
|
| 202 |
"path": "data/mirror_parity.json",
|
| 203 |
-
"bytes":
|
| 204 |
"top_level_type": "dict"
|
| 205 |
},
|
| 206 |
{
|
|
@@ -215,7 +256,7 @@
|
|
| 215 |
},
|
| 216 |
{
|
| 217 |
"path": "data/project_manifest.json",
|
| 218 |
-
"bytes":
|
| 219 |
"top_level_type": "dict"
|
| 220 |
},
|
| 221 |
{
|
|
@@ -230,17 +271,22 @@
|
|
| 230 |
},
|
| 231 |
{
|
| 232 |
"path": "data/public_surface_qa.json",
|
| 233 |
-
"bytes":
|
| 234 |
"top_level_type": "dict"
|
| 235 |
},
|
| 236 |
{
|
| 237 |
"path": "data/publication_audit.json",
|
| 238 |
-
"bytes":
|
| 239 |
"top_level_type": "dict"
|
| 240 |
},
|
| 241 |
{
|
| 242 |
"path": "data/quality_gates.json",
|
| 243 |
-
"bytes":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 244 |
"top_level_type": "dict"
|
| 245 |
},
|
| 246 |
{
|
|
@@ -260,7 +306,7 @@
|
|
| 260 |
},
|
| 261 |
{
|
| 262 |
"path": "data/research_roadmap.json",
|
| 263 |
-
"bytes":
|
| 264 |
"top_level_type": "dict"
|
| 265 |
},
|
| 266 |
{
|
|
@@ -273,6 +319,11 @@
|
|
| 273 |
"bytes": 20066,
|
| 274 |
"top_level_type": "dict"
|
| 275 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 276 |
{
|
| 277 |
"path": "data/source_alignment_audit.json",
|
| 278 |
"bytes": 4432,
|
|
@@ -295,7 +346,7 @@
|
|
| 295 |
},
|
| 296 |
{
|
| 297 |
"path": "data/website_integrity.json",
|
| 298 |
-
"bytes":
|
| 299 |
"top_level_type": "dict"
|
| 300 |
},
|
| 301 |
{
|
|
@@ -313,6 +364,14 @@
|
|
| 313 |
"height": 64,
|
| 314 |
"format": "PNG"
|
| 315 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 316 |
{
|
| 317 |
"path": "assets/charts/cross_modal_retrieval.svg",
|
| 318 |
"exists": true,
|
|
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
+
"generated_at_utc": "2026-06-03T04:04:17+00:00",
|
| 4 |
"docs_root": "docs",
|
| 5 |
"site_base": "/ropedia-xperience-10m-task-suite/",
|
| 6 |
"summary": {
|
| 7 |
+
"html_pages": 3,
|
| 8 |
+
"local_references": 109,
|
| 9 |
+
"external_reference_count": 83,
|
| 10 |
+
"json_files": 29,
|
| 11 |
+
"image_assets_referenced": 20,
|
| 12 |
"failure_count": 0
|
| 13 |
},
|
| 14 |
"failures": {
|
|
|
|
| 74 |
"name": "project_overview_precedes_progress_ledger",
|
| 75 |
"status": "pass",
|
| 76 |
"reason": "The project overview should appear before the deeper progress ledger.",
|
| 77 |
+
"overview_index": 60611,
|
| 78 |
+
"evidence_index": 74036
|
| 79 |
},
|
| 80 |
{
|
| 81 |
"name": "project_status_links_json",
|
|
|
|
| 83 |
"reason": "The website should expose the machine-readable project status.",
|
| 84 |
"marker_count": 2
|
| 85 |
},
|
| 86 |
+
{
|
| 87 |
+
"name": "roadmap_links_json",
|
| 88 |
+
"status": "pass",
|
| 89 |
+
"reason": "The website should expose the machine-readable research roadmap.",
|
| 90 |
+
"marker_count": 2
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"name": "rendered_site_check_links_json",
|
| 94 |
+
"status": "pass",
|
| 95 |
+
"reason": "The website should expose the browser-level rendered website check.",
|
| 96 |
+
"marker_count": 1
|
| 97 |
+
},
|
| 98 |
+
{
|
| 99 |
+
"name": "roadmap_html_matches_json_phases",
|
| 100 |
+
"status": "pass",
|
| 101 |
+
"reason": "The roadmap section should show every stage defined in research_roadmap.json.",
|
| 102 |
+
"phase_count": 5,
|
| 103 |
+
"missing_phase_names": [],
|
| 104 |
+
"roadmap_json_error": null
|
| 105 |
+
},
|
| 106 |
+
{
|
| 107 |
+
"name": "roadmap_status_chips_match_json",
|
| 108 |
+
"status": "pass",
|
| 109 |
+
"reason": "The roadmap status chips should match the phase statuses in research_roadmap.json.",
|
| 110 |
+
"phase_count": 5,
|
| 111 |
+
"statuses": [
|
| 112 |
+
"implemented",
|
| 113 |
+
"active",
|
| 114 |
+
"next",
|
| 115 |
+
"planned",
|
| 116 |
+
"planned"
|
| 117 |
+
],
|
| 118 |
+
"missing_statuses": [],
|
| 119 |
+
"roadmap_json_error": null
|
| 120 |
+
},
|
| 121 |
{
|
| 122 |
"name": "evaluation_protocol_between_overview_and_progress",
|
| 123 |
"status": "pass",
|
| 124 |
"reason": "The evaluation protocol should appear before the deeper evidence ledger.",
|
| 125 |
+
"overview_index": 60611,
|
| 126 |
+
"protocol_index": 71439,
|
| 127 |
+
"evidence_index": 74036
|
| 128 |
},
|
| 129 |
{
|
| 130 |
"name": "evaluation_protocol_links_json",
|
|
|
|
| 198 |
{
|
| 199 |
"path": "index.html",
|
| 200 |
"id_count": 75,
|
| 201 |
+
"reference_count": 102,
|
| 202 |
"image_count": 22
|
| 203 |
+
},
|
| 204 |
+
{
|
| 205 |
+
"path": "single_episode_explorer.html",
|
| 206 |
+
"id_count": 26,
|
| 207 |
+
"reference_count": 6,
|
| 208 |
+
"image_count": 1
|
| 209 |
}
|
| 210 |
],
|
| 211 |
"json_files": [
|
| 212 |
{
|
| 213 |
"path": "data/artifact_index.json",
|
| 214 |
+
"bytes": 29016,
|
| 215 |
"top_level_type": "dict"
|
| 216 |
},
|
| 217 |
{
|
|
|
|
| 226 |
},
|
| 227 |
{
|
| 228 |
"path": "data/evidence_contract.json",
|
| 229 |
+
"bytes": 12007,
|
| 230 |
"top_level_type": "dict"
|
| 231 |
},
|
| 232 |
{
|
|
|
|
| 241 |
},
|
| 242 |
{
|
| 243 |
"path": "data/mirror_parity.json",
|
| 244 |
+
"bytes": 81842,
|
| 245 |
"top_level_type": "dict"
|
| 246 |
},
|
| 247 |
{
|
|
|
|
| 256 |
},
|
| 257 |
{
|
| 258 |
"path": "data/project_manifest.json",
|
| 259 |
+
"bytes": 4644,
|
| 260 |
"top_level_type": "dict"
|
| 261 |
},
|
| 262 |
{
|
|
|
|
| 271 |
},
|
| 272 |
{
|
| 273 |
"path": "data/public_surface_qa.json",
|
| 274 |
+
"bytes": 5651,
|
| 275 |
"top_level_type": "dict"
|
| 276 |
},
|
| 277 |
{
|
| 278 |
"path": "data/publication_audit.json",
|
| 279 |
+
"bytes": 10473,
|
| 280 |
"top_level_type": "dict"
|
| 281 |
},
|
| 282 |
{
|
| 283 |
"path": "data/quality_gates.json",
|
| 284 |
+
"bytes": 8147,
|
| 285 |
+
"top_level_type": "dict"
|
| 286 |
+
},
|
| 287 |
+
{
|
| 288 |
+
"path": "data/rendered_site_check.json",
|
| 289 |
+
"bytes": 4032,
|
| 290 |
"top_level_type": "dict"
|
| 291 |
},
|
| 292 |
{
|
|
|
|
| 306 |
},
|
| 307 |
{
|
| 308 |
"path": "data/research_roadmap.json",
|
| 309 |
+
"bytes": 4594,
|
| 310 |
"top_level_type": "dict"
|
| 311 |
},
|
| 312 |
{
|
|
|
|
| 319 |
"bytes": 20066,
|
| 320 |
"top_level_type": "dict"
|
| 321 |
},
|
| 322 |
+
{
|
| 323 |
+
"path": "data/single_episode_explorer.json",
|
| 324 |
+
"bytes": 4101241,
|
| 325 |
+
"top_level_type": "dict"
|
| 326 |
+
},
|
| 327 |
{
|
| 328 |
"path": "data/source_alignment_audit.json",
|
| 329 |
"bytes": 4432,
|
|
|
|
| 346 |
},
|
| 347 |
{
|
| 348 |
"path": "data/website_integrity.json",
|
| 349 |
+
"bytes": 13148,
|
| 350 |
"top_level_type": "dict"
|
| 351 |
},
|
| 352 |
{
|
|
|
|
| 364 |
"height": 64,
|
| 365 |
"format": "PNG"
|
| 366 |
},
|
| 367 |
+
{
|
| 368 |
+
"path": "assets/brand/xperience10m-logo-mark-192.png",
|
| 369 |
+
"exists": true,
|
| 370 |
+
"bytes": 41318,
|
| 371 |
+
"width": 192,
|
| 372 |
+
"height": 192,
|
| 373 |
+
"format": "PNG"
|
| 374 |
+
},
|
| 375 |
{
|
| 376 |
"path": "assets/charts/cross_modal_retrieval.svg",
|
| 377 |
"exists": true,
|
docs/data/mirror_parity.json
CHANGED
|
@@ -1,16 +1,20 @@
|
|
| 1 |
{
|
| 2 |
-
"status": "
|
| 3 |
-
"generated_at_utc": "2026-06-
|
| 4 |
"hf_root": "hf_publish",
|
| 5 |
"summary": {
|
| 6 |
-
"group_count":
|
| 7 |
-
"failure_count":
|
| 8 |
-
"failures_by_surface": {
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
},
|
| 10 |
"checks": [
|
| 11 |
{
|
| 12 |
"name": "repo_hf_space_artifact_model_data_parity",
|
| 13 |
-
"status": "
|
| 14 |
},
|
| 15 |
{
|
| 16 |
"name": "repo_hf_visual_asset_parity",
|
|
@@ -36,27 +40,27 @@
|
|
| 36 |
"local": {
|
| 37 |
"path": "repo:docs/data/artifact_index.json",
|
| 38 |
"exists": true,
|
| 39 |
-
"bytes":
|
| 40 |
-
"sha256": "
|
| 41 |
},
|
| 42 |
"mirrors": {
|
| 43 |
"hf_space": {
|
| 44 |
"path": "hf_space:data/artifact_index.json",
|
| 45 |
"exists": true,
|
| 46 |
-
"bytes":
|
| 47 |
-
"sha256": "
|
| 48 |
},
|
| 49 |
"hf_artifacts": {
|
| 50 |
"path": "hf_artifacts:docs/data/artifact_index.json",
|
| 51 |
"exists": true,
|
| 52 |
-
"bytes":
|
| 53 |
-
"sha256": "
|
| 54 |
},
|
| 55 |
"hf_model": {
|
| 56 |
"path": "hf_model:metrics/artifact_index.json",
|
| 57 |
"exists": true,
|
| 58 |
-
"bytes":
|
| 59 |
-
"sha256": "
|
| 60 |
}
|
| 61 |
},
|
| 62 |
"failures": []
|
|
@@ -98,27 +102,27 @@
|
|
| 98 |
"local": {
|
| 99 |
"path": "repo:docs/data/evidence_contract.json",
|
| 100 |
"exists": true,
|
| 101 |
-
"bytes":
|
| 102 |
-
"sha256": "
|
| 103 |
},
|
| 104 |
"mirrors": {
|
| 105 |
"hf_space": {
|
| 106 |
"path": "hf_space:data/evidence_contract.json",
|
| 107 |
"exists": true,
|
| 108 |
-
"bytes":
|
| 109 |
-
"sha256": "
|
| 110 |
},
|
| 111 |
"hf_artifacts": {
|
| 112 |
"path": "hf_artifacts:docs/data/evidence_contract.json",
|
| 113 |
"exists": true,
|
| 114 |
-
"bytes":
|
| 115 |
-
"sha256": "
|
| 116 |
},
|
| 117 |
"hf_model": {
|
| 118 |
"path": "hf_model:metrics/evidence_contract.json",
|
| 119 |
"exists": true,
|
| 120 |
-
"bytes":
|
| 121 |
-
"sha256": "
|
| 122 |
}
|
| 123 |
},
|
| 124 |
"failures": []
|
|
@@ -284,27 +288,27 @@
|
|
| 284 |
"local": {
|
| 285 |
"path": "repo:docs/data/project_manifest.json",
|
| 286 |
"exists": true,
|
| 287 |
-
"bytes":
|
| 288 |
-
"sha256": "
|
| 289 |
},
|
| 290 |
"mirrors": {
|
| 291 |
"hf_space": {
|
| 292 |
"path": "hf_space:data/project_manifest.json",
|
| 293 |
"exists": true,
|
| 294 |
-
"bytes":
|
| 295 |
-
"sha256": "
|
| 296 |
},
|
| 297 |
"hf_artifacts": {
|
| 298 |
"path": "hf_artifacts:docs/data/project_manifest.json",
|
| 299 |
"exists": true,
|
| 300 |
-
"bytes":
|
| 301 |
-
"sha256": "
|
| 302 |
},
|
| 303 |
"hf_model": {
|
| 304 |
"path": "hf_model:metrics/project_manifest.json",
|
| 305 |
"exists": true,
|
| 306 |
-
"bytes":
|
| 307 |
-
"sha256": "
|
| 308 |
}
|
| 309 |
},
|
| 310 |
"failures": []
|
|
@@ -373,34 +377,56 @@
|
|
| 373 |
},
|
| 374 |
{
|
| 375 |
"name": "data/publication_audit.json",
|
| 376 |
-
"status": "
|
| 377 |
"local": {
|
| 378 |
"path": "repo:docs/data/publication_audit.json",
|
| 379 |
"exists": true,
|
| 380 |
-
"bytes":
|
| 381 |
-
"sha256": "
|
| 382 |
},
|
| 383 |
"mirrors": {
|
| 384 |
"hf_space": {
|
| 385 |
"path": "hf_space:data/publication_audit.json",
|
| 386 |
"exists": true,
|
| 387 |
-
"bytes":
|
| 388 |
-
"sha256": "
|
| 389 |
},
|
| 390 |
"hf_artifacts": {
|
| 391 |
"path": "hf_artifacts:docs/data/publication_audit.json",
|
| 392 |
"exists": true,
|
| 393 |
-
"bytes":
|
| 394 |
-
"sha256": "
|
| 395 |
},
|
| 396 |
"hf_model": {
|
| 397 |
"path": "hf_model:metrics/publication_audit.json",
|
| 398 |
"exists": true,
|
| 399 |
-
"bytes":
|
| 400 |
-
"sha256": "
|
| 401 |
}
|
| 402 |
},
|
| 403 |
-
"failures": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 404 |
},
|
| 405 |
{
|
| 406 |
"name": "data/public_surface_qa.json",
|
|
@@ -408,27 +434,27 @@
|
|
| 408 |
"local": {
|
| 409 |
"path": "repo:docs/data/public_surface_qa.json",
|
| 410 |
"exists": true,
|
| 411 |
-
"bytes":
|
| 412 |
-
"sha256": "
|
| 413 |
},
|
| 414 |
"mirrors": {
|
| 415 |
"hf_space": {
|
| 416 |
"path": "hf_space:data/public_surface_qa.json",
|
| 417 |
"exists": true,
|
| 418 |
-
"bytes":
|
| 419 |
-
"sha256": "
|
| 420 |
},
|
| 421 |
"hf_artifacts": {
|
| 422 |
"path": "hf_artifacts:docs/data/public_surface_qa.json",
|
| 423 |
"exists": true,
|
| 424 |
-
"bytes":
|
| 425 |
-
"sha256": "
|
| 426 |
},
|
| 427 |
"hf_model": {
|
| 428 |
"path": "hf_model:metrics/public_surface_qa.json",
|
| 429 |
"exists": true,
|
| 430 |
-
"bytes":
|
| 431 |
-
"sha256": "
|
| 432 |
}
|
| 433 |
},
|
| 434 |
"failures": []
|
|
@@ -439,27 +465,58 @@
|
|
| 439 |
"local": {
|
| 440 |
"path": "repo:docs/data/quality_gates.json",
|
| 441 |
"exists": true,
|
| 442 |
-
"bytes":
|
| 443 |
-
"sha256": "
|
| 444 |
},
|
| 445 |
"mirrors": {
|
| 446 |
"hf_space": {
|
| 447 |
"path": "hf_space:data/quality_gates.json",
|
| 448 |
"exists": true,
|
| 449 |
-
"bytes":
|
| 450 |
-
"sha256": "
|
| 451 |
},
|
| 452 |
"hf_artifacts": {
|
| 453 |
"path": "hf_artifacts:docs/data/quality_gates.json",
|
| 454 |
"exists": true,
|
| 455 |
-
"bytes":
|
| 456 |
-
"sha256": "
|
| 457 |
},
|
| 458 |
"hf_model": {
|
| 459 |
"path": "hf_model:metrics/quality_gates.json",
|
| 460 |
"exists": true,
|
| 461 |
-
"bytes":
|
| 462 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 463 |
}
|
| 464 |
},
|
| 465 |
"failures": []
|
|
@@ -501,27 +558,27 @@
|
|
| 501 |
"local": {
|
| 502 |
"path": "repo:docs/data/research_roadmap.json",
|
| 503 |
"exists": true,
|
| 504 |
-
"bytes":
|
| 505 |
-
"sha256": "
|
| 506 |
},
|
| 507 |
"mirrors": {
|
| 508 |
"hf_space": {
|
| 509 |
"path": "hf_space:data/research_roadmap.json",
|
| 510 |
"exists": true,
|
| 511 |
-
"bytes":
|
| 512 |
-
"sha256": "
|
| 513 |
},
|
| 514 |
"hf_artifacts": {
|
| 515 |
"path": "hf_artifacts:docs/data/research_roadmap.json",
|
| 516 |
"exists": true,
|
| 517 |
-
"bytes":
|
| 518 |
-
"sha256": "
|
| 519 |
},
|
| 520 |
"hf_model": {
|
| 521 |
"path": "hf_model:metrics/research_roadmap.json",
|
| 522 |
"exists": true,
|
| 523 |
-
"bytes":
|
| 524 |
-
"sha256": "
|
| 525 |
}
|
| 526 |
},
|
| 527 |
"failures": []
|
|
@@ -626,26 +683,26 @@
|
|
| 626 |
"path": "repo:docs/data/scope_claims_audit.json",
|
| 627 |
"exists": true,
|
| 628 |
"bytes": 20066,
|
| 629 |
-
"sha256": "
|
| 630 |
},
|
| 631 |
"mirrors": {
|
| 632 |
"hf_space": {
|
| 633 |
"path": "hf_space:data/scope_claims_audit.json",
|
| 634 |
"exists": true,
|
| 635 |
"bytes": 20066,
|
| 636 |
-
"sha256": "
|
| 637 |
},
|
| 638 |
"hf_artifacts": {
|
| 639 |
"path": "hf_artifacts:docs/data/scope_claims_audit.json",
|
| 640 |
"exists": true,
|
| 641 |
"bytes": 20066,
|
| 642 |
-
"sha256": "
|
| 643 |
},
|
| 644 |
"hf_model": {
|
| 645 |
"path": "hf_model:metrics/scope_claims_audit.json",
|
| 646 |
"exists": true,
|
| 647 |
"bytes": 20066,
|
| 648 |
-
"sha256": "
|
| 649 |
}
|
| 650 |
},
|
| 651 |
"failures": []
|
|
@@ -719,26 +776,26 @@
|
|
| 719 |
"path": "repo:docs/data/task_surface_integrity.json",
|
| 720 |
"exists": true,
|
| 721 |
"bytes": 45780,
|
| 722 |
-
"sha256": "
|
| 723 |
},
|
| 724 |
"mirrors": {
|
| 725 |
"hf_space": {
|
| 726 |
"path": "hf_space:data/task_surface_integrity.json",
|
| 727 |
"exists": true,
|
| 728 |
"bytes": 45780,
|
| 729 |
-
"sha256": "
|
| 730 |
},
|
| 731 |
"hf_artifacts": {
|
| 732 |
"path": "hf_artifacts:docs/data/task_surface_integrity.json",
|
| 733 |
"exists": true,
|
| 734 |
"bytes": 45780,
|
| 735 |
-
"sha256": "
|
| 736 |
},
|
| 737 |
"hf_model": {
|
| 738 |
"path": "hf_model:metrics/task_surface_integrity.json",
|
| 739 |
"exists": true,
|
| 740 |
"bytes": 45780,
|
| 741 |
-
"sha256": "
|
| 742 |
}
|
| 743 |
},
|
| 744 |
"failures": []
|
|
@@ -780,27 +837,27 @@
|
|
| 780 |
"local": {
|
| 781 |
"path": "repo:docs/data/website_integrity.json",
|
| 782 |
"exists": true,
|
| 783 |
-
"bytes":
|
| 784 |
-
"sha256": "
|
| 785 |
},
|
| 786 |
"mirrors": {
|
| 787 |
"hf_space": {
|
| 788 |
"path": "hf_space:data/website_integrity.json",
|
| 789 |
"exists": true,
|
| 790 |
-
"bytes":
|
| 791 |
-
"sha256": "
|
| 792 |
},
|
| 793 |
"hf_artifacts": {
|
| 794 |
"path": "hf_artifacts:docs/data/website_integrity.json",
|
| 795 |
"exists": true,
|
| 796 |
-
"bytes":
|
| 797 |
-
"sha256": "
|
| 798 |
},
|
| 799 |
"hf_model": {
|
| 800 |
"path": "hf_model:metrics/website_integrity.json",
|
| 801 |
"exists": true,
|
| 802 |
-
"bytes":
|
| 803 |
-
"sha256": "
|
| 804 |
}
|
| 805 |
},
|
| 806 |
"failures": []
|
|
@@ -1471,21 +1528,21 @@
|
|
| 1471 |
"local": {
|
| 1472 |
"path": "repo:scripts/build_artifact_index.py",
|
| 1473 |
"exists": true,
|
| 1474 |
-
"bytes":
|
| 1475 |
-
"sha256": "
|
| 1476 |
},
|
| 1477 |
"mirrors": {
|
| 1478 |
"hf_artifacts": {
|
| 1479 |
"path": "hf_artifacts:scripts/build_artifact_index.py",
|
| 1480 |
"exists": true,
|
| 1481 |
-
"bytes":
|
| 1482 |
-
"sha256": "
|
| 1483 |
},
|
| 1484 |
"hf_model": {
|
| 1485 |
"path": "hf_model:scripts/build_artifact_index.py",
|
| 1486 |
"exists": true,
|
| 1487 |
-
"bytes":
|
| 1488 |
-
"sha256": "
|
| 1489 |
}
|
| 1490 |
},
|
| 1491 |
"failures": []
|
|
@@ -1571,21 +1628,21 @@
|
|
| 1571 |
"local": {
|
| 1572 |
"path": "repo:scripts/build_quality_gates.py",
|
| 1573 |
"exists": true,
|
| 1574 |
-
"bytes":
|
| 1575 |
-
"sha256": "
|
| 1576 |
},
|
| 1577 |
"mirrors": {
|
| 1578 |
"hf_artifacts": {
|
| 1579 |
"path": "hf_artifacts:scripts/build_quality_gates.py",
|
| 1580 |
"exists": true,
|
| 1581 |
-
"bytes":
|
| 1582 |
-
"sha256": "
|
| 1583 |
},
|
| 1584 |
"hf_model": {
|
| 1585 |
"path": "hf_model:scripts/build_quality_gates.py",
|
| 1586 |
"exists": true,
|
| 1587 |
-
"bytes":
|
| 1588 |
-
"sha256": "
|
| 1589 |
}
|
| 1590 |
},
|
| 1591 |
"failures": []
|
|
@@ -1596,21 +1653,46 @@
|
|
| 1596 |
"local": {
|
| 1597 |
"path": "repo:scripts/build_public_surface_qa.py",
|
| 1598 |
"exists": true,
|
| 1599 |
-
"bytes":
|
| 1600 |
-
"sha256": "
|
| 1601 |
},
|
| 1602 |
"mirrors": {
|
| 1603 |
"hf_artifacts": {
|
| 1604 |
"path": "hf_artifacts:scripts/build_public_surface_qa.py",
|
| 1605 |
"exists": true,
|
| 1606 |
-
"bytes":
|
| 1607 |
-
"sha256": "
|
| 1608 |
},
|
| 1609 |
"hf_model": {
|
| 1610 |
"path": "hf_model:scripts/build_public_surface_qa.py",
|
| 1611 |
"exists": true,
|
| 1612 |
-
"bytes":
|
| 1613 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1614 |
}
|
| 1615 |
},
|
| 1616 |
"failures": []
|
|
@@ -1646,21 +1728,21 @@
|
|
| 1646 |
"local": {
|
| 1647 |
"path": "repo:scripts/verify_live_publication.py",
|
| 1648 |
"exists": true,
|
| 1649 |
-
"bytes":
|
| 1650 |
-
"sha256": "
|
| 1651 |
},
|
| 1652 |
"mirrors": {
|
| 1653 |
"hf_artifacts": {
|
| 1654 |
"path": "hf_artifacts:scripts/verify_live_publication.py",
|
| 1655 |
"exists": true,
|
| 1656 |
-
"bytes":
|
| 1657 |
-
"sha256": "
|
| 1658 |
},
|
| 1659 |
"hf_model": {
|
| 1660 |
"path": "hf_model:scripts/verify_live_publication.py",
|
| 1661 |
"exists": true,
|
| 1662 |
-
"bytes":
|
| 1663 |
-
"sha256": "
|
| 1664 |
}
|
| 1665 |
},
|
| 1666 |
"failures": []
|
|
@@ -1671,21 +1753,21 @@
|
|
| 1671 |
"local": {
|
| 1672 |
"path": "repo:scripts/validate_mirror_parity.py",
|
| 1673 |
"exists": true,
|
| 1674 |
-
"bytes":
|
| 1675 |
-
"sha256": "
|
| 1676 |
},
|
| 1677 |
"mirrors": {
|
| 1678 |
"hf_artifacts": {
|
| 1679 |
"path": "hf_artifacts:scripts/validate_mirror_parity.py",
|
| 1680 |
"exists": true,
|
| 1681 |
-
"bytes":
|
| 1682 |
-
"sha256": "
|
| 1683 |
},
|
| 1684 |
"hf_model": {
|
| 1685 |
"path": "hf_model:scripts/validate_mirror_parity.py",
|
| 1686 |
"exists": true,
|
| 1687 |
-
"bytes":
|
| 1688 |
-
"sha256": "
|
| 1689 |
}
|
| 1690 |
},
|
| 1691 |
"failures": []
|
|
@@ -1696,21 +1778,21 @@
|
|
| 1696 |
"local": {
|
| 1697 |
"path": "repo:scripts/validate_publication_package.py",
|
| 1698 |
"exists": true,
|
| 1699 |
-
"bytes":
|
| 1700 |
-
"sha256": "
|
| 1701 |
},
|
| 1702 |
"mirrors": {
|
| 1703 |
"hf_artifacts": {
|
| 1704 |
"path": "hf_artifacts:scripts/validate_publication_package.py",
|
| 1705 |
"exists": true,
|
| 1706 |
-
"bytes":
|
| 1707 |
-
"sha256": "
|
| 1708 |
},
|
| 1709 |
"hf_model": {
|
| 1710 |
"path": "hf_model:scripts/validate_publication_package.py",
|
| 1711 |
"exists": true,
|
| 1712 |
-
"bytes":
|
| 1713 |
-
"sha256": "
|
| 1714 |
}
|
| 1715 |
},
|
| 1716 |
"failures": []
|
|
@@ -1796,21 +1878,21 @@
|
|
| 1796 |
"local": {
|
| 1797 |
"path": "repo:scripts/validate_website_integrity.py",
|
| 1798 |
"exists": true,
|
| 1799 |
-
"bytes":
|
| 1800 |
-
"sha256": "
|
| 1801 |
},
|
| 1802 |
"mirrors": {
|
| 1803 |
"hf_artifacts": {
|
| 1804 |
"path": "hf_artifacts:scripts/validate_website_integrity.py",
|
| 1805 |
"exists": true,
|
| 1806 |
-
"bytes":
|
| 1807 |
-
"sha256": "
|
| 1808 |
},
|
| 1809 |
"hf_model": {
|
| 1810 |
"path": "hf_model:scripts/validate_website_integrity.py",
|
| 1811 |
"exists": true,
|
| 1812 |
-
"bytes":
|
| 1813 |
-
"sha256": "
|
| 1814 |
}
|
| 1815 |
},
|
| 1816 |
"failures": []
|
|
@@ -1821,21 +1903,21 @@
|
|
| 1821 |
"local": {
|
| 1822 |
"path": "repo:scripts/publish_hf_bundles.py",
|
| 1823 |
"exists": true,
|
| 1824 |
-
"bytes":
|
| 1825 |
-
"sha256": "
|
| 1826 |
},
|
| 1827 |
"mirrors": {
|
| 1828 |
"hf_artifacts": {
|
| 1829 |
"path": "hf_artifacts:scripts/publish_hf_bundles.py",
|
| 1830 |
"exists": true,
|
| 1831 |
-
"bytes":
|
| 1832 |
-
"sha256": "
|
| 1833 |
},
|
| 1834 |
"hf_model": {
|
| 1835 |
"path": "hf_model:scripts/publish_hf_bundles.py",
|
| 1836 |
"exists": true,
|
| 1837 |
-
"bytes":
|
| 1838 |
-
"sha256": "
|
| 1839 |
}
|
| 1840 |
},
|
| 1841 |
"failures": []
|
|
@@ -1896,21 +1978,21 @@
|
|
| 1896 |
"local": {
|
| 1897 |
"path": "repo:docs/index.html",
|
| 1898 |
"exists": true,
|
| 1899 |
-
"bytes":
|
| 1900 |
-
"sha256": "
|
| 1901 |
},
|
| 1902 |
"mirrors": {
|
| 1903 |
"hf_space": {
|
| 1904 |
"path": "hf_space:index.html",
|
| 1905 |
"exists": true,
|
| 1906 |
-
"bytes":
|
| 1907 |
-
"sha256": "
|
| 1908 |
},
|
| 1909 |
"hf_artifacts_docs": {
|
| 1910 |
"path": "hf_artifacts:docs/index.html",
|
| 1911 |
"exists": true,
|
| 1912 |
-
"bytes":
|
| 1913 |
-
"sha256": "
|
| 1914 |
}
|
| 1915 |
},
|
| 1916 |
"failures": []
|
|
@@ -1946,27 +2028,27 @@
|
|
| 1946 |
"local": {
|
| 1947 |
"path": "repo:QUALITY_GATES.md",
|
| 1948 |
"exists": true,
|
| 1949 |
-
"bytes":
|
| 1950 |
-
"sha256": "
|
| 1951 |
},
|
| 1952 |
"mirrors": {
|
| 1953 |
"hf_space": {
|
| 1954 |
"path": "hf_space:QUALITY_GATES.md",
|
| 1955 |
"exists": true,
|
| 1956 |
-
"bytes":
|
| 1957 |
-
"sha256": "
|
| 1958 |
},
|
| 1959 |
"hf_artifacts": {
|
| 1960 |
"path": "hf_artifacts:QUALITY_GATES.md",
|
| 1961 |
"exists": true,
|
| 1962 |
-
"bytes":
|
| 1963 |
-
"sha256": "
|
| 1964 |
},
|
| 1965 |
"hf_model": {
|
| 1966 |
"path": "hf_model:QUALITY_GATES.md",
|
| 1967 |
"exists": true,
|
| 1968 |
-
"bytes":
|
| 1969 |
-
"sha256": "
|
| 1970 |
}
|
| 1971 |
},
|
| 1972 |
"failures": []
|
|
@@ -2064,33 +2146,64 @@
|
|
| 2064 |
},
|
| 2065 |
"failures": []
|
| 2066 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2067 |
{
|
| 2068 |
"name": "docs/RESEARCH_ROADMAP.md",
|
| 2069 |
"status": "pass",
|
| 2070 |
"local": {
|
| 2071 |
"path": "repo:RESEARCH_ROADMAP.md",
|
| 2072 |
"exists": true,
|
| 2073 |
-
"bytes":
|
| 2074 |
-
"sha256": "
|
| 2075 |
},
|
| 2076 |
"mirrors": {
|
| 2077 |
"hf_space": {
|
| 2078 |
"path": "hf_space:RESEARCH_ROADMAP.md",
|
| 2079 |
"exists": true,
|
| 2080 |
-
"bytes":
|
| 2081 |
-
"sha256": "
|
| 2082 |
},
|
| 2083 |
"hf_artifacts": {
|
| 2084 |
"path": "hf_artifacts:RESEARCH_ROADMAP.md",
|
| 2085 |
"exists": true,
|
| 2086 |
-
"bytes":
|
| 2087 |
-
"sha256": "
|
| 2088 |
},
|
| 2089 |
"hf_model": {
|
| 2090 |
"path": "hf_model:RESEARCH_ROADMAP.md",
|
| 2091 |
"exists": true,
|
| 2092 |
-
"bytes":
|
| 2093 |
-
"sha256": "
|
| 2094 |
}
|
| 2095 |
},
|
| 2096 |
"failures": []
|
|
@@ -2101,27 +2214,27 @@
|
|
| 2101 |
"local": {
|
| 2102 |
"path": "repo:PROJECT_STATUS.md",
|
| 2103 |
"exists": true,
|
| 2104 |
-
"bytes":
|
| 2105 |
-
"sha256": "
|
| 2106 |
},
|
| 2107 |
"mirrors": {
|
| 2108 |
"hf_space": {
|
| 2109 |
"path": "hf_space:PROJECT_STATUS.md",
|
| 2110 |
"exists": true,
|
| 2111 |
-
"bytes":
|
| 2112 |
-
"sha256": "
|
| 2113 |
},
|
| 2114 |
"hf_artifacts": {
|
| 2115 |
"path": "hf_artifacts:PROJECT_STATUS.md",
|
| 2116 |
"exists": true,
|
| 2117 |
-
"bytes":
|
| 2118 |
-
"sha256": "
|
| 2119 |
},
|
| 2120 |
"hf_model": {
|
| 2121 |
"path": "hf_model:PROJECT_STATUS.md",
|
| 2122 |
"exists": true,
|
| 2123 |
-
"bytes":
|
| 2124 |
-
"sha256": "
|
| 2125 |
}
|
| 2126 |
},
|
| 2127 |
"failures": []
|
|
@@ -2132,27 +2245,27 @@
|
|
| 2132 |
"local": {
|
| 2133 |
"path": "repo:PUBLIC_SURFACE_QA.md",
|
| 2134 |
"exists": true,
|
| 2135 |
-
"bytes":
|
| 2136 |
-
"sha256": "
|
| 2137 |
},
|
| 2138 |
"mirrors": {
|
| 2139 |
"hf_space": {
|
| 2140 |
"path": "hf_space:PUBLIC_SURFACE_QA.md",
|
| 2141 |
"exists": true,
|
| 2142 |
-
"bytes":
|
| 2143 |
-
"sha256": "
|
| 2144 |
},
|
| 2145 |
"hf_artifacts": {
|
| 2146 |
"path": "hf_artifacts:PUBLIC_SURFACE_QA.md",
|
| 2147 |
"exists": true,
|
| 2148 |
-
"bytes":
|
| 2149 |
-
"sha256": "
|
| 2150 |
},
|
| 2151 |
"hf_model": {
|
| 2152 |
"path": "hf_model:PUBLIC_SURFACE_QA.md",
|
| 2153 |
"exists": true,
|
| 2154 |
-
"bytes":
|
| 2155 |
-
"sha256": "
|
| 2156 |
}
|
| 2157 |
},
|
| 2158 |
"failures": []
|
|
@@ -2251,5 +2364,30 @@
|
|
| 2251 |
"failures": []
|
| 2252 |
}
|
| 2253 |
],
|
| 2254 |
-
"failures": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2255 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"status": "fail",
|
| 3 |
+
"generated_at_utc": "2026-06-03T04:04:16+00:00",
|
| 4 |
"hf_root": "hf_publish",
|
| 5 |
"summary": {
|
| 6 |
+
"group_count": 75,
|
| 7 |
+
"failure_count": 3,
|
| 8 |
+
"failures_by_surface": {
|
| 9 |
+
"hf_space": 1,
|
| 10 |
+
"hf_artifacts": 1,
|
| 11 |
+
"hf_model": 1
|
| 12 |
+
}
|
| 13 |
},
|
| 14 |
"checks": [
|
| 15 |
{
|
| 16 |
"name": "repo_hf_space_artifact_model_data_parity",
|
| 17 |
+
"status": "fail"
|
| 18 |
},
|
| 19 |
{
|
| 20 |
"name": "repo_hf_visual_asset_parity",
|
|
|
|
| 40 |
"local": {
|
| 41 |
"path": "repo:docs/data/artifact_index.json",
|
| 42 |
"exists": true,
|
| 43 |
+
"bytes": 29016,
|
| 44 |
+
"sha256": "e86a70ddecc41330f7e0549dc3d7f7af9984cd92d5b5e5f181ba29c95833b62a"
|
| 45 |
},
|
| 46 |
"mirrors": {
|
| 47 |
"hf_space": {
|
| 48 |
"path": "hf_space:data/artifact_index.json",
|
| 49 |
"exists": true,
|
| 50 |
+
"bytes": 29016,
|
| 51 |
+
"sha256": "e86a70ddecc41330f7e0549dc3d7f7af9984cd92d5b5e5f181ba29c95833b62a"
|
| 52 |
},
|
| 53 |
"hf_artifacts": {
|
| 54 |
"path": "hf_artifacts:docs/data/artifact_index.json",
|
| 55 |
"exists": true,
|
| 56 |
+
"bytes": 29016,
|
| 57 |
+
"sha256": "e86a70ddecc41330f7e0549dc3d7f7af9984cd92d5b5e5f181ba29c95833b62a"
|
| 58 |
},
|
| 59 |
"hf_model": {
|
| 60 |
"path": "hf_model:metrics/artifact_index.json",
|
| 61 |
"exists": true,
|
| 62 |
+
"bytes": 29016,
|
| 63 |
+
"sha256": "e86a70ddecc41330f7e0549dc3d7f7af9984cd92d5b5e5f181ba29c95833b62a"
|
| 64 |
}
|
| 65 |
},
|
| 66 |
"failures": []
|
|
|
|
| 102 |
"local": {
|
| 103 |
"path": "repo:docs/data/evidence_contract.json",
|
| 104 |
"exists": true,
|
| 105 |
+
"bytes": 12007,
|
| 106 |
+
"sha256": "abf0923da5e24b2773b19ecbc83873b05ecc99be07089c63e038a354d806217c"
|
| 107 |
},
|
| 108 |
"mirrors": {
|
| 109 |
"hf_space": {
|
| 110 |
"path": "hf_space:data/evidence_contract.json",
|
| 111 |
"exists": true,
|
| 112 |
+
"bytes": 12007,
|
| 113 |
+
"sha256": "abf0923da5e24b2773b19ecbc83873b05ecc99be07089c63e038a354d806217c"
|
| 114 |
},
|
| 115 |
"hf_artifacts": {
|
| 116 |
"path": "hf_artifacts:docs/data/evidence_contract.json",
|
| 117 |
"exists": true,
|
| 118 |
+
"bytes": 12007,
|
| 119 |
+
"sha256": "abf0923da5e24b2773b19ecbc83873b05ecc99be07089c63e038a354d806217c"
|
| 120 |
},
|
| 121 |
"hf_model": {
|
| 122 |
"path": "hf_model:metrics/evidence_contract.json",
|
| 123 |
"exists": true,
|
| 124 |
+
"bytes": 12007,
|
| 125 |
+
"sha256": "abf0923da5e24b2773b19ecbc83873b05ecc99be07089c63e038a354d806217c"
|
| 126 |
}
|
| 127 |
},
|
| 128 |
"failures": []
|
|
|
|
| 288 |
"local": {
|
| 289 |
"path": "repo:docs/data/project_manifest.json",
|
| 290 |
"exists": true,
|
| 291 |
+
"bytes": 4644,
|
| 292 |
+
"sha256": "cf5f477e09a2cdc45b3c44078ab260df532ddd9cb64725444447f8e8f7e8f99a"
|
| 293 |
},
|
| 294 |
"mirrors": {
|
| 295 |
"hf_space": {
|
| 296 |
"path": "hf_space:data/project_manifest.json",
|
| 297 |
"exists": true,
|
| 298 |
+
"bytes": 4644,
|
| 299 |
+
"sha256": "cf5f477e09a2cdc45b3c44078ab260df532ddd9cb64725444447f8e8f7e8f99a"
|
| 300 |
},
|
| 301 |
"hf_artifacts": {
|
| 302 |
"path": "hf_artifacts:docs/data/project_manifest.json",
|
| 303 |
"exists": true,
|
| 304 |
+
"bytes": 4644,
|
| 305 |
+
"sha256": "cf5f477e09a2cdc45b3c44078ab260df532ddd9cb64725444447f8e8f7e8f99a"
|
| 306 |
},
|
| 307 |
"hf_model": {
|
| 308 |
"path": "hf_model:metrics/project_manifest.json",
|
| 309 |
"exists": true,
|
| 310 |
+
"bytes": 4644,
|
| 311 |
+
"sha256": "cf5f477e09a2cdc45b3c44078ab260df532ddd9cb64725444447f8e8f7e8f99a"
|
| 312 |
}
|
| 313 |
},
|
| 314 |
"failures": []
|
|
|
|
| 377 |
},
|
| 378 |
{
|
| 379 |
"name": "data/publication_audit.json",
|
| 380 |
+
"status": "fail",
|
| 381 |
"local": {
|
| 382 |
"path": "repo:docs/data/publication_audit.json",
|
| 383 |
"exists": true,
|
| 384 |
+
"bytes": 10473,
|
| 385 |
+
"sha256": "8b3991fa9182d41b3b8da17af35e84de9ef16bbd77a6c88413f447246ee98535"
|
| 386 |
},
|
| 387 |
"mirrors": {
|
| 388 |
"hf_space": {
|
| 389 |
"path": "hf_space:data/publication_audit.json",
|
| 390 |
"exists": true,
|
| 391 |
+
"bytes": 7096,
|
| 392 |
+
"sha256": "130753647d34a493d61988311215a2418de082a6ed55ecc2369672bb4f96b841"
|
| 393 |
},
|
| 394 |
"hf_artifacts": {
|
| 395 |
"path": "hf_artifacts:docs/data/publication_audit.json",
|
| 396 |
"exists": true,
|
| 397 |
+
"bytes": 7096,
|
| 398 |
+
"sha256": "130753647d34a493d61988311215a2418de082a6ed55ecc2369672bb4f96b841"
|
| 399 |
},
|
| 400 |
"hf_model": {
|
| 401 |
"path": "hf_model:metrics/publication_audit.json",
|
| 402 |
"exists": true,
|
| 403 |
+
"bytes": 7096,
|
| 404 |
+
"sha256": "130753647d34a493d61988311215a2418de082a6ed55ecc2369672bb4f96b841"
|
| 405 |
}
|
| 406 |
},
|
| 407 |
+
"failures": [
|
| 408 |
+
{
|
| 409 |
+
"surface": "hf_space",
|
| 410 |
+
"kind": "hash_mismatch",
|
| 411 |
+
"path": "hf_space:data/publication_audit.json",
|
| 412 |
+
"expected_sha256": "8b3991fa9182d41b3b8da17af35e84de9ef16bbd77a6c88413f447246ee98535",
|
| 413 |
+
"actual_sha256": "130753647d34a493d61988311215a2418de082a6ed55ecc2369672bb4f96b841"
|
| 414 |
+
},
|
| 415 |
+
{
|
| 416 |
+
"surface": "hf_artifacts",
|
| 417 |
+
"kind": "hash_mismatch",
|
| 418 |
+
"path": "hf_artifacts:docs/data/publication_audit.json",
|
| 419 |
+
"expected_sha256": "8b3991fa9182d41b3b8da17af35e84de9ef16bbd77a6c88413f447246ee98535",
|
| 420 |
+
"actual_sha256": "130753647d34a493d61988311215a2418de082a6ed55ecc2369672bb4f96b841"
|
| 421 |
+
},
|
| 422 |
+
{
|
| 423 |
+
"surface": "hf_model",
|
| 424 |
+
"kind": "hash_mismatch",
|
| 425 |
+
"path": "hf_model:metrics/publication_audit.json",
|
| 426 |
+
"expected_sha256": "8b3991fa9182d41b3b8da17af35e84de9ef16bbd77a6c88413f447246ee98535",
|
| 427 |
+
"actual_sha256": "130753647d34a493d61988311215a2418de082a6ed55ecc2369672bb4f96b841"
|
| 428 |
+
}
|
| 429 |
+
]
|
| 430 |
},
|
| 431 |
{
|
| 432 |
"name": "data/public_surface_qa.json",
|
|
|
|
| 434 |
"local": {
|
| 435 |
"path": "repo:docs/data/public_surface_qa.json",
|
| 436 |
"exists": true,
|
| 437 |
+
"bytes": 5651,
|
| 438 |
+
"sha256": "92ead5e68cf9a3da42c8095397f15be8a75d248b5371147f7806bc5d8e83e3ad"
|
| 439 |
},
|
| 440 |
"mirrors": {
|
| 441 |
"hf_space": {
|
| 442 |
"path": "hf_space:data/public_surface_qa.json",
|
| 443 |
"exists": true,
|
| 444 |
+
"bytes": 5651,
|
| 445 |
+
"sha256": "92ead5e68cf9a3da42c8095397f15be8a75d248b5371147f7806bc5d8e83e3ad"
|
| 446 |
},
|
| 447 |
"hf_artifacts": {
|
| 448 |
"path": "hf_artifacts:docs/data/public_surface_qa.json",
|
| 449 |
"exists": true,
|
| 450 |
+
"bytes": 5651,
|
| 451 |
+
"sha256": "92ead5e68cf9a3da42c8095397f15be8a75d248b5371147f7806bc5d8e83e3ad"
|
| 452 |
},
|
| 453 |
"hf_model": {
|
| 454 |
"path": "hf_model:metrics/public_surface_qa.json",
|
| 455 |
"exists": true,
|
| 456 |
+
"bytes": 5651,
|
| 457 |
+
"sha256": "92ead5e68cf9a3da42c8095397f15be8a75d248b5371147f7806bc5d8e83e3ad"
|
| 458 |
}
|
| 459 |
},
|
| 460 |
"failures": []
|
|
|
|
| 465 |
"local": {
|
| 466 |
"path": "repo:docs/data/quality_gates.json",
|
| 467 |
"exists": true,
|
| 468 |
+
"bytes": 8147,
|
| 469 |
+
"sha256": "fddf86398d7187175c7321ea645c421ee599093fb1c484b1e8aa0f2a23174c3e"
|
| 470 |
},
|
| 471 |
"mirrors": {
|
| 472 |
"hf_space": {
|
| 473 |
"path": "hf_space:data/quality_gates.json",
|
| 474 |
"exists": true,
|
| 475 |
+
"bytes": 8147,
|
| 476 |
+
"sha256": "fddf86398d7187175c7321ea645c421ee599093fb1c484b1e8aa0f2a23174c3e"
|
| 477 |
},
|
| 478 |
"hf_artifacts": {
|
| 479 |
"path": "hf_artifacts:docs/data/quality_gates.json",
|
| 480 |
"exists": true,
|
| 481 |
+
"bytes": 8147,
|
| 482 |
+
"sha256": "fddf86398d7187175c7321ea645c421ee599093fb1c484b1e8aa0f2a23174c3e"
|
| 483 |
},
|
| 484 |
"hf_model": {
|
| 485 |
"path": "hf_model:metrics/quality_gates.json",
|
| 486 |
"exists": true,
|
| 487 |
+
"bytes": 8147,
|
| 488 |
+
"sha256": "fddf86398d7187175c7321ea645c421ee599093fb1c484b1e8aa0f2a23174c3e"
|
| 489 |
+
}
|
| 490 |
+
},
|
| 491 |
+
"failures": []
|
| 492 |
+
},
|
| 493 |
+
{
|
| 494 |
+
"name": "data/rendered_site_check.json",
|
| 495 |
+
"status": "pass",
|
| 496 |
+
"local": {
|
| 497 |
+
"path": "repo:docs/data/rendered_site_check.json",
|
| 498 |
+
"exists": true,
|
| 499 |
+
"bytes": 4032,
|
| 500 |
+
"sha256": "2390c3663e9a110b9ed2f9c581b88a95bbd811a72ffb3e8dc780dae420e0f919"
|
| 501 |
+
},
|
| 502 |
+
"mirrors": {
|
| 503 |
+
"hf_space": {
|
| 504 |
+
"path": "hf_space:data/rendered_site_check.json",
|
| 505 |
+
"exists": true,
|
| 506 |
+
"bytes": 4032,
|
| 507 |
+
"sha256": "2390c3663e9a110b9ed2f9c581b88a95bbd811a72ffb3e8dc780dae420e0f919"
|
| 508 |
+
},
|
| 509 |
+
"hf_artifacts": {
|
| 510 |
+
"path": "hf_artifacts:docs/data/rendered_site_check.json",
|
| 511 |
+
"exists": true,
|
| 512 |
+
"bytes": 4032,
|
| 513 |
+
"sha256": "2390c3663e9a110b9ed2f9c581b88a95bbd811a72ffb3e8dc780dae420e0f919"
|
| 514 |
+
},
|
| 515 |
+
"hf_model": {
|
| 516 |
+
"path": "hf_model:metrics/rendered_site_check.json",
|
| 517 |
+
"exists": true,
|
| 518 |
+
"bytes": 4032,
|
| 519 |
+
"sha256": "2390c3663e9a110b9ed2f9c581b88a95bbd811a72ffb3e8dc780dae420e0f919"
|
| 520 |
}
|
| 521 |
},
|
| 522 |
"failures": []
|
|
|
|
| 558 |
"local": {
|
| 559 |
"path": "repo:docs/data/research_roadmap.json",
|
| 560 |
"exists": true,
|
| 561 |
+
"bytes": 4594,
|
| 562 |
+
"sha256": "bbce65e803a0fad55cc739eb2dc6fdf50a69c81362f05d216324d0813ee4ccad"
|
| 563 |
},
|
| 564 |
"mirrors": {
|
| 565 |
"hf_space": {
|
| 566 |
"path": "hf_space:data/research_roadmap.json",
|
| 567 |
"exists": true,
|
| 568 |
+
"bytes": 4594,
|
| 569 |
+
"sha256": "bbce65e803a0fad55cc739eb2dc6fdf50a69c81362f05d216324d0813ee4ccad"
|
| 570 |
},
|
| 571 |
"hf_artifacts": {
|
| 572 |
"path": "hf_artifacts:docs/data/research_roadmap.json",
|
| 573 |
"exists": true,
|
| 574 |
+
"bytes": 4594,
|
| 575 |
+
"sha256": "bbce65e803a0fad55cc739eb2dc6fdf50a69c81362f05d216324d0813ee4ccad"
|
| 576 |
},
|
| 577 |
"hf_model": {
|
| 578 |
"path": "hf_model:metrics/research_roadmap.json",
|
| 579 |
"exists": true,
|
| 580 |
+
"bytes": 4594,
|
| 581 |
+
"sha256": "bbce65e803a0fad55cc739eb2dc6fdf50a69c81362f05d216324d0813ee4ccad"
|
| 582 |
}
|
| 583 |
},
|
| 584 |
"failures": []
|
|
|
|
| 683 |
"path": "repo:docs/data/scope_claims_audit.json",
|
| 684 |
"exists": true,
|
| 685 |
"bytes": 20066,
|
| 686 |
+
"sha256": "02d7c586e9e6a2d8ce99271bd0b13d6c1975dae6fa8c8ccafd398359e61d35c9"
|
| 687 |
},
|
| 688 |
"mirrors": {
|
| 689 |
"hf_space": {
|
| 690 |
"path": "hf_space:data/scope_claims_audit.json",
|
| 691 |
"exists": true,
|
| 692 |
"bytes": 20066,
|
| 693 |
+
"sha256": "02d7c586e9e6a2d8ce99271bd0b13d6c1975dae6fa8c8ccafd398359e61d35c9"
|
| 694 |
},
|
| 695 |
"hf_artifacts": {
|
| 696 |
"path": "hf_artifacts:docs/data/scope_claims_audit.json",
|
| 697 |
"exists": true,
|
| 698 |
"bytes": 20066,
|
| 699 |
+
"sha256": "02d7c586e9e6a2d8ce99271bd0b13d6c1975dae6fa8c8ccafd398359e61d35c9"
|
| 700 |
},
|
| 701 |
"hf_model": {
|
| 702 |
"path": "hf_model:metrics/scope_claims_audit.json",
|
| 703 |
"exists": true,
|
| 704 |
"bytes": 20066,
|
| 705 |
+
"sha256": "02d7c586e9e6a2d8ce99271bd0b13d6c1975dae6fa8c8ccafd398359e61d35c9"
|
| 706 |
}
|
| 707 |
},
|
| 708 |
"failures": []
|
|
|
|
| 776 |
"path": "repo:docs/data/task_surface_integrity.json",
|
| 777 |
"exists": true,
|
| 778 |
"bytes": 45780,
|
| 779 |
+
"sha256": "f4d2894afa2aba013ed6728ee610d6665e08ae7baac9c28e94c86ac79144023e"
|
| 780 |
},
|
| 781 |
"mirrors": {
|
| 782 |
"hf_space": {
|
| 783 |
"path": "hf_space:data/task_surface_integrity.json",
|
| 784 |
"exists": true,
|
| 785 |
"bytes": 45780,
|
| 786 |
+
"sha256": "f4d2894afa2aba013ed6728ee610d6665e08ae7baac9c28e94c86ac79144023e"
|
| 787 |
},
|
| 788 |
"hf_artifacts": {
|
| 789 |
"path": "hf_artifacts:docs/data/task_surface_integrity.json",
|
| 790 |
"exists": true,
|
| 791 |
"bytes": 45780,
|
| 792 |
+
"sha256": "f4d2894afa2aba013ed6728ee610d6665e08ae7baac9c28e94c86ac79144023e"
|
| 793 |
},
|
| 794 |
"hf_model": {
|
| 795 |
"path": "hf_model:metrics/task_surface_integrity.json",
|
| 796 |
"exists": true,
|
| 797 |
"bytes": 45780,
|
| 798 |
+
"sha256": "f4d2894afa2aba013ed6728ee610d6665e08ae7baac9c28e94c86ac79144023e"
|
| 799 |
}
|
| 800 |
},
|
| 801 |
"failures": []
|
|
|
|
| 837 |
"local": {
|
| 838 |
"path": "repo:docs/data/website_integrity.json",
|
| 839 |
"exists": true,
|
| 840 |
+
"bytes": 13148,
|
| 841 |
+
"sha256": "f54adbe50d026febc5180412fdda6a7c7d44dfd2f733f3000e735e81261c1b27"
|
| 842 |
},
|
| 843 |
"mirrors": {
|
| 844 |
"hf_space": {
|
| 845 |
"path": "hf_space:data/website_integrity.json",
|
| 846 |
"exists": true,
|
| 847 |
+
"bytes": 13148,
|
| 848 |
+
"sha256": "f54adbe50d026febc5180412fdda6a7c7d44dfd2f733f3000e735e81261c1b27"
|
| 849 |
},
|
| 850 |
"hf_artifacts": {
|
| 851 |
"path": "hf_artifacts:docs/data/website_integrity.json",
|
| 852 |
"exists": true,
|
| 853 |
+
"bytes": 13148,
|
| 854 |
+
"sha256": "f54adbe50d026febc5180412fdda6a7c7d44dfd2f733f3000e735e81261c1b27"
|
| 855 |
},
|
| 856 |
"hf_model": {
|
| 857 |
"path": "hf_model:metrics/website_integrity.json",
|
| 858 |
"exists": true,
|
| 859 |
+
"bytes": 13148,
|
| 860 |
+
"sha256": "f54adbe50d026febc5180412fdda6a7c7d44dfd2f733f3000e735e81261c1b27"
|
| 861 |
}
|
| 862 |
},
|
| 863 |
"failures": []
|
|
|
|
| 1528 |
"local": {
|
| 1529 |
"path": "repo:scripts/build_artifact_index.py",
|
| 1530 |
"exists": true,
|
| 1531 |
+
"bytes": 23604,
|
| 1532 |
+
"sha256": "e822eaa3fcbc805ac6869c16d46d41b78e1a1cfb921afa4956dc28c0a7c8daa3"
|
| 1533 |
},
|
| 1534 |
"mirrors": {
|
| 1535 |
"hf_artifacts": {
|
| 1536 |
"path": "hf_artifacts:scripts/build_artifact_index.py",
|
| 1537 |
"exists": true,
|
| 1538 |
+
"bytes": 23604,
|
| 1539 |
+
"sha256": "e822eaa3fcbc805ac6869c16d46d41b78e1a1cfb921afa4956dc28c0a7c8daa3"
|
| 1540 |
},
|
| 1541 |
"hf_model": {
|
| 1542 |
"path": "hf_model:scripts/build_artifact_index.py",
|
| 1543 |
"exists": true,
|
| 1544 |
+
"bytes": 23604,
|
| 1545 |
+
"sha256": "e822eaa3fcbc805ac6869c16d46d41b78e1a1cfb921afa4956dc28c0a7c8daa3"
|
| 1546 |
}
|
| 1547 |
},
|
| 1548 |
"failures": []
|
|
|
|
| 1628 |
"local": {
|
| 1629 |
"path": "repo:scripts/build_quality_gates.py",
|
| 1630 |
"exists": true,
|
| 1631 |
+
"bytes": 11380,
|
| 1632 |
+
"sha256": "e8c99db9b2698f824b580882b238a881cffeafffc0b5f768d5fad0f9ac24ae18"
|
| 1633 |
},
|
| 1634 |
"mirrors": {
|
| 1635 |
"hf_artifacts": {
|
| 1636 |
"path": "hf_artifacts:scripts/build_quality_gates.py",
|
| 1637 |
"exists": true,
|
| 1638 |
+
"bytes": 11380,
|
| 1639 |
+
"sha256": "e8c99db9b2698f824b580882b238a881cffeafffc0b5f768d5fad0f9ac24ae18"
|
| 1640 |
},
|
| 1641 |
"hf_model": {
|
| 1642 |
"path": "hf_model:scripts/build_quality_gates.py",
|
| 1643 |
"exists": true,
|
| 1644 |
+
"bytes": 11380,
|
| 1645 |
+
"sha256": "e8c99db9b2698f824b580882b238a881cffeafffc0b5f768d5fad0f9ac24ae18"
|
| 1646 |
}
|
| 1647 |
},
|
| 1648 |
"failures": []
|
|
|
|
| 1653 |
"local": {
|
| 1654 |
"path": "repo:scripts/build_public_surface_qa.py",
|
| 1655 |
"exists": true,
|
| 1656 |
+
"bytes": 11894,
|
| 1657 |
+
"sha256": "d0e86f45f2f23670e967c1a92024797a59106116ac9d948c35972512384f41de"
|
| 1658 |
},
|
| 1659 |
"mirrors": {
|
| 1660 |
"hf_artifacts": {
|
| 1661 |
"path": "hf_artifacts:scripts/build_public_surface_qa.py",
|
| 1662 |
"exists": true,
|
| 1663 |
+
"bytes": 11894,
|
| 1664 |
+
"sha256": "d0e86f45f2f23670e967c1a92024797a59106116ac9d948c35972512384f41de"
|
| 1665 |
},
|
| 1666 |
"hf_model": {
|
| 1667 |
"path": "hf_model:scripts/build_public_surface_qa.py",
|
| 1668 |
"exists": true,
|
| 1669 |
+
"bytes": 11894,
|
| 1670 |
+
"sha256": "d0e86f45f2f23670e967c1a92024797a59106116ac9d948c35972512384f41de"
|
| 1671 |
+
}
|
| 1672 |
+
},
|
| 1673 |
+
"failures": []
|
| 1674 |
+
},
|
| 1675 |
+
{
|
| 1676 |
+
"name": "scripts/build_rendered_site_check.py",
|
| 1677 |
+
"status": "pass",
|
| 1678 |
+
"local": {
|
| 1679 |
+
"path": "repo:scripts/build_rendered_site_check.py",
|
| 1680 |
+
"exists": true,
|
| 1681 |
+
"bytes": 7820,
|
| 1682 |
+
"sha256": "670f31c75e9d641ef20f8ad761a63104e96fd631372c965c7f7746a692b4d514"
|
| 1683 |
+
},
|
| 1684 |
+
"mirrors": {
|
| 1685 |
+
"hf_artifacts": {
|
| 1686 |
+
"path": "hf_artifacts:scripts/build_rendered_site_check.py",
|
| 1687 |
+
"exists": true,
|
| 1688 |
+
"bytes": 7820,
|
| 1689 |
+
"sha256": "670f31c75e9d641ef20f8ad761a63104e96fd631372c965c7f7746a692b4d514"
|
| 1690 |
+
},
|
| 1691 |
+
"hf_model": {
|
| 1692 |
+
"path": "hf_model:scripts/build_rendered_site_check.py",
|
| 1693 |
+
"exists": true,
|
| 1694 |
+
"bytes": 7820,
|
| 1695 |
+
"sha256": "670f31c75e9d641ef20f8ad761a63104e96fd631372c965c7f7746a692b4d514"
|
| 1696 |
}
|
| 1697 |
},
|
| 1698 |
"failures": []
|
|
|
|
| 1728 |
"local": {
|
| 1729 |
"path": "repo:scripts/verify_live_publication.py",
|
| 1730 |
"exists": true,
|
| 1731 |
+
"bytes": 28398,
|
| 1732 |
+
"sha256": "bcc5377beea66e731866182f307be7ed2c51a56d7cd6055d6f5e8c9643e274d3"
|
| 1733 |
},
|
| 1734 |
"mirrors": {
|
| 1735 |
"hf_artifacts": {
|
| 1736 |
"path": "hf_artifacts:scripts/verify_live_publication.py",
|
| 1737 |
"exists": true,
|
| 1738 |
+
"bytes": 28398,
|
| 1739 |
+
"sha256": "bcc5377beea66e731866182f307be7ed2c51a56d7cd6055d6f5e8c9643e274d3"
|
| 1740 |
},
|
| 1741 |
"hf_model": {
|
| 1742 |
"path": "hf_model:scripts/verify_live_publication.py",
|
| 1743 |
"exists": true,
|
| 1744 |
+
"bytes": 28398,
|
| 1745 |
+
"sha256": "bcc5377beea66e731866182f307be7ed2c51a56d7cd6055d6f5e8c9643e274d3"
|
| 1746 |
}
|
| 1747 |
},
|
| 1748 |
"failures": []
|
|
|
|
| 1753 |
"local": {
|
| 1754 |
"path": "repo:scripts/validate_mirror_parity.py",
|
| 1755 |
"exists": true,
|
| 1756 |
+
"bytes": 10446,
|
| 1757 |
+
"sha256": "77d1297b7faa1605e50b31e11f30e4f4b8af4b3d566d80bc93d9886295efd15e"
|
| 1758 |
},
|
| 1759 |
"mirrors": {
|
| 1760 |
"hf_artifacts": {
|
| 1761 |
"path": "hf_artifacts:scripts/validate_mirror_parity.py",
|
| 1762 |
"exists": true,
|
| 1763 |
+
"bytes": 10446,
|
| 1764 |
+
"sha256": "77d1297b7faa1605e50b31e11f30e4f4b8af4b3d566d80bc93d9886295efd15e"
|
| 1765 |
},
|
| 1766 |
"hf_model": {
|
| 1767 |
"path": "hf_model:scripts/validate_mirror_parity.py",
|
| 1768 |
"exists": true,
|
| 1769 |
+
"bytes": 10446,
|
| 1770 |
+
"sha256": "77d1297b7faa1605e50b31e11f30e4f4b8af4b3d566d80bc93d9886295efd15e"
|
| 1771 |
}
|
| 1772 |
},
|
| 1773 |
"failures": []
|
|
|
|
| 1778 |
"local": {
|
| 1779 |
"path": "repo:scripts/validate_publication_package.py",
|
| 1780 |
"exists": true,
|
| 1781 |
+
"bytes": 19097,
|
| 1782 |
+
"sha256": "1073dd6539d4b998150a820e5eb2a5267ea9d492cbe1929f1d958567b3935649"
|
| 1783 |
},
|
| 1784 |
"mirrors": {
|
| 1785 |
"hf_artifacts": {
|
| 1786 |
"path": "hf_artifacts:scripts/validate_publication_package.py",
|
| 1787 |
"exists": true,
|
| 1788 |
+
"bytes": 19097,
|
| 1789 |
+
"sha256": "1073dd6539d4b998150a820e5eb2a5267ea9d492cbe1929f1d958567b3935649"
|
| 1790 |
},
|
| 1791 |
"hf_model": {
|
| 1792 |
"path": "hf_model:scripts/validate_publication_package.py",
|
| 1793 |
"exists": true,
|
| 1794 |
+
"bytes": 19097,
|
| 1795 |
+
"sha256": "1073dd6539d4b998150a820e5eb2a5267ea9d492cbe1929f1d958567b3935649"
|
| 1796 |
}
|
| 1797 |
},
|
| 1798 |
"failures": []
|
|
|
|
| 1878 |
"local": {
|
| 1879 |
"path": "repo:scripts/validate_website_integrity.py",
|
| 1880 |
"exists": true,
|
| 1881 |
+
"bytes": 22821,
|
| 1882 |
+
"sha256": "6385dc491daad67f771df9d44895a2e930f572127684c421b132e2d1866040dc"
|
| 1883 |
},
|
| 1884 |
"mirrors": {
|
| 1885 |
"hf_artifacts": {
|
| 1886 |
"path": "hf_artifacts:scripts/validate_website_integrity.py",
|
| 1887 |
"exists": true,
|
| 1888 |
+
"bytes": 22821,
|
| 1889 |
+
"sha256": "6385dc491daad67f771df9d44895a2e930f572127684c421b132e2d1866040dc"
|
| 1890 |
},
|
| 1891 |
"hf_model": {
|
| 1892 |
"path": "hf_model:scripts/validate_website_integrity.py",
|
| 1893 |
"exists": true,
|
| 1894 |
+
"bytes": 22821,
|
| 1895 |
+
"sha256": "6385dc491daad67f771df9d44895a2e930f572127684c421b132e2d1866040dc"
|
| 1896 |
}
|
| 1897 |
},
|
| 1898 |
"failures": []
|
|
|
|
| 1903 |
"local": {
|
| 1904 |
"path": "repo:scripts/publish_hf_bundles.py",
|
| 1905 |
"exists": true,
|
| 1906 |
+
"bytes": 8996,
|
| 1907 |
+
"sha256": "9790951493763e6490d01fec62661df2bbe2a3341466fe41298b95cda0900229"
|
| 1908 |
},
|
| 1909 |
"mirrors": {
|
| 1910 |
"hf_artifacts": {
|
| 1911 |
"path": "hf_artifacts:scripts/publish_hf_bundles.py",
|
| 1912 |
"exists": true,
|
| 1913 |
+
"bytes": 8996,
|
| 1914 |
+
"sha256": "9790951493763e6490d01fec62661df2bbe2a3341466fe41298b95cda0900229"
|
| 1915 |
},
|
| 1916 |
"hf_model": {
|
| 1917 |
"path": "hf_model:scripts/publish_hf_bundles.py",
|
| 1918 |
"exists": true,
|
| 1919 |
+
"bytes": 8996,
|
| 1920 |
+
"sha256": "9790951493763e6490d01fec62661df2bbe2a3341466fe41298b95cda0900229"
|
| 1921 |
}
|
| 1922 |
},
|
| 1923 |
"failures": []
|
|
|
|
| 1978 |
"local": {
|
| 1979 |
"path": "repo:docs/index.html",
|
| 1980 |
"exists": true,
|
| 1981 |
+
"bytes": 159797,
|
| 1982 |
+
"sha256": "6071494e626ef88821cce4f6f9ee27b7d56011de345add95e1708c921ccc84e4"
|
| 1983 |
},
|
| 1984 |
"mirrors": {
|
| 1985 |
"hf_space": {
|
| 1986 |
"path": "hf_space:index.html",
|
| 1987 |
"exists": true,
|
| 1988 |
+
"bytes": 159797,
|
| 1989 |
+
"sha256": "6071494e626ef88821cce4f6f9ee27b7d56011de345add95e1708c921ccc84e4"
|
| 1990 |
},
|
| 1991 |
"hf_artifacts_docs": {
|
| 1992 |
"path": "hf_artifacts:docs/index.html",
|
| 1993 |
"exists": true,
|
| 1994 |
+
"bytes": 159797,
|
| 1995 |
+
"sha256": "6071494e626ef88821cce4f6f9ee27b7d56011de345add95e1708c921ccc84e4"
|
| 1996 |
}
|
| 1997 |
},
|
| 1998 |
"failures": []
|
|
|
|
| 2028 |
"local": {
|
| 2029 |
"path": "repo:QUALITY_GATES.md",
|
| 2030 |
"exists": true,
|
| 2031 |
+
"bytes": 4919,
|
| 2032 |
+
"sha256": "7138e99b116c44f128cd2f749e9d7427e496cb7596d30d54dd44af79be80df81"
|
| 2033 |
},
|
| 2034 |
"mirrors": {
|
| 2035 |
"hf_space": {
|
| 2036 |
"path": "hf_space:QUALITY_GATES.md",
|
| 2037 |
"exists": true,
|
| 2038 |
+
"bytes": 4919,
|
| 2039 |
+
"sha256": "7138e99b116c44f128cd2f749e9d7427e496cb7596d30d54dd44af79be80df81"
|
| 2040 |
},
|
| 2041 |
"hf_artifacts": {
|
| 2042 |
"path": "hf_artifacts:QUALITY_GATES.md",
|
| 2043 |
"exists": true,
|
| 2044 |
+
"bytes": 4919,
|
| 2045 |
+
"sha256": "7138e99b116c44f128cd2f749e9d7427e496cb7596d30d54dd44af79be80df81"
|
| 2046 |
},
|
| 2047 |
"hf_model": {
|
| 2048 |
"path": "hf_model:QUALITY_GATES.md",
|
| 2049 |
"exists": true,
|
| 2050 |
+
"bytes": 4919,
|
| 2051 |
+
"sha256": "7138e99b116c44f128cd2f749e9d7427e496cb7596d30d54dd44af79be80df81"
|
| 2052 |
}
|
| 2053 |
},
|
| 2054 |
"failures": []
|
|
|
|
| 2146 |
},
|
| 2147 |
"failures": []
|
| 2148 |
},
|
| 2149 |
+
{
|
| 2150 |
+
"name": "docs/RENDERED_SITE_CHECK.md",
|
| 2151 |
+
"status": "pass",
|
| 2152 |
+
"local": {
|
| 2153 |
+
"path": "repo:RENDERED_SITE_CHECK.md",
|
| 2154 |
+
"exists": true,
|
| 2155 |
+
"bytes": 1922,
|
| 2156 |
+
"sha256": "be747c041579fa1b1131ad1f8935217c607d7307843c88fef5e656cd74a74471"
|
| 2157 |
+
},
|
| 2158 |
+
"mirrors": {
|
| 2159 |
+
"hf_space": {
|
| 2160 |
+
"path": "hf_space:RENDERED_SITE_CHECK.md",
|
| 2161 |
+
"exists": true,
|
| 2162 |
+
"bytes": 1922,
|
| 2163 |
+
"sha256": "be747c041579fa1b1131ad1f8935217c607d7307843c88fef5e656cd74a74471"
|
| 2164 |
+
},
|
| 2165 |
+
"hf_artifacts": {
|
| 2166 |
+
"path": "hf_artifacts:RENDERED_SITE_CHECK.md",
|
| 2167 |
+
"exists": true,
|
| 2168 |
+
"bytes": 1922,
|
| 2169 |
+
"sha256": "be747c041579fa1b1131ad1f8935217c607d7307843c88fef5e656cd74a74471"
|
| 2170 |
+
},
|
| 2171 |
+
"hf_model": {
|
| 2172 |
+
"path": "hf_model:RENDERED_SITE_CHECK.md",
|
| 2173 |
+
"exists": true,
|
| 2174 |
+
"bytes": 1922,
|
| 2175 |
+
"sha256": "be747c041579fa1b1131ad1f8935217c607d7307843c88fef5e656cd74a74471"
|
| 2176 |
+
}
|
| 2177 |
+
},
|
| 2178 |
+
"failures": []
|
| 2179 |
+
},
|
| 2180 |
{
|
| 2181 |
"name": "docs/RESEARCH_ROADMAP.md",
|
| 2182 |
"status": "pass",
|
| 2183 |
"local": {
|
| 2184 |
"path": "repo:RESEARCH_ROADMAP.md",
|
| 2185 |
"exists": true,
|
| 2186 |
+
"bytes": 5051,
|
| 2187 |
+
"sha256": "1d640dbc0bcba26d72dbedd4c2dacb04e38bc7c3b11ac79f57b52c2a6e8caec3"
|
| 2188 |
},
|
| 2189 |
"mirrors": {
|
| 2190 |
"hf_space": {
|
| 2191 |
"path": "hf_space:RESEARCH_ROADMAP.md",
|
| 2192 |
"exists": true,
|
| 2193 |
+
"bytes": 5051,
|
| 2194 |
+
"sha256": "1d640dbc0bcba26d72dbedd4c2dacb04e38bc7c3b11ac79f57b52c2a6e8caec3"
|
| 2195 |
},
|
| 2196 |
"hf_artifacts": {
|
| 2197 |
"path": "hf_artifacts:RESEARCH_ROADMAP.md",
|
| 2198 |
"exists": true,
|
| 2199 |
+
"bytes": 5051,
|
| 2200 |
+
"sha256": "1d640dbc0bcba26d72dbedd4c2dacb04e38bc7c3b11ac79f57b52c2a6e8caec3"
|
| 2201 |
},
|
| 2202 |
"hf_model": {
|
| 2203 |
"path": "hf_model:RESEARCH_ROADMAP.md",
|
| 2204 |
"exists": true,
|
| 2205 |
+
"bytes": 5051,
|
| 2206 |
+
"sha256": "1d640dbc0bcba26d72dbedd4c2dacb04e38bc7c3b11ac79f57b52c2a6e8caec3"
|
| 2207 |
}
|
| 2208 |
},
|
| 2209 |
"failures": []
|
|
|
|
| 2214 |
"local": {
|
| 2215 |
"path": "repo:PROJECT_STATUS.md",
|
| 2216 |
"exists": true,
|
| 2217 |
+
"bytes": 5385,
|
| 2218 |
+
"sha256": "353e177fac7a2009c475b8ae833117ae4cf68ca69307d9e1c292b6e13a18be61"
|
| 2219 |
},
|
| 2220 |
"mirrors": {
|
| 2221 |
"hf_space": {
|
| 2222 |
"path": "hf_space:PROJECT_STATUS.md",
|
| 2223 |
"exists": true,
|
| 2224 |
+
"bytes": 5385,
|
| 2225 |
+
"sha256": "353e177fac7a2009c475b8ae833117ae4cf68ca69307d9e1c292b6e13a18be61"
|
| 2226 |
},
|
| 2227 |
"hf_artifacts": {
|
| 2228 |
"path": "hf_artifacts:PROJECT_STATUS.md",
|
| 2229 |
"exists": true,
|
| 2230 |
+
"bytes": 5385,
|
| 2231 |
+
"sha256": "353e177fac7a2009c475b8ae833117ae4cf68ca69307d9e1c292b6e13a18be61"
|
| 2232 |
},
|
| 2233 |
"hf_model": {
|
| 2234 |
"path": "hf_model:PROJECT_STATUS.md",
|
| 2235 |
"exists": true,
|
| 2236 |
+
"bytes": 5385,
|
| 2237 |
+
"sha256": "353e177fac7a2009c475b8ae833117ae4cf68ca69307d9e1c292b6e13a18be61"
|
| 2238 |
}
|
| 2239 |
},
|
| 2240 |
"failures": []
|
|
|
|
| 2245 |
"local": {
|
| 2246 |
"path": "repo:PUBLIC_SURFACE_QA.md",
|
| 2247 |
"exists": true,
|
| 2248 |
+
"bytes": 1988,
|
| 2249 |
+
"sha256": "b93b5c16c87a5b9f87de937ae1ca68a59668c039fdec75765049c526b6e83326"
|
| 2250 |
},
|
| 2251 |
"mirrors": {
|
| 2252 |
"hf_space": {
|
| 2253 |
"path": "hf_space:PUBLIC_SURFACE_QA.md",
|
| 2254 |
"exists": true,
|
| 2255 |
+
"bytes": 1988,
|
| 2256 |
+
"sha256": "b93b5c16c87a5b9f87de937ae1ca68a59668c039fdec75765049c526b6e83326"
|
| 2257 |
},
|
| 2258 |
"hf_artifacts": {
|
| 2259 |
"path": "hf_artifacts:PUBLIC_SURFACE_QA.md",
|
| 2260 |
"exists": true,
|
| 2261 |
+
"bytes": 1988,
|
| 2262 |
+
"sha256": "b93b5c16c87a5b9f87de937ae1ca68a59668c039fdec75765049c526b6e83326"
|
| 2263 |
},
|
| 2264 |
"hf_model": {
|
| 2265 |
"path": "hf_model:PUBLIC_SURFACE_QA.md",
|
| 2266 |
"exists": true,
|
| 2267 |
+
"bytes": 1988,
|
| 2268 |
+
"sha256": "b93b5c16c87a5b9f87de937ae1ca68a59668c039fdec75765049c526b6e83326"
|
| 2269 |
}
|
| 2270 |
},
|
| 2271 |
"failures": []
|
|
|
|
| 2364 |
"failures": []
|
| 2365 |
}
|
| 2366 |
],
|
| 2367 |
+
"failures": [
|
| 2368 |
+
{
|
| 2369 |
+
"group": "data/publication_audit.json",
|
| 2370 |
+
"surface": "hf_space",
|
| 2371 |
+
"kind": "hash_mismatch",
|
| 2372 |
+
"path": "hf_space:data/publication_audit.json",
|
| 2373 |
+
"expected_sha256": "8b3991fa9182d41b3b8da17af35e84de9ef16bbd77a6c88413f447246ee98535",
|
| 2374 |
+
"actual_sha256": "130753647d34a493d61988311215a2418de082a6ed55ecc2369672bb4f96b841"
|
| 2375 |
+
},
|
| 2376 |
+
{
|
| 2377 |
+
"group": "data/publication_audit.json",
|
| 2378 |
+
"surface": "hf_artifacts",
|
| 2379 |
+
"kind": "hash_mismatch",
|
| 2380 |
+
"path": "hf_artifacts:docs/data/publication_audit.json",
|
| 2381 |
+
"expected_sha256": "8b3991fa9182d41b3b8da17af35e84de9ef16bbd77a6c88413f447246ee98535",
|
| 2382 |
+
"actual_sha256": "130753647d34a493d61988311215a2418de082a6ed55ecc2369672bb4f96b841"
|
| 2383 |
+
},
|
| 2384 |
+
{
|
| 2385 |
+
"group": "data/publication_audit.json",
|
| 2386 |
+
"surface": "hf_model",
|
| 2387 |
+
"kind": "hash_mismatch",
|
| 2388 |
+
"path": "hf_model:metrics/publication_audit.json",
|
| 2389 |
+
"expected_sha256": "8b3991fa9182d41b3b8da17af35e84de9ef16bbd77a6c88413f447246ee98535",
|
| 2390 |
+
"actual_sha256": "130753647d34a493d61988311215a2418de082a6ed55ecc2369672bb4f96b841"
|
| 2391 |
+
}
|
| 2392 |
+
]
|
| 2393 |
}
|
docs/data/publication_audit.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
-
"status": "
|
| 3 |
-
"generated_at_utc": "2026-06-
|
| 4 |
"checks": [
|
| 5 |
{
|
| 6 |
"name": "required_publication_assets_present",
|
|
@@ -29,8 +29,8 @@
|
|
| 29 |
},
|
| 30 |
{
|
| 31 |
"name": "no_local_filesystem_paths_in_public_text",
|
| 32 |
-
"status": "
|
| 33 |
-
"count":
|
| 34 |
},
|
| 35 |
{
|
| 36 |
"name": "no_stale_task_suite_presentation_copy",
|
|
@@ -54,6 +54,7 @@
|
|
| 54 |
"RESEARCH_TAKEAWAYS.md": true,
|
| 55 |
"QUALITY_GATES.md": true,
|
| 56 |
"PUBLIC_SURFACE_QA.md": true,
|
|
|
|
| 57 |
"EVALUATION_PROTOCOL.md": true,
|
| 58 |
"FIGURE_INDEX.md": true,
|
| 59 |
"SOURCE_ALIGNMENT_AUDIT.md": true,
|
|
@@ -87,6 +88,7 @@
|
|
| 87 |
"docs/data/modality_atlas.json": true,
|
| 88 |
"docs/data/mirror_parity.json": true,
|
| 89 |
"docs/data/public_surface_qa.json": true,
|
|
|
|
| 90 |
"docs/data/scope_claims_audit.json": true,
|
| 91 |
"docs/data/task_surface_integrity.json": true,
|
| 92 |
"docs/data/website_integrity.json": true,
|
|
@@ -121,6 +123,7 @@
|
|
| 121 |
"scripts/build_figure_index.py": true,
|
| 122 |
"scripts/build_quality_gates.py": true,
|
| 123 |
"scripts/build_public_surface_qa.py": true,
|
|
|
|
| 124 |
"scripts/verify_live_publication.py": true,
|
| 125 |
"scripts/validate_mirror_parity.py": true,
|
| 126 |
"scripts/validate_scope_claims.py": true,
|
|
@@ -135,7 +138,7 @@
|
|
| 135 |
"surface": "github_repo",
|
| 136 |
"path": "README.md",
|
| 137 |
"exists": true,
|
| 138 |
-
"required_marker_count":
|
| 139 |
"missing_markers": [],
|
| 140 |
"status": "pass"
|
| 141 |
},
|
|
@@ -143,7 +146,7 @@
|
|
| 143 |
"surface": "hf_space_bundle",
|
| 144 |
"path": "README.md",
|
| 145 |
"exists": true,
|
| 146 |
-
"required_marker_count":
|
| 147 |
"missing_markers": [],
|
| 148 |
"status": "pass"
|
| 149 |
},
|
|
@@ -151,7 +154,7 @@
|
|
| 151 |
"surface": "hf_artifact_bundle",
|
| 152 |
"path": "README.md",
|
| 153 |
"exists": true,
|
| 154 |
-
"required_marker_count":
|
| 155 |
"missing_markers": [],
|
| 156 |
"status": "pass"
|
| 157 |
},
|
|
@@ -159,7 +162,7 @@
|
|
| 159 |
"surface": "hf_artifact_bundle",
|
| 160 |
"path": "PROJECT_README.md",
|
| 161 |
"exists": true,
|
| 162 |
-
"required_marker_count":
|
| 163 |
"missing_markers": [],
|
| 164 |
"status": "pass"
|
| 165 |
},
|
|
@@ -167,7 +170,7 @@
|
|
| 167 |
"surface": "hf_model_bundle",
|
| 168 |
"path": "README.md",
|
| 169 |
"exists": true,
|
| 170 |
-
"required_marker_count":
|
| 171 |
"missing_markers": [],
|
| 172 |
"status": "pass"
|
| 173 |
}
|
|
@@ -176,47 +179,140 @@
|
|
| 176 |
"github_repo": {
|
| 177 |
"root": "repo",
|
| 178 |
"exists": true,
|
| 179 |
-
"file_count":
|
| 180 |
-
"text_file_count":
|
| 181 |
"largest_file": {
|
| 182 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 183 |
"bytes": 52601010
|
| 184 |
},
|
| 185 |
-
"violations": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 186 |
},
|
| 187 |
"hf_space_bundle": {
|
| 188 |
"root": "hf_publish/space",
|
| 189 |
"exists": true,
|
| 190 |
-
"file_count":
|
| 191 |
-
"text_file_count":
|
| 192 |
"largest_file": {
|
| 193 |
-
"path": "
|
| 194 |
-
"bytes":
|
| 195 |
},
|
| 196 |
-
"violations": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 197 |
},
|
| 198 |
"hf_artifact_bundle": {
|
| 199 |
"root": "hf_publish/artifacts",
|
| 200 |
"exists": true,
|
| 201 |
-
"file_count":
|
| 202 |
-
"text_file_count":
|
| 203 |
"largest_file": {
|
| 204 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 205 |
"bytes": 52601010
|
| 206 |
},
|
| 207 |
-
"violations": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 208 |
},
|
| 209 |
"hf_model_bundle": {
|
| 210 |
"root": "hf_publish/model",
|
| 211 |
"exists": true,
|
| 212 |
-
"file_count":
|
| 213 |
-
"text_file_count":
|
| 214 |
"largest_file": {
|
| 215 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 216 |
"bytes": 52601010
|
| 217 |
},
|
| 218 |
-
"violations": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 219 |
}
|
| 220 |
},
|
| 221 |
-
"violations": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 222 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"status": "fail",
|
| 3 |
+
"generated_at_utc": "2026-06-03T04:04:18+00:00",
|
| 4 |
"checks": [
|
| 5 |
{
|
| 6 |
"name": "required_publication_assets_present",
|
|
|
|
| 29 |
},
|
| 30 |
{
|
| 31 |
"name": "no_local_filesystem_paths_in_public_text",
|
| 32 |
+
"status": "fail",
|
| 33 |
+
"count": 8
|
| 34 |
},
|
| 35 |
{
|
| 36 |
"name": "no_stale_task_suite_presentation_copy",
|
|
|
|
| 54 |
"RESEARCH_TAKEAWAYS.md": true,
|
| 55 |
"QUALITY_GATES.md": true,
|
| 56 |
"PUBLIC_SURFACE_QA.md": true,
|
| 57 |
+
"RENDERED_SITE_CHECK.md": true,
|
| 58 |
"EVALUATION_PROTOCOL.md": true,
|
| 59 |
"FIGURE_INDEX.md": true,
|
| 60 |
"SOURCE_ALIGNMENT_AUDIT.md": true,
|
|
|
|
| 88 |
"docs/data/modality_atlas.json": true,
|
| 89 |
"docs/data/mirror_parity.json": true,
|
| 90 |
"docs/data/public_surface_qa.json": true,
|
| 91 |
+
"docs/data/rendered_site_check.json": true,
|
| 92 |
"docs/data/scope_claims_audit.json": true,
|
| 93 |
"docs/data/task_surface_integrity.json": true,
|
| 94 |
"docs/data/website_integrity.json": true,
|
|
|
|
| 123 |
"scripts/build_figure_index.py": true,
|
| 124 |
"scripts/build_quality_gates.py": true,
|
| 125 |
"scripts/build_public_surface_qa.py": true,
|
| 126 |
+
"scripts/build_rendered_site_check.py": true,
|
| 127 |
"scripts/verify_live_publication.py": true,
|
| 128 |
"scripts/validate_mirror_parity.py": true,
|
| 129 |
"scripts/validate_scope_claims.py": true,
|
|
|
|
| 138 |
"surface": "github_repo",
|
| 139 |
"path": "README.md",
|
| 140 |
"exists": true,
|
| 141 |
+
"required_marker_count": 20,
|
| 142 |
"missing_markers": [],
|
| 143 |
"status": "pass"
|
| 144 |
},
|
|
|
|
| 146 |
"surface": "hf_space_bundle",
|
| 147 |
"path": "README.md",
|
| 148 |
"exists": true,
|
| 149 |
+
"required_marker_count": 20,
|
| 150 |
"missing_markers": [],
|
| 151 |
"status": "pass"
|
| 152 |
},
|
|
|
|
| 154 |
"surface": "hf_artifact_bundle",
|
| 155 |
"path": "README.md",
|
| 156 |
"exists": true,
|
| 157 |
+
"required_marker_count": 19,
|
| 158 |
"missing_markers": [],
|
| 159 |
"status": "pass"
|
| 160 |
},
|
|
|
|
| 162 |
"surface": "hf_artifact_bundle",
|
| 163 |
"path": "PROJECT_README.md",
|
| 164 |
"exists": true,
|
| 165 |
+
"required_marker_count": 20,
|
| 166 |
"missing_markers": [],
|
| 167 |
"status": "pass"
|
| 168 |
},
|
|
|
|
| 170 |
"surface": "hf_model_bundle",
|
| 171 |
"path": "README.md",
|
| 172 |
"exists": true,
|
| 173 |
+
"required_marker_count": 20,
|
| 174 |
"missing_markers": [],
|
| 175 |
"status": "pass"
|
| 176 |
}
|
|
|
|
| 179 |
"github_repo": {
|
| 180 |
"root": "repo",
|
| 181 |
"exists": true,
|
| 182 |
+
"file_count": 352,
|
| 183 |
+
"text_file_count": 288,
|
| 184 |
"largest_file": {
|
| 185 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 186 |
"bytes": 52601010
|
| 187 |
},
|
| 188 |
+
"violations": [
|
| 189 |
+
{
|
| 190 |
+
"kind": "local_filesystem_path",
|
| 191 |
+
"path": "scripts/single_episode_diagnostics.py",
|
| 192 |
+
"detail": "local macOS user path in public text"
|
| 193 |
+
},
|
| 194 |
+
{
|
| 195 |
+
"kind": "local_filesystem_path",
|
| 196 |
+
"path": "scripts/single_episode_diagnostics.py",
|
| 197 |
+
"detail": "local scratch path in public text"
|
| 198 |
+
}
|
| 199 |
+
]
|
| 200 |
},
|
| 201 |
"hf_space_bundle": {
|
| 202 |
"root": "hf_publish/space",
|
| 203 |
"exists": true,
|
| 204 |
+
"file_count": 135,
|
| 205 |
+
"text_file_count": 108,
|
| 206 |
"largest_file": {
|
| 207 |
+
"path": "data/single_episode_explorer.json",
|
| 208 |
+
"bytes": 4101241
|
| 209 |
},
|
| 210 |
+
"violations": [
|
| 211 |
+
{
|
| 212 |
+
"kind": "local_filesystem_path",
|
| 213 |
+
"path": "results/single_episode_diagnostics/provenance.json",
|
| 214 |
+
"detail": "local macOS user path in public text"
|
| 215 |
+
},
|
| 216 |
+
{
|
| 217 |
+
"kind": "local_filesystem_path",
|
| 218 |
+
"path": "results/single_episode_diagnostics/object_labels/object_vocab.json",
|
| 219 |
+
"detail": "local macOS user path in public text"
|
| 220 |
+
}
|
| 221 |
+
]
|
| 222 |
},
|
| 223 |
"hf_artifact_bundle": {
|
| 224 |
"root": "hf_publish/artifacts",
|
| 225 |
"exists": true,
|
| 226 |
+
"file_count": 381,
|
| 227 |
+
"text_file_count": 297,
|
| 228 |
"largest_file": {
|
| 229 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 230 |
"bytes": 52601010
|
| 231 |
},
|
| 232 |
+
"violations": [
|
| 233 |
+
{
|
| 234 |
+
"kind": "local_filesystem_path",
|
| 235 |
+
"path": "results/single_episode_diagnostics/provenance.json",
|
| 236 |
+
"detail": "local macOS user path in public text"
|
| 237 |
+
},
|
| 238 |
+
{
|
| 239 |
+
"kind": "local_filesystem_path",
|
| 240 |
+
"path": "results/single_episode_diagnostics/object_labels/object_vocab.json",
|
| 241 |
+
"detail": "local macOS user path in public text"
|
| 242 |
+
}
|
| 243 |
+
]
|
| 244 |
},
|
| 245 |
"hf_model_bundle": {
|
| 246 |
"root": "hf_publish/model",
|
| 247 |
"exists": true,
|
| 248 |
+
"file_count": 561,
|
| 249 |
+
"text_file_count": 445,
|
| 250 |
"largest_file": {
|
| 251 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 252 |
"bytes": 52601010
|
| 253 |
},
|
| 254 |
+
"violations": [
|
| 255 |
+
{
|
| 256 |
+
"kind": "local_filesystem_path",
|
| 257 |
+
"path": "results/single_episode_diagnostics/provenance.json",
|
| 258 |
+
"detail": "local macOS user path in public text"
|
| 259 |
+
},
|
| 260 |
+
{
|
| 261 |
+
"kind": "local_filesystem_path",
|
| 262 |
+
"path": "results/single_episode_diagnostics/object_labels/object_vocab.json",
|
| 263 |
+
"detail": "local macOS user path in public text"
|
| 264 |
+
}
|
| 265 |
+
]
|
| 266 |
}
|
| 267 |
},
|
| 268 |
+
"violations": [
|
| 269 |
+
{
|
| 270 |
+
"root": "github_repo",
|
| 271 |
+
"kind": "local_filesystem_path",
|
| 272 |
+
"path": "scripts/single_episode_diagnostics.py",
|
| 273 |
+
"detail": "local macOS user path in public text"
|
| 274 |
+
},
|
| 275 |
+
{
|
| 276 |
+
"root": "github_repo",
|
| 277 |
+
"kind": "local_filesystem_path",
|
| 278 |
+
"path": "scripts/single_episode_diagnostics.py",
|
| 279 |
+
"detail": "local scratch path in public text"
|
| 280 |
+
},
|
| 281 |
+
{
|
| 282 |
+
"root": "hf_space_bundle",
|
| 283 |
+
"kind": "local_filesystem_path",
|
| 284 |
+
"path": "results/single_episode_diagnostics/provenance.json",
|
| 285 |
+
"detail": "local macOS user path in public text"
|
| 286 |
+
},
|
| 287 |
+
{
|
| 288 |
+
"root": "hf_space_bundle",
|
| 289 |
+
"kind": "local_filesystem_path",
|
| 290 |
+
"path": "results/single_episode_diagnostics/object_labels/object_vocab.json",
|
| 291 |
+
"detail": "local macOS user path in public text"
|
| 292 |
+
},
|
| 293 |
+
{
|
| 294 |
+
"root": "hf_artifact_bundle",
|
| 295 |
+
"kind": "local_filesystem_path",
|
| 296 |
+
"path": "results/single_episode_diagnostics/provenance.json",
|
| 297 |
+
"detail": "local macOS user path in public text"
|
| 298 |
+
},
|
| 299 |
+
{
|
| 300 |
+
"root": "hf_artifact_bundle",
|
| 301 |
+
"kind": "local_filesystem_path",
|
| 302 |
+
"path": "results/single_episode_diagnostics/object_labels/object_vocab.json",
|
| 303 |
+
"detail": "local macOS user path in public text"
|
| 304 |
+
},
|
| 305 |
+
{
|
| 306 |
+
"root": "hf_model_bundle",
|
| 307 |
+
"kind": "local_filesystem_path",
|
| 308 |
+
"path": "results/single_episode_diagnostics/provenance.json",
|
| 309 |
+
"detail": "local macOS user path in public text"
|
| 310 |
+
},
|
| 311 |
+
{
|
| 312 |
+
"root": "hf_model_bundle",
|
| 313 |
+
"kind": "local_filesystem_path",
|
| 314 |
+
"path": "results/single_episode_diagnostics/object_labels/object_vocab.json",
|
| 315 |
+
"detail": "local macOS user path in public text"
|
| 316 |
+
}
|
| 317 |
+
]
|
| 318 |
}
|
docs/data/single_episode_explorer.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
docs/data/website_integrity.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
-
"generated_at_utc": "2026-06-
|
| 4 |
"docs_root": "docs",
|
| 5 |
"site_base": "/ropedia-xperience-10m-task-suite/",
|
| 6 |
"summary": {
|
| 7 |
-
"html_pages":
|
| 8 |
-
"local_references":
|
| 9 |
-
"external_reference_count":
|
| 10 |
-
"json_files":
|
| 11 |
-
"image_assets_referenced":
|
| 12 |
"failure_count": 0
|
| 13 |
},
|
| 14 |
"failures": {
|
|
@@ -74,8 +74,8 @@
|
|
| 74 |
"name": "project_overview_precedes_progress_ledger",
|
| 75 |
"status": "pass",
|
| 76 |
"reason": "The project overview should appear before the deeper progress ledger.",
|
| 77 |
-
"overview_index":
|
| 78 |
-
"evidence_index":
|
| 79 |
},
|
| 80 |
{
|
| 81 |
"name": "project_status_links_json",
|
|
@@ -83,13 +83,48 @@
|
|
| 83 |
"reason": "The website should expose the machine-readable project status.",
|
| 84 |
"marker_count": 2
|
| 85 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 86 |
{
|
| 87 |
"name": "evaluation_protocol_between_overview_and_progress",
|
| 88 |
"status": "pass",
|
| 89 |
"reason": "The evaluation protocol should appear before the deeper evidence ledger.",
|
| 90 |
-
"overview_index":
|
| 91 |
-
"protocol_index":
|
| 92 |
-
"evidence_index":
|
| 93 |
},
|
| 94 |
{
|
| 95 |
"name": "evaluation_protocol_links_json",
|
|
@@ -163,14 +198,20 @@
|
|
| 163 |
{
|
| 164 |
"path": "index.html",
|
| 165 |
"id_count": 75,
|
| 166 |
-
"reference_count":
|
| 167 |
"image_count": 22
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 168 |
}
|
| 169 |
],
|
| 170 |
"json_files": [
|
| 171 |
{
|
| 172 |
"path": "data/artifact_index.json",
|
| 173 |
-
"bytes":
|
| 174 |
"top_level_type": "dict"
|
| 175 |
},
|
| 176 |
{
|
|
@@ -185,7 +226,7 @@
|
|
| 185 |
},
|
| 186 |
{
|
| 187 |
"path": "data/evidence_contract.json",
|
| 188 |
-
"bytes":
|
| 189 |
"top_level_type": "dict"
|
| 190 |
},
|
| 191 |
{
|
|
@@ -200,7 +241,7 @@
|
|
| 200 |
},
|
| 201 |
{
|
| 202 |
"path": "data/mirror_parity.json",
|
| 203 |
-
"bytes":
|
| 204 |
"top_level_type": "dict"
|
| 205 |
},
|
| 206 |
{
|
|
@@ -215,7 +256,7 @@
|
|
| 215 |
},
|
| 216 |
{
|
| 217 |
"path": "data/project_manifest.json",
|
| 218 |
-
"bytes":
|
| 219 |
"top_level_type": "dict"
|
| 220 |
},
|
| 221 |
{
|
|
@@ -230,17 +271,22 @@
|
|
| 230 |
},
|
| 231 |
{
|
| 232 |
"path": "data/public_surface_qa.json",
|
| 233 |
-
"bytes":
|
| 234 |
"top_level_type": "dict"
|
| 235 |
},
|
| 236 |
{
|
| 237 |
"path": "data/publication_audit.json",
|
| 238 |
-
"bytes":
|
| 239 |
"top_level_type": "dict"
|
| 240 |
},
|
| 241 |
{
|
| 242 |
"path": "data/quality_gates.json",
|
| 243 |
-
"bytes":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 244 |
"top_level_type": "dict"
|
| 245 |
},
|
| 246 |
{
|
|
@@ -260,7 +306,7 @@
|
|
| 260 |
},
|
| 261 |
{
|
| 262 |
"path": "data/research_roadmap.json",
|
| 263 |
-
"bytes":
|
| 264 |
"top_level_type": "dict"
|
| 265 |
},
|
| 266 |
{
|
|
@@ -273,6 +319,11 @@
|
|
| 273 |
"bytes": 20066,
|
| 274 |
"top_level_type": "dict"
|
| 275 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 276 |
{
|
| 277 |
"path": "data/source_alignment_audit.json",
|
| 278 |
"bytes": 4432,
|
|
@@ -295,7 +346,7 @@
|
|
| 295 |
},
|
| 296 |
{
|
| 297 |
"path": "data/website_integrity.json",
|
| 298 |
-
"bytes":
|
| 299 |
"top_level_type": "dict"
|
| 300 |
},
|
| 301 |
{
|
|
@@ -313,6 +364,14 @@
|
|
| 313 |
"height": 64,
|
| 314 |
"format": "PNG"
|
| 315 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 316 |
{
|
| 317 |
"path": "assets/charts/cross_modal_retrieval.svg",
|
| 318 |
"exists": true,
|
|
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
+
"generated_at_utc": "2026-06-03T04:04:17+00:00",
|
| 4 |
"docs_root": "docs",
|
| 5 |
"site_base": "/ropedia-xperience-10m-task-suite/",
|
| 6 |
"summary": {
|
| 7 |
+
"html_pages": 3,
|
| 8 |
+
"local_references": 109,
|
| 9 |
+
"external_reference_count": 83,
|
| 10 |
+
"json_files": 29,
|
| 11 |
+
"image_assets_referenced": 20,
|
| 12 |
"failure_count": 0
|
| 13 |
},
|
| 14 |
"failures": {
|
|
|
|
| 74 |
"name": "project_overview_precedes_progress_ledger",
|
| 75 |
"status": "pass",
|
| 76 |
"reason": "The project overview should appear before the deeper progress ledger.",
|
| 77 |
+
"overview_index": 60611,
|
| 78 |
+
"evidence_index": 74036
|
| 79 |
},
|
| 80 |
{
|
| 81 |
"name": "project_status_links_json",
|
|
|
|
| 83 |
"reason": "The website should expose the machine-readable project status.",
|
| 84 |
"marker_count": 2
|
| 85 |
},
|
| 86 |
+
{
|
| 87 |
+
"name": "roadmap_links_json",
|
| 88 |
+
"status": "pass",
|
| 89 |
+
"reason": "The website should expose the machine-readable research roadmap.",
|
| 90 |
+
"marker_count": 2
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"name": "rendered_site_check_links_json",
|
| 94 |
+
"status": "pass",
|
| 95 |
+
"reason": "The website should expose the browser-level rendered website check.",
|
| 96 |
+
"marker_count": 1
|
| 97 |
+
},
|
| 98 |
+
{
|
| 99 |
+
"name": "roadmap_html_matches_json_phases",
|
| 100 |
+
"status": "pass",
|
| 101 |
+
"reason": "The roadmap section should show every stage defined in research_roadmap.json.",
|
| 102 |
+
"phase_count": 5,
|
| 103 |
+
"missing_phase_names": [],
|
| 104 |
+
"roadmap_json_error": null
|
| 105 |
+
},
|
| 106 |
+
{
|
| 107 |
+
"name": "roadmap_status_chips_match_json",
|
| 108 |
+
"status": "pass",
|
| 109 |
+
"reason": "The roadmap status chips should match the phase statuses in research_roadmap.json.",
|
| 110 |
+
"phase_count": 5,
|
| 111 |
+
"statuses": [
|
| 112 |
+
"implemented",
|
| 113 |
+
"active",
|
| 114 |
+
"next",
|
| 115 |
+
"planned",
|
| 116 |
+
"planned"
|
| 117 |
+
],
|
| 118 |
+
"missing_statuses": [],
|
| 119 |
+
"roadmap_json_error": null
|
| 120 |
+
},
|
| 121 |
{
|
| 122 |
"name": "evaluation_protocol_between_overview_and_progress",
|
| 123 |
"status": "pass",
|
| 124 |
"reason": "The evaluation protocol should appear before the deeper evidence ledger.",
|
| 125 |
+
"overview_index": 60611,
|
| 126 |
+
"protocol_index": 71439,
|
| 127 |
+
"evidence_index": 74036
|
| 128 |
},
|
| 129 |
{
|
| 130 |
"name": "evaluation_protocol_links_json",
|
|
|
|
| 198 |
{
|
| 199 |
"path": "index.html",
|
| 200 |
"id_count": 75,
|
| 201 |
+
"reference_count": 102,
|
| 202 |
"image_count": 22
|
| 203 |
+
},
|
| 204 |
+
{
|
| 205 |
+
"path": "single_episode_explorer.html",
|
| 206 |
+
"id_count": 26,
|
| 207 |
+
"reference_count": 6,
|
| 208 |
+
"image_count": 1
|
| 209 |
}
|
| 210 |
],
|
| 211 |
"json_files": [
|
| 212 |
{
|
| 213 |
"path": "data/artifact_index.json",
|
| 214 |
+
"bytes": 29016,
|
| 215 |
"top_level_type": "dict"
|
| 216 |
},
|
| 217 |
{
|
|
|
|
| 226 |
},
|
| 227 |
{
|
| 228 |
"path": "data/evidence_contract.json",
|
| 229 |
+
"bytes": 12007,
|
| 230 |
"top_level_type": "dict"
|
| 231 |
},
|
| 232 |
{
|
|
|
|
| 241 |
},
|
| 242 |
{
|
| 243 |
"path": "data/mirror_parity.json",
|
| 244 |
+
"bytes": 81842,
|
| 245 |
"top_level_type": "dict"
|
| 246 |
},
|
| 247 |
{
|
|
|
|
| 256 |
},
|
| 257 |
{
|
| 258 |
"path": "data/project_manifest.json",
|
| 259 |
+
"bytes": 4644,
|
| 260 |
"top_level_type": "dict"
|
| 261 |
},
|
| 262 |
{
|
|
|
|
| 271 |
},
|
| 272 |
{
|
| 273 |
"path": "data/public_surface_qa.json",
|
| 274 |
+
"bytes": 5651,
|
| 275 |
"top_level_type": "dict"
|
| 276 |
},
|
| 277 |
{
|
| 278 |
"path": "data/publication_audit.json",
|
| 279 |
+
"bytes": 10473,
|
| 280 |
"top_level_type": "dict"
|
| 281 |
},
|
| 282 |
{
|
| 283 |
"path": "data/quality_gates.json",
|
| 284 |
+
"bytes": 8147,
|
| 285 |
+
"top_level_type": "dict"
|
| 286 |
+
},
|
| 287 |
+
{
|
| 288 |
+
"path": "data/rendered_site_check.json",
|
| 289 |
+
"bytes": 4032,
|
| 290 |
"top_level_type": "dict"
|
| 291 |
},
|
| 292 |
{
|
|
|
|
| 306 |
},
|
| 307 |
{
|
| 308 |
"path": "data/research_roadmap.json",
|
| 309 |
+
"bytes": 4594,
|
| 310 |
"top_level_type": "dict"
|
| 311 |
},
|
| 312 |
{
|
|
|
|
| 319 |
"bytes": 20066,
|
| 320 |
"top_level_type": "dict"
|
| 321 |
},
|
| 322 |
+
{
|
| 323 |
+
"path": "data/single_episode_explorer.json",
|
| 324 |
+
"bytes": 4101241,
|
| 325 |
+
"top_level_type": "dict"
|
| 326 |
+
},
|
| 327 |
{
|
| 328 |
"path": "data/source_alignment_audit.json",
|
| 329 |
"bytes": 4432,
|
|
|
|
| 346 |
},
|
| 347 |
{
|
| 348 |
"path": "data/website_integrity.json",
|
| 349 |
+
"bytes": 13148,
|
| 350 |
"top_level_type": "dict"
|
| 351 |
},
|
| 352 |
{
|
|
|
|
| 364 |
"height": 64,
|
| 365 |
"format": "PNG"
|
| 366 |
},
|
| 367 |
+
{
|
| 368 |
+
"path": "assets/brand/xperience10m-logo-mark-192.png",
|
| 369 |
+
"exists": true,
|
| 370 |
+
"bytes": 41318,
|
| 371 |
+
"width": 192,
|
| 372 |
+
"height": 192,
|
| 373 |
+
"format": "PNG"
|
| 374 |
+
},
|
| 375 |
{
|
| 376 |
"path": "assets/charts/cross_modal_retrieval.svg",
|
| 377 |
"exists": true,
|
docs/index.html
CHANGED
|
@@ -1880,6 +1880,7 @@
|
|
| 1880 |
<a href="#models">Results</a>
|
| 1881 |
<a href="#directions">Directions</a>
|
| 1882 |
<a href="#walkthroughs">Walkthrough</a>
|
|
|
|
| 1883 |
<a href="#artifacts">Resources</a>
|
| 1884 |
<a class="nav-action" href="https://huggingface.co/spaces/cy0307/ropedia-xperience-10m-task-suite">HF Space</a>
|
| 1885 |
<a class="nav-action" href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite">GitHub</a>
|
|
@@ -2711,6 +2712,7 @@
|
|
| 2711 |
<img class="chart" src="assets/charts/episode_task_scores_neural_mlp.svg" alt="Neural MLP task score chart">
|
| 2712 |
<img class="chart" src="assets/charts/episode_task_scores_minimal_vs_neural.svg" alt="Minimal versus neural score chart">
|
| 2713 |
</div>
|
|
|
|
| 2714 |
</div>
|
| 2715 |
</section>
|
| 2716 |
|
|
@@ -2752,6 +2754,7 @@
|
|
| 2752 |
<article class="artifact"><h3>Four-direction taxonomy</h3><p>Generated JSON, CSV, Markdown, and website data mapping all 12 tasks to the four research tracks.</p><a href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite/tree/main/results/episode_task_suite/research_directions">research_directions/</a></article>
|
| 2753 |
<article class="artifact"><h3>Direction extension probes</h3><p>Four coded probes, one per research direction, with minimal and neural metrics plus prediction/rank CSVs.</p><a href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite/tree/main/results/episode_task_suite/research_direction_extensions">research_direction_extensions/</a></article>
|
| 2754 |
<article class="artifact"><h3>Task walkthroughs</h3><p>Case studies for all 12 tasks, including input, middle process modules, output, metric, limitation, and task-player data.</p><a href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite/tree/main/results/episode_task_suite/task_walkthroughs">task_walkthroughs/</a></article>
|
|
|
|
| 2755 |
<article class="artifact"><h3>Cross-modal retrieval</h3><p>The strongest self-supervised signal from the single episode.</p><a href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite/blob/main/results/episode_task_suite/cross_modal_retrieval/metrics.json">metrics.json</a></article>
|
| 2756 |
</div>
|
| 2757 |
</section>
|
|
@@ -2795,6 +2798,7 @@
|
|
| 2795 |
<article class="artifact"><h3>Artifact index</h3><p>Selective source-of-truth catalog with existence checks, sizes, and stable-file hashes.</p><a href="data/artifact_index.json">artifact_index.json</a></article>
|
| 2796 |
<article class="artifact"><h3>Task-surface integrity</h3><p>Checks that public task cards use readable research names, modality thumbnails, and the interactive walkthrough/player contract.</p><a href="data/task_surface_integrity.json">task_surface_integrity.json</a></article>
|
| 2797 |
<article class="artifact"><h3>Website integrity</h3><p>Checks local links, anchors, JSON files, and referenced website image dimensions.</p><a href="data/website_integrity.json">website_integrity.json</a></article>
|
|
|
|
| 2798 |
<article class="artifact"><h3>Release checks</h3><p>One release map for automated validators and live post-publish checks.</p><a href="data/quality_gates.json">quality_gates.json</a></article>
|
| 2799 |
<article class="artifact"><h3>Mirror parity</h3><p>Prepared repo, HF Space, artifact dataset, and model bundle parity for critical data, figures, website HTML, and validator files.</p><a href="data/mirror_parity.json">mirror_parity.json</a></article>
|
| 2800 |
<article class="artifact"><h3>Live publication</h3><p>Last public GitHub/HF URL verification after upload.</p><a href="data/live_publication_status.json">live_publication_status.json</a></article>
|
|
|
|
| 1880 |
<a href="#models">Results</a>
|
| 1881 |
<a href="#directions">Directions</a>
|
| 1882 |
<a href="#walkthroughs">Walkthrough</a>
|
| 1883 |
+
<a href="single_episode_explorer.html">Explorer</a>
|
| 1884 |
<a href="#artifacts">Resources</a>
|
| 1885 |
<a class="nav-action" href="https://huggingface.co/spaces/cy0307/ropedia-xperience-10m-task-suite">HF Space</a>
|
| 1886 |
<a class="nav-action" href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite">GitHub</a>
|
|
|
|
| 2712 |
<img class="chart" src="assets/charts/episode_task_scores_neural_mlp.svg" alt="Neural MLP task score chart">
|
| 2713 |
<img class="chart" src="assets/charts/episode_task_scores_minimal_vs_neural.svg" alt="Minimal versus neural score chart">
|
| 2714 |
</div>
|
| 2715 |
+
<p class="section-note"><a href="single_episode_explorer.html">Open the single-episode explorer</a> to inspect window-level labels, predictions, feature-block statistics, object labels, and diagnostic scores.</p>
|
| 2716 |
</div>
|
| 2717 |
</section>
|
| 2718 |
|
|
|
|
| 2754 |
<article class="artifact"><h3>Four-direction taxonomy</h3><p>Generated JSON, CSV, Markdown, and website data mapping all 12 tasks to the four research tracks.</p><a href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite/tree/main/results/episode_task_suite/research_directions">research_directions/</a></article>
|
| 2755 |
<article class="artifact"><h3>Direction extension probes</h3><p>Four coded probes, one per research direction, with minimal and neural metrics plus prediction/rank CSVs.</p><a href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite/tree/main/results/episode_task_suite/research_direction_extensions">research_direction_extensions/</a></article>
|
| 2756 |
<article class="artifact"><h3>Task walkthroughs</h3><p>Case studies for all 12 tasks, including input, middle process modules, output, metric, limitation, and task-player data.</p><a href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite/tree/main/results/episode_task_suite/task_walkthroughs">task_walkthroughs/</a></article>
|
| 2757 |
+
<article class="artifact"><h3>Single-episode explorer</h3><p>Interactive window-level view of labels, predictions, feature-block statistics, object labels, and diagnostics.</p><a href="single_episode_explorer.html">single_episode_explorer.html</a></article>
|
| 2758 |
<article class="artifact"><h3>Cross-modal retrieval</h3><p>The strongest self-supervised signal from the single episode.</p><a href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite/blob/main/results/episode_task_suite/cross_modal_retrieval/metrics.json">metrics.json</a></article>
|
| 2759 |
</div>
|
| 2760 |
</section>
|
|
|
|
| 2798 |
<article class="artifact"><h3>Artifact index</h3><p>Selective source-of-truth catalog with existence checks, sizes, and stable-file hashes.</p><a href="data/artifact_index.json">artifact_index.json</a></article>
|
| 2799 |
<article class="artifact"><h3>Task-surface integrity</h3><p>Checks that public task cards use readable research names, modality thumbnails, and the interactive walkthrough/player contract.</p><a href="data/task_surface_integrity.json">task_surface_integrity.json</a></article>
|
| 2800 |
<article class="artifact"><h3>Website integrity</h3><p>Checks local links, anchors, JSON files, and referenced website image dimensions.</p><a href="data/website_integrity.json">website_integrity.json</a></article>
|
| 2801 |
+
<article class="artifact"><h3>Rendered website check</h3><p>Records the latest browser-level load, tab, walkthrough deep-link, control-click, and console-health check.</p><a href="data/rendered_site_check.json">rendered_site_check.json</a></article>
|
| 2802 |
<article class="artifact"><h3>Release checks</h3><p>One release map for automated validators and live post-publish checks.</p><a href="data/quality_gates.json">quality_gates.json</a></article>
|
| 2803 |
<article class="artifact"><h3>Mirror parity</h3><p>Prepared repo, HF Space, artifact dataset, and model bundle parity for critical data, figures, website HTML, and validator files.</p><a href="data/mirror_parity.json">mirror_parity.json</a></article>
|
| 2804 |
<article class="artifact"><h3>Live publication</h3><p>Last public GitHub/HF URL verification after upload.</p><a href="data/live_publication_status.json">live_publication_status.json</a></article>
|
docs/single_episode_explorer.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
index.html
CHANGED
|
@@ -1880,6 +1880,7 @@
|
|
| 1880 |
<a href="#models">Results</a>
|
| 1881 |
<a href="#directions">Directions</a>
|
| 1882 |
<a href="#walkthroughs">Walkthrough</a>
|
|
|
|
| 1883 |
<a href="#artifacts">Resources</a>
|
| 1884 |
<a class="nav-action" href="https://huggingface.co/spaces/cy0307/ropedia-xperience-10m-task-suite">HF Space</a>
|
| 1885 |
<a class="nav-action" href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite">GitHub</a>
|
|
@@ -2711,6 +2712,7 @@
|
|
| 2711 |
<img class="chart" src="assets/charts/episode_task_scores_neural_mlp.svg" alt="Neural MLP task score chart">
|
| 2712 |
<img class="chart" src="assets/charts/episode_task_scores_minimal_vs_neural.svg" alt="Minimal versus neural score chart">
|
| 2713 |
</div>
|
|
|
|
| 2714 |
</div>
|
| 2715 |
</section>
|
| 2716 |
|
|
@@ -2752,6 +2754,7 @@
|
|
| 2752 |
<article class="artifact"><h3>Four-direction taxonomy</h3><p>Generated JSON, CSV, Markdown, and website data mapping all 12 tasks to the four research tracks.</p><a href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite/tree/main/results/episode_task_suite/research_directions">research_directions/</a></article>
|
| 2753 |
<article class="artifact"><h3>Direction extension probes</h3><p>Four coded probes, one per research direction, with minimal and neural metrics plus prediction/rank CSVs.</p><a href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite/tree/main/results/episode_task_suite/research_direction_extensions">research_direction_extensions/</a></article>
|
| 2754 |
<article class="artifact"><h3>Task walkthroughs</h3><p>Case studies for all 12 tasks, including input, middle process modules, output, metric, limitation, and task-player data.</p><a href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite/tree/main/results/episode_task_suite/task_walkthroughs">task_walkthroughs/</a></article>
|
|
|
|
| 2755 |
<article class="artifact"><h3>Cross-modal retrieval</h3><p>The strongest self-supervised signal from the single episode.</p><a href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite/blob/main/results/episode_task_suite/cross_modal_retrieval/metrics.json">metrics.json</a></article>
|
| 2756 |
</div>
|
| 2757 |
</section>
|
|
@@ -2795,6 +2798,7 @@
|
|
| 2795 |
<article class="artifact"><h3>Artifact index</h3><p>Selective source-of-truth catalog with existence checks, sizes, and stable-file hashes.</p><a href="data/artifact_index.json">artifact_index.json</a></article>
|
| 2796 |
<article class="artifact"><h3>Task-surface integrity</h3><p>Checks that public task cards use readable research names, modality thumbnails, and the interactive walkthrough/player contract.</p><a href="data/task_surface_integrity.json">task_surface_integrity.json</a></article>
|
| 2797 |
<article class="artifact"><h3>Website integrity</h3><p>Checks local links, anchors, JSON files, and referenced website image dimensions.</p><a href="data/website_integrity.json">website_integrity.json</a></article>
|
|
|
|
| 2798 |
<article class="artifact"><h3>Release checks</h3><p>One release map for automated validators and live post-publish checks.</p><a href="data/quality_gates.json">quality_gates.json</a></article>
|
| 2799 |
<article class="artifact"><h3>Mirror parity</h3><p>Prepared repo, HF Space, artifact dataset, and model bundle parity for critical data, figures, website HTML, and validator files.</p><a href="data/mirror_parity.json">mirror_parity.json</a></article>
|
| 2800 |
<article class="artifact"><h3>Live publication</h3><p>Last public GitHub/HF URL verification after upload.</p><a href="data/live_publication_status.json">live_publication_status.json</a></article>
|
|
|
|
| 1880 |
<a href="#models">Results</a>
|
| 1881 |
<a href="#directions">Directions</a>
|
| 1882 |
<a href="#walkthroughs">Walkthrough</a>
|
| 1883 |
+
<a href="single_episode_explorer.html">Explorer</a>
|
| 1884 |
<a href="#artifacts">Resources</a>
|
| 1885 |
<a class="nav-action" href="https://huggingface.co/spaces/cy0307/ropedia-xperience-10m-task-suite">HF Space</a>
|
| 1886 |
<a class="nav-action" href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite">GitHub</a>
|
|
|
|
| 2712 |
<img class="chart" src="assets/charts/episode_task_scores_neural_mlp.svg" alt="Neural MLP task score chart">
|
| 2713 |
<img class="chart" src="assets/charts/episode_task_scores_minimal_vs_neural.svg" alt="Minimal versus neural score chart">
|
| 2714 |
</div>
|
| 2715 |
+
<p class="section-note"><a href="single_episode_explorer.html">Open the single-episode explorer</a> to inspect window-level labels, predictions, feature-block statistics, object labels, and diagnostic scores.</p>
|
| 2716 |
</div>
|
| 2717 |
</section>
|
| 2718 |
|
|
|
|
| 2754 |
<article class="artifact"><h3>Four-direction taxonomy</h3><p>Generated JSON, CSV, Markdown, and website data mapping all 12 tasks to the four research tracks.</p><a href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite/tree/main/results/episode_task_suite/research_directions">research_directions/</a></article>
|
| 2755 |
<article class="artifact"><h3>Direction extension probes</h3><p>Four coded probes, one per research direction, with minimal and neural metrics plus prediction/rank CSVs.</p><a href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite/tree/main/results/episode_task_suite/research_direction_extensions">research_direction_extensions/</a></article>
|
| 2756 |
<article class="artifact"><h3>Task walkthroughs</h3><p>Case studies for all 12 tasks, including input, middle process modules, output, metric, limitation, and task-player data.</p><a href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite/tree/main/results/episode_task_suite/task_walkthroughs">task_walkthroughs/</a></article>
|
| 2757 |
+
<article class="artifact"><h3>Single-episode explorer</h3><p>Interactive window-level view of labels, predictions, feature-block statistics, object labels, and diagnostics.</p><a href="single_episode_explorer.html">single_episode_explorer.html</a></article>
|
| 2758 |
<article class="artifact"><h3>Cross-modal retrieval</h3><p>The strongest self-supervised signal from the single episode.</p><a href="https://github.com/ChaoYue0307/ropedia-xperience-10m-task-suite/blob/main/results/episode_task_suite/cross_modal_retrieval/metrics.json">metrics.json</a></article>
|
| 2759 |
</div>
|
| 2760 |
</section>
|
|
|
|
| 2798 |
<article class="artifact"><h3>Artifact index</h3><p>Selective source-of-truth catalog with existence checks, sizes, and stable-file hashes.</p><a href="data/artifact_index.json">artifact_index.json</a></article>
|
| 2799 |
<article class="artifact"><h3>Task-surface integrity</h3><p>Checks that public task cards use readable research names, modality thumbnails, and the interactive walkthrough/player contract.</p><a href="data/task_surface_integrity.json">task_surface_integrity.json</a></article>
|
| 2800 |
<article class="artifact"><h3>Website integrity</h3><p>Checks local links, anchors, JSON files, and referenced website image dimensions.</p><a href="data/website_integrity.json">website_integrity.json</a></article>
|
| 2801 |
+
<article class="artifact"><h3>Rendered website check</h3><p>Records the latest browser-level load, tab, walkthrough deep-link, control-click, and console-health check.</p><a href="data/rendered_site_check.json">rendered_site_check.json</a></article>
|
| 2802 |
<article class="artifact"><h3>Release checks</h3><p>One release map for automated validators and live post-publish checks.</p><a href="data/quality_gates.json">quality_gates.json</a></article>
|
| 2803 |
<article class="artifact"><h3>Mirror parity</h3><p>Prepared repo, HF Space, artifact dataset, and model bundle parity for critical data, figures, website HTML, and validator files.</p><a href="data/mirror_parity.json">mirror_parity.json</a></article>
|
| 2804 |
<article class="artifact"><h3>Live publication</h3><p>Last public GitHub/HF URL verification after upload.</p><a href="data/live_publication_status.json">live_publication_status.json</a></article>
|
metrics/mirror_parity.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
-
"generated_at_utc": "2026-06-
|
| 4 |
"hf_root": "hf_publish",
|
| 5 |
"summary": {
|
| 6 |
-
"group_count":
|
| 7 |
"failure_count": 0,
|
| 8 |
"failures_by_surface": {}
|
| 9 |
},
|
|
@@ -24,6 +24,10 @@
|
|
| 24 |
"name": "repo_hf_website_html_parity",
|
| 25 |
"status": "pass"
|
| 26 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
{
|
| 28 |
"name": "repo_hf_quality_doc_parity",
|
| 29 |
"status": "pass"
|
|
@@ -377,27 +381,27 @@
|
|
| 377 |
"local": {
|
| 378 |
"path": "repo:docs/data/publication_audit.json",
|
| 379 |
"exists": true,
|
| 380 |
-
"bytes":
|
| 381 |
-
"sha256": "
|
| 382 |
},
|
| 383 |
"mirrors": {
|
| 384 |
"hf_space": {
|
| 385 |
"path": "hf_space:data/publication_audit.json",
|
| 386 |
"exists": true,
|
| 387 |
-
"bytes":
|
| 388 |
-
"sha256": "
|
| 389 |
},
|
| 390 |
"hf_artifacts": {
|
| 391 |
"path": "hf_artifacts:docs/data/publication_audit.json",
|
| 392 |
"exists": true,
|
| 393 |
-
"bytes":
|
| 394 |
-
"sha256": "
|
| 395 |
},
|
| 396 |
"hf_model": {
|
| 397 |
"path": "hf_model:metrics/publication_audit.json",
|
| 398 |
"exists": true,
|
| 399 |
-
"bytes":
|
| 400 |
-
"sha256": "
|
| 401 |
}
|
| 402 |
},
|
| 403 |
"failures": []
|
|
@@ -681,6 +685,37 @@
|
|
| 681 |
},
|
| 682 |
"failures": []
|
| 683 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 684 |
{
|
| 685 |
"name": "data/source_alignment_audit.json",
|
| 686 |
"status": "pass",
|
|
@@ -811,27 +846,27 @@
|
|
| 811 |
"local": {
|
| 812 |
"path": "repo:docs/data/website_integrity.json",
|
| 813 |
"exists": true,
|
| 814 |
-
"bytes":
|
| 815 |
-
"sha256": "
|
| 816 |
},
|
| 817 |
"mirrors": {
|
| 818 |
"hf_space": {
|
| 819 |
"path": "hf_space:data/website_integrity.json",
|
| 820 |
"exists": true,
|
| 821 |
-
"bytes":
|
| 822 |
-
"sha256": "
|
| 823 |
},
|
| 824 |
"hf_artifacts": {
|
| 825 |
"path": "hf_artifacts:docs/data/website_integrity.json",
|
| 826 |
"exists": true,
|
| 827 |
-
"bytes":
|
| 828 |
-
"sha256": "
|
| 829 |
},
|
| 830 |
"hf_model": {
|
| 831 |
"path": "hf_model:metrics/website_integrity.json",
|
| 832 |
"exists": true,
|
| 833 |
-
"bytes":
|
| 834 |
-
"sha256": "
|
| 835 |
}
|
| 836 |
},
|
| 837 |
"failures": []
|
|
@@ -1671,6 +1706,31 @@
|
|
| 1671 |
},
|
| 1672 |
"failures": []
|
| 1673 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1674 |
{
|
| 1675 |
"name": "scripts/build_research_takeaways.py",
|
| 1676 |
"status": "pass",
|
|
@@ -1696,6 +1756,31 @@
|
|
| 1696 |
},
|
| 1697 |
"failures": []
|
| 1698 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1699 |
{
|
| 1700 |
"name": "scripts/verify_live_publication.py",
|
| 1701 |
"status": "pass",
|
|
@@ -1727,21 +1812,21 @@
|
|
| 1727 |
"local": {
|
| 1728 |
"path": "repo:scripts/validate_mirror_parity.py",
|
| 1729 |
"exists": true,
|
| 1730 |
-
"bytes":
|
| 1731 |
-
"sha256": "
|
| 1732 |
},
|
| 1733 |
"mirrors": {
|
| 1734 |
"hf_artifacts": {
|
| 1735 |
"path": "hf_artifacts:scripts/validate_mirror_parity.py",
|
| 1736 |
"exists": true,
|
| 1737 |
-
"bytes":
|
| 1738 |
-
"sha256": "
|
| 1739 |
},
|
| 1740 |
"hf_model": {
|
| 1741 |
"path": "hf_model:scripts/validate_mirror_parity.py",
|
| 1742 |
"exists": true,
|
| 1743 |
-
"bytes":
|
| 1744 |
-
"sha256": "
|
| 1745 |
}
|
| 1746 |
},
|
| 1747 |
"failures": []
|
|
@@ -1952,21 +2037,46 @@
|
|
| 1952 |
"local": {
|
| 1953 |
"path": "repo:docs/index.html",
|
| 1954 |
"exists": true,
|
| 1955 |
-
"bytes":
|
| 1956 |
-
"sha256": "
|
| 1957 |
},
|
| 1958 |
"mirrors": {
|
| 1959 |
"hf_space": {
|
| 1960 |
"path": "hf_space:index.html",
|
| 1961 |
"exists": true,
|
| 1962 |
-
"bytes":
|
| 1963 |
-
"sha256": "
|
| 1964 |
},
|
| 1965 |
"hf_artifacts_docs": {
|
| 1966 |
"path": "hf_artifacts:docs/index.html",
|
| 1967 |
"exists": true,
|
| 1968 |
-
"bytes":
|
| 1969 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1970 |
}
|
| 1971 |
},
|
| 1972 |
"failures": []
|
|
@@ -1996,6 +2106,285 @@
|
|
| 1996 |
},
|
| 1997 |
"failures": []
|
| 1998 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1999 |
{
|
| 2000 |
"name": "docs/QUALITY_GATES.md",
|
| 2001 |
"status": "pass",
|
|
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
+
"generated_at_utc": "2026-06-03T04:07:33+00:00",
|
| 4 |
"hf_root": "hf_publish",
|
| 5 |
"summary": {
|
| 6 |
+
"group_count": 88,
|
| 7 |
"failure_count": 0,
|
| 8 |
"failures_by_surface": {}
|
| 9 |
},
|
|
|
|
| 24 |
"name": "repo_hf_website_html_parity",
|
| 25 |
"status": "pass"
|
| 26 |
},
|
| 27 |
+
{
|
| 28 |
+
"name": "repo_hf_diagnostic_result_parity",
|
| 29 |
+
"status": "pass"
|
| 30 |
+
},
|
| 31 |
{
|
| 32 |
"name": "repo_hf_quality_doc_parity",
|
| 33 |
"status": "pass"
|
|
|
|
| 381 |
"local": {
|
| 382 |
"path": "repo:docs/data/publication_audit.json",
|
| 383 |
"exists": true,
|
| 384 |
+
"bytes": 7097,
|
| 385 |
+
"sha256": "9ab8df8c416ccdf385c076caee6ad13b3b227e29d9467ee00c1e749c36e0909b"
|
| 386 |
},
|
| 387 |
"mirrors": {
|
| 388 |
"hf_space": {
|
| 389 |
"path": "hf_space:data/publication_audit.json",
|
| 390 |
"exists": true,
|
| 391 |
+
"bytes": 7097,
|
| 392 |
+
"sha256": "9ab8df8c416ccdf385c076caee6ad13b3b227e29d9467ee00c1e749c36e0909b"
|
| 393 |
},
|
| 394 |
"hf_artifacts": {
|
| 395 |
"path": "hf_artifacts:docs/data/publication_audit.json",
|
| 396 |
"exists": true,
|
| 397 |
+
"bytes": 7097,
|
| 398 |
+
"sha256": "9ab8df8c416ccdf385c076caee6ad13b3b227e29d9467ee00c1e749c36e0909b"
|
| 399 |
},
|
| 400 |
"hf_model": {
|
| 401 |
"path": "hf_model:metrics/publication_audit.json",
|
| 402 |
"exists": true,
|
| 403 |
+
"bytes": 7097,
|
| 404 |
+
"sha256": "9ab8df8c416ccdf385c076caee6ad13b3b227e29d9467ee00c1e749c36e0909b"
|
| 405 |
}
|
| 406 |
},
|
| 407 |
"failures": []
|
|
|
|
| 685 |
},
|
| 686 |
"failures": []
|
| 687 |
},
|
| 688 |
+
{
|
| 689 |
+
"name": "data/single_episode_explorer.json",
|
| 690 |
+
"status": "pass",
|
| 691 |
+
"local": {
|
| 692 |
+
"path": "repo:docs/data/single_episode_explorer.json",
|
| 693 |
+
"exists": true,
|
| 694 |
+
"bytes": 4101241,
|
| 695 |
+
"sha256": "4ea0e34660de421a1a5ab0a4afcc44edec0ad0fc4e739f13d3af7974163f1897"
|
| 696 |
+
},
|
| 697 |
+
"mirrors": {
|
| 698 |
+
"hf_space": {
|
| 699 |
+
"path": "hf_space:data/single_episode_explorer.json",
|
| 700 |
+
"exists": true,
|
| 701 |
+
"bytes": 4101241,
|
| 702 |
+
"sha256": "4ea0e34660de421a1a5ab0a4afcc44edec0ad0fc4e739f13d3af7974163f1897"
|
| 703 |
+
},
|
| 704 |
+
"hf_artifacts": {
|
| 705 |
+
"path": "hf_artifacts:docs/data/single_episode_explorer.json",
|
| 706 |
+
"exists": true,
|
| 707 |
+
"bytes": 4101241,
|
| 708 |
+
"sha256": "4ea0e34660de421a1a5ab0a4afcc44edec0ad0fc4e739f13d3af7974163f1897"
|
| 709 |
+
},
|
| 710 |
+
"hf_model": {
|
| 711 |
+
"path": "hf_model:metrics/single_episode_explorer.json",
|
| 712 |
+
"exists": true,
|
| 713 |
+
"bytes": 4101241,
|
| 714 |
+
"sha256": "4ea0e34660de421a1a5ab0a4afcc44edec0ad0fc4e739f13d3af7974163f1897"
|
| 715 |
+
}
|
| 716 |
+
},
|
| 717 |
+
"failures": []
|
| 718 |
+
},
|
| 719 |
{
|
| 720 |
"name": "data/source_alignment_audit.json",
|
| 721 |
"status": "pass",
|
|
|
|
| 846 |
"local": {
|
| 847 |
"path": "repo:docs/data/website_integrity.json",
|
| 848 |
"exists": true,
|
| 849 |
+
"bytes": 13149,
|
| 850 |
+
"sha256": "d813e2b9dab44f290deed5dfd17af9949b6e064723f138117678e6f54e346df7"
|
| 851 |
},
|
| 852 |
"mirrors": {
|
| 853 |
"hf_space": {
|
| 854 |
"path": "hf_space:data/website_integrity.json",
|
| 855 |
"exists": true,
|
| 856 |
+
"bytes": 13149,
|
| 857 |
+
"sha256": "d813e2b9dab44f290deed5dfd17af9949b6e064723f138117678e6f54e346df7"
|
| 858 |
},
|
| 859 |
"hf_artifacts": {
|
| 860 |
"path": "hf_artifacts:docs/data/website_integrity.json",
|
| 861 |
"exists": true,
|
| 862 |
+
"bytes": 13149,
|
| 863 |
+
"sha256": "d813e2b9dab44f290deed5dfd17af9949b6e064723f138117678e6f54e346df7"
|
| 864 |
},
|
| 865 |
"hf_model": {
|
| 866 |
"path": "hf_model:metrics/website_integrity.json",
|
| 867 |
"exists": true,
|
| 868 |
+
"bytes": 13149,
|
| 869 |
+
"sha256": "d813e2b9dab44f290deed5dfd17af9949b6e064723f138117678e6f54e346df7"
|
| 870 |
}
|
| 871 |
},
|
| 872 |
"failures": []
|
|
|
|
| 1706 |
},
|
| 1707 |
"failures": []
|
| 1708 |
},
|
| 1709 |
+
{
|
| 1710 |
+
"name": "scripts/build_single_episode_explorer.py",
|
| 1711 |
+
"status": "pass",
|
| 1712 |
+
"local": {
|
| 1713 |
+
"path": "repo:scripts/build_single_episode_explorer.py",
|
| 1714 |
+
"exists": true,
|
| 1715 |
+
"bytes": 29394,
|
| 1716 |
+
"sha256": "c837f4f4a0d7baff8d4e3bea36ea0f669c6a3eb073a0504c0a31bab481a38b73"
|
| 1717 |
+
},
|
| 1718 |
+
"mirrors": {
|
| 1719 |
+
"hf_artifacts": {
|
| 1720 |
+
"path": "hf_artifacts:scripts/build_single_episode_explorer.py",
|
| 1721 |
+
"exists": true,
|
| 1722 |
+
"bytes": 29394,
|
| 1723 |
+
"sha256": "c837f4f4a0d7baff8d4e3bea36ea0f669c6a3eb073a0504c0a31bab481a38b73"
|
| 1724 |
+
},
|
| 1725 |
+
"hf_model": {
|
| 1726 |
+
"path": "hf_model:scripts/build_single_episode_explorer.py",
|
| 1727 |
+
"exists": true,
|
| 1728 |
+
"bytes": 29394,
|
| 1729 |
+
"sha256": "c837f4f4a0d7baff8d4e3bea36ea0f669c6a3eb073a0504c0a31bab481a38b73"
|
| 1730 |
+
}
|
| 1731 |
+
},
|
| 1732 |
+
"failures": []
|
| 1733 |
+
},
|
| 1734 |
{
|
| 1735 |
"name": "scripts/build_research_takeaways.py",
|
| 1736 |
"status": "pass",
|
|
|
|
| 1756 |
},
|
| 1757 |
"failures": []
|
| 1758 |
},
|
| 1759 |
+
{
|
| 1760 |
+
"name": "scripts/single_episode_diagnostics.py",
|
| 1761 |
+
"status": "pass",
|
| 1762 |
+
"local": {
|
| 1763 |
+
"path": "repo:scripts/single_episode_diagnostics.py",
|
| 1764 |
+
"exists": true,
|
| 1765 |
+
"bytes": 57667,
|
| 1766 |
+
"sha256": "865ab2cd732e561fdf006516d50b337878592ab06708f231e9a864f82b3c867f"
|
| 1767 |
+
},
|
| 1768 |
+
"mirrors": {
|
| 1769 |
+
"hf_artifacts": {
|
| 1770 |
+
"path": "hf_artifacts:scripts/single_episode_diagnostics.py",
|
| 1771 |
+
"exists": true,
|
| 1772 |
+
"bytes": 57667,
|
| 1773 |
+
"sha256": "865ab2cd732e561fdf006516d50b337878592ab06708f231e9a864f82b3c867f"
|
| 1774 |
+
},
|
| 1775 |
+
"hf_model": {
|
| 1776 |
+
"path": "hf_model:scripts/single_episode_diagnostics.py",
|
| 1777 |
+
"exists": true,
|
| 1778 |
+
"bytes": 57667,
|
| 1779 |
+
"sha256": "865ab2cd732e561fdf006516d50b337878592ab06708f231e9a864f82b3c867f"
|
| 1780 |
+
}
|
| 1781 |
+
},
|
| 1782 |
+
"failures": []
|
| 1783 |
+
},
|
| 1784 |
{
|
| 1785 |
"name": "scripts/verify_live_publication.py",
|
| 1786 |
"status": "pass",
|
|
|
|
| 1812 |
"local": {
|
| 1813 |
"path": "repo:scripts/validate_mirror_parity.py",
|
| 1814 |
"exists": true,
|
| 1815 |
+
"bytes": 11942,
|
| 1816 |
+
"sha256": "730159d3136e1f7fd7db236157d4081096bde0fde5110faeb265eb2724509945"
|
| 1817 |
},
|
| 1818 |
"mirrors": {
|
| 1819 |
"hf_artifacts": {
|
| 1820 |
"path": "hf_artifacts:scripts/validate_mirror_parity.py",
|
| 1821 |
"exists": true,
|
| 1822 |
+
"bytes": 11942,
|
| 1823 |
+
"sha256": "730159d3136e1f7fd7db236157d4081096bde0fde5110faeb265eb2724509945"
|
| 1824 |
},
|
| 1825 |
"hf_model": {
|
| 1826 |
"path": "hf_model:scripts/validate_mirror_parity.py",
|
| 1827 |
"exists": true,
|
| 1828 |
+
"bytes": 11942,
|
| 1829 |
+
"sha256": "730159d3136e1f7fd7db236157d4081096bde0fde5110faeb265eb2724509945"
|
| 1830 |
}
|
| 1831 |
},
|
| 1832 |
"failures": []
|
|
|
|
| 2037 |
"local": {
|
| 2038 |
"path": "repo:docs/index.html",
|
| 2039 |
"exists": true,
|
| 2040 |
+
"bytes": 159797,
|
| 2041 |
+
"sha256": "6071494e626ef88821cce4f6f9ee27b7d56011de345add95e1708c921ccc84e4"
|
| 2042 |
},
|
| 2043 |
"mirrors": {
|
| 2044 |
"hf_space": {
|
| 2045 |
"path": "hf_space:index.html",
|
| 2046 |
"exists": true,
|
| 2047 |
+
"bytes": 159797,
|
| 2048 |
+
"sha256": "6071494e626ef88821cce4f6f9ee27b7d56011de345add95e1708c921ccc84e4"
|
| 2049 |
},
|
| 2050 |
"hf_artifacts_docs": {
|
| 2051 |
"path": "hf_artifacts:docs/index.html",
|
| 2052 |
"exists": true,
|
| 2053 |
+
"bytes": 159797,
|
| 2054 |
+
"sha256": "6071494e626ef88821cce4f6f9ee27b7d56011de345add95e1708c921ccc84e4"
|
| 2055 |
+
}
|
| 2056 |
+
},
|
| 2057 |
+
"failures": []
|
| 2058 |
+
},
|
| 2059 |
+
{
|
| 2060 |
+
"name": "website/single_episode_explorer.html",
|
| 2061 |
+
"status": "pass",
|
| 2062 |
+
"local": {
|
| 2063 |
+
"path": "repo:docs/single_episode_explorer.html",
|
| 2064 |
+
"exists": true,
|
| 2065 |
+
"bytes": 2641502,
|
| 2066 |
+
"sha256": "e97fede9233ce1329ea113dbbd06d0b6b9e5da986d35a9d6a3e20b626d741935"
|
| 2067 |
+
},
|
| 2068 |
+
"mirrors": {
|
| 2069 |
+
"hf_space": {
|
| 2070 |
+
"path": "hf_space:single_episode_explorer.html",
|
| 2071 |
+
"exists": true,
|
| 2072 |
+
"bytes": 2641502,
|
| 2073 |
+
"sha256": "e97fede9233ce1329ea113dbbd06d0b6b9e5da986d35a9d6a3e20b626d741935"
|
| 2074 |
+
},
|
| 2075 |
+
"hf_artifacts_docs": {
|
| 2076 |
+
"path": "hf_artifacts:docs/single_episode_explorer.html",
|
| 2077 |
+
"exists": true,
|
| 2078 |
+
"bytes": 2641502,
|
| 2079 |
+
"sha256": "e97fede9233ce1329ea113dbbd06d0b6b9e5da986d35a9d6a3e20b626d741935"
|
| 2080 |
}
|
| 2081 |
},
|
| 2082 |
"failures": []
|
|
|
|
| 2106 |
},
|
| 2107 |
"failures": []
|
| 2108 |
},
|
| 2109 |
+
{
|
| 2110 |
+
"name": "results/single_episode_diagnostics/provenance.json",
|
| 2111 |
+
"status": "pass",
|
| 2112 |
+
"local": {
|
| 2113 |
+
"path": "repo:results/single_episode_diagnostics/provenance.json",
|
| 2114 |
+
"exists": true,
|
| 2115 |
+
"bytes": 3962,
|
| 2116 |
+
"sha256": "48087224240941fd92444d4fee94a6146c96c35b5acc429a209db3c5cdb8d24b"
|
| 2117 |
+
},
|
| 2118 |
+
"mirrors": {
|
| 2119 |
+
"hf_space": {
|
| 2120 |
+
"path": "hf_space:results/single_episode_diagnostics/provenance.json",
|
| 2121 |
+
"exists": true,
|
| 2122 |
+
"bytes": 3962,
|
| 2123 |
+
"sha256": "48087224240941fd92444d4fee94a6146c96c35b5acc429a209db3c5cdb8d24b"
|
| 2124 |
+
},
|
| 2125 |
+
"hf_artifacts": {
|
| 2126 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/provenance.json",
|
| 2127 |
+
"exists": true,
|
| 2128 |
+
"bytes": 3962,
|
| 2129 |
+
"sha256": "48087224240941fd92444d4fee94a6146c96c35b5acc429a209db3c5cdb8d24b"
|
| 2130 |
+
},
|
| 2131 |
+
"hf_model": {
|
| 2132 |
+
"path": "hf_model:results/single_episode_diagnostics/provenance.json",
|
| 2133 |
+
"exists": true,
|
| 2134 |
+
"bytes": 3962,
|
| 2135 |
+
"sha256": "48087224240941fd92444d4fee94a6146c96c35b5acc429a209db3c5cdb8d24b"
|
| 2136 |
+
}
|
| 2137 |
+
},
|
| 2138 |
+
"failures": []
|
| 2139 |
+
},
|
| 2140 |
+
{
|
| 2141 |
+
"name": "results/single_episode_diagnostics/README.md",
|
| 2142 |
+
"status": "pass",
|
| 2143 |
+
"local": {
|
| 2144 |
+
"path": "repo:results/single_episode_diagnostics/README.md",
|
| 2145 |
+
"exists": true,
|
| 2146 |
+
"bytes": 1058,
|
| 2147 |
+
"sha256": "e64b13f227f270dc545317636f432fb766d6f7ab8695f69234b2c24b6413a42e"
|
| 2148 |
+
},
|
| 2149 |
+
"mirrors": {
|
| 2150 |
+
"hf_space": {
|
| 2151 |
+
"path": "hf_space:results/single_episode_diagnostics/README.md",
|
| 2152 |
+
"exists": true,
|
| 2153 |
+
"bytes": 1058,
|
| 2154 |
+
"sha256": "e64b13f227f270dc545317636f432fb766d6f7ab8695f69234b2c24b6413a42e"
|
| 2155 |
+
},
|
| 2156 |
+
"hf_artifacts": {
|
| 2157 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/README.md",
|
| 2158 |
+
"exists": true,
|
| 2159 |
+
"bytes": 1058,
|
| 2160 |
+
"sha256": "e64b13f227f270dc545317636f432fb766d6f7ab8695f69234b2c24b6413a42e"
|
| 2161 |
+
},
|
| 2162 |
+
"hf_model": {
|
| 2163 |
+
"path": "hf_model:results/single_episode_diagnostics/README.md",
|
| 2164 |
+
"exists": true,
|
| 2165 |
+
"bytes": 1058,
|
| 2166 |
+
"sha256": "e64b13f227f270dc545317636f432fb766d6f7ab8695f69234b2c24b6413a42e"
|
| 2167 |
+
}
|
| 2168 |
+
},
|
| 2169 |
+
"failures": []
|
| 2170 |
+
},
|
| 2171 |
+
{
|
| 2172 |
+
"name": "results/single_episode_diagnostics/modality_ablation/ablation_metrics.csv",
|
| 2173 |
+
"status": "pass",
|
| 2174 |
+
"local": {
|
| 2175 |
+
"path": "repo:results/single_episode_diagnostics/modality_ablation/ablation_metrics.csv",
|
| 2176 |
+
"exists": true,
|
| 2177 |
+
"bytes": 24871,
|
| 2178 |
+
"sha256": "8e43bfa9b90544d7b09e207de26d1b852dd115b3e7c957eaa4b45e520dc050b8"
|
| 2179 |
+
},
|
| 2180 |
+
"mirrors": {
|
| 2181 |
+
"hf_space": {
|
| 2182 |
+
"path": "hf_space:results/single_episode_diagnostics/modality_ablation/ablation_metrics.csv",
|
| 2183 |
+
"exists": true,
|
| 2184 |
+
"bytes": 24871,
|
| 2185 |
+
"sha256": "8e43bfa9b90544d7b09e207de26d1b852dd115b3e7c957eaa4b45e520dc050b8"
|
| 2186 |
+
},
|
| 2187 |
+
"hf_artifacts": {
|
| 2188 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/modality_ablation/ablation_metrics.csv",
|
| 2189 |
+
"exists": true,
|
| 2190 |
+
"bytes": 24871,
|
| 2191 |
+
"sha256": "8e43bfa9b90544d7b09e207de26d1b852dd115b3e7c957eaa4b45e520dc050b8"
|
| 2192 |
+
},
|
| 2193 |
+
"hf_model": {
|
| 2194 |
+
"path": "hf_model:results/single_episode_diagnostics/modality_ablation/ablation_metrics.csv",
|
| 2195 |
+
"exists": true,
|
| 2196 |
+
"bytes": 24871,
|
| 2197 |
+
"sha256": "8e43bfa9b90544d7b09e207de26d1b852dd115b3e7c957eaa4b45e520dc050b8"
|
| 2198 |
+
}
|
| 2199 |
+
},
|
| 2200 |
+
"failures": []
|
| 2201 |
+
},
|
| 2202 |
+
{
|
| 2203 |
+
"name": "results/single_episode_diagnostics/modality_ablation/ablation_summary.json",
|
| 2204 |
+
"status": "pass",
|
| 2205 |
+
"local": {
|
| 2206 |
+
"path": "repo:results/single_episode_diagnostics/modality_ablation/ablation_summary.json",
|
| 2207 |
+
"exists": true,
|
| 2208 |
+
"bytes": 735,
|
| 2209 |
+
"sha256": "2761e1777963473ffa5110ab25e863a6b8ee19ce2004d94ffa938cfa5e0d93fc"
|
| 2210 |
+
},
|
| 2211 |
+
"mirrors": {
|
| 2212 |
+
"hf_space": {
|
| 2213 |
+
"path": "hf_space:results/single_episode_diagnostics/modality_ablation/ablation_summary.json",
|
| 2214 |
+
"exists": true,
|
| 2215 |
+
"bytes": 735,
|
| 2216 |
+
"sha256": "2761e1777963473ffa5110ab25e863a6b8ee19ce2004d94ffa938cfa5e0d93fc"
|
| 2217 |
+
},
|
| 2218 |
+
"hf_artifacts": {
|
| 2219 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/modality_ablation/ablation_summary.json",
|
| 2220 |
+
"exists": true,
|
| 2221 |
+
"bytes": 735,
|
| 2222 |
+
"sha256": "2761e1777963473ffa5110ab25e863a6b8ee19ce2004d94ffa938cfa5e0d93fc"
|
| 2223 |
+
},
|
| 2224 |
+
"hf_model": {
|
| 2225 |
+
"path": "hf_model:results/single_episode_diagnostics/modality_ablation/ablation_summary.json",
|
| 2226 |
+
"exists": true,
|
| 2227 |
+
"bytes": 735,
|
| 2228 |
+
"sha256": "2761e1777963473ffa5110ab25e863a6b8ee19ce2004d94ffa938cfa5e0d93fc"
|
| 2229 |
+
}
|
| 2230 |
+
},
|
| 2231 |
+
"failures": []
|
| 2232 |
+
},
|
| 2233 |
+
{
|
| 2234 |
+
"name": "results/single_episode_diagnostics/object_labels/object_vocab.json",
|
| 2235 |
+
"status": "pass",
|
| 2236 |
+
"local": {
|
| 2237 |
+
"path": "repo:results/single_episode_diagnostics/object_labels/object_vocab.json",
|
| 2238 |
+
"exists": true,
|
| 2239 |
+
"bytes": 995,
|
| 2240 |
+
"sha256": "813320bbe5d57c74803f5dfb080d440ef1804af41950e031d82ab80311eb04c7"
|
| 2241 |
+
},
|
| 2242 |
+
"mirrors": {
|
| 2243 |
+
"hf_space": {
|
| 2244 |
+
"path": "hf_space:results/single_episode_diagnostics/object_labels/object_vocab.json",
|
| 2245 |
+
"exists": true,
|
| 2246 |
+
"bytes": 995,
|
| 2247 |
+
"sha256": "813320bbe5d57c74803f5dfb080d440ef1804af41950e031d82ab80311eb04c7"
|
| 2248 |
+
},
|
| 2249 |
+
"hf_artifacts": {
|
| 2250 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/object_labels/object_vocab.json",
|
| 2251 |
+
"exists": true,
|
| 2252 |
+
"bytes": 995,
|
| 2253 |
+
"sha256": "813320bbe5d57c74803f5dfb080d440ef1804af41950e031d82ab80311eb04c7"
|
| 2254 |
+
},
|
| 2255 |
+
"hf_model": {
|
| 2256 |
+
"path": "hf_model:results/single_episode_diagnostics/object_labels/object_vocab.json",
|
| 2257 |
+
"exists": true,
|
| 2258 |
+
"bytes": 995,
|
| 2259 |
+
"sha256": "813320bbe5d57c74803f5dfb080d440ef1804af41950e031d82ab80311eb04c7"
|
| 2260 |
+
}
|
| 2261 |
+
},
|
| 2262 |
+
"failures": []
|
| 2263 |
+
},
|
| 2264 |
+
{
|
| 2265 |
+
"name": "results/single_episode_diagnostics/object_labels/window_object_labels.csv",
|
| 2266 |
+
"status": "pass",
|
| 2267 |
+
"local": {
|
| 2268 |
+
"path": "repo:results/single_episode_diagnostics/object_labels/window_object_labels.csv",
|
| 2269 |
+
"exists": true,
|
| 2270 |
+
"bytes": 78160,
|
| 2271 |
+
"sha256": "a28e43bf88f5c4c0a193b7c0c574526822e5ca0757d78b168c8450730d804510"
|
| 2272 |
+
},
|
| 2273 |
+
"mirrors": {
|
| 2274 |
+
"hf_space": {
|
| 2275 |
+
"path": "hf_space:results/single_episode_diagnostics/object_labels/window_object_labels.csv",
|
| 2276 |
+
"exists": true,
|
| 2277 |
+
"bytes": 78160,
|
| 2278 |
+
"sha256": "a28e43bf88f5c4c0a193b7c0c574526822e5ca0757d78b168c8450730d804510"
|
| 2279 |
+
},
|
| 2280 |
+
"hf_artifacts": {
|
| 2281 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/object_labels/window_object_labels.csv",
|
| 2282 |
+
"exists": true,
|
| 2283 |
+
"bytes": 78160,
|
| 2284 |
+
"sha256": "a28e43bf88f5c4c0a193b7c0c574526822e5ca0757d78b168c8450730d804510"
|
| 2285 |
+
},
|
| 2286 |
+
"hf_model": {
|
| 2287 |
+
"path": "hf_model:results/single_episode_diagnostics/object_labels/window_object_labels.csv",
|
| 2288 |
+
"exists": true,
|
| 2289 |
+
"bytes": 78160,
|
| 2290 |
+
"sha256": "a28e43bf88f5c4c0a193b7c0c574526822e5ca0757d78b168c8450730d804510"
|
| 2291 |
+
}
|
| 2292 |
+
},
|
| 2293 |
+
"failures": []
|
| 2294 |
+
},
|
| 2295 |
+
{
|
| 2296 |
+
"name": "results/single_episode_diagnostics/timeline_overlay/timeline_overlay.csv",
|
| 2297 |
+
"status": "pass",
|
| 2298 |
+
"local": {
|
| 2299 |
+
"path": "repo:results/single_episode_diagnostics/timeline_overlay/timeline_overlay.csv",
|
| 2300 |
+
"exists": true,
|
| 2301 |
+
"bytes": 293713,
|
| 2302 |
+
"sha256": "eebd53caf853aac5da51adea285e6623dd00860d23d3bc5703169ed6c53d0405"
|
| 2303 |
+
},
|
| 2304 |
+
"mirrors": {
|
| 2305 |
+
"hf_space": {
|
| 2306 |
+
"path": "hf_space:results/single_episode_diagnostics/timeline_overlay/timeline_overlay.csv",
|
| 2307 |
+
"exists": true,
|
| 2308 |
+
"bytes": 293713,
|
| 2309 |
+
"sha256": "eebd53caf853aac5da51adea285e6623dd00860d23d3bc5703169ed6c53d0405"
|
| 2310 |
+
},
|
| 2311 |
+
"hf_artifacts": {
|
| 2312 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/timeline_overlay/timeline_overlay.csv",
|
| 2313 |
+
"exists": true,
|
| 2314 |
+
"bytes": 293713,
|
| 2315 |
+
"sha256": "eebd53caf853aac5da51adea285e6623dd00860d23d3bc5703169ed6c53d0405"
|
| 2316 |
+
},
|
| 2317 |
+
"hf_model": {
|
| 2318 |
+
"path": "hf_model:results/single_episode_diagnostics/timeline_overlay/timeline_overlay.csv",
|
| 2319 |
+
"exists": true,
|
| 2320 |
+
"bytes": 293713,
|
| 2321 |
+
"sha256": "eebd53caf853aac5da51adea285e6623dd00860d23d3bc5703169ed6c53d0405"
|
| 2322 |
+
}
|
| 2323 |
+
},
|
| 2324 |
+
"failures": []
|
| 2325 |
+
},
|
| 2326 |
+
{
|
| 2327 |
+
"name": "results/single_episode_diagnostics/alignment_stress/alignment_shift_metrics.csv",
|
| 2328 |
+
"status": "pass",
|
| 2329 |
+
"local": {
|
| 2330 |
+
"path": "repo:results/single_episode_diagnostics/alignment_stress/alignment_shift_metrics.csv",
|
| 2331 |
+
"exists": true,
|
| 2332 |
+
"bytes": 8203,
|
| 2333 |
+
"sha256": "8b0026b472a0c0fd8c6eb5c9c307b41ac7ed71fe0ae3d52c8b18dfd5721f0ef1"
|
| 2334 |
+
},
|
| 2335 |
+
"mirrors": {
|
| 2336 |
+
"hf_space": {
|
| 2337 |
+
"path": "hf_space:results/single_episode_diagnostics/alignment_stress/alignment_shift_metrics.csv",
|
| 2338 |
+
"exists": true,
|
| 2339 |
+
"bytes": 8203,
|
| 2340 |
+
"sha256": "8b0026b472a0c0fd8c6eb5c9c307b41ac7ed71fe0ae3d52c8b18dfd5721f0ef1"
|
| 2341 |
+
},
|
| 2342 |
+
"hf_artifacts": {
|
| 2343 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/alignment_stress/alignment_shift_metrics.csv",
|
| 2344 |
+
"exists": true,
|
| 2345 |
+
"bytes": 8203,
|
| 2346 |
+
"sha256": "8b0026b472a0c0fd8c6eb5c9c307b41ac7ed71fe0ae3d52c8b18dfd5721f0ef1"
|
| 2347 |
+
},
|
| 2348 |
+
"hf_model": {
|
| 2349 |
+
"path": "hf_model:results/single_episode_diagnostics/alignment_stress/alignment_shift_metrics.csv",
|
| 2350 |
+
"exists": true,
|
| 2351 |
+
"bytes": 8203,
|
| 2352 |
+
"sha256": "8b0026b472a0c0fd8c6eb5c9c307b41ac7ed71fe0ae3d52c8b18dfd5721f0ef1"
|
| 2353 |
+
}
|
| 2354 |
+
},
|
| 2355 |
+
"failures": []
|
| 2356 |
+
},
|
| 2357 |
+
{
|
| 2358 |
+
"name": "results/single_episode_diagnostics/alignment_stress/alignment_stress_summary.json",
|
| 2359 |
+
"status": "pass",
|
| 2360 |
+
"local": {
|
| 2361 |
+
"path": "repo:results/single_episode_diagnostics/alignment_stress/alignment_stress_summary.json",
|
| 2362 |
+
"exists": true,
|
| 2363 |
+
"bytes": 332,
|
| 2364 |
+
"sha256": "2a467dae8e2f1606d77eccc8d1cbeb11507d462f95291d52b49d1057b7db9f14"
|
| 2365 |
+
},
|
| 2366 |
+
"mirrors": {
|
| 2367 |
+
"hf_space": {
|
| 2368 |
+
"path": "hf_space:results/single_episode_diagnostics/alignment_stress/alignment_stress_summary.json",
|
| 2369 |
+
"exists": true,
|
| 2370 |
+
"bytes": 332,
|
| 2371 |
+
"sha256": "2a467dae8e2f1606d77eccc8d1cbeb11507d462f95291d52b49d1057b7db9f14"
|
| 2372 |
+
},
|
| 2373 |
+
"hf_artifacts": {
|
| 2374 |
+
"path": "hf_artifacts:results/single_episode_diagnostics/alignment_stress/alignment_stress_summary.json",
|
| 2375 |
+
"exists": true,
|
| 2376 |
+
"bytes": 332,
|
| 2377 |
+
"sha256": "2a467dae8e2f1606d77eccc8d1cbeb11507d462f95291d52b49d1057b7db9f14"
|
| 2378 |
+
},
|
| 2379 |
+
"hf_model": {
|
| 2380 |
+
"path": "hf_model:results/single_episode_diagnostics/alignment_stress/alignment_stress_summary.json",
|
| 2381 |
+
"exists": true,
|
| 2382 |
+
"bytes": 332,
|
| 2383 |
+
"sha256": "2a467dae8e2f1606d77eccc8d1cbeb11507d462f95291d52b49d1057b7db9f14"
|
| 2384 |
+
}
|
| 2385 |
+
},
|
| 2386 |
+
"failures": []
|
| 2387 |
+
},
|
| 2388 |
{
|
| 2389 |
"name": "docs/QUALITY_GATES.md",
|
| 2390 |
"status": "pass",
|
metrics/publication_audit.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
-
"generated_at_utc": "2026-06-
|
| 4 |
"checks": [
|
| 5 |
{
|
| 6 |
"name": "required_publication_assets_present",
|
|
@@ -179,8 +179,8 @@
|
|
| 179 |
"github_repo": {
|
| 180 |
"root": "repo",
|
| 181 |
"exists": true,
|
| 182 |
-
"file_count":
|
| 183 |
-
"text_file_count":
|
| 184 |
"largest_file": {
|
| 185 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 186 |
"bytes": 52601010
|
|
@@ -190,19 +190,19 @@
|
|
| 190 |
"hf_space_bundle": {
|
| 191 |
"root": "hf_publish/space",
|
| 192 |
"exists": true,
|
| 193 |
-
"file_count":
|
| 194 |
-
"text_file_count":
|
| 195 |
"largest_file": {
|
| 196 |
-
"path": "
|
| 197 |
-
"bytes":
|
| 198 |
},
|
| 199 |
"violations": []
|
| 200 |
},
|
| 201 |
"hf_artifact_bundle": {
|
| 202 |
"root": "hf_publish/artifacts",
|
| 203 |
"exists": true,
|
| 204 |
-
"file_count":
|
| 205 |
-
"text_file_count":
|
| 206 |
"largest_file": {
|
| 207 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 208 |
"bytes": 52601010
|
|
@@ -212,8 +212,8 @@
|
|
| 212 |
"hf_model_bundle": {
|
| 213 |
"root": "hf_publish/model",
|
| 214 |
"exists": true,
|
| 215 |
-
"file_count":
|
| 216 |
-
"text_file_count":
|
| 217 |
"largest_file": {
|
| 218 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 219 |
"bytes": 52601010
|
|
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
+
"generated_at_utc": "2026-06-03T04:07:12+00:00",
|
| 4 |
"checks": [
|
| 5 |
{
|
| 6 |
"name": "required_publication_assets_present",
|
|
|
|
| 179 |
"github_repo": {
|
| 180 |
"root": "repo",
|
| 181 |
"exists": true,
|
| 182 |
+
"file_count": 352,
|
| 183 |
+
"text_file_count": 288,
|
| 184 |
"largest_file": {
|
| 185 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 186 |
"bytes": 52601010
|
|
|
|
| 190 |
"hf_space_bundle": {
|
| 191 |
"root": "hf_publish/space",
|
| 192 |
"exists": true,
|
| 193 |
+
"file_count": 135,
|
| 194 |
+
"text_file_count": 108,
|
| 195 |
"largest_file": {
|
| 196 |
+
"path": "data/single_episode_explorer.json",
|
| 197 |
+
"bytes": 4101241
|
| 198 |
},
|
| 199 |
"violations": []
|
| 200 |
},
|
| 201 |
"hf_artifact_bundle": {
|
| 202 |
"root": "hf_publish/artifacts",
|
| 203 |
"exists": true,
|
| 204 |
+
"file_count": 381,
|
| 205 |
+
"text_file_count": 297,
|
| 206 |
"largest_file": {
|
| 207 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 208 |
"bytes": 52601010
|
|
|
|
| 212 |
"hf_model_bundle": {
|
| 213 |
"root": "hf_publish/model",
|
| 214 |
"exists": true,
|
| 215 |
+
"file_count": 561,
|
| 216 |
+
"text_file_count": 445,
|
| 217 |
"largest_file": {
|
| 218 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 219 |
"bytes": 52601010
|
metrics/single_episode_explorer.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
metrics/website_integrity.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
-
"generated_at_utc": "2026-06-
|
| 4 |
"docs_root": "docs",
|
| 5 |
"site_base": "/ropedia-xperience-10m-task-suite/",
|
| 6 |
"summary": {
|
| 7 |
-
"html_pages":
|
| 8 |
-
"local_references":
|
| 9 |
-
"external_reference_count":
|
| 10 |
-
"json_files":
|
| 11 |
-
"image_assets_referenced":
|
| 12 |
"failure_count": 0
|
| 13 |
},
|
| 14 |
"failures": {
|
|
@@ -74,8 +74,8 @@
|
|
| 74 |
"name": "project_overview_precedes_progress_ledger",
|
| 75 |
"status": "pass",
|
| 76 |
"reason": "The project overview should appear before the deeper progress ledger.",
|
| 77 |
-
"overview_index":
|
| 78 |
-
"evidence_index":
|
| 79 |
},
|
| 80 |
{
|
| 81 |
"name": "project_status_links_json",
|
|
@@ -122,9 +122,9 @@
|
|
| 122 |
"name": "evaluation_protocol_between_overview_and_progress",
|
| 123 |
"status": "pass",
|
| 124 |
"reason": "The evaluation protocol should appear before the deeper evidence ledger.",
|
| 125 |
-
"overview_index":
|
| 126 |
-
"protocol_index":
|
| 127 |
-
"evidence_index":
|
| 128 |
},
|
| 129 |
{
|
| 130 |
"name": "evaluation_protocol_links_json",
|
|
@@ -198,14 +198,20 @@
|
|
| 198 |
{
|
| 199 |
"path": "index.html",
|
| 200 |
"id_count": 75,
|
| 201 |
-
"reference_count":
|
| 202 |
"image_count": 22
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 203 |
}
|
| 204 |
],
|
| 205 |
"json_files": [
|
| 206 |
{
|
| 207 |
"path": "data/artifact_index.json",
|
| 208 |
-
"bytes":
|
| 209 |
"top_level_type": "dict"
|
| 210 |
},
|
| 211 |
{
|
|
@@ -235,7 +241,7 @@
|
|
| 235 |
},
|
| 236 |
{
|
| 237 |
"path": "data/mirror_parity.json",
|
| 238 |
-
"bytes":
|
| 239 |
"top_level_type": "dict"
|
| 240 |
},
|
| 241 |
{
|
|
@@ -270,12 +276,12 @@
|
|
| 270 |
},
|
| 271 |
{
|
| 272 |
"path": "data/publication_audit.json",
|
| 273 |
-
"bytes":
|
| 274 |
"top_level_type": "dict"
|
| 275 |
},
|
| 276 |
{
|
| 277 |
"path": "data/quality_gates.json",
|
| 278 |
-
"bytes":
|
| 279 |
"top_level_type": "dict"
|
| 280 |
},
|
| 281 |
{
|
|
@@ -313,6 +319,11 @@
|
|
| 313 |
"bytes": 20066,
|
| 314 |
"top_level_type": "dict"
|
| 315 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 316 |
{
|
| 317 |
"path": "data/source_alignment_audit.json",
|
| 318 |
"bytes": 4432,
|
|
@@ -335,7 +346,7 @@
|
|
| 335 |
},
|
| 336 |
{
|
| 337 |
"path": "data/website_integrity.json",
|
| 338 |
-
"bytes":
|
| 339 |
"top_level_type": "dict"
|
| 340 |
},
|
| 341 |
{
|
|
@@ -353,6 +364,14 @@
|
|
| 353 |
"height": 64,
|
| 354 |
"format": "PNG"
|
| 355 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 356 |
{
|
| 357 |
"path": "assets/charts/cross_modal_retrieval.svg",
|
| 358 |
"exists": true,
|
|
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
+
"generated_at_utc": "2026-06-03T04:04:17+00:00",
|
| 4 |
"docs_root": "docs",
|
| 5 |
"site_base": "/ropedia-xperience-10m-task-suite/",
|
| 6 |
"summary": {
|
| 7 |
+
"html_pages": 3,
|
| 8 |
+
"local_references": 109,
|
| 9 |
+
"external_reference_count": 83,
|
| 10 |
+
"json_files": 29,
|
| 11 |
+
"image_assets_referenced": 20,
|
| 12 |
"failure_count": 0
|
| 13 |
},
|
| 14 |
"failures": {
|
|
|
|
| 74 |
"name": "project_overview_precedes_progress_ledger",
|
| 75 |
"status": "pass",
|
| 76 |
"reason": "The project overview should appear before the deeper progress ledger.",
|
| 77 |
+
"overview_index": 60611,
|
| 78 |
+
"evidence_index": 74036
|
| 79 |
},
|
| 80 |
{
|
| 81 |
"name": "project_status_links_json",
|
|
|
|
| 122 |
"name": "evaluation_protocol_between_overview_and_progress",
|
| 123 |
"status": "pass",
|
| 124 |
"reason": "The evaluation protocol should appear before the deeper evidence ledger.",
|
| 125 |
+
"overview_index": 60611,
|
| 126 |
+
"protocol_index": 71439,
|
| 127 |
+
"evidence_index": 74036
|
| 128 |
},
|
| 129 |
{
|
| 130 |
"name": "evaluation_protocol_links_json",
|
|
|
|
| 198 |
{
|
| 199 |
"path": "index.html",
|
| 200 |
"id_count": 75,
|
| 201 |
+
"reference_count": 102,
|
| 202 |
"image_count": 22
|
| 203 |
+
},
|
| 204 |
+
{
|
| 205 |
+
"path": "single_episode_explorer.html",
|
| 206 |
+
"id_count": 26,
|
| 207 |
+
"reference_count": 6,
|
| 208 |
+
"image_count": 1
|
| 209 |
}
|
| 210 |
],
|
| 211 |
"json_files": [
|
| 212 |
{
|
| 213 |
"path": "data/artifact_index.json",
|
| 214 |
+
"bytes": 29016,
|
| 215 |
"top_level_type": "dict"
|
| 216 |
},
|
| 217 |
{
|
|
|
|
| 241 |
},
|
| 242 |
{
|
| 243 |
"path": "data/mirror_parity.json",
|
| 244 |
+
"bytes": 81842,
|
| 245 |
"top_level_type": "dict"
|
| 246 |
},
|
| 247 |
{
|
|
|
|
| 276 |
},
|
| 277 |
{
|
| 278 |
"path": "data/publication_audit.json",
|
| 279 |
+
"bytes": 10473,
|
| 280 |
"top_level_type": "dict"
|
| 281 |
},
|
| 282 |
{
|
| 283 |
"path": "data/quality_gates.json",
|
| 284 |
+
"bytes": 8147,
|
| 285 |
"top_level_type": "dict"
|
| 286 |
},
|
| 287 |
{
|
|
|
|
| 319 |
"bytes": 20066,
|
| 320 |
"top_level_type": "dict"
|
| 321 |
},
|
| 322 |
+
{
|
| 323 |
+
"path": "data/single_episode_explorer.json",
|
| 324 |
+
"bytes": 4101241,
|
| 325 |
+
"top_level_type": "dict"
|
| 326 |
+
},
|
| 327 |
{
|
| 328 |
"path": "data/source_alignment_audit.json",
|
| 329 |
"bytes": 4432,
|
|
|
|
| 346 |
},
|
| 347 |
{
|
| 348 |
"path": "data/website_integrity.json",
|
| 349 |
+
"bytes": 13148,
|
| 350 |
"top_level_type": "dict"
|
| 351 |
},
|
| 352 |
{
|
|
|
|
| 364 |
"height": 64,
|
| 365 |
"format": "PNG"
|
| 366 |
},
|
| 367 |
+
{
|
| 368 |
+
"path": "assets/brand/xperience10m-logo-mark-192.png",
|
| 369 |
+
"exists": true,
|
| 370 |
+
"bytes": 41318,
|
| 371 |
+
"width": 192,
|
| 372 |
+
"height": 192,
|
| 373 |
+
"format": "PNG"
|
| 374 |
+
},
|
| 375 |
{
|
| 376 |
"path": "assets/charts/cross_modal_retrieval.svg",
|
| 377 |
"exists": true,
|
results/single_episode_diagnostics/README.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Single-Episode Diagnostics Index
|
| 2 |
+
|
| 3 |
+
These outputs are local diagnostics built from the existing one-episode Xperience-10M artifacts. They are designed for manual verification while waiting for full multi-episode data access.
|
| 4 |
+
|
| 5 |
+
## Generated Analyses
|
| 6 |
+
|
| 7 |
+
- `modality_ablation/`: compact ridge-head ablations across real feature blocks.
|
| 8 |
+
- `timeline_overlay/`: existing prediction CSVs aligned to the episode timeline.
|
| 9 |
+
- `alignment_stress/`: cross-modal retrieval under explicit time-shift perturbations.
|
| 10 |
+
- `provenance.json`: input hashes, feature dimensions, and source artifact identifiers.
|
| 11 |
+
|
| 12 |
+
## Validity Boundaries
|
| 13 |
+
|
| 14 |
+
- This is a single-episode diagnostic, not a full Xperience-10M benchmark.
|
| 15 |
+
- Rows marked `not_computed` are intentionally left blank when train labels or valid splits are unavailable.
|
| 16 |
+
- Rows marked `derived_perturbation` use real features with deliberate time shifts for stress testing.
|
| 17 |
+
|
| 18 |
+
## Counts
|
| 19 |
+
|
| 20 |
+
- Ablation rows: 96; computed: 96.
|
| 21 |
+
- Timeline overlay rows: 2079.
|
| 22 |
+
- Alignment stress rows: 45.
|
| 23 |
+
- Shared feature shape: 1161 windows x 8378 features.
|
results/single_episode_diagnostics/alignment_stress/ALIGNMENT_STRESS_REPORT.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Cross-Modal Alignment Stress Report
|
| 2 |
+
|
| 3 |
+
This diagnostic uses real held-out feature windows, then deliberately shifts the query modality in time at evaluation. The perturbation is derived; it is not treated as observed data.
|
| 4 |
+
|
| 5 |
+
## Zero-Shift Versus Worst Shift
|
| 6 |
+
|
| 7 |
+
- Inertial: zero-shift MRR=0.2840; worst shift=-20 windows, MRR=0.0199
|
| 8 |
+
- Language: zero-shift MRR=0.0310; worst shift=-40 windows, MRR=0.0158
|
| 9 |
+
- Motion Capture: zero-shift MRR=0.2553; worst shift=-10 windows, MRR=0.0183
|
| 10 |
+
- Motion + Pose + IMU: zero-shift MRR=0.3897; worst shift=-20 windows, MRR=0.0238
|
| 11 |
+
- Pose + SLAM: zero-shift MRR=0.4262; worst shift=-20 windows, MRR=0.0206
|
| 12 |
+
|
| 13 |
+
## Files
|
| 14 |
+
|
| 15 |
+
- `alignment_shift_metrics.csv`: MRR/rank metrics for each query group and time shift.
|
| 16 |
+
- `alignment_shift_curves.svg`: MRR curves across time shifts.
|
| 17 |
+
- `alignment_stress_summary.json`: perturbation definition and status.
|
results/single_episode_diagnostics/alignment_stress/alignment_shift_curves.svg
ADDED
|
|
results/single_episode_diagnostics/alignment_stress/alignment_shift_metrics.csv
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
query_group,query_display,target_group,shift_windows,shift_frames,status,mrr,top1_accuracy,top5_accuracy,top10_accuracy,median_rank,mean_rank,num_queries
|
| 2 |
+
motion_capture,Motion Capture,depth_plus_video,-40,-200,derived_perturbation,0.02984776347875595,0.006493506493506494,0.032467532467532464,0.048701298701298704,119.0,125.72402954101562,308
|
| 3 |
+
motion_capture,Motion Capture,depth_plus_video,-20,-100,derived_perturbation,0.019169922918081284,0.003048780487804878,0.003048780487804878,0.018292682926829267,153.0,154.24085998535156,328
|
| 4 |
+
motion_capture,Motion Capture,depth_plus_video,-10,-50,derived_perturbation,0.01829293556511402,0.0,0.0029585798816568047,0.023668639053254437,106.0,130.5325469970703,338
|
| 5 |
+
motion_capture,Motion Capture,depth_plus_video,-5,-25,derived_perturbation,0.028951412066817284,0.0,0.014577259475218658,0.05830903790087463,67.0,89.93585968017578,343
|
| 6 |
+
motion_capture,Motion Capture,depth_plus_video,0,0,derived_perturbation,0.2553335726261139,0.15804597701149425,0.35344827586206895,0.3994252873563218,21.5,49.181034088134766,348
|
| 7 |
+
motion_capture,Motion Capture,depth_plus_video,5,25,derived_perturbation,0.04436318948864937,0.008746355685131196,0.037900874635568516,0.08746355685131195,64.0,83.76384735107422,343
|
| 8 |
+
motion_capture,Motion Capture,depth_plus_video,10,50,derived_perturbation,0.026273079216480255,0.0,0.014792899408284023,0.047337278106508875,77.0,106.73668670654297,338
|
| 9 |
+
motion_capture,Motion Capture,depth_plus_video,20,100,derived_perturbation,0.023496314883232117,0.003048780487804878,0.018292682926829267,0.04573170731707317,108.5,137.9176788330078,328
|
| 10 |
+
motion_capture,Motion Capture,depth_plus_video,40,200,derived_perturbation,0.02917252667248249,0.006493506493506494,0.025974025974025976,0.05519480519480519,110.5,121.33441925048828,308
|
| 11 |
+
pose_slam,Pose + SLAM,depth_plus_video,-40,-200,derived_perturbation,0.03615332394838333,0.003246753246753247,0.03571428571428571,0.07467532467532467,98.0,114.43506622314453,308
|
| 12 |
+
pose_slam,Pose + SLAM,depth_plus_video,-20,-100,derived_perturbation,0.02059117704629898,0.003048780487804878,0.012195121951219513,0.024390243902439025,109.5,137.0731658935547,328
|
| 13 |
+
pose_slam,Pose + SLAM,depth_plus_video,-10,-50,derived_perturbation,0.04128313437104225,0.005917159763313609,0.038461538461538464,0.07692307692307693,72.0,103.94674682617188,338
|
| 14 |
+
pose_slam,Pose + SLAM,depth_plus_video,-5,-25,derived_perturbation,0.05835483595728874,0.011661807580174927,0.061224489795918366,0.119533527696793,43.0,58.218658447265625,343
|
| 15 |
+
pose_slam,Pose + SLAM,depth_plus_video,0,0,derived_perturbation,0.42622581124305725,0.3017241379310345,0.5488505747126436,0.6551724137931034,4.0,15.623562812805176,348
|
| 16 |
+
pose_slam,Pose + SLAM,depth_plus_video,5,25,derived_perturbation,0.04654298722743988,0.0058309037900874635,0.04956268221574344,0.11661807580174927,55.0,66.43148803710938,343
|
| 17 |
+
pose_slam,Pose + SLAM,depth_plus_video,10,50,derived_perturbation,0.034309279173612595,0.005917159763313609,0.023668639053254437,0.05621301775147929,71.0,100.44082641601562,338
|
| 18 |
+
pose_slam,Pose + SLAM,depth_plus_video,20,100,derived_perturbation,0.03287472575902939,0.006097560975609756,0.03048780487804878,0.06097560975609756,97.5,127.41158294677734,328
|
| 19 |
+
pose_slam,Pose + SLAM,depth_plus_video,40,200,derived_perturbation,0.024975253269076347,0.003246753246753247,0.016233766233766232,0.03571428571428571,88.5,116.36363983154297,308
|
| 20 |
+
inertial,Inertial,depth_plus_video,-40,-200,derived_perturbation,0.042965441942214966,0.00974025974025974,0.045454545454545456,0.09090909090909091,90.0,116.86363983154297,308
|
| 21 |
+
inertial,Inertial,depth_plus_video,-20,-100,derived_perturbation,0.019861916080117226,0.003048780487804878,0.009146341463414634,0.01524390243902439,112.0,135.9573211669922,328
|
| 22 |
+
inertial,Inertial,depth_plus_video,-10,-50,derived_perturbation,0.04950016736984253,0.011834319526627219,0.05325443786982249,0.10946745562130178,74.0,102.37574005126953,338
|
| 23 |
+
inertial,Inertial,depth_plus_video,-5,-25,derived_perturbation,0.05499911680817604,0.0029154518950437317,0.05830903790087463,0.13994169096209913,39.0,63.70845413208008,343
|
| 24 |
+
inertial,Inertial,depth_plus_video,0,0,derived_perturbation,0.2840072810649872,0.16379310344827586,0.3735632183908046,0.5229885057471264,10.0,20.577587127685547,348
|
| 25 |
+
inertial,Inertial,depth_plus_video,5,25,derived_perturbation,0.054161082953214645,0.014577259475218658,0.04956268221574344,0.10495626822157435,53.0,68.86006164550781,343
|
| 26 |
+
inertial,Inertial,depth_plus_video,10,50,derived_perturbation,0.03178250044584274,0.005917159763313609,0.008875739644970414,0.05917159763313609,76.0,103.02071380615234,338
|
| 27 |
+
inertial,Inertial,depth_plus_video,20,100,derived_perturbation,0.03213934600353241,0.009146341463414634,0.021341463414634148,0.042682926829268296,93.5,125.67987823486328,328
|
| 28 |
+
inertial,Inertial,depth_plus_video,40,200,derived_perturbation,0.031400587409734726,0.003246753246753247,0.03896103896103896,0.05194805194805195,91.0,115.68830871582031,308
|
| 29 |
+
language,Language,depth_plus_video,-40,-200,derived_perturbation,0.015811588615179062,0.0,0.003246753246753247,0.016233766233766232,145.5,141.49026489257812,308
|
| 30 |
+
language,Language,depth_plus_video,-20,-100,derived_perturbation,0.027325116097927094,0.006097560975609756,0.024390243902439025,0.06097560975609756,174.0,162.0792694091797,328
|
| 31 |
+
language,Language,depth_plus_video,-10,-50,derived_perturbation,0.02521640993654728,0.0029585798816568047,0.023668639053254437,0.05621301775147929,165.0,162.10354614257812,338
|
| 32 |
+
language,Language,depth_plus_video,-5,-25,derived_perturbation,0.02469729632139206,0.0029154518950437317,0.02040816326530612,0.04956268221574344,165.0,158.99708557128906,343
|
| 33 |
+
language,Language,depth_plus_video,0,0,derived_perturbation,0.031006580218672752,0.005747126436781609,0.031609195402298854,0.05747126436781609,138.0,146.83045959472656,348
|
| 34 |
+
language,Language,depth_plus_video,5,25,derived_perturbation,0.04090346768498421,0.008746355685131196,0.04956268221574344,0.08454810495626822,102.0,135.07289123535156,343
|
| 35 |
+
language,Language,depth_plus_video,10,50,derived_perturbation,0.0362100675702095,0.008875739644970414,0.03254437869822485,0.07692307692307693,101.5,131.18934631347656,338
|
| 36 |
+
language,Language,depth_plus_video,20,100,derived_perturbation,0.03773954510688782,0.009146341463414634,0.036585365853658534,0.08231707317073171,111.0,137.8353729248047,328
|
| 37 |
+
language,Language,depth_plus_video,40,200,derived_perturbation,0.037675727158784866,0.00974025974025974,0.04220779220779221,0.08116883116883117,139.5,144.4837646484375,308
|
| 38 |
+
motion_pose_inertial,Motion + Pose + IMU,depth_plus_video,-40,-200,derived_perturbation,0.05048111826181412,0.016233766233766232,0.05519480519480519,0.1038961038961039,99.5,116.717529296875,308
|
| 39 |
+
motion_pose_inertial,Motion + Pose + IMU,depth_plus_video,-20,-100,derived_perturbation,0.023761091753840446,0.003048780487804878,0.01524390243902439,0.021341463414634148,111.0,140.868896484375,328
|
| 40 |
+
motion_pose_inertial,Motion + Pose + IMU,depth_plus_video,-10,-50,derived_perturbation,0.039904821664094925,0.008875739644970414,0.03550295857988166,0.07988165680473373,81.5,107.72189331054688,338
|
| 41 |
+
motion_pose_inertial,Motion + Pose + IMU,depth_plus_video,-5,-25,derived_perturbation,0.051686227321624756,0.008746355685131196,0.043731778425655975,0.12244897959183673,47.0,63.40524673461914,343
|
| 42 |
+
motion_pose_inertial,Motion + Pose + IMU,depth_plus_video,0,0,derived_perturbation,0.38971078395843506,0.28448275862068967,0.4827586206896552,0.5718390804597702,6.0,25.27011489868164,348
|
| 43 |
+
motion_pose_inertial,Motion + Pose + IMU,depth_plus_video,5,25,derived_perturbation,0.05908266454935074,0.014577259475218658,0.0641399416909621,0.13119533527696792,48.0,64.80757904052734,343
|
| 44 |
+
motion_pose_inertial,Motion + Pose + IMU,depth_plus_video,10,50,derived_perturbation,0.03273069113492966,0.0029585798816568047,0.01775147928994083,0.06804733727810651,63.0,96.31952667236328,338
|
| 45 |
+
motion_pose_inertial,Motion + Pose + IMU,depth_plus_video,20,100,derived_perturbation,0.028844518586993217,0.006097560975609756,0.024390243902439025,0.04573170731707317,81.5,131.6280517578125,328
|
| 46 |
+
motion_pose_inertial,Motion + Pose + IMU,depth_plus_video,40,200,derived_perturbation,0.033500298857688904,0.00974025974025974,0.032467532467532464,0.048701298701298704,99.0,120.70130157470703,308
|
results/single_episode_diagnostics/alignment_stress/alignment_stress_summary.json
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"description": "Real feature windows are deliberately time-shifted at evaluation time to test cross-modal alignment sensitivity.",
|
| 3 |
+
"target_group": "depth_confidence + video_*",
|
| 4 |
+
"status_meaning": "derived_perturbation means the features are real but the time shift is an explicit diagnostic perturbation.",
|
| 5 |
+
"num_rows": 45
|
| 6 |
+
}
|
results/single_episode_diagnostics/modality_ablation/MODALITY_ABLATION_REPORT.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Single-Episode Modality Ablation Report
|
| 2 |
+
|
| 3 |
+
This diagnostic reruns compact ridge heads on the exported one-episode feature matrix. It is useful for checking which real feature blocks can support each task on this episode, not for estimating dataset-wide generalization.
|
| 4 |
+
|
| 5 |
+
No synthetic labels are introduced. Derived proxy targets are marked in `target_variant`, and feature groups that overlap with the target source are marked in `target_source_overlap`.
|
| 6 |
+
|
| 7 |
+
## Best Computed Group Per Task
|
| 8 |
+
|
| 9 |
+
- Current Action Recognition: Language score=0.0278, macro_f1=0.0278, target overlap=false
|
| 10 |
+
- Current Subtask Recognition: Language score=0.0483, macro_f1=0.0483, target overlap=false
|
| 11 |
+
- Action Transition Detection: Language score=0.7052, macro_f1=0.7052, target overlap=false
|
| 12 |
+
- Next-Action Prediction: Language score=0.0419, macro_f1=0.0419, target overlap=false
|
| 13 |
+
- Future Hand Motion Forecasting: Inertial score=0.5679, mae=0.7608, target overlap=false
|
| 14 |
+
- Contact State Prediction: All Features score=1.0000, macro_f1=1.0000, target overlap=false
|
| 15 |
+
- Relevant Object Prediction: Language score=0.2302, micro_f1=0.2302, target overlap=true; best non-overlap: Depth score=0.2013, micro_f1=0.2013
|
| 16 |
+
- Language-to-Time Grounding: Language score=0.2453, mrr=0.2453, target overlap=true; best non-overlap: Motion Capture score=0.0306, mrr=0.0306
|
| 17 |
+
- Cross-Modal Window Retrieval: All Features score=0.9724, mrr=0.9724, target overlap=true; best non-overlap: Pose + SLAM score=0.4262, mrr=0.4262
|
| 18 |
+
- Sensor-to-Visual Reconstruction: Video score=0.6113, mae=0.6358, target overlap=true; best non-overlap: Pose + SLAM score=0.5359, mae=0.8659
|
| 19 |
+
- Temporal Order Verification: Pose + SLAM score=0.5259, macro_f1=0.5259, target overlap=false
|
| 20 |
+
- Cross-Modal Misalignment Detection: Video score=0.4949, macro_f1=0.4949, target overlap=false
|
| 21 |
+
|
| 22 |
+
## Files
|
| 23 |
+
|
| 24 |
+
- `ablation_metrics.csv`: every task/modality pair, including not-computed rows and reasons.
|
| 25 |
+
- `ablation_matrix.svg`: compact heatmap for manual inspection.
|
| 26 |
+
- `ablation_summary.json`: group dimensions and computed/not-computed counts.
|
results/single_episode_diagnostics/modality_ablation/ablation_matrix.svg
ADDED
|
|
results/single_episode_diagnostics/modality_ablation/ablation_metrics.csv
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
task,task_display,modality_group,modality_display,status,score,primary_metric,primary_metric_value,target_variant,target_source_overlap,reason,accuracy,macro_f1,balanced_accuracy,num_classes,num_train,num_test,unseen_test_classes,unseen_test_class_count,mse,mae,r2,micro_f1,exact_match,precision,recall,num_objects,mrr,top1_accuracy,top5_accuracy,top10_accuracy,median_rank,mean_rank,num_queries
|
| 2 |
+
timeline_action,Current Action Recognition,all_features,All Features,computed,0.008771929824561405,macro_f1,0.008771929824561405,,false,,0.020114942528735632,0.008771929824561405,0.005668016194331984,19,813,348,Place item on table|Wait/Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 3 |
+
timeline_action,Current Action Recognition,video,Video,computed,0.0066280033140016575,macro_f1,0.0066280033140016575,,false,,0.011494252873563218,0.0066280033140016575,0.0036199095022624436,19,813,348,Place item on table|Wait/Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 4 |
+
timeline_action,Current Action Recognition,depth,Depth,computed,0.0030075187969924814,macro_f1,0.0030075187969924814,,false,,0.005747126436781609,0.0030075187969924814,0.001619433198380567,19,813,348,Place item on table|Wait/Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 5 |
+
timeline_action,Current Action Recognition,pose_slam,Pose + SLAM,computed,0.0,macro_f1,0.0,,false,,0.0,0.0,0.0,19,813,348,Place item on table|Wait/Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 6 |
+
timeline_action,Current Action Recognition,motion_capture,Motion Capture,computed,0.0055147058823529415,macro_f1,0.0055147058823529415,,false,,0.008620689655172414,0.0055147058823529415,0.0028846153846153848,19,813,348,Place item on table|Wait/Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 7 |
+
timeline_action,Current Action Recognition,inertial,Inertial,computed,0.003055767761650115,macro_f1,0.003055767761650115,,false,,0.005747126436781609,0.003055767761650115,0.0018099547511312218,19,813,348,Place item on table|Wait/Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 8 |
+
timeline_action,Current Action Recognition,language,Language,computed,0.027777777777777776,macro_f1,0.027777777777777776,,false,,0.05747126436781609,0.027777777777777776,0.03615384615384616,19,813,348,Place item on table|Wait/Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 9 |
+
timeline_action,Current Action Recognition,no_language,All Except Language,computed,0.007112375533428165,macro_f1,0.007112375533428165,,false,,0.014367816091954023,0.007112375533428165,0.004048582995951417,19,813,348,Place item on table|Wait/Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 10 |
+
timeline_subtask,Current Subtask Recognition,all_features,All Features,computed,0.0111731843575419,macro_f1,0.0111731843575419,,false,,0.040229885057471264,0.0111731843575419,0.017543859649122806,15,813,348,Move bottle to coffee equipment|Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 11 |
+
timeline_subtask,Current Subtask Recognition,video,Video,computed,0.011740041928721174,macro_f1,0.011740041928721174,,false,,0.040229885057471264,0.011740041928721174,0.01637426900584795,15,813,348,Move bottle to coffee equipment|Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 12 |
+
timeline_subtask,Current Subtask Recognition,depth,Depth,computed,0.009467455621301775,macro_f1,0.009467455621301775,,false,,0.022988505747126436,0.009467455621301775,0.010796221322537112,15,813,348,Move bottle to coffee equipment|Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 13 |
+
timeline_subtask,Current Subtask Recognition,pose_slam,Pose + SLAM,computed,0.002331002331002331,macro_f1,0.002331002331002331,,false,,0.0028735632183908046,0.002331002331002331,0.001349527665317139,15,813,348,Move bottle to coffee equipment|Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 14 |
+
timeline_subtask,Current Subtask Recognition,motion_capture,Motion Capture,computed,0.006756756756756756,macro_f1,0.006756756756756756,,false,,0.008620689655172414,0.006756756756756756,0.0043859649122807015,15,813,348,Move bottle to coffee equipment|Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 15 |
+
timeline_subtask,Current Subtask Recognition,inertial,Inertial,computed,0.004662004662004662,macro_f1,0.004662004662004662,,false,,0.005747126436781609,0.004662004662004662,0.002699055330634278,15,813,348,Move bottle to coffee equipment|Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 16 |
+
timeline_subtask,Current Subtask Recognition,language,Language,computed,0.04828150572831424,macro_f1,0.04828150572831424,,false,,0.14655172413793102,0.04828150572831424,0.0939327485380117,15,813,348,Move bottle to coffee equipment|Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 17 |
+
timeline_subtask,Current Subtask Recognition,no_language,All Except Language,computed,0.012658227848101266,macro_f1,0.012658227848101266,,false,,0.03735632183908046,0.012658227848101266,0.017543859649122806,15,813,348,Move bottle to coffee equipment|Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 18 |
+
transition_detection,Action Transition Detection,all_features,All Features,computed,0.46870229007633585,macro_f1,0.46870229007633585,,false,,0.882183908045977,0.46870229007633585,0.4623493975903614,2,813,348,,0,,,,,,,,,,,,,,,
|
| 19 |
+
transition_detection,Action Transition Detection,video,Video,computed,0.46625766871165636,macro_f1,0.46625766871165636,,false,,0.8735632183908046,0.46625766871165636,0.4578313253012048,2,813,348,,0,,,,,,,,,,,,,,,
|
| 20 |
+
transition_detection,Action Transition Detection,depth,Depth,computed,0.4604651162790698,macro_f1,0.4604651162790698,,false,,0.853448275862069,0.4604651162790698,0.44728915662650603,2,813,348,,0,,,,,,,,,,,,,,,
|
| 21 |
+
transition_detection,Action Transition Detection,pose_slam,Pose + SLAM,computed,0.48444444444444446,macro_f1,0.48444444444444446,,false,,0.9396551724137931,0.48444444444444446,0.4924698795180723,2,813,348,,0,,,,,,,,,,,,,,,
|
| 22 |
+
transition_detection,Action Transition Detection,motion_capture,Motion Capture,computed,0.5439056356487549,macro_f1,0.5439056356487549,,false,,0.896551724137931,0.5439056356487549,0.5591114457831325,2,813,348,,0,,,,,,,,,,,,,,,
|
| 23 |
+
transition_detection,Action Transition Detection,inertial,Inertial,computed,0.48520710059171596,macro_f1,0.48520710059171596,,false,,0.9425287356321839,0.48520710059171596,0.4939759036144578,2,813,348,,0,,,,,,,,,,,,,,,
|
| 24 |
+
transition_detection,Action Transition Detection,language,Language,computed,0.7051957831325302,macro_f1,0.7051957831325302,,false,,0.9482758620689655,0.7051957831325302,0.7051957831325302,2,813,348,,0,,,,,,,,,,,,,,,
|
| 25 |
+
transition_detection,Action Transition Detection,no_language,All Except Language,computed,0.46543778801843316,macro_f1,0.46543778801843316,,false,,0.8706896551724138,0.46543778801843316,0.4563253012048193,2,813,348,,0,,,,,,,,,,,,,,,
|
| 26 |
+
next_action,Next-Action Prediction,all_features,All Features,computed,0.0060882800608828,macro_f1,0.0060882800608828,future action label from windows.csv,false,,0.011527377521613832,0.0060882800608828,0.003472222222222222,19,810,347,Place item on table|Wait/Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 27 |
+
next_action,Next-Action Prediction,video,Video,computed,0.006349206349206349,macro_f1,0.006349206349206349,future action label from windows.csv,false,,0.011527377521613832,0.006349206349206349,0.003472222222222222,19,810,347,Place item on table|Wait/Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 28 |
+
next_action,Next-Action Prediction,depth,Depth,computed,0.001594896331738437,macro_f1,0.001594896331738437,future action label from windows.csv,false,,0.002881844380403458,0.001594896331738437,0.0008223684210526315,19,810,347,Place item on table|Wait/Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 29 |
+
next_action,Next-Action Prediction,pose_slam,Pose + SLAM,computed,0.0,macro_f1,0.0,future action label from windows.csv,false,,0.0,0.0,0.0,19,810,347,Place item on table|Wait/Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 30 |
+
next_action,Next-Action Prediction,motion_capture,Motion Capture,computed,0.00322061191626409,macro_f1,0.00322061191626409,future action label from windows.csv,false,,0.005763688760806916,0.00322061191626409,0.001736111111111111,19,810,347,Place item on table|Wait/Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 31 |
+
next_action,Next-Action Prediction,inertial,Inertial,computed,0.00196078431372549,macro_f1,0.00196078431372549,future action label from windows.csv,false,,0.002881844380403458,0.00196078431372549,0.0010416666666666667,19,810,347,Place item on table|Wait/Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 32 |
+
next_action,Next-Action Prediction,language,Language,computed,0.04193971166448231,macro_f1,0.04193971166448231,future action label from windows.csv,false,,0.1844380403458213,0.04193971166448231,0.07142857142857142,19,810,347,Place item on table|Wait/Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 33 |
+
next_action,Next-Action Prediction,no_language,All Except Language,computed,0.004511278195488722,macro_f1,0.004511278195488722,future action label from windows.csv,false,,0.008645533141210375,0.004511278195488722,0.0024671052631578946,19,810,347,Place item on table|Wait/Prepare for pouring|Pour coffee|Pour milk into coffee,4,,,,,,,,,,,,,,,
|
| 34 |
+
hand_trajectory_forecast,Future Hand Motion Forecasting,all_features,All Features,computed,0.1047945346490482,mae,8.542482376098633,future hand feature vector from shared_windows.npz,true,,,,,,,,,,6413.8505859375,8.542482376098633,-6684.484259411514,,,,,,,,,,,,
|
| 35 |
+
hand_trajectory_forecast,Future Hand Motion Forecasting,video,Video,computed,0.4956350584748486,mae,1.0176135301589966,future hand feature vector from shared_windows.npz,false,,,,,,,,,,1.7896661758422852,1.0176135301589966,-0.8654605965108897,,,,,,,,,,,,
|
| 36 |
+
hand_trajectory_forecast,Future Hand Motion Forecasting,depth,Depth,computed,0.04014931629731973,mae,23.907024383544922,future hand feature vector from shared_windows.npz,false,,,,,,,,,,72553.34375,23.907024383544922,-75625.0610993949,,,,,,,,,,,,
|
| 37 |
+
hand_trajectory_forecast,Future Hand Motion Forecasting,pose_slam,Pose + SLAM,computed,0.5611809661721311,mae,0.7819563746452332,future hand feature vector from shared_windows.npz,false,,,,,,,,,,1.2600995302200317,0.7819563746452332,-0.3134661692106211,,,,,,,,,,,,
|
| 38 |
+
hand_trajectory_forecast,Future Hand Motion Forecasting,motion_capture,Motion Capture,computed,0.0839705207556719,mae,10.908941268920898,future hand feature vector from shared_windows.npz,true,,,,,,,,,,6293.8876953125,10.908941268920898,-6559.441194341517,,,,,,,,,,,,
|
| 39 |
+
hand_trajectory_forecast,Future Hand Motion Forecasting,inertial,Inertial,computed,0.5679183061202404,mae,0.7608166337013245,future hand feature vector from shared_windows.npz,false,,,,,,,,,,1.1916581392288208,0.7608166337013245,-0.24212624676650907,,,,,,,,,,,,
|
| 40 |
+
hand_trajectory_forecast,Future Hand Motion Forecasting,language,Language,computed,0.451525705011023,mae,1.2147133350372314,future hand feature vector from shared_windows.npz,false,,,,,,,,,,2.3450045585632324,1.2147133350372314,-1.4443180759924243,,,,,,,,,,,,
|
| 41 |
+
hand_trajectory_forecast,Future Hand Motion Forecasting,no_language,All Except Language,computed,0.09737268805379895,mae,9.269820213317871,future hand feature vector from shared_windows.npz,true,,,,,,,,,,7166.751953125,9.269820213317871,-7469.272088447983,,,,,,,,,,,,
|
| 42 |
+
contact_prediction,Contact State Prediction,all_features,All Features,computed,1.0,macro_f1,1.0,contact proxy derived from body_contacts feature block,false,,1.0,1.0,1.0,1,813,348,,0,,,,,,,,,,,,,,,
|
| 43 |
+
contact_prediction,Contact State Prediction,video,Video,computed,1.0,macro_f1,1.0,contact proxy derived from body_contacts feature block,false,,1.0,1.0,1.0,1,813,348,,0,,,,,,,,,,,,,,,
|
| 44 |
+
contact_prediction,Contact State Prediction,depth,Depth,computed,1.0,macro_f1,1.0,contact proxy derived from body_contacts feature block,false,,1.0,1.0,1.0,1,813,348,,0,,,,,,,,,,,,,,,
|
| 45 |
+
contact_prediction,Contact State Prediction,pose_slam,Pose + SLAM,computed,1.0,macro_f1,1.0,contact proxy derived from body_contacts feature block,false,,1.0,1.0,1.0,1,813,348,,0,,,,,,,,,,,,,,,
|
| 46 |
+
contact_prediction,Contact State Prediction,motion_capture,Motion Capture,computed,1.0,macro_f1,1.0,contact proxy derived from body_contacts feature block,false,,1.0,1.0,1.0,1,813,348,,0,,,,,,,,,,,,,,,
|
| 47 |
+
contact_prediction,Contact State Prediction,inertial,Inertial,computed,1.0,macro_f1,1.0,contact proxy derived from body_contacts feature block,false,,1.0,1.0,1.0,1,813,348,,0,,,,,,,,,,,,,,,
|
| 48 |
+
contact_prediction,Contact State Prediction,language,Language,computed,1.0,macro_f1,1.0,contact proxy derived from body_contacts feature block,false,,1.0,1.0,1.0,1,813,348,,0,,,,,,,,,,,,,,,
|
| 49 |
+
contact_prediction,Contact State Prediction,no_language,All Except Language,computed,1.0,macro_f1,1.0,contact proxy derived from body_contacts feature block,false,,1.0,1.0,1.0,1,813,348,,0,,,,,,,,,,,,,,,
|
| 50 |
+
object_relevance,Relevant Object Prediction,all_features,All Features,computed,0.175914508836827,micro_f1,0.175914508836827,object sets exported from annotation.hdf5 caption_frame_info_map,true,,,0.06322379109578449,,,813,348,,,,,,0.175914508836827,0.020114942528735632,0.19888475836431227,0.15770081061164334,34,,,,,,,
|
| 51 |
+
object_relevance,Relevant Object Prediction,video,Video,computed,0.14804270462633454,micro_f1,0.14804270462633454,object sets exported from annotation.hdf5 caption_frame_info_map,false,,,0.04379950367755125,,,813,348,,,,,,0.14804270462633454,0.008620689655172414,0.14315209910529939,0.15327929255711129,34,,,,,,,
|
| 52 |
+
object_relevance,Relevant Object Prediction,depth,Depth,computed,0.20134228187919462,micro_f1,0.20134228187919462,object sets exported from annotation.hdf5 caption_frame_info_map,false,,,0.0649677953734521,,,813,348,,,,,,0.20134228187919462,0.011494252873563218,0.18484288354898337,0.2210759027266028,34,,,,,,,
|
| 53 |
+
object_relevance,Relevant Object Prediction,pose_slam,Pose + SLAM,computed,0.19528071602929212,micro_f1,0.19528071602929212,object sets exported from annotation.hdf5 caption_frame_info_map,false,,,0.05592381693865655,,,813,348,,,,,,0.19528071602929212,0.0,0.21798365122615804,0.17686072218128224,34,,,,,,,
|
| 54 |
+
object_relevance,Relevant Object Prediction,motion_capture,Motion Capture,computed,0.11607786589762077,micro_f1,0.11607786589762077,object sets exported from annotation.hdf5 caption_frame_info_map,false,,,0.045395437036303915,,,813,348,,,,,,0.11607786589762077,0.0028735632183908046,0.11362032462949895,0.11864406779661017,34,,,,,,,
|
| 55 |
+
object_relevance,Relevant Object Prediction,inertial,Inertial,computed,0.1716082659478886,micro_f1,0.1716082659478886,object sets exported from annotation.hdf5 caption_frame_info_map,false,,,0.04806995854957751,,,813,348,,,,,,0.1716082659478886,0.0,0.21979286536248563,0.14075165806927045,34,,,,,,,
|
| 56 |
+
object_relevance,Relevant Object Prediction,language,Language,computed,0.23021032504780117,micro_f1,0.23021032504780117,object sets exported from annotation.hdf5 caption_frame_info_map,true,,,0.0947530205484707,,,813,348,,,,,,0.23021032504780117,0.15229885057471265,0.23926868044515104,0.22181282240235814,34,,,,,,,
|
| 57 |
+
object_relevance,Relevant Object Prediction,no_language,All Except Language,computed,0.14793328498912256,micro_f1,0.14793328498912256,object sets exported from annotation.hdf5 caption_frame_info_map,false,,,0.05137956064750565,,,813,348,,,,,,0.14793328498912256,0.008620689655172414,0.145610278372591,0.1503316138540899,34,,,,,,,
|
| 58 |
+
caption_grounding,Language-to-Time Grounding,all_features,All Features,computed,0.21027426421642303,mrr,0.21027426421642303,,true,,,,,,,,,,,,,,,,,,0.21027426421642303,0.08908045977011494,0.33045977011494254,0.4482758620689655,13.0,22.55172348022461,348
|
| 59 |
+
caption_grounding,Language-to-Time Grounding,video,Video,computed,0.022670436650514603,mrr,0.022670436650514603,,false,,,,,,,,,,,,,,,,,,0.022670436650514603,0.0028735632183908046,0.02586206896551724,0.034482758620689655,162.0,161.4770050048828,348
|
| 60 |
+
caption_grounding,Language-to-Time Grounding,depth,Depth,computed,0.02443847246468067,mrr,0.02443847246468067,,false,,,,,,,,,,,,,,,,,,0.02443847246468067,0.0028735632183908046,0.020114942528735632,0.03735632183908046,114.0,137.90805053710938,348
|
| 61 |
+
caption_grounding,Language-to-Time Grounding,pose_slam,Pose + SLAM,computed,0.02946249581873417,mrr,0.02946249581873417,,false,,,,,,,,,,,,,,,,,,0.02946249581873417,0.008620689655172414,0.028735632183908046,0.04597701149425287,143.5,155.4712677001953,348
|
| 62 |
+
caption_grounding,Language-to-Time Grounding,motion_capture,Motion Capture,computed,0.030569594353437424,mrr,0.030569594353437424,,false,,,,,,,,,,,,,,,,,,0.030569594353437424,0.008620689655172414,0.02586206896551724,0.04885057471264368,110.5,130.32470703125,348
|
| 63 |
+
caption_grounding,Language-to-Time Grounding,inertial,Inertial,computed,0.02470344305038452,mrr,0.02470344305038452,,false,,,,,,,,,,,,,,,,,,0.02470344305038452,0.0028735632183908046,0.022988505747126436,0.04597701149425287,123.0,138.61207580566406,348
|
| 64 |
+
caption_grounding,Language-to-Time Grounding,language,Language,computed,0.24527303874492645,mrr,0.24527303874492645,,true,,,,,,,,,,,,,,,,,,0.24527303874492645,0.12643678160919541,0.34770114942528735,0.47126436781609193,12.0,15.106322288513184,348
|
| 65 |
+
caption_grounding,Language-to-Time Grounding,no_language,All Except Language,computed,0.02722795307636261,mrr,0.02722795307636261,,false,,,,,,,,,,,,,,,,,,0.02722795307636261,0.005747126436781609,0.028735632183908046,0.04597701149425287,134.0,142.65516662597656,348
|
| 66 |
+
cross_modal_retrieval,Cross-Modal Window Retrieval,all_features,All Features,computed,0.9723829030990601,mrr,0.9723829030990601,,true,,,,,,,,,,,,,,,,,,0.9723829030990601,0.9683908045977011,0.9741379310344828,0.9827586206896551,1.0,2.347701072692871,348
|
| 67 |
+
cross_modal_retrieval,Cross-Modal Window Retrieval,video,Video,computed,0.9701701402664185,mrr,0.9701701402664185,,true,,,,,,,,,,,,,,,,,,0.9701701402664185,0.9626436781609196,0.9798850574712644,0.9798850574712644,1.0,3.844827651977539,348
|
| 68 |
+
cross_modal_retrieval,Cross-Modal Window Retrieval,depth,Depth,computed,0.6656051278114319,mrr,0.6656051278114319,,true,,,,,,,,,,,,,,,,,,0.6656051278114319,0.5660919540229885,0.7902298850574713,0.8620689655172413,1.0,5.729885101318359,348
|
| 69 |
+
cross_modal_retrieval,Cross-Modal Window Retrieval,pose_slam,Pose + SLAM,computed,0.42622581124305725,mrr,0.42622581124305725,,false,,,,,,,,,,,,,,,,,,0.42622581124305725,0.3017241379310345,0.5488505747126436,0.6551724137931034,4.0,15.623562812805176,348
|
| 70 |
+
cross_modal_retrieval,Cross-Modal Window Retrieval,motion_capture,Motion Capture,computed,0.2553335726261139,mrr,0.2553335726261139,,false,,,,,,,,,,,,,,,,,,0.2553335726261139,0.15804597701149425,0.35344827586206895,0.3994252873563218,21.5,49.181034088134766,348
|
| 71 |
+
cross_modal_retrieval,Cross-Modal Window Retrieval,inertial,Inertial,computed,0.2840072810649872,mrr,0.2840072810649872,,false,,,,,,,,,,,,,,,,,,0.2840072810649872,0.16379310344827586,0.3735632183908046,0.5229885057471264,10.0,20.577587127685547,348
|
| 72 |
+
cross_modal_retrieval,Cross-Modal Window Retrieval,language,Language,computed,0.031006580218672752,mrr,0.031006580218672752,,false,,,,,,,,,,,,,,,,,,0.031006580218672752,0.005747126436781609,0.031609195402298854,0.05747126436781609,138.0,146.83045959472656,348
|
| 73 |
+
cross_modal_retrieval,Cross-Modal Window Retrieval,no_language,All Except Language,computed,0.9722298979759216,mrr,0.9722298979759216,,true,,,,,,,,,,,,,,,,,,0.9722298979759216,0.9683908045977011,0.9741379310344828,0.9827586206896551,1.0,2.55747127532959,348
|
| 74 |
+
modality_reconstruction,Sensor-to-Visual Reconstruction,all_features,All Features,computed,0.1979444902694729,mae,4.051921367645264,,true,,,,,,,,,,4260.24853515625,4.051921367645264,0.5054433122397289,,,,,,,,,,,,
|
| 75 |
+
modality_reconstruction,Sensor-to-Visual Reconstruction,video,Video,computed,0.611318891594774,mae,0.635807454586029,,true,,,,,,,,,,8679.7548828125,0.635807454586029,-0.007601057526781085,,,,,,,,,,,,
|
| 76 |
+
modality_reconstruction,Sensor-to-Visual Reconstruction,depth,Depth,computed,0.062215385980961393,mae,15.07319450378418,,true,,,,,,,,,,38000.71875,15.07319450378418,-3.4113648334674167,,,,,,,,,,,,
|
| 77 |
+
modality_reconstruction,Sensor-to-Visual Reconstruction,pose_slam,Pose + SLAM,computed,0.5359235021455191,mae,0.8659379482269287,,false,,,,,,,,,,8678.9697265625,0.8659379482269287,-0.007509963078260462,,,,,,,,,,,,
|
| 78 |
+
modality_reconstruction,Sensor-to-Visual Reconstruction,motion_capture,Motion Capture,computed,0.07724422027114182,mae,11.945952415466309,,false,,,,,,,,,,16462.224609375,11.945952415466309,-0.911039534454414,,,,,,,,,,,,
|
| 79 |
+
modality_reconstruction,Sensor-to-Visual Reconstruction,inertial,Inertial,computed,0.5185351442505587,mae,0.9285095930099487,,false,,,,,,,,,,8680.1376953125,0.9285095930099487,-0.007645498747803181,,,,,,,,,,,,
|
| 80 |
+
modality_reconstruction,Sensor-to-Visual Reconstruction,language,Language,computed,0.411308516935754,mae,1.4312649965286255,,false,,,,,,,,,,8681.390625,1.4312649965286255,-0.00779095493123938,,,,,,,,,,,,
|
| 81 |
+
modality_reconstruction,Sensor-to-Visual Reconstruction,no_language,All Except Language,computed,0.19605900415414898,mae,4.100505352020264,,true,,,,,,,,,,4129.71484375,4.100505352020264,0.5205964615135674,,,,,,,,,,,,
|
| 82 |
+
temporal_order,Temporal Order Verification,all_features,All Features,computed,0.4942528735632184,macro_f1,0.4942528735632184,,false,,0.4942528735632184,0.4942528735632184,0.4942528735632184,2,1624,696,,0,,,,,,,,,,,,,,,
|
| 83 |
+
temporal_order,Temporal Order Verification,video,Video,computed,0.5172413793103449,macro_f1,0.5172413793103449,,false,,0.5172413793103449,0.5172413793103449,0.5172413793103449,2,1624,696,,0,,,,,,,,,,,,,,,
|
| 84 |
+
temporal_order,Temporal Order Verification,depth,Depth,computed,0.49424869738982513,macro_f1,0.49424869738982513,,false,,0.4942528735632184,0.49424869738982513,0.49425287356321834,2,1624,696,,0,,,,,,,,,,,,,,,
|
| 85 |
+
temporal_order,Temporal Order Verification,pose_slam,Pose + SLAM,computed,0.5258620689655172,macro_f1,0.5258620689655172,,false,,0.5258620689655172,0.5258620689655172,0.5258620689655172,2,1624,696,,0,,,,,,,,,,,,,,,
|
| 86 |
+
temporal_order,Temporal Order Verification,motion_capture,Motion Capture,computed,0.4942528735632184,macro_f1,0.4942528735632184,,false,,0.4942528735632184,0.4942528735632184,0.4942528735632184,2,1624,696,,0,,,,,,,,,,,,,,,
|
| 87 |
+
temporal_order,Temporal Order Verification,inertial,Inertial,computed,0.5,macro_f1,0.5,,false,,0.5,0.5,0.5,2,1624,696,,0,,,,,,,,,,,,,,,
|
| 88 |
+
temporal_order,Temporal Order Verification,language,Language,computed,0.4236751152073733,macro_f1,0.4236751152073733,,false,,0.47126436781609193,0.4236751152073733,0.47126436781609193,2,1624,696,,0,,,,,,,,,,,,,,,
|
| 89 |
+
temporal_order,Temporal Order Verification,no_language,All Except Language,computed,0.49856218325196366,macro_f1,0.49856218325196366,,false,,0.4985632183908046,0.49856218325196366,0.4985632183908046,2,1624,696,,0,,,,,,,,,,,,,,,
|
| 90 |
+
misalignment_detection,Cross-Modal Misalignment Detection,all_features,All Features,computed,0.4134495778430919,macro_f1,0.4134495778430919,,false,,0.4436416184971098,0.4134495778430919,0.4436416184971098,2,1614,692,,0,,,,,,,,,,,,,,,
|
| 91 |
+
misalignment_detection,Cross-Modal Misalignment Detection,video,Video,computed,0.49488307322727143,macro_f1,0.49488307322727143,,false,,0.4985549132947977,0.49488307322727143,0.4985549132947977,2,1614,692,,0,,,,,,,,,,,,,,,
|
| 92 |
+
misalignment_detection,Cross-Modal Misalignment Detection,depth,Depth,computed,0.46659963973021656,macro_f1,0.46659963973021656,,false,,0.4682080924855491,0.46659963973021656,0.4682080924855491,2,1614,692,,0,,,,,,,,,,,,,,,
|
| 93 |
+
misalignment_detection,Cross-Modal Misalignment Detection,pose_slam,Pose + SLAM,computed,0.4929686094043242,macro_f1,0.4929686094043242,,false,,0.5057803468208093,0.4929686094043242,0.5057803468208092,2,1614,692,,0,,,,,,,,,,,,,,,
|
| 94 |
+
misalignment_detection,Cross-Modal Misalignment Detection,motion_capture,Motion Capture,computed,0.4133918268956141,macro_f1,0.4133918268956141,,false,,0.4638728323699422,0.4133918268956141,0.4638728323699422,2,1614,692,,0,,,,,,,,,,,,,,,
|
| 95 |
+
misalignment_detection,Cross-Modal Misalignment Detection,inertial,Inertial,computed,0.48899072503396884,macro_f1,0.48899072503396884,,false,,0.49421965317919075,0.48899072503396884,0.49421965317919075,2,1614,692,,0,,,,,,,,,,,,,,,
|
| 96 |
+
misalignment_detection,Cross-Modal Misalignment Detection,language,Language,computed,0.4942161609504254,macro_f1,0.4942161609504254,,false,,0.5,0.4942161609504254,0.5,2,1614,692,,0,,,,,,,,,,,,,,,
|
| 97 |
+
misalignment_detection,Cross-Modal Misalignment Detection,no_language,All Except Language,computed,0.41142741665056637,macro_f1,0.41142741665056637,,false,,0.44653179190751446,0.41142741665056637,0.44653179190751446,2,1614,692,,0,,,,,,,,,,,,,,,
|
results/single_episode_diagnostics/modality_ablation/ablation_summary.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"description": "Compact ridge-head ablation over real shared_windows.npz feature blocks.",
|
| 3 |
+
"num_rows": 96,
|
| 4 |
+
"num_computed": 96,
|
| 5 |
+
"num_not_computed": 0,
|
| 6 |
+
"groups": {
|
| 7 |
+
"all_features": 8378,
|
| 8 |
+
"video": 4116,
|
| 9 |
+
"depth": 980,
|
| 10 |
+
"pose_slam": 223,
|
| 11 |
+
"motion_capture": 2121,
|
| 12 |
+
"inertial": 42,
|
| 13 |
+
"language": 896,
|
| 14 |
+
"no_language": 7482
|
| 15 |
+
},
|
| 16 |
+
"tasks": [
|
| 17 |
+
"timeline_action",
|
| 18 |
+
"timeline_subtask",
|
| 19 |
+
"transition_detection",
|
| 20 |
+
"next_action",
|
| 21 |
+
"hand_trajectory_forecast",
|
| 22 |
+
"contact_prediction",
|
| 23 |
+
"object_relevance",
|
| 24 |
+
"caption_grounding",
|
| 25 |
+
"cross_modal_retrieval",
|
| 26 |
+
"modality_reconstruction",
|
| 27 |
+
"temporal_order",
|
| 28 |
+
"misalignment_detection"
|
| 29 |
+
],
|
| 30 |
+
"object_relevance_labels": "annotation.hdf5"
|
| 31 |
+
}
|
results/single_episode_diagnostics/object_labels/object_vocab.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"vocab": [
|
| 3 |
+
"kettle",
|
| 4 |
+
"coffee dripper",
|
| 5 |
+
"scale",
|
| 6 |
+
"bottle",
|
| 7 |
+
"gooseneck kettle",
|
| 8 |
+
"digital scale",
|
| 9 |
+
"table",
|
| 10 |
+
"dripper",
|
| 11 |
+
"coffee filter",
|
| 12 |
+
"glass carafe",
|
| 13 |
+
"coffee scale",
|
| 14 |
+
"white mug",
|
| 15 |
+
"wooden scoop",
|
| 16 |
+
"coffee jar",
|
| 17 |
+
"coffee scoop",
|
| 18 |
+
"coffee container",
|
| 19 |
+
"lid",
|
| 20 |
+
"closed coffee container",
|
| 21 |
+
"water bottle",
|
| 22 |
+
"coffee mug",
|
| 23 |
+
"mug",
|
| 24 |
+
"white cup",
|
| 25 |
+
"white bottle",
|
| 26 |
+
"coffee equipment",
|
| 27 |
+
"small bottle",
|
| 28 |
+
"weighing scale",
|
| 29 |
+
"white coffee cup",
|
| 30 |
+
"digital scale with dripper",
|
| 31 |
+
"metal pitcher",
|
| 32 |
+
"carafe",
|
| 33 |
+
"milk pitcher",
|
| 34 |
+
"coffee cup",
|
| 35 |
+
"stainless steel milk pitcher",
|
| 36 |
+
"milk bottle"
|
| 37 |
+
],
|
| 38 |
+
"num_objects": 34,
|
| 39 |
+
"source_annotation": "external_raw_sample/annotation.hdf5",
|
| 40 |
+
"source_toolkit": "HOMIE-toolkit",
|
| 41 |
+
"source_note": "Object labels were exported from a raw Xperience-10M sample annotation. The public artifact stores source type and hash instead of machine-specific file paths."
|
| 42 |
+
}
|
results/single_episode_diagnostics/object_labels/window_object_labels.csv
ADDED
|
@@ -0,0 +1,1162 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
window_index,start_frame,end_frame,center_frame,objects,object_count
|
| 2 |
+
0,0,19,9,kettle|coffee dripper|scale|bottle,4
|
| 3 |
+
1,5,24,14,kettle|coffee dripper|scale|bottle,4
|
| 4 |
+
2,10,29,19,kettle|coffee dripper|scale|bottle,4
|
| 5 |
+
3,15,34,24,kettle|coffee dripper|scale|bottle,4
|
| 6 |
+
4,20,39,29,kettle|coffee dripper|scale|bottle,4
|
| 7 |
+
5,25,44,34,kettle|coffee dripper|scale|bottle,4
|
| 8 |
+
6,30,49,39,kettle|coffee dripper|scale|bottle,4
|
| 9 |
+
7,35,54,44,kettle|coffee dripper|scale|bottle,4
|
| 10 |
+
8,40,59,49,kettle|coffee dripper|scale|bottle,4
|
| 11 |
+
9,45,64,54,kettle|coffee dripper|scale|bottle,4
|
| 12 |
+
10,50,69,59,kettle|coffee dripper|scale|bottle,4
|
| 13 |
+
11,55,74,64,kettle|coffee dripper|scale|bottle,4
|
| 14 |
+
12,60,79,69,kettle|coffee dripper|scale|bottle,4
|
| 15 |
+
13,65,84,74,kettle|coffee dripper|scale|bottle,4
|
| 16 |
+
14,70,89,79,kettle|coffee dripper|scale|bottle,4
|
| 17 |
+
15,75,94,84,kettle|coffee dripper|scale|bottle,4
|
| 18 |
+
16,80,99,89,kettle|coffee dripper|scale|bottle,4
|
| 19 |
+
17,85,104,94,kettle|coffee dripper|scale|bottle,4
|
| 20 |
+
18,90,109,99,kettle|coffee dripper|scale|bottle,4
|
| 21 |
+
19,95,114,104,kettle|coffee dripper|scale|bottle,4
|
| 22 |
+
20,100,119,109,kettle|coffee dripper|scale|bottle,4
|
| 23 |
+
21,105,124,114,kettle|coffee dripper|scale|bottle,4
|
| 24 |
+
22,110,129,119,kettle|coffee dripper|scale|bottle,4
|
| 25 |
+
23,115,134,124,kettle|coffee dripper|scale|bottle,4
|
| 26 |
+
24,120,139,129,kettle,1
|
| 27 |
+
25,125,144,134,kettle,1
|
| 28 |
+
26,130,149,139,kettle,1
|
| 29 |
+
27,135,154,144,kettle,1
|
| 30 |
+
28,140,159,149,kettle,1
|
| 31 |
+
29,145,164,154,kettle,1
|
| 32 |
+
30,150,169,159,kettle,1
|
| 33 |
+
31,155,174,164,kettle,1
|
| 34 |
+
32,160,179,169,kettle,1
|
| 35 |
+
33,165,184,174,kettle,1
|
| 36 |
+
34,170,189,179,kettle,1
|
| 37 |
+
35,175,194,184,kettle,1
|
| 38 |
+
36,180,199,189,kettle,1
|
| 39 |
+
37,185,204,194,kettle,1
|
| 40 |
+
38,190,209,199,kettle,1
|
| 41 |
+
39,195,214,204,kettle,1
|
| 42 |
+
40,200,219,209,kettle,1
|
| 43 |
+
41,205,224,214,kettle,1
|
| 44 |
+
42,210,229,219,kettle,1
|
| 45 |
+
43,215,234,224,kettle,1
|
| 46 |
+
44,220,239,229,kettle,1
|
| 47 |
+
45,225,244,234,kettle,1
|
| 48 |
+
46,230,249,239,kettle,1
|
| 49 |
+
47,235,254,244,kettle,1
|
| 50 |
+
48,240,259,249,kettle,1
|
| 51 |
+
49,245,264,254,kettle,1
|
| 52 |
+
50,250,269,259,kettle,1
|
| 53 |
+
51,255,274,264,kettle,1
|
| 54 |
+
52,260,279,269,kettle,1
|
| 55 |
+
53,265,284,274,kettle,1
|
| 56 |
+
54,270,289,279,kettle,1
|
| 57 |
+
55,275,294,284,kettle,1
|
| 58 |
+
56,280,299,289,kettle,1
|
| 59 |
+
57,285,304,294,kettle,1
|
| 60 |
+
58,290,309,299,kettle,1
|
| 61 |
+
59,295,314,304,kettle,1
|
| 62 |
+
60,300,319,309,kettle,1
|
| 63 |
+
61,305,324,314,kettle,1
|
| 64 |
+
62,310,329,319,kettle,1
|
| 65 |
+
63,315,334,324,kettle,1
|
| 66 |
+
64,320,339,329,kettle,1
|
| 67 |
+
65,325,344,334,kettle,1
|
| 68 |
+
66,330,349,339,kettle,1
|
| 69 |
+
67,335,354,344,kettle,1
|
| 70 |
+
68,340,359,349,kettle,1
|
| 71 |
+
69,345,364,354,kettle|coffee dripper|scale,3
|
| 72 |
+
70,350,369,359,kettle|coffee dripper|scale,3
|
| 73 |
+
71,355,374,364,kettle|coffee dripper|scale,3
|
| 74 |
+
72,360,379,369,kettle|coffee dripper|scale,3
|
| 75 |
+
73,365,384,374,kettle|coffee dripper|scale,3
|
| 76 |
+
74,370,389,379,kettle|coffee dripper|scale,3
|
| 77 |
+
75,375,394,384,kettle|coffee dripper|scale,3
|
| 78 |
+
76,380,399,389,kettle|coffee dripper|scale,3
|
| 79 |
+
77,385,404,394,kettle|coffee dripper|scale|gooseneck kettle|digital scale|table,6
|
| 80 |
+
78,390,409,399,kettle|coffee dripper|scale|gooseneck kettle|digital scale|table,6
|
| 81 |
+
79,395,414,404,kettle|coffee dripper|scale|gooseneck kettle|digital scale|table,6
|
| 82 |
+
80,400,419,409,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 83 |
+
81,405,424,414,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 84 |
+
82,410,429,419,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 85 |
+
83,415,434,424,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 86 |
+
84,420,439,429,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 87 |
+
85,425,444,434,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 88 |
+
86,430,449,439,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 89 |
+
87,435,454,444,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 90 |
+
88,440,459,449,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 91 |
+
89,445,464,454,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 92 |
+
90,450,469,459,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 93 |
+
91,455,474,464,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 94 |
+
92,460,479,469,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 95 |
+
93,465,484,474,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 96 |
+
94,470,489,479,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 97 |
+
95,475,494,484,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 98 |
+
96,480,499,489,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 99 |
+
97,485,504,494,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 100 |
+
98,490,509,499,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 101 |
+
99,495,514,504,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 102 |
+
100,500,519,509,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 103 |
+
101,505,524,514,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 104 |
+
102,510,529,519,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 105 |
+
103,515,534,524,gooseneck kettle|coffee dripper|digital scale|table,4
|
| 106 |
+
104,520,539,529,gooseneck kettle|coffee dripper|digital scale,3
|
| 107 |
+
105,525,544,534,gooseneck kettle|coffee dripper|digital scale,3
|
| 108 |
+
106,530,549,539,gooseneck kettle|coffee dripper|digital scale,3
|
| 109 |
+
107,535,554,544,gooseneck kettle|coffee dripper|digital scale,3
|
| 110 |
+
108,540,559,549,gooseneck kettle|coffee dripper|digital scale,3
|
| 111 |
+
109,545,564,554,gooseneck kettle|coffee dripper|digital scale,3
|
| 112 |
+
110,550,569,559,gooseneck kettle|coffee dripper|digital scale,3
|
| 113 |
+
111,555,574,564,gooseneck kettle|coffee dripper|digital scale,3
|
| 114 |
+
112,560,579,569,gooseneck kettle|coffee dripper|digital scale,3
|
| 115 |
+
113,565,584,574,gooseneck kettle|coffee dripper|digital scale,3
|
| 116 |
+
114,570,589,579,gooseneck kettle|coffee dripper|digital scale,3
|
| 117 |
+
115,575,594,584,gooseneck kettle|coffee dripper|digital scale,3
|
| 118 |
+
116,580,599,589,gooseneck kettle|coffee dripper|digital scale,3
|
| 119 |
+
117,585,604,594,gooseneck kettle|coffee dripper|digital scale,3
|
| 120 |
+
118,590,609,599,gooseneck kettle|coffee dripper|digital scale,3
|
| 121 |
+
119,595,614,604,gooseneck kettle|coffee dripper|digital scale,3
|
| 122 |
+
120,600,619,609,gooseneck kettle|coffee dripper|digital scale,3
|
| 123 |
+
121,605,624,614,gooseneck kettle|coffee dripper|digital scale,3
|
| 124 |
+
122,610,629,619,gooseneck kettle|coffee dripper|digital scale,3
|
| 125 |
+
123,615,634,624,gooseneck kettle|coffee dripper|digital scale,3
|
| 126 |
+
124,620,639,629,gooseneck kettle|coffee dripper|digital scale,3
|
| 127 |
+
125,625,644,634,gooseneck kettle|coffee dripper|digital scale,3
|
| 128 |
+
126,630,649,639,gooseneck kettle|coffee dripper|digital scale,3
|
| 129 |
+
127,635,654,644,gooseneck kettle|coffee dripper|digital scale,3
|
| 130 |
+
128,640,659,649,gooseneck kettle|coffee dripper|digital scale,3
|
| 131 |
+
129,645,664,654,gooseneck kettle|coffee dripper|digital scale,3
|
| 132 |
+
130,650,669,659,gooseneck kettle|coffee dripper|digital scale,3
|
| 133 |
+
131,655,674,664,gooseneck kettle|coffee dripper|digital scale,3
|
| 134 |
+
132,660,679,669,gooseneck kettle|coffee dripper|digital scale,3
|
| 135 |
+
133,665,684,674,gooseneck kettle|coffee dripper|digital scale,3
|
| 136 |
+
134,670,689,679,gooseneck kettle|coffee dripper|digital scale,3
|
| 137 |
+
135,675,694,684,gooseneck kettle|coffee dripper|digital scale,3
|
| 138 |
+
136,680,699,689,gooseneck kettle|coffee dripper|digital scale,3
|
| 139 |
+
137,685,704,694,gooseneck kettle|coffee dripper|digital scale,3
|
| 140 |
+
138,690,709,699,gooseneck kettle|coffee dripper|digital scale,3
|
| 141 |
+
139,695,714,704,gooseneck kettle|coffee dripper|digital scale,3
|
| 142 |
+
140,700,719,709,gooseneck kettle|coffee dripper|digital scale,3
|
| 143 |
+
141,705,724,714,gooseneck kettle|coffee dripper|digital scale,3
|
| 144 |
+
142,710,729,719,gooseneck kettle|coffee dripper|digital scale,3
|
| 145 |
+
143,715,734,724,gooseneck kettle|coffee dripper|digital scale,3
|
| 146 |
+
144,720,739,729,gooseneck kettle|coffee dripper|digital scale,3
|
| 147 |
+
145,725,744,734,gooseneck kettle|coffee dripper|digital scale,3
|
| 148 |
+
146,730,749,739,gooseneck kettle|coffee dripper|digital scale,3
|
| 149 |
+
147,735,754,744,gooseneck kettle|coffee dripper|digital scale,3
|
| 150 |
+
148,740,759,749,gooseneck kettle|coffee dripper|digital scale,3
|
| 151 |
+
149,745,764,754,gooseneck kettle|coffee dripper|digital scale,3
|
| 152 |
+
150,750,769,759,gooseneck kettle|coffee dripper|digital scale,3
|
| 153 |
+
151,755,774,764,gooseneck kettle|coffee dripper|digital scale,3
|
| 154 |
+
152,760,779,769,gooseneck kettle|coffee dripper|digital scale,3
|
| 155 |
+
153,765,784,774,gooseneck kettle|coffee dripper|digital scale,3
|
| 156 |
+
154,770,789,779,gooseneck kettle|coffee dripper|digital scale,3
|
| 157 |
+
155,775,794,784,gooseneck kettle|coffee dripper|digital scale,3
|
| 158 |
+
156,780,799,789,gooseneck kettle|coffee dripper|digital scale,3
|
| 159 |
+
157,785,804,794,gooseneck kettle|coffee dripper|digital scale|kettle|dripper|scale|coffee filter|table,8
|
| 160 |
+
158,790,809,799,gooseneck kettle|coffee dripper|digital scale|kettle|dripper|scale|coffee filter|table,8
|
| 161 |
+
159,795,814,804,gooseneck kettle|coffee dripper|digital scale|kettle|dripper|scale|coffee filter|table,8
|
| 162 |
+
160,800,819,809,kettle|dripper|scale|coffee filter|table,5
|
| 163 |
+
161,805,824,814,kettle|dripper|scale|coffee filter|table,5
|
| 164 |
+
162,810,829,819,kettle|dripper|scale|coffee filter|table,5
|
| 165 |
+
163,815,834,824,kettle|dripper|scale|coffee filter|table,5
|
| 166 |
+
164,820,839,829,kettle|dripper|scale|coffee filter|table,5
|
| 167 |
+
165,825,844,834,kettle|dripper|scale|coffee filter|table,5
|
| 168 |
+
166,830,849,839,kettle|dripper|scale|coffee filter|table,5
|
| 169 |
+
167,835,854,844,kettle|dripper|scale|coffee filter|table,5
|
| 170 |
+
168,840,859,849,kettle|dripper|scale|coffee filter|table,5
|
| 171 |
+
169,845,864,854,kettle|dripper|scale|coffee filter|table,5
|
| 172 |
+
170,850,869,859,kettle|dripper|scale|coffee filter|table,5
|
| 173 |
+
171,855,874,864,kettle|dripper|scale|coffee filter|table,5
|
| 174 |
+
172,860,879,869,kettle|dripper|scale|coffee filter|table,5
|
| 175 |
+
173,865,884,874,kettle|dripper|scale|coffee filter|table,5
|
| 176 |
+
174,870,889,879,kettle|dripper|scale|coffee filter|table,5
|
| 177 |
+
175,875,894,884,kettle|dripper|scale|coffee filter|table,5
|
| 178 |
+
176,880,899,889,kettle|dripper|scale|coffee filter|table,5
|
| 179 |
+
177,885,904,894,kettle|dripper|scale|coffee filter|table,5
|
| 180 |
+
178,890,909,899,kettle|dripper|scale|coffee filter|table,5
|
| 181 |
+
179,895,914,904,kettle|dripper|scale|coffee filter|table,5
|
| 182 |
+
180,900,919,909,kettle|dripper|scale|coffee filter|table,5
|
| 183 |
+
181,905,924,914,kettle|dripper|scale|coffee filter|table,5
|
| 184 |
+
182,910,929,919,kettle|dripper|scale|coffee filter|table,5
|
| 185 |
+
183,915,934,924,kettle|dripper|scale|coffee filter|table,5
|
| 186 |
+
184,920,939,929,kettle|dripper|scale|coffee filter|table,5
|
| 187 |
+
185,925,944,934,kettle|dripper|scale|coffee filter|table,5
|
| 188 |
+
186,930,949,939,kettle|dripper|scale|coffee filter|table,5
|
| 189 |
+
187,935,954,944,kettle|dripper|scale|coffee filter|table,5
|
| 190 |
+
188,940,959,949,kettle|dripper|scale|coffee filter|table,5
|
| 191 |
+
189,945,964,954,kettle|dripper|scale|coffee filter|table,5
|
| 192 |
+
190,950,969,959,kettle|dripper|scale|coffee filter|table,5
|
| 193 |
+
191,955,974,964,kettle|dripper|scale|coffee filter|table,5
|
| 194 |
+
192,960,979,969,kettle|dripper|scale|coffee filter|table,5
|
| 195 |
+
193,965,984,974,kettle|dripper|scale|coffee filter|table,5
|
| 196 |
+
194,970,989,979,kettle|dripper|scale|coffee filter|table,5
|
| 197 |
+
195,975,994,984,kettle|dripper|scale|coffee filter|table,5
|
| 198 |
+
196,980,999,989,kettle|dripper|scale|coffee filter|table,5
|
| 199 |
+
197,985,1004,994,kettle|dripper|scale|coffee filter|table|glass carafe|coffee scale|coffee dripper|white mug|bottle,10
|
| 200 |
+
198,990,1009,999,kettle|dripper|scale|coffee filter|table|glass carafe|coffee scale|coffee dripper|white mug|bottle,10
|
| 201 |
+
199,995,1014,1004,kettle|dripper|scale|coffee filter|table|glass carafe|coffee scale|coffee dripper|white mug|bottle,10
|
| 202 |
+
200,1000,1019,1009,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 203 |
+
201,1005,1024,1014,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 204 |
+
202,1010,1029,1019,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 205 |
+
203,1015,1034,1024,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 206 |
+
204,1020,1039,1029,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 207 |
+
205,1025,1044,1034,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 208 |
+
206,1030,1049,1039,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 209 |
+
207,1035,1054,1044,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 210 |
+
208,1040,1059,1049,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 211 |
+
209,1045,1064,1054,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 212 |
+
210,1050,1069,1059,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 213 |
+
211,1055,1074,1064,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 214 |
+
212,1060,1079,1069,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 215 |
+
213,1065,1084,1074,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 216 |
+
214,1070,1089,1079,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 217 |
+
215,1075,1094,1084,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 218 |
+
216,1080,1099,1089,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 219 |
+
217,1085,1104,1094,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 220 |
+
218,1090,1109,1099,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 221 |
+
219,1095,1114,1104,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 222 |
+
220,1100,1119,1109,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 223 |
+
221,1105,1124,1114,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 224 |
+
222,1110,1129,1119,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 225 |
+
223,1115,1134,1124,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 226 |
+
224,1120,1139,1129,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 227 |
+
225,1125,1144,1134,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 228 |
+
226,1130,1149,1139,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 229 |
+
227,1135,1154,1144,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 230 |
+
228,1140,1159,1149,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 231 |
+
229,1145,1164,1154,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 232 |
+
230,1150,1169,1159,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 233 |
+
231,1155,1174,1164,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 234 |
+
232,1160,1179,1169,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 235 |
+
233,1165,1184,1174,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 236 |
+
234,1170,1189,1179,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 237 |
+
235,1175,1194,1184,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 238 |
+
236,1180,1199,1189,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 239 |
+
237,1185,1204,1194,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 240 |
+
238,1190,1209,1199,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 241 |
+
239,1195,1214,1204,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 242 |
+
240,1200,1219,1209,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 243 |
+
241,1205,1224,1214,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 244 |
+
242,1210,1229,1219,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 245 |
+
243,1215,1234,1224,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 246 |
+
244,1220,1239,1229,glass carafe|coffee scale|coffee dripper|white mug|bottle,5
|
| 247 |
+
245,1225,1244,1234,glass carafe|coffee scale|coffee dripper|white mug|bottle|wooden scoop,6
|
| 248 |
+
246,1230,1249,1239,glass carafe|coffee scale|coffee dripper|white mug|bottle|wooden scoop,6
|
| 249 |
+
247,1235,1254,1244,glass carafe|coffee scale|coffee dripper|white mug|bottle|wooden scoop,6
|
| 250 |
+
248,1240,1259,1249,glass carafe|wooden scoop,2
|
| 251 |
+
249,1245,1264,1254,glass carafe|wooden scoop,2
|
| 252 |
+
250,1250,1269,1259,glass carafe|wooden scoop,2
|
| 253 |
+
251,1255,1274,1264,glass carafe|wooden scoop,2
|
| 254 |
+
252,1260,1279,1269,glass carafe|wooden scoop,2
|
| 255 |
+
253,1265,1284,1274,glass carafe|wooden scoop,2
|
| 256 |
+
254,1270,1289,1279,glass carafe|wooden scoop,2
|
| 257 |
+
255,1275,1294,1284,glass carafe|wooden scoop,2
|
| 258 |
+
256,1280,1299,1289,glass carafe|wooden scoop,2
|
| 259 |
+
257,1285,1304,1294,glass carafe|wooden scoop,2
|
| 260 |
+
258,1290,1309,1299,glass carafe|wooden scoop,2
|
| 261 |
+
259,1295,1314,1304,glass carafe|wooden scoop,2
|
| 262 |
+
260,1300,1319,1309,glass carafe|wooden scoop,2
|
| 263 |
+
261,1305,1324,1314,glass carafe|wooden scoop,2
|
| 264 |
+
262,1310,1329,1319,glass carafe|wooden scoop,2
|
| 265 |
+
263,1315,1334,1324,glass carafe|wooden scoop,2
|
| 266 |
+
264,1320,1339,1329,glass carafe|wooden scoop,2
|
| 267 |
+
265,1325,1344,1334,glass carafe|wooden scoop,2
|
| 268 |
+
266,1330,1349,1339,glass carafe|wooden scoop,2
|
| 269 |
+
267,1335,1354,1344,glass carafe|wooden scoop,2
|
| 270 |
+
268,1340,1359,1349,glass carafe|wooden scoop,2
|
| 271 |
+
269,1345,1364,1354,glass carafe|wooden scoop,2
|
| 272 |
+
270,1350,1369,1359,glass carafe|wooden scoop,2
|
| 273 |
+
271,1355,1374,1364,glass carafe|wooden scoop,2
|
| 274 |
+
272,1360,1379,1369,glass carafe|wooden scoop,2
|
| 275 |
+
273,1365,1384,1374,glass carafe|wooden scoop,2
|
| 276 |
+
274,1370,1389,1379,glass carafe|wooden scoop,2
|
| 277 |
+
275,1375,1394,1384,glass carafe|wooden scoop,2
|
| 278 |
+
276,1380,1399,1389,glass carafe|wooden scoop,2
|
| 279 |
+
277,1385,1404,1394,glass carafe|wooden scoop|coffee jar|coffee scoop|dripper,5
|
| 280 |
+
278,1390,1409,1399,glass carafe|wooden scoop|coffee jar|coffee scoop|dripper,5
|
| 281 |
+
279,1395,1414,1404,glass carafe|wooden scoop|coffee jar|coffee scoop|dripper,5
|
| 282 |
+
280,1400,1419,1409,coffee jar|coffee scoop|dripper,3
|
| 283 |
+
281,1405,1424,1414,coffee jar|coffee scoop|dripper,3
|
| 284 |
+
282,1410,1429,1419,coffee jar|coffee scoop|dripper,3
|
| 285 |
+
283,1415,1434,1424,coffee jar|coffee scoop|dripper,3
|
| 286 |
+
284,1420,1439,1429,coffee jar|coffee scoop|dripper,3
|
| 287 |
+
285,1425,1444,1434,coffee jar|coffee scoop|dripper,3
|
| 288 |
+
286,1430,1449,1439,coffee jar|coffee scoop|dripper,3
|
| 289 |
+
287,1435,1454,1444,coffee jar|coffee scoop|dripper,3
|
| 290 |
+
288,1440,1459,1449,coffee jar|coffee scoop|dripper,3
|
| 291 |
+
289,1445,1464,1454,coffee jar|coffee scoop|dripper,3
|
| 292 |
+
290,1450,1469,1459,coffee jar|coffee scoop|dripper,3
|
| 293 |
+
291,1455,1474,1464,coffee jar|coffee scoop|dripper,3
|
| 294 |
+
292,1460,1479,1469,coffee jar|coffee scoop|dripper,3
|
| 295 |
+
293,1465,1484,1474,coffee jar|coffee scoop|dripper,3
|
| 296 |
+
294,1470,1489,1479,coffee jar|coffee scoop|dripper,3
|
| 297 |
+
295,1475,1494,1484,coffee jar|coffee scoop|dripper,3
|
| 298 |
+
296,1480,1499,1489,coffee jar|coffee scoop,2
|
| 299 |
+
297,1485,1504,1494,coffee jar|coffee scoop,2
|
| 300 |
+
298,1490,1509,1499,coffee jar|coffee scoop,2
|
| 301 |
+
299,1495,1514,1504,coffee jar|coffee scoop,2
|
| 302 |
+
300,1500,1519,1509,coffee jar|coffee scoop,2
|
| 303 |
+
301,1505,1524,1514,coffee jar|coffee scoop,2
|
| 304 |
+
302,1510,1529,1519,coffee jar|coffee scoop,2
|
| 305 |
+
303,1515,1534,1524,coffee jar|coffee scoop,2
|
| 306 |
+
304,1520,1539,1529,coffee jar|coffee scoop,2
|
| 307 |
+
305,1525,1544,1534,coffee jar|coffee scoop,2
|
| 308 |
+
306,1530,1549,1539,coffee jar|coffee scoop,2
|
| 309 |
+
307,1535,1554,1544,coffee jar|coffee scoop,2
|
| 310 |
+
308,1540,1559,1549,coffee jar|coffee scoop,2
|
| 311 |
+
309,1545,1564,1554,coffee jar|coffee scoop,2
|
| 312 |
+
310,1550,1569,1559,coffee jar|coffee scoop,2
|
| 313 |
+
311,1555,1574,1564,coffee jar|coffee scoop,2
|
| 314 |
+
312,1560,1579,1569,coffee jar|coffee scoop,2
|
| 315 |
+
313,1565,1584,1574,coffee jar|coffee scoop,2
|
| 316 |
+
314,1570,1589,1579,coffee jar|coffee scoop,2
|
| 317 |
+
315,1575,1594,1584,coffee jar|coffee scoop,2
|
| 318 |
+
316,1580,1599,1589,coffee jar|coffee scoop,2
|
| 319 |
+
317,1585,1604,1594,coffee jar|coffee scoop|dripper,3
|
| 320 |
+
318,1590,1609,1599,coffee jar|coffee scoop|dripper,3
|
| 321 |
+
319,1595,1614,1604,coffee jar|coffee scoop|dripper,3
|
| 322 |
+
320,1600,1619,1609,coffee scoop|dripper,2
|
| 323 |
+
321,1605,1624,1614,coffee scoop|dripper,2
|
| 324 |
+
322,1610,1629,1619,coffee scoop|dripper,2
|
| 325 |
+
323,1615,1634,1624,coffee scoop|dripper,2
|
| 326 |
+
324,1620,1639,1629,coffee scoop|dripper,2
|
| 327 |
+
325,1625,1644,1634,coffee scoop|dripper,2
|
| 328 |
+
326,1630,1649,1639,coffee scoop|dripper,2
|
| 329 |
+
327,1635,1654,1644,coffee scoop|dripper,2
|
| 330 |
+
328,1640,1659,1649,coffee scoop|dripper,2
|
| 331 |
+
329,1645,1664,1654,coffee scoop|dripper,2
|
| 332 |
+
330,1650,1669,1659,coffee scoop|dripper,2
|
| 333 |
+
331,1655,1674,1664,coffee scoop|dripper,2
|
| 334 |
+
332,1660,1679,1669,coffee scoop|dripper,2
|
| 335 |
+
333,1665,1684,1674,coffee scoop|dripper,2
|
| 336 |
+
334,1670,1689,1679,coffee scoop|dripper,2
|
| 337 |
+
335,1675,1694,1684,coffee scoop|dripper,2
|
| 338 |
+
336,1680,1699,1689,coffee scoop|dripper,2
|
| 339 |
+
337,1685,1704,1694,coffee scoop|dripper,2
|
| 340 |
+
338,1690,1709,1699,coffee scoop|dripper,2
|
| 341 |
+
339,1695,1714,1704,coffee scoop|dripper,2
|
| 342 |
+
340,1700,1719,1709,coffee scoop|dripper,2
|
| 343 |
+
341,1705,1724,1714,coffee scoop|dripper,2
|
| 344 |
+
342,1710,1729,1719,coffee scoop|dripper,2
|
| 345 |
+
343,1715,1734,1724,coffee scoop|dripper,2
|
| 346 |
+
344,1720,1739,1729,coffee scoop|dripper,2
|
| 347 |
+
345,1725,1744,1734,coffee scoop|dripper,2
|
| 348 |
+
346,1730,1749,1739,coffee scoop|dripper,2
|
| 349 |
+
347,1735,1754,1744,coffee scoop|dripper,2
|
| 350 |
+
348,1740,1759,1749,coffee scoop|dripper,2
|
| 351 |
+
349,1745,1764,1754,coffee scoop|dripper,2
|
| 352 |
+
350,1750,1769,1759,coffee scoop|dripper,2
|
| 353 |
+
351,1755,1774,1764,coffee scoop|dripper,2
|
| 354 |
+
352,1760,1779,1769,coffee scoop|dripper,2
|
| 355 |
+
353,1765,1784,1774,coffee scoop|dripper,2
|
| 356 |
+
354,1770,1789,1779,coffee scoop|dripper,2
|
| 357 |
+
355,1775,1794,1784,coffee scoop|dripper,2
|
| 358 |
+
356,1780,1799,1789,coffee scoop|dripper,2
|
| 359 |
+
357,1785,1804,1794,coffee scoop|dripper|coffee container|lid|scale,5
|
| 360 |
+
358,1790,1809,1799,coffee scoop|dripper|coffee container|lid|scale,5
|
| 361 |
+
359,1795,1814,1804,coffee scoop|dripper|coffee container|lid|scale,5
|
| 362 |
+
360,1800,1819,1809,coffee container|lid|coffee scoop|dripper|scale,5
|
| 363 |
+
361,1805,1824,1814,coffee container|lid|coffee scoop|dripper|scale,5
|
| 364 |
+
362,1810,1829,1819,coffee container|lid|coffee scoop|dripper|scale,5
|
| 365 |
+
363,1815,1834,1824,coffee container|lid|coffee scoop|dripper|scale,5
|
| 366 |
+
364,1820,1839,1829,coffee container|lid|coffee scoop|dripper|scale,5
|
| 367 |
+
365,1825,1844,1834,coffee container|lid|coffee scoop|dripper|scale,5
|
| 368 |
+
366,1830,1849,1839,coffee container|lid|coffee scoop|dripper|scale,5
|
| 369 |
+
367,1835,1854,1844,coffee container|lid|coffee scoop|dripper|scale,5
|
| 370 |
+
368,1840,1859,1849,coffee container|lid|coffee scoop|dripper|scale,5
|
| 371 |
+
369,1845,1864,1854,coffee container|lid|coffee scoop|dripper|scale,5
|
| 372 |
+
370,1850,1869,1859,coffee container|lid|coffee scoop|dripper|scale,5
|
| 373 |
+
371,1855,1874,1864,coffee container|lid|coffee scoop|dripper|scale,5
|
| 374 |
+
372,1860,1879,1869,coffee container|lid|coffee scoop|dripper|scale,5
|
| 375 |
+
373,1865,1884,1874,coffee container|lid|coffee scoop|dripper|scale,5
|
| 376 |
+
374,1870,1889,1879,coffee container|lid|coffee scoop|dripper|scale,5
|
| 377 |
+
375,1875,1894,1884,coffee container|lid|coffee scoop|dripper|scale,5
|
| 378 |
+
376,1880,1899,1889,coffee container|lid|coffee scoop|dripper|scale,5
|
| 379 |
+
377,1885,1904,1894,coffee container|lid|coffee scoop|dripper|scale,5
|
| 380 |
+
378,1890,1909,1899,coffee container|lid|coffee scoop|dripper|scale,5
|
| 381 |
+
379,1895,1914,1904,coffee container|lid|coffee scoop|dripper|scale,5
|
| 382 |
+
380,1900,1919,1909,coffee container|lid|coffee scoop|dripper|scale,5
|
| 383 |
+
381,1905,1924,1914,coffee container|lid|coffee scoop|dripper|scale,5
|
| 384 |
+
382,1910,1929,1919,coffee container|lid|coffee scoop|dripper|scale,5
|
| 385 |
+
383,1915,1934,1924,coffee container|lid|coffee scoop|dripper|scale,5
|
| 386 |
+
384,1920,1939,1929,coffee container|lid|coffee scoop|dripper|scale,5
|
| 387 |
+
385,1925,1944,1934,coffee container|lid|coffee scoop|dripper|scale,5
|
| 388 |
+
386,1930,1949,1939,coffee container|lid|coffee scoop|dripper|scale,5
|
| 389 |
+
387,1935,1954,1944,coffee container|lid|coffee scoop|dripper|scale,5
|
| 390 |
+
388,1940,1959,1949,coffee container|lid|coffee scoop|dripper|scale,5
|
| 391 |
+
389,1945,1964,1954,coffee container|lid|coffee scoop|dripper|scale|closed coffee container,6
|
| 392 |
+
390,1950,1969,1959,coffee container|lid|coffee scoop|dripper|scale|closed coffee container,6
|
| 393 |
+
391,1955,1974,1964,coffee container|lid|coffee scoop|dripper|scale|closed coffee container,6
|
| 394 |
+
392,1960,1979,1969,closed coffee container|dripper|scale,3
|
| 395 |
+
393,1965,1984,1974,closed coffee container|dripper|scale,3
|
| 396 |
+
394,1970,1989,1979,closed coffee container|dripper|scale,3
|
| 397 |
+
395,1975,1994,1984,closed coffee container|dripper|scale,3
|
| 398 |
+
396,1980,1999,1989,closed coffee container|dripper|scale,3
|
| 399 |
+
397,1985,2004,1994,closed coffee container|dripper|scale|gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,8
|
| 400 |
+
398,1990,2009,1999,closed coffee container|dripper|scale|gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,8
|
| 401 |
+
399,1995,2014,2004,closed coffee container|dripper|scale|gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,8
|
| 402 |
+
400,2000,2019,2009,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 403 |
+
401,2005,2024,2014,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 404 |
+
402,2010,2029,2019,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 405 |
+
403,2015,2034,2024,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 406 |
+
404,2020,2039,2029,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 407 |
+
405,2025,2044,2034,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 408 |
+
406,2030,2049,2039,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 409 |
+
407,2035,2054,2044,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 410 |
+
408,2040,2059,2049,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 411 |
+
409,2045,2064,2054,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 412 |
+
410,2050,2069,2059,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 413 |
+
411,2055,2074,2064,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 414 |
+
412,2060,2079,2069,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 415 |
+
413,2065,2084,2074,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 416 |
+
414,2070,2089,2079,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 417 |
+
415,2075,2094,2084,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 418 |
+
416,2080,2099,2089,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 419 |
+
417,2085,2104,2094,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 420 |
+
418,2090,2109,2099,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 421 |
+
419,2095,2114,2104,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 422 |
+
420,2100,2119,2109,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 423 |
+
421,2105,2124,2114,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 424 |
+
422,2110,2129,2119,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 425 |
+
423,2115,2134,2124,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 426 |
+
424,2120,2139,2129,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 427 |
+
425,2125,2144,2134,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 428 |
+
426,2130,2149,2139,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 429 |
+
427,2135,2154,2144,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 430 |
+
428,2140,2159,2149,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 431 |
+
429,2145,2164,2154,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 432 |
+
430,2150,2169,2159,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 433 |
+
431,2155,2174,2164,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 434 |
+
432,2160,2179,2169,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 435 |
+
433,2165,2184,2174,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 436 |
+
434,2170,2189,2179,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 437 |
+
435,2175,2194,2184,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 438 |
+
436,2180,2199,2189,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 439 |
+
437,2185,2204,2194,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 440 |
+
438,2190,2209,2199,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 441 |
+
439,2195,2214,2204,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 442 |
+
440,2200,2219,2209,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 443 |
+
441,2205,2224,2214,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 444 |
+
442,2210,2229,2219,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 445 |
+
443,2215,2234,2224,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 446 |
+
444,2220,2239,2229,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 447 |
+
445,2225,2244,2234,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 448 |
+
446,2230,2249,2239,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 449 |
+
447,2235,2254,2244,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 450 |
+
448,2240,2259,2249,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 451 |
+
449,2245,2264,2254,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 452 |
+
450,2250,2269,2259,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 453 |
+
451,2255,2274,2264,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 454 |
+
452,2260,2279,2269,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 455 |
+
453,2265,2284,2274,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 456 |
+
454,2270,2289,2279,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 457 |
+
455,2275,2294,2284,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 458 |
+
456,2280,2299,2289,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 459 |
+
457,2285,2304,2294,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 460 |
+
458,2290,2309,2299,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 461 |
+
459,2295,2314,2304,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 462 |
+
460,2300,2319,2309,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 463 |
+
461,2305,2324,2314,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 464 |
+
462,2310,2329,2319,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 465 |
+
463,2315,2334,2324,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 466 |
+
464,2320,2339,2329,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 467 |
+
465,2325,2344,2334,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 468 |
+
466,2330,2349,2339,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 469 |
+
467,2335,2354,2344,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 470 |
+
468,2340,2359,2349,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 471 |
+
469,2345,2364,2354,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 472 |
+
470,2350,2369,2359,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 473 |
+
471,2355,2374,2364,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 474 |
+
472,2360,2379,2369,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 475 |
+
473,2365,2384,2374,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 476 |
+
474,2370,2389,2379,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 477 |
+
475,2375,2394,2384,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 478 |
+
476,2380,2399,2389,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug,5
|
| 479 |
+
477,2385,2404,2394,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug|scale|mug,7
|
| 480 |
+
478,2390,2409,2399,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug|scale|mug,7
|
| 481 |
+
479,2395,2414,2404,gooseneck kettle|coffee dripper|digital scale|water bottle|coffee mug|scale|mug,7
|
| 482 |
+
480,2400,2419,2409,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 483 |
+
481,2405,2424,2414,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 484 |
+
482,2410,2429,2419,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 485 |
+
483,2415,2434,2424,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 486 |
+
484,2420,2439,2429,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 487 |
+
485,2425,2444,2434,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 488 |
+
486,2430,2449,2439,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 489 |
+
487,2435,2454,2444,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 490 |
+
488,2440,2459,2449,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 491 |
+
489,2445,2464,2454,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 492 |
+
490,2450,2469,2459,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 493 |
+
491,2455,2474,2464,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 494 |
+
492,2460,2479,2469,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 495 |
+
493,2465,2484,2474,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 496 |
+
494,2470,2489,2479,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 497 |
+
495,2475,2494,2484,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 498 |
+
496,2480,2499,2489,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 499 |
+
497,2485,2504,2494,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 500 |
+
498,2490,2509,2499,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 501 |
+
499,2495,2514,2504,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 502 |
+
500,2500,2519,2509,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 503 |
+
501,2505,2524,2514,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 504 |
+
502,2510,2529,2519,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 505 |
+
503,2515,2534,2524,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 506 |
+
504,2520,2539,2529,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 507 |
+
505,2525,2544,2534,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 508 |
+
506,2530,2549,2539,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 509 |
+
507,2535,2554,2544,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 510 |
+
508,2540,2559,2549,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 511 |
+
509,2545,2564,2554,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 512 |
+
510,2550,2569,2559,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 513 |
+
511,2555,2574,2564,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 514 |
+
512,2560,2579,2569,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 515 |
+
513,2565,2584,2574,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 516 |
+
514,2570,2589,2579,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 517 |
+
515,2575,2594,2584,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 518 |
+
516,2580,2599,2589,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 519 |
+
517,2585,2604,2594,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 520 |
+
518,2590,2609,2599,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 521 |
+
519,2595,2614,2604,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 522 |
+
520,2600,2619,2609,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 523 |
+
521,2605,2624,2614,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 524 |
+
522,2610,2629,2619,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 525 |
+
523,2615,2634,2624,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 526 |
+
524,2620,2639,2629,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 527 |
+
525,2625,2644,2634,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 528 |
+
526,2630,2649,2639,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 529 |
+
527,2635,2654,2644,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 530 |
+
528,2640,2659,2649,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 531 |
+
529,2645,2664,2654,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 532 |
+
530,2650,2669,2659,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 533 |
+
531,2655,2674,2664,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 534 |
+
532,2660,2679,2669,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 535 |
+
533,2665,2684,2674,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 536 |
+
534,2670,2689,2679,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 537 |
+
535,2675,2694,2684,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 538 |
+
536,2680,2699,2689,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 539 |
+
537,2685,2704,2694,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 540 |
+
538,2690,2709,2699,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 541 |
+
539,2695,2714,2704,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 542 |
+
540,2700,2719,2709,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 543 |
+
541,2705,2724,2714,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 544 |
+
542,2710,2729,2719,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 545 |
+
543,2715,2734,2724,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 546 |
+
544,2720,2739,2729,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 547 |
+
545,2725,2744,2734,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 548 |
+
546,2730,2749,2739,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 549 |
+
547,2735,2754,2744,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 550 |
+
548,2740,2759,2749,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 551 |
+
549,2745,2764,2754,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 552 |
+
550,2750,2769,2759,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 553 |
+
551,2755,2774,2764,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 554 |
+
552,2760,2779,2769,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 555 |
+
553,2765,2784,2774,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 556 |
+
554,2770,2789,2779,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 557 |
+
555,2775,2794,2784,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 558 |
+
556,2780,2799,2789,gooseneck kettle|coffee dripper|scale|mug|water bottle,5
|
| 559 |
+
557,2785,2804,2794,gooseneck kettle|coffee dripper|scale|mug|water bottle|white cup,6
|
| 560 |
+
558,2790,2809,2799,gooseneck kettle|coffee dripper|scale|mug|water bottle|white cup,6
|
| 561 |
+
559,2795,2814,2804,gooseneck kettle|coffee dripper|scale|mug|water bottle|white cup,6
|
| 562 |
+
560,2800,2819,2809,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 563 |
+
561,2805,2824,2814,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 564 |
+
562,2810,2829,2819,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 565 |
+
563,2815,2834,2824,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 566 |
+
564,2820,2839,2829,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 567 |
+
565,2825,2844,2834,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 568 |
+
566,2830,2849,2839,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 569 |
+
567,2835,2854,2844,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 570 |
+
568,2840,2859,2849,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 571 |
+
569,2845,2864,2854,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 572 |
+
570,2850,2869,2859,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 573 |
+
571,2855,2874,2864,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 574 |
+
572,2860,2879,2869,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 575 |
+
573,2865,2884,2874,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 576 |
+
574,2870,2889,2879,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 577 |
+
575,2875,2894,2884,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 578 |
+
576,2880,2899,2889,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 579 |
+
577,2885,2904,2894,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 580 |
+
578,2890,2909,2899,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 581 |
+
579,2895,2914,2904,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 582 |
+
580,2900,2919,2909,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 583 |
+
581,2905,2924,2914,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 584 |
+
582,2910,2929,2919,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 585 |
+
583,2915,2934,2924,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 586 |
+
584,2920,2939,2929,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 587 |
+
585,2925,2944,2934,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 588 |
+
586,2930,2949,2939,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 589 |
+
587,2935,2954,2944,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 590 |
+
588,2940,2959,2949,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 591 |
+
589,2945,2964,2954,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 592 |
+
590,2950,2969,2959,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 593 |
+
591,2955,2974,2964,gooseneck kettle|coffee dripper|scale|water bottle|white cup,5
|
| 594 |
+
592,2960,2979,2969,gooseneck kettle|coffee dripper|scale,3
|
| 595 |
+
593,2965,2984,2974,gooseneck kettle|coffee dripper|scale,3
|
| 596 |
+
594,2970,2989,2979,gooseneck kettle|coffee dripper|scale,3
|
| 597 |
+
595,2975,2994,2984,gooseneck kettle|coffee dripper|scale,3
|
| 598 |
+
596,2980,2999,2989,gooseneck kettle|coffee dripper|scale,3
|
| 599 |
+
597,2985,3004,2994,gooseneck kettle|coffee dripper|scale|digital scale|white mug,5
|
| 600 |
+
598,2990,3009,2999,gooseneck kettle|coffee dripper|scale|digital scale|white mug,5
|
| 601 |
+
599,2995,3014,3004,gooseneck kettle|coffee dripper|scale|digital scale|white mug,5
|
| 602 |
+
600,3000,3019,3009,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 603 |
+
601,3005,3024,3014,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 604 |
+
602,3010,3029,3019,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 605 |
+
603,3015,3034,3024,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 606 |
+
604,3020,3039,3029,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 607 |
+
605,3025,3044,3034,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 608 |
+
606,3030,3049,3039,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 609 |
+
607,3035,3054,3044,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 610 |
+
608,3040,3059,3049,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 611 |
+
609,3045,3064,3054,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 612 |
+
610,3050,3069,3059,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 613 |
+
611,3055,3074,3064,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 614 |
+
612,3060,3079,3069,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 615 |
+
613,3065,3084,3074,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 616 |
+
614,3070,3089,3079,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 617 |
+
615,3075,3094,3084,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 618 |
+
616,3080,3099,3089,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 619 |
+
617,3085,3104,3094,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 620 |
+
618,3090,3109,3099,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 621 |
+
619,3095,3114,3104,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 622 |
+
620,3100,3119,3109,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 623 |
+
621,3105,3124,3114,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 624 |
+
622,3110,3129,3119,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 625 |
+
623,3115,3134,3124,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 626 |
+
624,3120,3139,3129,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 627 |
+
625,3125,3144,3134,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 628 |
+
626,3130,3149,3139,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 629 |
+
627,3135,3154,3144,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 630 |
+
628,3140,3159,3149,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 631 |
+
629,3145,3164,3154,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 632 |
+
630,3150,3169,3159,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 633 |
+
631,3155,3174,3164,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 634 |
+
632,3160,3179,3169,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 635 |
+
633,3165,3184,3174,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 636 |
+
634,3170,3189,3179,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 637 |
+
635,3175,3194,3184,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 638 |
+
636,3180,3199,3189,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 639 |
+
637,3185,3204,3194,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 640 |
+
638,3190,3209,3199,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 641 |
+
639,3195,3214,3204,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 642 |
+
640,3200,3219,3209,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 643 |
+
641,3205,3224,3214,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 644 |
+
642,3210,3229,3219,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 645 |
+
643,3215,3234,3224,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 646 |
+
644,3220,3239,3229,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 647 |
+
645,3225,3244,3234,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 648 |
+
646,3230,3249,3239,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 649 |
+
647,3235,3254,3244,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 650 |
+
648,3240,3259,3249,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 651 |
+
649,3245,3264,3254,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 652 |
+
650,3250,3269,3259,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 653 |
+
651,3255,3274,3264,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 654 |
+
652,3260,3279,3269,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 655 |
+
653,3265,3284,3274,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 656 |
+
654,3270,3289,3279,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 657 |
+
655,3275,3294,3284,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 658 |
+
656,3280,3299,3289,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 659 |
+
657,3285,3304,3294,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 660 |
+
658,3290,3309,3299,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 661 |
+
659,3295,3314,3304,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 662 |
+
660,3300,3319,3309,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 663 |
+
661,3305,3324,3314,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 664 |
+
662,3310,3329,3319,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 665 |
+
663,3315,3334,3324,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 666 |
+
664,3320,3339,3329,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 667 |
+
665,3325,3344,3334,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 668 |
+
666,3330,3349,3339,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 669 |
+
667,3335,3354,3344,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 670 |
+
668,3340,3359,3349,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 671 |
+
669,3345,3364,3354,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 672 |
+
670,3350,3369,3359,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 673 |
+
671,3355,3374,3364,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 674 |
+
672,3360,3379,3369,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 675 |
+
673,3365,3384,3374,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 676 |
+
674,3370,3389,3379,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 677 |
+
675,3375,3394,3384,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 678 |
+
676,3380,3399,3389,gooseneck kettle|coffee dripper|digital scale|white mug,4
|
| 679 |
+
677,3385,3404,3394,gooseneck kettle|coffee dripper|digital scale|white mug|scale|white bottle,6
|
| 680 |
+
678,3390,3409,3399,gooseneck kettle|coffee dripper|digital scale|white mug|scale|white bottle,6
|
| 681 |
+
679,3395,3414,3404,gooseneck kettle|coffee dripper|digital scale|white mug|scale|white bottle,6
|
| 682 |
+
680,3400,3419,3409,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 683 |
+
681,3405,3424,3414,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 684 |
+
682,3410,3429,3419,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 685 |
+
683,3415,3434,3424,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 686 |
+
684,3420,3439,3429,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 687 |
+
685,3425,3444,3434,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 688 |
+
686,3430,3449,3439,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 689 |
+
687,3435,3454,3444,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 690 |
+
688,3440,3459,3449,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 691 |
+
689,3445,3464,3454,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 692 |
+
690,3450,3469,3459,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 693 |
+
691,3455,3474,3464,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 694 |
+
692,3460,3479,3469,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 695 |
+
693,3465,3484,3474,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 696 |
+
694,3470,3489,3479,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 697 |
+
695,3475,3494,3484,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 698 |
+
696,3480,3499,3489,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 699 |
+
697,3485,3504,3494,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 700 |
+
698,3490,3509,3499,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 701 |
+
699,3495,3514,3504,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 702 |
+
700,3500,3519,3509,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 703 |
+
701,3505,3524,3514,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 704 |
+
702,3510,3529,3519,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 705 |
+
703,3515,3534,3524,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 706 |
+
704,3520,3539,3529,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 707 |
+
705,3525,3544,3534,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 708 |
+
706,3530,3549,3539,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 709 |
+
707,3535,3554,3544,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 710 |
+
708,3540,3559,3549,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 711 |
+
709,3545,3564,3554,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 712 |
+
710,3550,3569,3559,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 713 |
+
711,3555,3574,3564,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 714 |
+
712,3560,3579,3569,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 715 |
+
713,3565,3584,3574,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 716 |
+
714,3570,3589,3579,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 717 |
+
715,3575,3594,3584,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 718 |
+
716,3580,3599,3589,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 719 |
+
717,3585,3604,3594,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 720 |
+
718,3590,3609,3599,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 721 |
+
719,3595,3614,3604,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 722 |
+
720,3600,3619,3609,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 723 |
+
721,3605,3624,3614,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 724 |
+
722,3610,3629,3619,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 725 |
+
723,3615,3634,3624,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 726 |
+
724,3620,3639,3629,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 727 |
+
725,3625,3644,3634,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 728 |
+
726,3630,3649,3639,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 729 |
+
727,3635,3654,3644,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 730 |
+
728,3640,3659,3649,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 731 |
+
729,3645,3664,3654,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 732 |
+
730,3650,3669,3659,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 733 |
+
731,3655,3674,3664,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 734 |
+
732,3660,3679,3669,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 735 |
+
733,3665,3684,3674,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 736 |
+
734,3670,3689,3679,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 737 |
+
735,3675,3694,3684,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 738 |
+
736,3680,3699,3689,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 739 |
+
737,3685,3704,3694,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 740 |
+
738,3690,3709,3699,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 741 |
+
739,3695,3714,3704,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 742 |
+
740,3700,3719,3709,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 743 |
+
741,3705,3724,3714,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 744 |
+
742,3710,3729,3719,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 745 |
+
743,3715,3734,3724,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 746 |
+
744,3720,3739,3729,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 747 |
+
745,3725,3744,3734,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 748 |
+
746,3730,3749,3739,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 749 |
+
747,3735,3754,3744,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 750 |
+
748,3740,3759,3749,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 751 |
+
749,3745,3764,3754,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 752 |
+
750,3750,3769,3759,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 753 |
+
751,3755,3774,3764,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 754 |
+
752,3760,3779,3769,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 755 |
+
753,3765,3784,3774,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 756 |
+
754,3770,3789,3779,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 757 |
+
755,3775,3794,3784,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 758 |
+
756,3780,3799,3789,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 759 |
+
757,3785,3804,3794,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 760 |
+
758,3790,3809,3799,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 761 |
+
759,3795,3814,3804,gooseneck kettle|coffee dripper|scale|white bottle,4
|
| 762 |
+
760,3800,3819,3809,white bottle|coffee dripper|scale,3
|
| 763 |
+
761,3805,3824,3814,white bottle|coffee dripper|scale,3
|
| 764 |
+
762,3810,3829,3819,white bottle|coffee dripper|scale,3
|
| 765 |
+
763,3815,3834,3824,white bottle|coffee dripper|scale,3
|
| 766 |
+
764,3820,3839,3829,white bottle|coffee dripper|scale,3
|
| 767 |
+
765,3825,3844,3834,white bottle|coffee dripper|scale,3
|
| 768 |
+
766,3830,3849,3839,white bottle|coffee dripper|scale,3
|
| 769 |
+
767,3835,3854,3844,white bottle|coffee dripper|scale,3
|
| 770 |
+
768,3840,3859,3849,white bottle|coffee dripper|scale,3
|
| 771 |
+
769,3845,3864,3854,white bottle|coffee dripper|scale,3
|
| 772 |
+
770,3850,3869,3859,white bottle|coffee dripper|scale,3
|
| 773 |
+
771,3855,3874,3864,white bottle|coffee dripper|scale,3
|
| 774 |
+
772,3860,3879,3869,white bottle|coffee dripper|scale,3
|
| 775 |
+
773,3865,3884,3874,white bottle|coffee dripper|scale,3
|
| 776 |
+
774,3870,3889,3879,white bottle|coffee dripper|scale,3
|
| 777 |
+
775,3875,3894,3884,white bottle|coffee dripper|scale,3
|
| 778 |
+
776,3880,3899,3889,white bottle|coffee dripper|scale,3
|
| 779 |
+
777,3885,3904,3894,white bottle|coffee dripper|scale,3
|
| 780 |
+
778,3890,3909,3899,white bottle|coffee dripper|scale,3
|
| 781 |
+
779,3895,3914,3904,white bottle|coffee dripper|scale,3
|
| 782 |
+
780,3900,3919,3909,white bottle|coffee dripper|scale,3
|
| 783 |
+
781,3905,3924,3914,white bottle|coffee dripper|scale,3
|
| 784 |
+
782,3910,3929,3919,white bottle|coffee dripper|scale,3
|
| 785 |
+
783,3915,3934,3924,white bottle|coffee dripper|scale,3
|
| 786 |
+
784,3920,3939,3929,white bottle,1
|
| 787 |
+
785,3925,3944,3934,white bottle,1
|
| 788 |
+
786,3930,3949,3939,white bottle,1
|
| 789 |
+
787,3935,3954,3944,white bottle,1
|
| 790 |
+
788,3940,3959,3949,white bottle,1
|
| 791 |
+
789,3945,3964,3954,white bottle,1
|
| 792 |
+
790,3950,3969,3959,white bottle,1
|
| 793 |
+
791,3955,3974,3964,white bottle,1
|
| 794 |
+
792,3960,3979,3969,white bottle,1
|
| 795 |
+
793,3965,3984,3974,white bottle,1
|
| 796 |
+
794,3970,3989,3979,white bottle,1
|
| 797 |
+
795,3975,3994,3984,white bottle,1
|
| 798 |
+
796,3980,3999,3989,white bottle,1
|
| 799 |
+
797,3985,4004,3994,white bottle|coffee dripper|scale|mug,4
|
| 800 |
+
798,3990,4009,3999,white bottle|coffee dripper|scale|mug,4
|
| 801 |
+
799,3995,4014,4004,white bottle|coffee dripper|scale|mug,4
|
| 802 |
+
800,4000,4019,4009,white bottle|coffee dripper|scale|mug,4
|
| 803 |
+
801,4005,4024,4014,white bottle|coffee dripper|scale|mug,4
|
| 804 |
+
802,4010,4029,4019,white bottle|coffee dripper|scale|mug,4
|
| 805 |
+
803,4015,4034,4024,white bottle|coffee dripper|scale|mug,4
|
| 806 |
+
804,4020,4039,4029,white bottle|coffee dripper|scale|mug,4
|
| 807 |
+
805,4025,4044,4034,white bottle|coffee dripper|scale|mug,4
|
| 808 |
+
806,4030,4049,4039,white bottle|coffee dripper|scale|mug,4
|
| 809 |
+
807,4035,4054,4044,white bottle|coffee dripper|scale|mug,4
|
| 810 |
+
808,4040,4059,4049,white bottle|coffee dripper|scale|mug,4
|
| 811 |
+
809,4045,4064,4054,white bottle|coffee dripper|scale|mug,4
|
| 812 |
+
810,4050,4069,4059,white bottle|coffee dripper|scale|mug,4
|
| 813 |
+
811,4055,4074,4064,white bottle|coffee dripper|scale|mug,4
|
| 814 |
+
812,4060,4079,4069,white bottle|coffee dripper|scale|mug,4
|
| 815 |
+
813,4065,4084,4074,white bottle|coffee dripper|scale|mug,4
|
| 816 |
+
814,4070,4089,4079,white bottle|coffee dripper|scale|mug,4
|
| 817 |
+
815,4075,4094,4084,white bottle|coffee dripper|scale|mug,4
|
| 818 |
+
816,4080,4099,4089,white bottle|coffee dripper|scale|mug,4
|
| 819 |
+
817,4085,4104,4094,white bottle|coffee dripper|scale|mug,4
|
| 820 |
+
818,4090,4109,4099,white bottle|coffee dripper|scale|mug,4
|
| 821 |
+
819,4095,4114,4104,white bottle|coffee dripper|scale|mug,4
|
| 822 |
+
820,4100,4119,4109,white bottle|coffee dripper|scale|mug,4
|
| 823 |
+
821,4105,4124,4114,white bottle|coffee dripper|scale|mug,4
|
| 824 |
+
822,4110,4129,4119,white bottle|coffee dripper|scale|mug,4
|
| 825 |
+
823,4115,4134,4124,white bottle|coffee dripper|scale|mug,4
|
| 826 |
+
824,4120,4139,4129,white bottle|coffee dripper|scale,3
|
| 827 |
+
825,4125,4144,4134,white bottle|coffee dripper|scale,3
|
| 828 |
+
826,4130,4149,4139,white bottle|coffee dripper|scale,3
|
| 829 |
+
827,4135,4154,4144,white bottle|coffee dripper|scale,3
|
| 830 |
+
828,4140,4159,4149,white bottle|coffee dripper|scale,3
|
| 831 |
+
829,4145,4164,4154,white bottle|coffee dripper|scale,3
|
| 832 |
+
830,4150,4169,4159,white bottle|coffee dripper|scale,3
|
| 833 |
+
831,4155,4174,4164,white bottle|coffee dripper|scale,3
|
| 834 |
+
832,4160,4179,4169,white bottle|coffee dripper|scale,3
|
| 835 |
+
833,4165,4184,4174,white bottle|coffee dripper|scale,3
|
| 836 |
+
834,4170,4189,4179,white bottle|coffee dripper|scale,3
|
| 837 |
+
835,4175,4194,4184,white bottle|coffee dripper|scale,3
|
| 838 |
+
836,4180,4199,4189,white bottle|coffee dripper|scale,3
|
| 839 |
+
837,4185,4204,4194,white bottle|coffee dripper|scale,3
|
| 840 |
+
838,4190,4209,4199,white bottle|coffee dripper|scale,3
|
| 841 |
+
839,4195,4214,4204,white bottle|coffee dripper|scale,3
|
| 842 |
+
840,4200,4219,4209,white bottle|coffee dripper|scale,3
|
| 843 |
+
841,4205,4224,4214,white bottle|coffee dripper|scale,3
|
| 844 |
+
842,4210,4229,4219,white bottle|coffee dripper|scale,3
|
| 845 |
+
843,4215,4234,4224,white bottle|coffee dripper|scale,3
|
| 846 |
+
844,4220,4239,4229,white bottle|coffee dripper|scale,3
|
| 847 |
+
845,4225,4244,4234,white bottle|coffee dripper|scale,3
|
| 848 |
+
846,4230,4249,4239,white bottle|coffee dripper|scale,3
|
| 849 |
+
847,4235,4254,4244,white bottle|coffee dripper|scale,3
|
| 850 |
+
848,4240,4259,4249,white bottle|coffee dripper|scale,3
|
| 851 |
+
849,4245,4264,4254,white bottle|coffee dripper|scale,3
|
| 852 |
+
850,4250,4269,4259,white bottle|coffee dripper|scale,3
|
| 853 |
+
851,4255,4274,4264,white bottle|coffee dripper|scale,3
|
| 854 |
+
852,4260,4279,4269,white bottle|coffee dripper|scale,3
|
| 855 |
+
853,4265,4284,4274,white bottle|coffee dripper|scale,3
|
| 856 |
+
854,4270,4289,4279,white bottle|coffee dripper|scale,3
|
| 857 |
+
855,4275,4294,4284,white bottle|coffee dripper|scale,3
|
| 858 |
+
856,4280,4299,4289,white bottle|coffee dripper|scale,3
|
| 859 |
+
857,4285,4304,4294,white bottle|coffee dripper|scale,3
|
| 860 |
+
858,4290,4309,4299,white bottle|coffee dripper|scale,3
|
| 861 |
+
859,4295,4314,4304,white bottle|coffee dripper|scale,3
|
| 862 |
+
860,4300,4319,4309,white bottle|coffee dripper|scale,3
|
| 863 |
+
861,4305,4324,4314,white bottle|coffee dripper|scale,3
|
| 864 |
+
862,4310,4329,4319,white bottle|coffee dripper|scale,3
|
| 865 |
+
863,4315,4334,4324,white bottle|coffee dripper|scale,3
|
| 866 |
+
864,4320,4339,4329,white bottle|coffee dripper|scale,3
|
| 867 |
+
865,4325,4344,4334,white bottle|coffee dripper|scale,3
|
| 868 |
+
866,4330,4349,4339,white bottle|coffee dripper|scale,3
|
| 869 |
+
867,4335,4354,4344,white bottle|coffee dripper|scale,3
|
| 870 |
+
868,4340,4359,4349,white bottle|coffee dripper|scale,3
|
| 871 |
+
869,4345,4364,4354,white bottle|coffee dripper|scale,3
|
| 872 |
+
870,4350,4369,4359,white bottle|coffee dripper|scale,3
|
| 873 |
+
871,4355,4374,4364,white bottle|coffee dripper|scale,3
|
| 874 |
+
872,4360,4379,4369,white bottle|coffee dripper|scale,3
|
| 875 |
+
873,4365,4384,4374,white bottle|coffee dripper|scale,3
|
| 876 |
+
874,4370,4389,4379,white bottle|coffee dripper|scale,3
|
| 877 |
+
875,4375,4394,4384,white bottle|coffee dripper|scale,3
|
| 878 |
+
876,4380,4399,4389,white bottle|coffee dripper|scale,3
|
| 879 |
+
877,4385,4404,4394,white bottle|coffee dripper|scale|coffee equipment|small bottle|white mug|weighing scale,7
|
| 880 |
+
878,4390,4409,4399,white bottle|coffee dripper|scale|coffee equipment|small bottle|white mug|weighing scale,7
|
| 881 |
+
879,4395,4414,4404,white bottle|coffee dripper|scale|coffee equipment|small bottle|white mug|weighing scale,7
|
| 882 |
+
880,4400,4419,4409,coffee equipment|small bottle|white mug|weighing scale,4
|
| 883 |
+
881,4405,4424,4414,coffee equipment|small bottle|white mug|weighing scale,4
|
| 884 |
+
882,4410,4429,4419,coffee equipment|small bottle|white mug|weighing scale,4
|
| 885 |
+
883,4415,4434,4424,coffee equipment|small bottle|white mug|weighing scale,4
|
| 886 |
+
884,4420,4439,4429,coffee equipment|small bottle|white mug|weighing scale,4
|
| 887 |
+
885,4425,4444,4434,coffee equipment|small bottle|white mug|weighing scale,4
|
| 888 |
+
886,4430,4449,4439,coffee equipment|small bottle|white mug|weighing scale,4
|
| 889 |
+
887,4435,4454,4444,coffee equipment|small bottle|white mug|weighing scale,4
|
| 890 |
+
888,4440,4459,4449,coffee equipment|small bottle|white mug|weighing scale,4
|
| 891 |
+
889,4445,4464,4454,coffee equipment|small bottle|white mug|weighing scale,4
|
| 892 |
+
890,4450,4469,4459,coffee equipment|small bottle|white mug|weighing scale,4
|
| 893 |
+
891,4455,4474,4464,coffee equipment|small bottle|white mug|weighing scale,4
|
| 894 |
+
892,4460,4479,4469,coffee equipment|small bottle|white mug|weighing scale,4
|
| 895 |
+
893,4465,4484,4474,coffee equipment|small bottle|white mug|weighing scale,4
|
| 896 |
+
894,4470,4489,4479,coffee equipment|small bottle|white mug|weighing scale,4
|
| 897 |
+
895,4475,4494,4484,coffee equipment|small bottle|white mug|weighing scale,4
|
| 898 |
+
896,4480,4499,4489,coffee equipment|small bottle|white mug|weighing scale,4
|
| 899 |
+
897,4485,4504,4494,coffee equipment|small bottle|white mug|weighing scale,4
|
| 900 |
+
898,4490,4509,4499,coffee equipment|small bottle|white mug|weighing scale,4
|
| 901 |
+
899,4495,4514,4504,coffee equipment|small bottle|white mug|weighing scale,4
|
| 902 |
+
900,4500,4519,4509,coffee equipment|small bottle|white mug|weighing scale,4
|
| 903 |
+
901,4505,4524,4514,coffee equipment|small bottle|white mug|weighing scale,4
|
| 904 |
+
902,4510,4529,4519,coffee equipment|small bottle|white mug|weighing scale,4
|
| 905 |
+
903,4515,4534,4524,coffee equipment|small bottle|white mug|weighing scale,4
|
| 906 |
+
904,4520,4539,4529,coffee equipment|small bottle|white mug|weighing scale,4
|
| 907 |
+
905,4525,4544,4534,coffee equipment|small bottle|white mug|weighing scale,4
|
| 908 |
+
906,4530,4549,4539,coffee equipment|small bottle|white mug|weighing scale,4
|
| 909 |
+
907,4535,4554,4544,coffee equipment|small bottle|white mug|weighing scale,4
|
| 910 |
+
908,4540,4559,4549,coffee equipment|small bottle|white mug|weighing scale,4
|
| 911 |
+
909,4545,4564,4554,coffee equipment|small bottle|white mug|weighing scale,4
|
| 912 |
+
910,4550,4569,4559,coffee equipment|small bottle|white mug|weighing scale,4
|
| 913 |
+
911,4555,4574,4564,coffee equipment|small bottle|white mug|weighing scale,4
|
| 914 |
+
912,4560,4579,4569,coffee equipment|small bottle|white mug|weighing scale,4
|
| 915 |
+
913,4565,4584,4574,coffee equipment|small bottle|white mug|weighing scale,4
|
| 916 |
+
914,4570,4589,4579,coffee equipment|small bottle|white mug|weighing scale,4
|
| 917 |
+
915,4575,4594,4584,coffee equipment|small bottle|white mug|weighing scale,4
|
| 918 |
+
916,4580,4599,4589,coffee equipment|small bottle|white mug|weighing scale,4
|
| 919 |
+
917,4585,4604,4594,coffee equipment|small bottle|white mug|weighing scale,4
|
| 920 |
+
918,4590,4609,4599,coffee equipment|small bottle|white mug|weighing scale,4
|
| 921 |
+
919,4595,4614,4604,coffee equipment|small bottle|white mug|weighing scale,4
|
| 922 |
+
920,4600,4619,4609,coffee equipment|small bottle|white mug|weighing scale,4
|
| 923 |
+
921,4605,4624,4614,coffee equipment|small bottle|white mug|weighing scale,4
|
| 924 |
+
922,4610,4629,4619,coffee equipment|small bottle|white mug|weighing scale,4
|
| 925 |
+
923,4615,4634,4624,coffee equipment|small bottle|white mug|weighing scale,4
|
| 926 |
+
924,4620,4639,4629,coffee equipment|small bottle|white mug|weighing scale,4
|
| 927 |
+
925,4625,4644,4634,coffee equipment|small bottle|white mug|weighing scale,4
|
| 928 |
+
926,4630,4649,4639,coffee equipment|small bottle|white mug|weighing scale,4
|
| 929 |
+
927,4635,4654,4644,coffee equipment|small bottle|white mug|weighing scale,4
|
| 930 |
+
928,4640,4659,4649,coffee equipment|small bottle|white mug|weighing scale,4
|
| 931 |
+
929,4645,4664,4654,coffee equipment|small bottle|white mug|weighing scale,4
|
| 932 |
+
930,4650,4669,4659,coffee equipment|small bottle|white mug|weighing scale,4
|
| 933 |
+
931,4655,4674,4664,coffee equipment|small bottle|white mug|weighing scale,4
|
| 934 |
+
932,4660,4679,4669,coffee equipment|small bottle|white mug|weighing scale,4
|
| 935 |
+
933,4665,4684,4674,coffee equipment|small bottle|white mug|weighing scale,4
|
| 936 |
+
934,4670,4689,4679,coffee equipment|small bottle|white mug|weighing scale,4
|
| 937 |
+
935,4675,4694,4684,coffee equipment|small bottle|white mug|weighing scale,4
|
| 938 |
+
936,4680,4699,4689,coffee equipment|small bottle|white mug|weighing scale,4
|
| 939 |
+
937,4685,4704,4694,coffee equipment|small bottle|white mug|weighing scale,4
|
| 940 |
+
938,4690,4709,4699,coffee equipment|small bottle|white mug|weighing scale,4
|
| 941 |
+
939,4695,4714,4704,coffee equipment|small bottle|white mug|weighing scale,4
|
| 942 |
+
940,4700,4719,4709,coffee equipment|small bottle|white mug|weighing scale,4
|
| 943 |
+
941,4705,4724,4714,coffee equipment|small bottle|white mug|weighing scale,4
|
| 944 |
+
942,4710,4729,4719,coffee equipment|small bottle|white mug|weighing scale,4
|
| 945 |
+
943,4715,4734,4724,coffee equipment|small bottle|white mug|weighing scale,4
|
| 946 |
+
944,4720,4739,4729,coffee equipment|small bottle|white mug|weighing scale,4
|
| 947 |
+
945,4725,4744,4734,coffee equipment|small bottle|white mug|weighing scale,4
|
| 948 |
+
946,4730,4749,4739,coffee equipment|small bottle|white mug|weighing scale,4
|
| 949 |
+
947,4735,4754,4744,coffee equipment|small bottle|white mug|weighing scale,4
|
| 950 |
+
948,4740,4759,4749,coffee equipment|small bottle|white mug|weighing scale,4
|
| 951 |
+
949,4745,4764,4754,coffee equipment|small bottle|white mug|weighing scale,4
|
| 952 |
+
950,4750,4769,4759,coffee equipment|small bottle|white mug|weighing scale,4
|
| 953 |
+
951,4755,4774,4764,coffee equipment|small bottle|white mug|weighing scale,4
|
| 954 |
+
952,4760,4779,4769,coffee equipment|small bottle|white mug|weighing scale,4
|
| 955 |
+
953,4765,4784,4774,coffee equipment|small bottle|white mug|weighing scale,4
|
| 956 |
+
954,4770,4789,4779,coffee equipment|small bottle|white mug|weighing scale,4
|
| 957 |
+
955,4775,4794,4784,coffee equipment|small bottle|white mug|weighing scale,4
|
| 958 |
+
956,4780,4799,4789,coffee equipment|small bottle|white mug|weighing scale,4
|
| 959 |
+
957,4785,4804,4794,coffee equipment|small bottle|white mug|weighing scale|white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,9
|
| 960 |
+
958,4790,4809,4799,coffee equipment|small bottle|white mug|weighing scale|white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,9
|
| 961 |
+
959,4795,4814,4804,coffee equipment|small bottle|white mug|weighing scale|white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,9
|
| 962 |
+
960,4800,4819,4809,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 963 |
+
961,4805,4824,4814,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 964 |
+
962,4810,4829,4819,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 965 |
+
963,4815,4834,4824,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 966 |
+
964,4820,4839,4829,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 967 |
+
965,4825,4844,4834,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 968 |
+
966,4830,4849,4839,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 969 |
+
967,4835,4854,4844,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 970 |
+
968,4840,4859,4849,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 971 |
+
969,4845,4864,4854,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 972 |
+
970,4850,4869,4859,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 973 |
+
971,4855,4874,4864,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 974 |
+
972,4860,4879,4869,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 975 |
+
973,4865,4884,4874,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 976 |
+
974,4870,4889,4879,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 977 |
+
975,4875,4894,4884,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 978 |
+
976,4880,4899,4889,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 979 |
+
977,4885,4904,4894,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 980 |
+
978,4890,4909,4899,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 981 |
+
979,4895,4914,4904,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 982 |
+
980,4900,4919,4909,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 983 |
+
981,4905,4924,4914,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 984 |
+
982,4910,4929,4919,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 985 |
+
983,4915,4934,4924,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 986 |
+
984,4920,4939,4929,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 987 |
+
985,4925,4944,4934,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 988 |
+
986,4930,4949,4939,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 989 |
+
987,4935,4954,4944,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 990 |
+
988,4940,4959,4949,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 991 |
+
989,4945,4964,4954,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 992 |
+
990,4950,4969,4959,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 993 |
+
991,4955,4974,4964,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 994 |
+
992,4960,4979,4969,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 995 |
+
993,4965,4984,4974,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 996 |
+
994,4970,4989,4979,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 997 |
+
995,4975,4994,4984,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 998 |
+
996,4980,4999,4989,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe,5
|
| 999 |
+
997,4985,5004,4994,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe|carafe|coffee mug|scale,8
|
| 1000 |
+
998,4990,5009,4999,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe|carafe|coffee mug|scale,8
|
| 1001 |
+
999,4995,5014,5004,white coffee cup|digital scale with dripper|water bottle|metal pitcher|glass carafe|carafe|coffee mug|scale,8
|
| 1002 |
+
1000,5000,5019,5009,carafe|coffee mug|scale,3
|
| 1003 |
+
1001,5005,5024,5014,carafe|coffee mug|scale,3
|
| 1004 |
+
1002,5010,5029,5019,carafe|coffee mug|scale,3
|
| 1005 |
+
1003,5015,5034,5024,carafe|coffee mug|scale,3
|
| 1006 |
+
1004,5020,5039,5029,carafe|coffee mug|scale,3
|
| 1007 |
+
1005,5025,5044,5034,carafe|coffee mug|scale,3
|
| 1008 |
+
1006,5030,5049,5039,carafe|coffee mug|scale,3
|
| 1009 |
+
1007,5035,5054,5044,carafe|coffee mug|scale,3
|
| 1010 |
+
1008,5040,5059,5049,carafe|coffee mug|scale,3
|
| 1011 |
+
1009,5045,5064,5054,carafe|coffee mug|scale,3
|
| 1012 |
+
1010,5050,5069,5059,carafe|coffee mug|scale,3
|
| 1013 |
+
1011,5055,5074,5064,carafe|coffee mug|scale,3
|
| 1014 |
+
1012,5060,5079,5069,carafe|coffee mug|scale,3
|
| 1015 |
+
1013,5065,5084,5074,carafe|coffee mug|scale,3
|
| 1016 |
+
1014,5070,5089,5079,carafe|coffee mug|scale,3
|
| 1017 |
+
1015,5075,5094,5084,carafe|coffee mug|scale,3
|
| 1018 |
+
1016,5080,5099,5089,carafe|coffee mug|scale,3
|
| 1019 |
+
1017,5085,5104,5094,carafe|coffee mug|scale,3
|
| 1020 |
+
1018,5090,5109,5099,carafe|coffee mug|scale,3
|
| 1021 |
+
1019,5095,5114,5104,carafe|coffee mug|scale,3
|
| 1022 |
+
1020,5100,5119,5109,carafe|coffee mug|scale,3
|
| 1023 |
+
1021,5105,5124,5114,carafe|coffee mug|scale,3
|
| 1024 |
+
1022,5110,5129,5119,carafe|coffee mug|scale,3
|
| 1025 |
+
1023,5115,5134,5124,carafe|coffee mug|scale,3
|
| 1026 |
+
1024,5120,5139,5129,carafe|coffee mug|scale,3
|
| 1027 |
+
1025,5125,5144,5134,carafe|coffee mug|scale,3
|
| 1028 |
+
1026,5130,5149,5139,carafe|coffee mug|scale,3
|
| 1029 |
+
1027,5135,5154,5144,carafe|coffee mug|scale,3
|
| 1030 |
+
1028,5140,5159,5149,carafe|coffee mug|scale,3
|
| 1031 |
+
1029,5145,5164,5154,carafe|coffee mug|scale,3
|
| 1032 |
+
1030,5150,5169,5159,carafe|coffee mug|scale,3
|
| 1033 |
+
1031,5155,5174,5164,carafe|coffee mug|scale,3
|
| 1034 |
+
1032,5160,5179,5169,carafe|coffee mug|scale,3
|
| 1035 |
+
1033,5165,5184,5174,carafe|coffee mug|scale,3
|
| 1036 |
+
1034,5170,5189,5179,carafe|coffee mug|scale,3
|
| 1037 |
+
1035,5175,5194,5184,carafe|coffee mug|scale,3
|
| 1038 |
+
1036,5180,5199,5189,carafe|coffee mug|scale,3
|
| 1039 |
+
1037,5185,5204,5194,carafe|coffee mug|scale,3
|
| 1040 |
+
1038,5190,5209,5199,carafe|coffee mug|scale,3
|
| 1041 |
+
1039,5195,5214,5204,carafe|coffee mug|scale,3
|
| 1042 |
+
1040,5200,5219,5209,carafe|coffee mug|scale,3
|
| 1043 |
+
1041,5205,5224,5214,carafe|coffee mug|scale,3
|
| 1044 |
+
1042,5210,5229,5219,carafe|coffee mug|scale,3
|
| 1045 |
+
1043,5215,5234,5224,carafe|coffee mug|scale,3
|
| 1046 |
+
1044,5220,5239,5229,carafe|coffee mug|scale,3
|
| 1047 |
+
1045,5225,5244,5234,carafe|coffee mug|scale,3
|
| 1048 |
+
1046,5230,5249,5239,carafe|coffee mug|scale,3
|
| 1049 |
+
1047,5235,5254,5244,carafe|coffee mug|scale,3
|
| 1050 |
+
1048,5240,5259,5249,carafe|coffee mug|scale,3
|
| 1051 |
+
1049,5245,5264,5254,carafe|coffee mug|scale,3
|
| 1052 |
+
1050,5250,5269,5259,carafe|coffee mug|scale,3
|
| 1053 |
+
1051,5255,5274,5264,carafe|coffee mug|scale,3
|
| 1054 |
+
1052,5260,5279,5269,carafe|coffee mug|scale,3
|
| 1055 |
+
1053,5265,5284,5274,carafe|coffee mug|scale,3
|
| 1056 |
+
1054,5270,5289,5279,carafe|coffee mug|scale,3
|
| 1057 |
+
1055,5275,5294,5284,carafe|coffee mug|scale,3
|
| 1058 |
+
1056,5280,5299,5289,carafe|coffee mug|scale,3
|
| 1059 |
+
1057,5285,5304,5294,carafe|coffee mug|scale,3
|
| 1060 |
+
1058,5290,5309,5299,carafe|coffee mug|scale,3
|
| 1061 |
+
1059,5295,5314,5304,carafe|coffee mug|scale,3
|
| 1062 |
+
1060,5300,5319,5309,carafe|coffee mug|scale,3
|
| 1063 |
+
1061,5305,5324,5314,carafe|coffee mug|scale,3
|
| 1064 |
+
1062,5310,5329,5319,carafe|coffee mug|scale,3
|
| 1065 |
+
1063,5315,5334,5324,carafe|coffee mug|scale,3
|
| 1066 |
+
1064,5320,5339,5329,carafe|coffee mug|scale,3
|
| 1067 |
+
1065,5325,5344,5334,carafe|coffee mug|scale,3
|
| 1068 |
+
1066,5330,5349,5339,carafe|coffee mug|scale,3
|
| 1069 |
+
1067,5335,5354,5344,carafe|coffee mug|scale,3
|
| 1070 |
+
1068,5340,5359,5349,carafe|coffee mug|scale,3
|
| 1071 |
+
1069,5345,5364,5354,carafe|coffee mug|scale,3
|
| 1072 |
+
1070,5350,5369,5359,carafe|coffee mug|scale,3
|
| 1073 |
+
1071,5355,5374,5364,carafe|coffee mug|scale,3
|
| 1074 |
+
1072,5360,5379,5369,carafe|coffee mug|scale,3
|
| 1075 |
+
1073,5365,5384,5374,carafe|coffee mug|scale,3
|
| 1076 |
+
1074,5370,5389,5379,carafe|coffee mug|scale,3
|
| 1077 |
+
1075,5375,5394,5384,carafe|coffee mug|scale,3
|
| 1078 |
+
1076,5380,5399,5389,carafe|coffee mug|scale,3
|
| 1079 |
+
1077,5385,5404,5394,carafe|coffee mug|scale|milk pitcher|coffee cup|digital scale|bottle,7
|
| 1080 |
+
1078,5390,5409,5399,carafe|coffee mug|scale|milk pitcher|coffee cup|digital scale|bottle,7
|
| 1081 |
+
1079,5395,5414,5404,carafe|coffee mug|scale|milk pitcher|coffee cup|digital scale|bottle,7
|
| 1082 |
+
1080,5400,5419,5409,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1083 |
+
1081,5405,5424,5414,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1084 |
+
1082,5410,5429,5419,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1085 |
+
1083,5415,5434,5424,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1086 |
+
1084,5420,5439,5429,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1087 |
+
1085,5425,5444,5434,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1088 |
+
1086,5430,5449,5439,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1089 |
+
1087,5435,5454,5444,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1090 |
+
1088,5440,5459,5449,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1091 |
+
1089,5445,5464,5454,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1092 |
+
1090,5450,5469,5459,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1093 |
+
1091,5455,5474,5464,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1094 |
+
1092,5460,5479,5469,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1095 |
+
1093,5465,5484,5474,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1096 |
+
1094,5470,5489,5479,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1097 |
+
1095,5475,5494,5484,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1098 |
+
1096,5480,5499,5489,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1099 |
+
1097,5485,5504,5494,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1100 |
+
1098,5490,5509,5499,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1101 |
+
1099,5495,5514,5504,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1102 |
+
1100,5500,5519,5509,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1103 |
+
1101,5505,5524,5514,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1104 |
+
1102,5510,5529,5519,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1105 |
+
1103,5515,5534,5524,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1106 |
+
1104,5520,5539,5529,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1107 |
+
1105,5525,5544,5534,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1108 |
+
1106,5530,5549,5539,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1109 |
+
1107,5535,5554,5544,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1110 |
+
1108,5540,5559,5549,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1111 |
+
1109,5545,5564,5554,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1112 |
+
1110,5550,5569,5559,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1113 |
+
1111,5555,5574,5564,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1114 |
+
1112,5560,5579,5569,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1115 |
+
1113,5565,5584,5574,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1116 |
+
1114,5570,5589,5579,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1117 |
+
1115,5575,5594,5584,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1118 |
+
1116,5580,5599,5589,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1119 |
+
1117,5585,5604,5594,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1120 |
+
1118,5590,5609,5599,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1121 |
+
1119,5595,5614,5604,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1122 |
+
1120,5600,5619,5609,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1123 |
+
1121,5605,5624,5614,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1124 |
+
1122,5610,5629,5619,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1125 |
+
1123,5615,5634,5624,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1126 |
+
1124,5620,5639,5629,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1127 |
+
1125,5625,5644,5634,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1128 |
+
1126,5630,5649,5639,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1129 |
+
1127,5635,5654,5644,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1130 |
+
1128,5640,5659,5649,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1131 |
+
1129,5645,5664,5654,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1132 |
+
1130,5650,5669,5659,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1133 |
+
1131,5655,5674,5664,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1134 |
+
1132,5660,5679,5669,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1135 |
+
1133,5665,5684,5674,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1136 |
+
1134,5670,5689,5679,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1137 |
+
1135,5675,5694,5684,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1138 |
+
1136,5680,5699,5689,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1139 |
+
1137,5685,5704,5694,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1140 |
+
1138,5690,5709,5699,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1141 |
+
1139,5695,5714,5704,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1142 |
+
1140,5700,5719,5709,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1143 |
+
1141,5705,5724,5714,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1144 |
+
1142,5710,5729,5719,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1145 |
+
1143,5715,5734,5724,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1146 |
+
1144,5720,5739,5729,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1147 |
+
1145,5725,5744,5734,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1148 |
+
1146,5730,5749,5739,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1149 |
+
1147,5735,5754,5744,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1150 |
+
1148,5740,5759,5749,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1151 |
+
1149,5745,5764,5754,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1152 |
+
1150,5750,5769,5759,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1153 |
+
1151,5755,5774,5764,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1154 |
+
1152,5760,5779,5769,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1155 |
+
1153,5765,5784,5774,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1156 |
+
1154,5770,5789,5779,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1157 |
+
1155,5775,5794,5784,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1158 |
+
1156,5780,5799,5789,milk pitcher|coffee cup|digital scale|bottle,4
|
| 1159 |
+
1157,5785,5804,5794,milk pitcher|coffee cup|digital scale|bottle|coffee mug|stainless steel milk pitcher|table|milk bottle,8
|
| 1160 |
+
1158,5790,5809,5799,milk pitcher|coffee cup|digital scale|bottle|coffee mug|stainless steel milk pitcher|table|milk bottle,8
|
| 1161 |
+
1159,5795,5814,5804,milk pitcher|coffee cup|digital scale|bottle|coffee mug|stainless steel milk pitcher|table|milk bottle,8
|
| 1162 |
+
1160,5800,5819,5809,coffee mug|stainless steel milk pitcher|table|milk bottle|digital scale,5
|
results/single_episode_diagnostics/provenance.json
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"artifact_policy": "Only existing local artifacts are consumed. Missing labels/tasks are marked not_computed instead of filled.",
|
| 3 |
+
"source_suite_dir": "results/episode_task_suite",
|
| 4 |
+
"output_dir": "results/single_episode_diagnostics",
|
| 5 |
+
"shared_windows_shape": [
|
| 6 |
+
1161,
|
| 7 |
+
8378
|
| 8 |
+
],
|
| 9 |
+
"starts_first_last": [
|
| 10 |
+
0,
|
| 11 |
+
5800
|
| 12 |
+
],
|
| 13 |
+
"ends_first_last": [
|
| 14 |
+
19,
|
| 15 |
+
5819
|
| 16 |
+
],
|
| 17 |
+
"feature_blocks": [
|
| 18 |
+
{
|
| 19 |
+
"name": "hand_left_joints",
|
| 20 |
+
"start": 0,
|
| 21 |
+
"end": 441,
|
| 22 |
+
"dim": 441
|
| 23 |
+
},
|
| 24 |
+
{
|
| 25 |
+
"name": "hand_right_joints",
|
| 26 |
+
"start": 441,
|
| 27 |
+
"end": 882,
|
| 28 |
+
"dim": 441
|
| 29 |
+
},
|
| 30 |
+
{
|
| 31 |
+
"name": "body_joints",
|
| 32 |
+
"start": 882,
|
| 33 |
+
"end": 1974,
|
| 34 |
+
"dim": 1092
|
| 35 |
+
},
|
| 36 |
+
{
|
| 37 |
+
"name": "body_contacts",
|
| 38 |
+
"start": 1974,
|
| 39 |
+
"end": 2121,
|
| 40 |
+
"dim": 147
|
| 41 |
+
},
|
| 42 |
+
{
|
| 43 |
+
"name": "camera_translation",
|
| 44 |
+
"start": 2121,
|
| 45 |
+
"end": 2142,
|
| 46 |
+
"dim": 21
|
| 47 |
+
},
|
| 48 |
+
{
|
| 49 |
+
"name": "camera_rotation_matrix",
|
| 50 |
+
"start": 2142,
|
| 51 |
+
"end": 2205,
|
| 52 |
+
"dim": 63
|
| 53 |
+
},
|
| 54 |
+
{
|
| 55 |
+
"name": "imu_accel_gyro",
|
| 56 |
+
"start": 2205,
|
| 57 |
+
"end": 2247,
|
| 58 |
+
"dim": 42
|
| 59 |
+
},
|
| 60 |
+
{
|
| 61 |
+
"name": "depth_confidence",
|
| 62 |
+
"start": 2247,
|
| 63 |
+
"end": 3227,
|
| 64 |
+
"dim": 980
|
| 65 |
+
},
|
| 66 |
+
{
|
| 67 |
+
"name": "video_fisheye_cam0",
|
| 68 |
+
"start": 3227,
|
| 69 |
+
"end": 3913,
|
| 70 |
+
"dim": 686
|
| 71 |
+
},
|
| 72 |
+
{
|
| 73 |
+
"name": "video_fisheye_cam1",
|
| 74 |
+
"start": 3913,
|
| 75 |
+
"end": 4599,
|
| 76 |
+
"dim": 686
|
| 77 |
+
},
|
| 78 |
+
{
|
| 79 |
+
"name": "video_fisheye_cam2",
|
| 80 |
+
"start": 4599,
|
| 81 |
+
"end": 5285,
|
| 82 |
+
"dim": 686
|
| 83 |
+
},
|
| 84 |
+
{
|
| 85 |
+
"name": "video_fisheye_cam3",
|
| 86 |
+
"start": 5285,
|
| 87 |
+
"end": 5971,
|
| 88 |
+
"dim": 686
|
| 89 |
+
},
|
| 90 |
+
{
|
| 91 |
+
"name": "video_stereo_left",
|
| 92 |
+
"start": 5971,
|
| 93 |
+
"end": 6657,
|
| 94 |
+
"dim": 686
|
| 95 |
+
},
|
| 96 |
+
{
|
| 97 |
+
"name": "video_stereo_right",
|
| 98 |
+
"start": 6657,
|
| 99 |
+
"end": 7343,
|
| 100 |
+
"dim": 686
|
| 101 |
+
},
|
| 102 |
+
{
|
| 103 |
+
"name": "caption_objects_interaction_text",
|
| 104 |
+
"start": 7343,
|
| 105 |
+
"end": 8239,
|
| 106 |
+
"dim": 896
|
| 107 |
+
},
|
| 108 |
+
{
|
| 109 |
+
"name": "slam_point_cloud",
|
| 110 |
+
"start": 8239,
|
| 111 |
+
"end": 8261,
|
| 112 |
+
"dim": 22
|
| 113 |
+
},
|
| 114 |
+
{
|
| 115 |
+
"name": "calibration",
|
| 116 |
+
"start": 8261,
|
| 117 |
+
"end": 8378,
|
| 118 |
+
"dim": 117
|
| 119 |
+
}
|
| 120 |
+
],
|
| 121 |
+
"summary_report_core": {
|
| 122 |
+
"num_windows": 1161,
|
| 123 |
+
"feature_dim": 8378,
|
| 124 |
+
"window_frames": 20,
|
| 125 |
+
"stride_frames": 5,
|
| 126 |
+
"annotation": "data/sample/xperience-10m-sample/annotation.hdf5"
|
| 127 |
+
},
|
| 128 |
+
"input_file_hashes": {
|
| 129 |
+
"results/episode_task_suite/shared_windows.npz": "72ca8566186080580e7181ae08d5659dd19f2ad55a2a9613f5cee75467e501e6",
|
| 130 |
+
"results/episode_task_suite/windows.csv": "c075e43518a96934b68da97dceb45926c5fd71c846c8df5d94cc1a3d9e250739",
|
| 131 |
+
"results/episode_task_suite/feature_manifest.json": "a6662295f44c325490d3575edb1a0e88585554c57c3988263b78b59bec3970a0",
|
| 132 |
+
"results/episode_task_suite/summary_report.json": "04d2badfaa149cce10e218ea8e13745e620d062e4ec5fa9f209a3ed9926a2ef4",
|
| 133 |
+
"results/episode_task_suite/transition_detection/true_boundaries.csv": "5445144c216666d66e725be8313d7e2954670761a45d234df983acd94f7007f0",
|
| 134 |
+
"results/episode_task_suite/timeline_action/predictions.csv": "0ed609f2b5a2dc47b678a0b5d5fb6fc23d9a1cdd4f88dd85da8d8c9123c5565b",
|
| 135 |
+
"results/episode_task_suite/timeline_subtask/predictions.csv": "f12336affe6b907fc8b4b7655e4a16772e0cffb594789ebfc6a041bd7a251600",
|
| 136 |
+
"results/episode_task_suite/transition_detection/predictions.csv": "601a611bd9abf14bfac69d7fe44785b6567f4972fa6a80cb5d55f47b76c4d18c",
|
| 137 |
+
"results/episode_task_suite/next_action/predictions.csv": "1182cdeafe0282704d8b6a2c482a161d0bd97275a153e53d0501f3371ac61066",
|
| 138 |
+
"results/episode_task_suite/contact_prediction/predictions.csv": "161d7ddc9abc1d9cab08ce733f5f476c686a6a5046e81c9a8a4afbcf8064f43b",
|
| 139 |
+
"results/episode_task_suite/object_relevance/predictions.csv": "cd3a30437de815deafe67ac894e606c6fa87d0cccef15ae76757f9cf7cad5708",
|
| 140 |
+
"external_raw_sample/annotation.hdf5": "4a44b773c92715091c8d70e19f25e41a503160d2d6e7da98b47b99a538f9cad3"
|
| 141 |
+
}
|
| 142 |
+
}
|
results/single_episode_diagnostics/timeline_overlay/TIMELINE_OVERLAY_REPORT.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Timeline Prediction Overlay Report
|
| 2 |
+
|
| 3 |
+
This report aligns existing prediction CSV files to the exported episode timeline. It does not rerun training.
|
| 4 |
+
|
| 5 |
+
## Task-Level Correctness
|
| 6 |
+
|
| 7 |
+
- Current Action Recognition: 10/343 correct (0.0292)
|
| 8 |
+
- Current Subtask Recognition: 20/344 correct (0.0581)
|
| 9 |
+
- Action Transition Detection: 322/348 correct (0.9253)
|
| 10 |
+
- Next-Action Prediction: 12/348 correct (0.0345)
|
| 11 |
+
- Contact State Prediction: 348/348 correct (1.0000)
|
| 12 |
+
- Relevant Object Prediction: 2/348 correct (0.0057)
|
| 13 |
+
|
| 14 |
+
## Files
|
| 15 |
+
|
| 16 |
+
- `timeline_overlay.csv`: prediction rows with frame positions.
|
| 17 |
+
- `timeline_overlay.svg`: visual overlay across the episode.
|
results/single_episode_diagnostics/timeline_overlay/timeline_overlay.csv
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
results/single_episode_diagnostics/timeline_overlay/timeline_overlay.svg
ADDED
|
|
scripts/build_single_episode_explorer.py
ADDED
|
@@ -0,0 +1,565 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""
|
| 3 |
+
Build a static interactive explorer for the single Xperience-10M sample episode.
|
| 4 |
+
|
| 5 |
+
The explorer is generated from committed/exported artifacts only. Raw MP4/HDF5
|
| 6 |
+
files are not embedded or redistributed.
|
| 7 |
+
"""
|
| 8 |
+
|
| 9 |
+
from __future__ import annotations
|
| 10 |
+
|
| 11 |
+
import argparse
|
| 12 |
+
import csv
|
| 13 |
+
import json
|
| 14 |
+
from datetime import datetime, timezone
|
| 15 |
+
from pathlib import Path
|
| 16 |
+
|
| 17 |
+
import numpy as np
|
| 18 |
+
|
| 19 |
+
|
| 20 |
+
TASK_DISPLAY = {
|
| 21 |
+
"timeline_action": "Current Action Recognition",
|
| 22 |
+
"timeline_subtask": "Current Subtask Recognition",
|
| 23 |
+
"transition_detection": "Action Transition Detection",
|
| 24 |
+
"next_action": "Next-Action Prediction",
|
| 25 |
+
"contact_prediction": "Contact State Prediction",
|
| 26 |
+
"object_relevance": "Relevant Object Prediction",
|
| 27 |
+
}
|
| 28 |
+
|
| 29 |
+
|
| 30 |
+
BLOCK_DISPLAY = {
|
| 31 |
+
"hand_left_joints": "Left Hand",
|
| 32 |
+
"hand_right_joints": "Right Hand",
|
| 33 |
+
"body_joints": "Body Joints",
|
| 34 |
+
"body_contacts": "Body Contacts",
|
| 35 |
+
"camera_translation": "Camera Translation",
|
| 36 |
+
"camera_rotation_matrix": "Camera Rotation",
|
| 37 |
+
"imu_accel_gyro": "IMU Accel/Gyro",
|
| 38 |
+
"depth_confidence": "Depth + Confidence",
|
| 39 |
+
"caption_objects_interaction_text": "Language Text",
|
| 40 |
+
"slam_point_cloud": "SLAM Point Cloud",
|
| 41 |
+
"calibration": "Calibration",
|
| 42 |
+
}
|
| 43 |
+
|
| 44 |
+
|
| 45 |
+
def parse_args() -> argparse.Namespace:
|
| 46 |
+
root = Path(__file__).resolve().parents[1]
|
| 47 |
+
parser = argparse.ArgumentParser(description="Build static single-episode explorer page.")
|
| 48 |
+
parser.add_argument("--workspace", type=Path, default=root)
|
| 49 |
+
parser.add_argument("--suite-dir", type=Path, default=root / "results/episode_task_suite")
|
| 50 |
+
parser.add_argument("--diagnostics-dir", type=Path, default=root / "results/single_episode_diagnostics")
|
| 51 |
+
parser.add_argument("--docs-dir", type=Path, default=root / "docs")
|
| 52 |
+
return parser.parse_args()
|
| 53 |
+
|
| 54 |
+
|
| 55 |
+
def read_csv(path: Path) -> list[dict]:
|
| 56 |
+
with path.open(newline="", encoding="utf-8") as fp:
|
| 57 |
+
return list(csv.DictReader(fp))
|
| 58 |
+
|
| 59 |
+
|
| 60 |
+
def read_json(path: Path):
|
| 61 |
+
return json.loads(path.read_text(encoding="utf-8"))
|
| 62 |
+
|
| 63 |
+
|
| 64 |
+
def write_json(path: Path, data: dict) -> None:
|
| 65 |
+
path.parent.mkdir(parents=True, exist_ok=True)
|
| 66 |
+
path.write_text(json.dumps(data, indent=2, ensure_ascii=False), encoding="utf-8")
|
| 67 |
+
|
| 68 |
+
|
| 69 |
+
def block_modality(name: str) -> str:
|
| 70 |
+
if name.startswith("video_"):
|
| 71 |
+
return "video"
|
| 72 |
+
if name.startswith("hand_") or name.startswith("body_"):
|
| 73 |
+
return "motion_capture"
|
| 74 |
+
if name.startswith("camera_") or name in {"slam_point_cloud", "calibration"}:
|
| 75 |
+
return "pose_slam"
|
| 76 |
+
if name.startswith("depth_"):
|
| 77 |
+
return "depth"
|
| 78 |
+
if name.startswith("imu_"):
|
| 79 |
+
return "inertial"
|
| 80 |
+
if name.startswith("caption_"):
|
| 81 |
+
return "language"
|
| 82 |
+
return "other"
|
| 83 |
+
|
| 84 |
+
|
| 85 |
+
def load_predictions(suite_dir: Path) -> dict[str, dict[int, dict]]:
|
| 86 |
+
out: dict[str, dict[int, dict]] = {}
|
| 87 |
+
for task in TASK_DISPLAY:
|
| 88 |
+
path = suite_dir / task / "predictions.csv"
|
| 89 |
+
rows_by_window: dict[int, dict] = {}
|
| 90 |
+
if not path.exists():
|
| 91 |
+
out[task] = rows_by_window
|
| 92 |
+
continue
|
| 93 |
+
for row in read_csv(path):
|
| 94 |
+
if "window_index" not in row:
|
| 95 |
+
continue
|
| 96 |
+
idx = int(row["window_index"])
|
| 97 |
+
true_value = row.get("true_label") or row.get("true_objects") or row.get("true") or ""
|
| 98 |
+
pred_value = row.get("predicted_label") or row.get("predicted_objects") or row.get("predicted") or ""
|
| 99 |
+
if "correct" in row and row["correct"] != "":
|
| 100 |
+
correct = int(float(row["correct"]))
|
| 101 |
+
else:
|
| 102 |
+
correct = int(str(true_value) == str(pred_value))
|
| 103 |
+
rows_by_window[idx] = {
|
| 104 |
+
"true": true_value,
|
| 105 |
+
"predicted": pred_value,
|
| 106 |
+
"correct": correct,
|
| 107 |
+
"confidence": row.get("confidence", ""),
|
| 108 |
+
}
|
| 109 |
+
out[task] = rows_by_window
|
| 110 |
+
return out
|
| 111 |
+
|
| 112 |
+
|
| 113 |
+
def build_action_segments(windows: list[dict]) -> list[dict]:
|
| 114 |
+
segments = []
|
| 115 |
+
if not windows:
|
| 116 |
+
return segments
|
| 117 |
+
current = windows[0]["action_label"]
|
| 118 |
+
start = int(windows[0]["start_frame"])
|
| 119 |
+
start_idx = int(windows[0]["window_index"])
|
| 120 |
+
last = windows[0]
|
| 121 |
+
for row in windows[1:]:
|
| 122 |
+
if row["action_label"] != current:
|
| 123 |
+
segments.append({
|
| 124 |
+
"action": current,
|
| 125 |
+
"start_frame": start,
|
| 126 |
+
"end_frame": int(last["end_frame"]),
|
| 127 |
+
"start_window": start_idx,
|
| 128 |
+
"end_window": int(last["window_index"]),
|
| 129 |
+
})
|
| 130 |
+
current = row["action_label"]
|
| 131 |
+
start = int(row["start_frame"])
|
| 132 |
+
start_idx = int(row["window_index"])
|
| 133 |
+
last = row
|
| 134 |
+
segments.append({
|
| 135 |
+
"action": current,
|
| 136 |
+
"start_frame": start,
|
| 137 |
+
"end_frame": int(last["end_frame"]),
|
| 138 |
+
"start_window": start_idx,
|
| 139 |
+
"end_window": int(last["window_index"]),
|
| 140 |
+
})
|
| 141 |
+
return segments
|
| 142 |
+
|
| 143 |
+
|
| 144 |
+
def build_data(args: argparse.Namespace) -> dict:
|
| 145 |
+
suite_dir = args.suite_dir
|
| 146 |
+
diagnostics_dir = args.diagnostics_dir
|
| 147 |
+
windows = read_csv(suite_dir / "windows.csv")
|
| 148 |
+
manifest = read_json(suite_dir / "feature_manifest.json")
|
| 149 |
+
summary = read_json(suite_dir / "summary_report.json")
|
| 150 |
+
provenance = read_json(diagnostics_dir / "provenance.json")
|
| 151 |
+
object_rows = {int(r["window_index"]): r for r in read_csv(diagnostics_dir / "object_labels/window_object_labels.csv")}
|
| 152 |
+
ablation_rows = read_csv(diagnostics_dir / "modality_ablation/ablation_metrics.csv")
|
| 153 |
+
alignment_rows = read_csv(diagnostics_dir / "alignment_stress/alignment_shift_metrics.csv")
|
| 154 |
+
timeline_rows = read_csv(diagnostics_dir / "timeline_overlay/timeline_overlay.csv")
|
| 155 |
+
predictions = load_predictions(suite_dir)
|
| 156 |
+
X = np.load(suite_dir / "shared_windows.npz")["X"].astype(np.float32)
|
| 157 |
+
|
| 158 |
+
block_stats = {}
|
| 159 |
+
block_meta = []
|
| 160 |
+
for block in manifest:
|
| 161 |
+
name = block["name"]
|
| 162 |
+
start, end = int(block["start"]), int(block["end"])
|
| 163 |
+
values = X[:, start:end]
|
| 164 |
+
l2 = np.linalg.norm(values, axis=1)
|
| 165 |
+
mean_abs = np.mean(np.abs(values), axis=1)
|
| 166 |
+
max_l2 = float(max(l2.max(), 1e-8))
|
| 167 |
+
block_stats[name] = {
|
| 168 |
+
"l2": l2,
|
| 169 |
+
"mean_abs": mean_abs,
|
| 170 |
+
"relative": l2 / max_l2,
|
| 171 |
+
}
|
| 172 |
+
block_meta.append({
|
| 173 |
+
"name": name,
|
| 174 |
+
"display": BLOCK_DISPLAY.get(name, name.replace("_", " ").title()),
|
| 175 |
+
"modality": block_modality(name),
|
| 176 |
+
"start": start,
|
| 177 |
+
"end": end,
|
| 178 |
+
"dim": int(block["dim"]),
|
| 179 |
+
})
|
| 180 |
+
|
| 181 |
+
explorer_windows = []
|
| 182 |
+
for i, row in enumerate(windows):
|
| 183 |
+
idx = int(row["window_index"])
|
| 184 |
+
obj = object_rows.get(idx, {})
|
| 185 |
+
feature_stats = []
|
| 186 |
+
for block in block_meta:
|
| 187 |
+
s = block_stats[block["name"]]
|
| 188 |
+
feature_stats.append({
|
| 189 |
+
"name": block["name"],
|
| 190 |
+
"l2": round(float(s["l2"][i]), 6),
|
| 191 |
+
"mean_abs": round(float(s["mean_abs"][i]), 6),
|
| 192 |
+
"relative": round(float(s["relative"][i]), 6),
|
| 193 |
+
})
|
| 194 |
+
task_predictions = {}
|
| 195 |
+
for task, rows_by_window in predictions.items():
|
| 196 |
+
task_predictions[task] = rows_by_window.get(idx)
|
| 197 |
+
explorer_windows.append({
|
| 198 |
+
"window_index": idx,
|
| 199 |
+
"start_frame": int(row["start_frame"]),
|
| 200 |
+
"end_frame": int(row["end_frame"]),
|
| 201 |
+
"center_frame": int(row["center_frame"]),
|
| 202 |
+
"action": row["action_label"],
|
| 203 |
+
"subtask": row["subtask_label"],
|
| 204 |
+
"objects": [x for x in obj.get("objects", "").split("|") if x],
|
| 205 |
+
"feature_stats": feature_stats,
|
| 206 |
+
"predictions": task_predictions,
|
| 207 |
+
})
|
| 208 |
+
|
| 209 |
+
best_ablation = {}
|
| 210 |
+
for task in sorted({r["task"] for r in ablation_rows}):
|
| 211 |
+
computed = [r for r in ablation_rows if r["task"] == task and r["status"] == "computed" and r["score"]]
|
| 212 |
+
if not computed:
|
| 213 |
+
continue
|
| 214 |
+
best = max(computed, key=lambda r: float(r["score"]))
|
| 215 |
+
non_overlap = [r for r in computed if r.get("target_source_overlap") == "false"]
|
| 216 |
+
best_non_overlap = max(non_overlap, key=lambda r: float(r["score"])) if non_overlap else None
|
| 217 |
+
best_ablation[task] = {
|
| 218 |
+
"best": {
|
| 219 |
+
"modality_group": best["modality_group"],
|
| 220 |
+
"modality_display": best["modality_display"],
|
| 221 |
+
"score": float(best["score"]),
|
| 222 |
+
"primary_metric": best["primary_metric"],
|
| 223 |
+
"target_source_overlap": best["target_source_overlap"],
|
| 224 |
+
},
|
| 225 |
+
"best_non_overlap": None if best_non_overlap is None else {
|
| 226 |
+
"modality_group": best_non_overlap["modality_group"],
|
| 227 |
+
"modality_display": best_non_overlap["modality_display"],
|
| 228 |
+
"score": float(best_non_overlap["score"]),
|
| 229 |
+
"primary_metric": best_non_overlap["primary_metric"],
|
| 230 |
+
},
|
| 231 |
+
}
|
| 232 |
+
|
| 233 |
+
return {
|
| 234 |
+
"meta": {
|
| 235 |
+
"generated_at": datetime.now(timezone.utc).isoformat(),
|
| 236 |
+
"window_count": len(explorer_windows),
|
| 237 |
+
"feature_dim": int(X.shape[1]),
|
| 238 |
+
"object_label_rows": len(object_rows),
|
| 239 |
+
"object_vocab_count": len(read_json(diagnostics_dir / "object_labels/object_vocab.json")["vocab"]),
|
| 240 |
+
"timeline_prediction_rows": len(timeline_rows),
|
| 241 |
+
"source_policy": "Window-level labels, features, predictions, and diagnostics only. Raw Xperience-10M MP4/HDF5/RRD files are not embedded.",
|
| 242 |
+
"annotation_hash_recorded": any("annotation.hdf5" in key for key in provenance["input_file_hashes"]),
|
| 243 |
+
"summary": {
|
| 244 |
+
"num_windows": summary.get("num_windows"),
|
| 245 |
+
"feature_dim": summary.get("feature_dim"),
|
| 246 |
+
"window_frames": summary.get("window_frames"),
|
| 247 |
+
"stride_frames": summary.get("stride_frames"),
|
| 248 |
+
},
|
| 249 |
+
},
|
| 250 |
+
"tasks": TASK_DISPLAY,
|
| 251 |
+
"feature_blocks": block_meta,
|
| 252 |
+
"segments": build_action_segments(windows),
|
| 253 |
+
"windows": explorer_windows,
|
| 254 |
+
"ablation": {
|
| 255 |
+
"best_by_task": best_ablation,
|
| 256 |
+
"rows": ablation_rows,
|
| 257 |
+
},
|
| 258 |
+
"alignment": alignment_rows,
|
| 259 |
+
}
|
| 260 |
+
|
| 261 |
+
|
| 262 |
+
HTML_TEMPLATE = """<!doctype html>
|
| 263 |
+
<html lang="en">
|
| 264 |
+
<head>
|
| 265 |
+
<meta charset="utf-8">
|
| 266 |
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
| 267 |
+
<title>Single-Episode Explorer | Ropedia Xperience-10M</title>
|
| 268 |
+
<meta name="description" content="Interactive window-level explorer for the Ropedia Xperience-10M single-episode diagnostics.">
|
| 269 |
+
<meta name="theme-color" content="#020502">
|
| 270 |
+
<link rel="icon" href="favicon.png" type="image/png" sizes="64x64">
|
| 271 |
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
| 272 |
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
| 273 |
+
<link href="https://fonts.googleapis.com/css2?family=Inter+Tight:wght@500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap" rel="stylesheet">
|
| 274 |
+
<style>
|
| 275 |
+
:root { color-scheme: dark; --page:#020502; --panel:#071207; --surface:#0b1709; --ink:#f4f8ef; --muted:#a7b5a3; --line:rgba(164,242,127,.22); --soft:rgba(164,242,127,.12); --green:#a7f078; --cyan:#7ae5c3; --blue:#9bdfff; --red:#ff8f7a; --amber:#d8f4a5; --font-ui:"Inter Tight",system-ui,sans-serif; --font-copy:"Space Grotesk",system-ui,sans-serif; --max:1400px; }
|
| 276 |
+
* { box-sizing:border-box; }
|
| 277 |
+
body { margin:0; background: radial-gradient(circle at 80% 12%, rgba(164,242,127,.13), transparent 28%), radial-gradient(circle, rgba(164,242,127,.10) 1px, transparent 1.4px), var(--page); background-size:auto,22px 22px,auto; color:var(--ink); font-family:var(--font-copy); line-height:1.5; }
|
| 278 |
+
a { color:inherit; }
|
| 279 |
+
.wrap { width:min(var(--max), calc(100% - 42px)); margin:0 auto; }
|
| 280 |
+
header { position:sticky; top:0; z-index:10; background:rgba(2,5,2,.88); backdrop-filter:blur(16px); border-bottom:1px solid var(--soft); }
|
| 281 |
+
.nav { height:64px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
|
| 282 |
+
.brand { display:flex; gap:11px; align-items:center; text-decoration:none; font-family:var(--font-ui); font-weight:760; }
|
| 283 |
+
.brand img { width:38px; height:38px; border:1px solid rgba(164,242,127,.42); border-radius:8px; background:#061006; }
|
| 284 |
+
.nav-links { display:flex; gap:14px; color:#c9d5c5; font-size:14px; }
|
| 285 |
+
.nav-links a { text-decoration:none; }
|
| 286 |
+
.hero { padding:54px 0 30px; border-bottom:1px solid var(--soft); }
|
| 287 |
+
h1 { max-width:900px; margin:0; font-family:var(--font-ui); font-size:clamp(42px, 6vw, 76px); line-height:.98; letter-spacing:0; }
|
| 288 |
+
.hero p { max-width:820px; margin:22px 0 0; color:#c7d1c3; font-size:18px; line-height:1.62; }
|
| 289 |
+
.stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:28px; max-width:900px; }
|
| 290 |
+
.stat { border:1px solid var(--line); border-radius:8px; background:rgba(7,18,7,.82); padding:13px 14px; }
|
| 291 |
+
.stat strong { display:block; font-family:var(--font-ui); font-size:24px; line-height:1; }
|
| 292 |
+
.stat span { display:block; margin-top:6px; color:var(--muted); font-size:12px; }
|
| 293 |
+
main { padding:26px 0 70px; }
|
| 294 |
+
.shell { display:grid; grid-template-columns:330px minmax(0,1fr); gap:18px; align-items:start; }
|
| 295 |
+
.panel { border:1px solid var(--line); border-radius:8px; background:linear-gradient(180deg, rgba(164,242,127,.06), rgba(7,18,7,.88)); box-shadow:0 18px 48px rgba(0,0,0,.32); }
|
| 296 |
+
.side { position:sticky; top:84px; padding:18px; }
|
| 297 |
+
label { display:block; color:var(--muted); font-size:12px; font-family:var(--font-ui); font-weight:720; margin:14px 0 7px; }
|
| 298 |
+
input[type=range] { width:100%; accent-color:var(--green); }
|
| 299 |
+
select, input[type=search] { width:100%; min-height:40px; border:1px solid var(--soft); border-radius:6px; background:#020802; color:var(--ink); padding:9px 10px; font:inherit; }
|
| 300 |
+
.button-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
|
| 301 |
+
button { border:1px solid var(--line); border-radius:6px; background:#10200d; color:var(--ink); min-height:38px; font:700 13px var(--font-ui); cursor:pointer; }
|
| 302 |
+
button:hover { border-color:var(--green); }
|
| 303 |
+
.timeline { padding:18px; margin-bottom:18px; }
|
| 304 |
+
.timeline-strip { position:relative; height:60px; border:1px solid var(--soft); border-radius:8px; overflow:hidden; background:#030803; }
|
| 305 |
+
.segment { position:absolute; top:0; bottom:0; border-right:1px solid rgba(2,5,2,.45); opacity:.92; }
|
| 306 |
+
.marker { position:absolute; top:0; bottom:0; width:3px; background:var(--ink); box-shadow:0 0 0 2px rgba(2,5,2,.9), 0 0 18px rgba(164,242,127,.6); }
|
| 307 |
+
.timeline-meta { display:flex; justify-content:space-between; gap:12px; margin-top:10px; color:var(--muted); font-size:12px; }
|
| 308 |
+
.content { display:grid; gap:18px; }
|
| 309 |
+
.window-panel { padding:22px; }
|
| 310 |
+
.window-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:start; border-bottom:1px solid var(--soft); padding-bottom:18px; }
|
| 311 |
+
h2 { margin:0; font-family:var(--font-ui); font-size:30px; line-height:1.1; }
|
| 312 |
+
.frame-pill { border:1px solid var(--line); border-radius:6px; padding:8px 10px; color:var(--green); font-family:var(--font-ui); font-size:13px; font-weight:760; white-space:nowrap; }
|
| 313 |
+
.subtle { color:var(--muted); }
|
| 314 |
+
.chips { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
|
| 315 |
+
.chip { border:1px solid var(--soft); background:rgba(164,242,127,.08); color:#e7f2df; border-radius:999px; padding:5px 8px; font-size:12px; }
|
| 316 |
+
.grid { display:grid; gap:12px; }
|
| 317 |
+
.pred-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:18px; }
|
| 318 |
+
.pred { border:1px solid var(--soft); border-radius:8px; background:rgba(2,8,2,.72); padding:13px; min-height:118px; }
|
| 319 |
+
.pred h3 { margin:0 0 8px; font-family:var(--font-ui); font-size:15px; }
|
| 320 |
+
.pred p { margin:4px 0; color:#cdd8c8; font-size:13px; overflow-wrap:anywhere; }
|
| 321 |
+
.pred .ok { color:var(--green); font-weight:800; }
|
| 322 |
+
.pred .bad { color:var(--red); font-weight:800; }
|
| 323 |
+
.feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
|
| 324 |
+
.feature { display:grid; grid-template-columns:130px 1fr 62px; gap:10px; align-items:center; border-bottom:1px solid var(--soft); padding:10px 0; }
|
| 325 |
+
.feature:last-child { border-bottom:0; }
|
| 326 |
+
.feature-name { font-family:var(--font-ui); font-size:13px; color:#edf6e8; }
|
| 327 |
+
.bar { height:10px; border-radius:999px; background:rgba(164,242,127,.13); overflow:hidden; }
|
| 328 |
+
.bar span { display:block; height:100%; width:calc(var(--w) * 1%); background:linear-gradient(90deg,var(--cyan),var(--green)); }
|
| 329 |
+
.num { text-align:right; color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
|
| 330 |
+
.analysis-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
|
| 331 |
+
.analysis { padding:18px; }
|
| 332 |
+
.analysis h3 { margin:0 0 12px; font-family:var(--font-ui); font-size:20px; }
|
| 333 |
+
.rows { display:grid; gap:8px; }
|
| 334 |
+
.row { display:grid; grid-template-columns:1fr auto; gap:12px; border-bottom:1px solid var(--soft); padding:8px 0; color:#d8e4d3; font-size:13px; }
|
| 335 |
+
.row strong { color:var(--green); font-variant-numeric:tabular-nums; }
|
| 336 |
+
.note { margin-top:12px; color:var(--muted); font-size:12px; line-height:1.55; }
|
| 337 |
+
@media (max-width: 980px) { .shell,.analysis-grid { grid-template-columns:1fr; } .side { position:static; } .pred-grid,.feature-grid,.stats { grid-template-columns:1fr; } .window-head { grid-template-columns:1fr; } .nav-links { display:none; } }
|
| 338 |
+
</style>
|
| 339 |
+
</head>
|
| 340 |
+
<body>
|
| 341 |
+
<header>
|
| 342 |
+
<div class="wrap nav">
|
| 343 |
+
<a class="brand" href="index.html"><img src="assets/brand/xperience10m-logo-mark-192.png" alt=""><span>Ropedia Xperience-10M</span></a>
|
| 344 |
+
<nav class="nav-links"><a href="index.html">Project</a><a href="single_episode_explorer.html">Explorer</a><a href="data/single_episode_explorer.json">Data JSON</a></nav>
|
| 345 |
+
</div>
|
| 346 |
+
</header>
|
| 347 |
+
<section class="hero">
|
| 348 |
+
<div class="wrap">
|
| 349 |
+
<h1>Single-Episode Research Explorer</h1>
|
| 350 |
+
<p>Inspect the exported Xperience-10M sample windows, real object labels, model predictions, feature-block statistics, and diagnostic scores from one aligned episode.</p>
|
| 351 |
+
<div class="stats">
|
| 352 |
+
<div class="stat"><strong id="statWindows">-</strong><span>windows</span></div>
|
| 353 |
+
<div class="stat"><strong id="statDim">-</strong><span>feature dimensions</span></div>
|
| 354 |
+
<div class="stat"><strong id="statObjects">-</strong><span>object labels</span></div>
|
| 355 |
+
<div class="stat"><strong id="statPreds">-</strong><span>prediction rows</span></div>
|
| 356 |
+
</div>
|
| 357 |
+
</div>
|
| 358 |
+
</section>
|
| 359 |
+
<main>
|
| 360 |
+
<div class="wrap shell">
|
| 361 |
+
<aside class="panel side">
|
| 362 |
+
<label for="windowRange">Window</label>
|
| 363 |
+
<input id="windowRange" type="range" min="0" max="0" value="0">
|
| 364 |
+
<div class="button-row"><button id="prevWindow" type="button">Previous</button><button id="nextWindow" type="button">Next</button></div>
|
| 365 |
+
<label for="taskSelect">Task Focus</label>
|
| 366 |
+
<select id="taskSelect"></select>
|
| 367 |
+
<label for="searchBox">Search Action or Object</label>
|
| 368 |
+
<input id="searchBox" type="search" placeholder="e.g. Pour coffee, kettle">
|
| 369 |
+
<div class="button-row"><button id="firstMatch" type="button">First Match</button><button id="firstPred" type="button">First Predicted</button></div>
|
| 370 |
+
<p class="note">The page uses window-level exported artifacts only. Raw video, raw HDF5, and RRD assets are not embedded.</p>
|
| 371 |
+
</aside>
|
| 372 |
+
<section class="content">
|
| 373 |
+
<div class="panel timeline">
|
| 374 |
+
<div class="timeline-strip" id="timelineStrip"></div>
|
| 375 |
+
<div class="timeline-meta"><span id="timelineLeft"></span><span id="timelineRight"></span></div>
|
| 376 |
+
</div>
|
| 377 |
+
<section class="panel window-panel">
|
| 378 |
+
<div class="window-head">
|
| 379 |
+
<div>
|
| 380 |
+
<h2 id="windowTitle">Window</h2>
|
| 381 |
+
<p id="windowSubtitle" class="subtle"></p>
|
| 382 |
+
<div class="chips" id="objectChips"></div>
|
| 383 |
+
</div>
|
| 384 |
+
<div class="frame-pill" id="framePill"></div>
|
| 385 |
+
</div>
|
| 386 |
+
<div class="grid pred-grid" id="predictionGrid"></div>
|
| 387 |
+
</section>
|
| 388 |
+
<section class="analysis-grid">
|
| 389 |
+
<div class="panel analysis">
|
| 390 |
+
<h3>Feature Blocks</h3>
|
| 391 |
+
<div class="grid feature-grid" id="featureGrid"></div>
|
| 392 |
+
</div>
|
| 393 |
+
<div class="panel analysis">
|
| 394 |
+
<h3>Diagnostics</h3>
|
| 395 |
+
<div class="rows" id="diagnosticRows"></div>
|
| 396 |
+
<p class="note" id="diagnosticNote"></p>
|
| 397 |
+
</div>
|
| 398 |
+
</section>
|
| 399 |
+
</section>
|
| 400 |
+
</div>
|
| 401 |
+
</main>
|
| 402 |
+
<script id="explorer-data" type="application/json">__DATA__</script>
|
| 403 |
+
<script>
|
| 404 |
+
const DATA = JSON.parse(document.getElementById("explorer-data").textContent);
|
| 405 |
+
function hasPrediction(windowRecord, taskKey) {
|
| 406 |
+
return taskKey === "all" ? Object.values(windowRecord.predictions).some(Boolean) : Boolean(windowRecord.predictions[taskKey]);
|
| 407 |
+
}
|
| 408 |
+
function defaultWindowIndex() {
|
| 409 |
+
let best = 0;
|
| 410 |
+
let bestCount = -1;
|
| 411 |
+
DATA.windows.forEach((w) => {
|
| 412 |
+
const count = Object.values(w.predictions).filter(Boolean).length;
|
| 413 |
+
if (count > bestCount) { best = w.window_index; bestCount = count; }
|
| 414 |
+
});
|
| 415 |
+
return best;
|
| 416 |
+
}
|
| 417 |
+
const state = { index: defaultWindowIndex(), task: "all" };
|
| 418 |
+
const range = document.getElementById("windowRange");
|
| 419 |
+
const taskSelect = document.getElementById("taskSelect");
|
| 420 |
+
const searchBox = document.getElementById("searchBox");
|
| 421 |
+
const colors = ["#5ccf7d", "#7ae5c3", "#9bdfff", "#d8f4a5", "#f0a45e", "#cba8ff", "#ff8f7a"];
|
| 422 |
+
document.getElementById("statWindows").textContent = DATA.meta.window_count;
|
| 423 |
+
document.getElementById("statDim").textContent = DATA.meta.feature_dim;
|
| 424 |
+
document.getElementById("statObjects").textContent = DATA.meta.object_vocab_count;
|
| 425 |
+
document.getElementById("statPreds").textContent = DATA.meta.timeline_prediction_rows;
|
| 426 |
+
range.max = DATA.windows.length - 1;
|
| 427 |
+
for (const [key, label] of Object.entries(DATA.tasks)) {
|
| 428 |
+
const option = document.createElement("option");
|
| 429 |
+
option.value = key;
|
| 430 |
+
option.textContent = label;
|
| 431 |
+
taskSelect.appendChild(option);
|
| 432 |
+
}
|
| 433 |
+
const allOption = document.createElement("option");
|
| 434 |
+
allOption.value = "all";
|
| 435 |
+
allOption.textContent = "All Prediction Cards";
|
| 436 |
+
taskSelect.insertBefore(allOption, taskSelect.firstChild);
|
| 437 |
+
taskSelect.value = state.task;
|
| 438 |
+
function pct(value, min, max) { return ((value - min) / Math.max(1, max - min)) * 100; }
|
| 439 |
+
function splitObjects(value) { return String(value || "").split("|").filter(Boolean); }
|
| 440 |
+
function renderTimeline() {
|
| 441 |
+
const strip = document.getElementById("timelineStrip");
|
| 442 |
+
strip.innerHTML = "";
|
| 443 |
+
const minFrame = DATA.windows[0].start_frame;
|
| 444 |
+
const maxFrame = DATA.windows[DATA.windows.length - 1].end_frame;
|
| 445 |
+
DATA.segments.forEach((seg, i) => {
|
| 446 |
+
const el = document.createElement("div");
|
| 447 |
+
el.className = "segment";
|
| 448 |
+
el.style.left = pct(seg.start_frame, minFrame, maxFrame) + "%";
|
| 449 |
+
el.style.width = Math.max(0.3, pct(seg.end_frame, minFrame, maxFrame) - pct(seg.start_frame, minFrame, maxFrame)) + "%";
|
| 450 |
+
el.style.background = colors[i % colors.length];
|
| 451 |
+
el.title = `${seg.action} (${seg.start_frame}-${seg.end_frame})`;
|
| 452 |
+
el.addEventListener("click", () => { state.index = seg.start_window; render(); });
|
| 453 |
+
strip.appendChild(el);
|
| 454 |
+
});
|
| 455 |
+
const marker = document.createElement("div");
|
| 456 |
+
marker.className = "marker";
|
| 457 |
+
marker.style.left = pct(DATA.windows[state.index].center_frame, minFrame, maxFrame) + "%";
|
| 458 |
+
strip.appendChild(marker);
|
| 459 |
+
document.getElementById("timelineLeft").textContent = `frame ${minFrame}`;
|
| 460 |
+
document.getElementById("timelineRight").textContent = `frame ${maxFrame}`;
|
| 461 |
+
}
|
| 462 |
+
function renderPredictions(w) {
|
| 463 |
+
const grid = document.getElementById("predictionGrid");
|
| 464 |
+
grid.innerHTML = "";
|
| 465 |
+
const taskEntries = Object.entries(DATA.tasks).filter(([key]) => state.task === "all" || key === state.task);
|
| 466 |
+
for (const [key, label] of taskEntries) {
|
| 467 |
+
const pred = w.predictions[key];
|
| 468 |
+
const card = document.createElement("article");
|
| 469 |
+
card.className = "pred";
|
| 470 |
+
let body = "";
|
| 471 |
+
if (!pred) {
|
| 472 |
+
body = `<p class="subtle">No held-out prediction row for this window.</p>`;
|
| 473 |
+
} else {
|
| 474 |
+
const status = pred.correct ? `<span class="ok">correct</span>` : `<span class="bad">mismatch</span>`;
|
| 475 |
+
body = `<p>${status}</p><p><strong>true</strong>: ${escapeHtml(pred.true || "")}</p><p><strong>pred</strong>: ${escapeHtml(pred.predicted || "")}</p>`;
|
| 476 |
+
if (pred.confidence) body += `<p><strong>confidence</strong>: ${Number(pred.confidence).toFixed(3)}</p>`;
|
| 477 |
+
}
|
| 478 |
+
card.innerHTML = `<h3>${escapeHtml(label)}</h3>${body}`;
|
| 479 |
+
grid.appendChild(card);
|
| 480 |
+
}
|
| 481 |
+
}
|
| 482 |
+
function renderFeatures(w) {
|
| 483 |
+
const grid = document.getElementById("featureGrid");
|
| 484 |
+
grid.innerHTML = "";
|
| 485 |
+
for (const stat of w.feature_stats) {
|
| 486 |
+
const block = DATA.feature_blocks.find((b) => b.name === stat.name);
|
| 487 |
+
const row = document.createElement("div");
|
| 488 |
+
row.className = "feature";
|
| 489 |
+
row.innerHTML = `<span class="feature-name">${escapeHtml(block.display)}</span><span class="bar"><span style="--w:${Math.round(stat.relative * 100)}"></span></span><span class="num">${stat.l2.toFixed(2)}</span>`;
|
| 490 |
+
grid.appendChild(row);
|
| 491 |
+
}
|
| 492 |
+
}
|
| 493 |
+
function renderDiagnostics() {
|
| 494 |
+
const rows = document.getElementById("diagnosticRows");
|
| 495 |
+
rows.innerHTML = "";
|
| 496 |
+
const task = state.task === "all" ? "object_relevance" : state.task;
|
| 497 |
+
const diag = DATA.ablation.best_by_task[task];
|
| 498 |
+
if (diag) {
|
| 499 |
+
rows.innerHTML += `<div class="row"><span>Best modality for ${escapeHtml(DATA.tasks[task] || task)}</span><strong>${escapeHtml(diag.best.modality_display)} ${diag.best.score.toFixed(3)}</strong></div>`;
|
| 500 |
+
if (diag.best_non_overlap) rows.innerHTML += `<div class="row"><span>Best non-overlap modality</span><strong>${escapeHtml(diag.best_non_overlap.modality_display)} ${diag.best_non_overlap.score.toFixed(3)}</strong></div>`;
|
| 501 |
+
}
|
| 502 |
+
const zeroRows = DATA.alignment.filter((r) => Number(r.shift_windows) === 0);
|
| 503 |
+
zeroRows.slice(0, 5).forEach((r) => {
|
| 504 |
+
rows.innerHTML += `<div class="row"><span>${escapeHtml(r.query_display)} zero-shift retrieval MRR</span><strong>${Number(r.mrr).toFixed(3)}</strong></div>`;
|
| 505 |
+
});
|
| 506 |
+
document.getElementById("diagnosticNote").textContent = DATA.meta.source_policy;
|
| 507 |
+
}
|
| 508 |
+
function renderWindow() {
|
| 509 |
+
const w = DATA.windows[state.index];
|
| 510 |
+
range.value = state.index;
|
| 511 |
+
document.getElementById("windowTitle").textContent = `Window ${w.window_index}: ${w.action || "unlabeled action"}`;
|
| 512 |
+
document.getElementById("windowSubtitle").textContent = w.subtask || "No subtask label";
|
| 513 |
+
document.getElementById("framePill").textContent = `frames ${w.start_frame}-${w.end_frame}`;
|
| 514 |
+
const chips = document.getElementById("objectChips");
|
| 515 |
+
chips.innerHTML = "";
|
| 516 |
+
(w.objects.length ? w.objects : ["no object label"]).forEach((obj) => {
|
| 517 |
+
const chip = document.createElement("span");
|
| 518 |
+
chip.className = "chip";
|
| 519 |
+
chip.textContent = obj;
|
| 520 |
+
chips.appendChild(chip);
|
| 521 |
+
});
|
| 522 |
+
renderPredictions(w);
|
| 523 |
+
renderFeatures(w);
|
| 524 |
+
renderDiagnostics();
|
| 525 |
+
}
|
| 526 |
+
function render() { renderTimeline(); renderWindow(); }
|
| 527 |
+
function escapeHtml(s) { return String(s).replace(/[&<>"']/g, (c) => ({ "&":"&", "<":"<", ">":">", '"':""", "'":"'" }[c])); }
|
| 528 |
+
range.addEventListener("input", () => { state.index = Number(range.value); render(); });
|
| 529 |
+
taskSelect.addEventListener("change", () => { state.task = taskSelect.value; render(); });
|
| 530 |
+
document.getElementById("prevWindow").addEventListener("click", () => { state.index = Math.max(0, state.index - 1); render(); });
|
| 531 |
+
document.getElementById("nextWindow").addEventListener("click", () => { state.index = Math.min(DATA.windows.length - 1, state.index + 1); render(); });
|
| 532 |
+
document.getElementById("firstPred").addEventListener("click", () => {
|
| 533 |
+
const found = DATA.windows.find((w) => hasPrediction(w, state.task));
|
| 534 |
+
if (found) { state.index = found.window_index; render(); }
|
| 535 |
+
});
|
| 536 |
+
document.getElementById("firstMatch").addEventListener("click", () => {
|
| 537 |
+
const q = searchBox.value.trim().toLowerCase();
|
| 538 |
+
if (!q) return;
|
| 539 |
+
const found = DATA.windows.find((w) => [w.action, w.subtask, ...w.objects].join(" ").toLowerCase().includes(q));
|
| 540 |
+
if (found) { state.index = found.window_index; render(); }
|
| 541 |
+
});
|
| 542 |
+
render();
|
| 543 |
+
</script>
|
| 544 |
+
</body>
|
| 545 |
+
</html>
|
| 546 |
+
"""
|
| 547 |
+
|
| 548 |
+
|
| 549 |
+
def write_html(path: Path, data: dict) -> None:
|
| 550 |
+
path.parent.mkdir(parents=True, exist_ok=True)
|
| 551 |
+
payload = json.dumps(data, ensure_ascii=False).replace("</script", "<\\/script")
|
| 552 |
+
path.write_text(HTML_TEMPLATE.replace("__DATA__", payload), encoding="utf-8")
|
| 553 |
+
|
| 554 |
+
|
| 555 |
+
def main() -> None:
|
| 556 |
+
args = parse_args()
|
| 557 |
+
data = build_data(args)
|
| 558 |
+
write_json(args.docs_dir / "data/single_episode_explorer.json", data)
|
| 559 |
+
write_html(args.docs_dir / "single_episode_explorer.html", data)
|
| 560 |
+
print(f"Wrote {args.docs_dir / 'data/single_episode_explorer.json'}")
|
| 561 |
+
print(f"Wrote {args.docs_dir / 'single_episode_explorer.html'}")
|
| 562 |
+
|
| 563 |
+
|
| 564 |
+
if __name__ == "__main__":
|
| 565 |
+
main()
|
scripts/single_episode_diagnostics.py
ADDED
|
@@ -0,0 +1,1254 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""
|
| 3 |
+
Single-episode diagnostics for the Xperience-10M task suite artifacts.
|
| 4 |
+
|
| 5 |
+
This script is intentionally artifact-driven. It consumes the already exported
|
| 6 |
+
one-episode shared feature table and prediction files, validates their shape and
|
| 7 |
+
hashes, and writes diagnostics that can be manually traced back to those inputs.
|
| 8 |
+
|
| 9 |
+
It does not invent labels or claim multi-episode generalization.
|
| 10 |
+
"""
|
| 11 |
+
|
| 12 |
+
from __future__ import annotations
|
| 13 |
+
|
| 14 |
+
import argparse
|
| 15 |
+
import csv
|
| 16 |
+
import hashlib
|
| 17 |
+
import html
|
| 18 |
+
import json
|
| 19 |
+
import math
|
| 20 |
+
import sys
|
| 21 |
+
from collections import OrderedDict
|
| 22 |
+
from pathlib import Path
|
| 23 |
+
from typing import Iterable
|
| 24 |
+
|
| 25 |
+
import numpy as np
|
| 26 |
+
|
| 27 |
+
|
| 28 |
+
TASKS = [
|
| 29 |
+
"timeline_action",
|
| 30 |
+
"timeline_subtask",
|
| 31 |
+
"transition_detection",
|
| 32 |
+
"next_action",
|
| 33 |
+
"hand_trajectory_forecast",
|
| 34 |
+
"contact_prediction",
|
| 35 |
+
"object_relevance",
|
| 36 |
+
"caption_grounding",
|
| 37 |
+
"cross_modal_retrieval",
|
| 38 |
+
"modality_reconstruction",
|
| 39 |
+
"temporal_order",
|
| 40 |
+
"misalignment_detection",
|
| 41 |
+
]
|
| 42 |
+
|
| 43 |
+
|
| 44 |
+
TASK_DISPLAY = {
|
| 45 |
+
"timeline_action": "Current Action Recognition",
|
| 46 |
+
"timeline_subtask": "Current Subtask Recognition",
|
| 47 |
+
"transition_detection": "Action Transition Detection",
|
| 48 |
+
"next_action": "Next-Action Prediction",
|
| 49 |
+
"hand_trajectory_forecast": "Future Hand Motion Forecasting",
|
| 50 |
+
"contact_prediction": "Contact State Prediction",
|
| 51 |
+
"object_relevance": "Relevant Object Prediction",
|
| 52 |
+
"caption_grounding": "Language-to-Time Grounding",
|
| 53 |
+
"cross_modal_retrieval": "Cross-Modal Window Retrieval",
|
| 54 |
+
"modality_reconstruction": "Sensor-to-Visual Reconstruction",
|
| 55 |
+
"temporal_order": "Temporal Order Verification",
|
| 56 |
+
"misalignment_detection": "Cross-Modal Misalignment Detection",
|
| 57 |
+
}
|
| 58 |
+
|
| 59 |
+
|
| 60 |
+
GROUP_DISPLAY = {
|
| 61 |
+
"all_features": "All Features",
|
| 62 |
+
"video": "Video",
|
| 63 |
+
"depth": "Depth",
|
| 64 |
+
"pose_slam": "Pose + SLAM",
|
| 65 |
+
"motion_capture": "Motion Capture",
|
| 66 |
+
"inertial": "Inertial",
|
| 67 |
+
"language": "Language",
|
| 68 |
+
"no_language": "All Except Language",
|
| 69 |
+
"motion_pose_inertial": "Motion + Pose + IMU",
|
| 70 |
+
}
|
| 71 |
+
|
| 72 |
+
|
| 73 |
+
def parse_args() -> argparse.Namespace:
|
| 74 |
+
workspace_default = Path(__file__).resolve().parents[1]
|
| 75 |
+
parser = argparse.ArgumentParser(description="Run single-episode diagnostics on real exported artifacts.")
|
| 76 |
+
parser.add_argument("--workspace", type=Path, default=workspace_default)
|
| 77 |
+
parser.add_argument(
|
| 78 |
+
"--suite-dir",
|
| 79 |
+
type=Path,
|
| 80 |
+
default=workspace_default / "results/episode_task_suite",
|
| 81 |
+
help="Existing single-episode task-suite artifact directory.",
|
| 82 |
+
)
|
| 83 |
+
parser.add_argument(
|
| 84 |
+
"--output-dir",
|
| 85 |
+
type=Path,
|
| 86 |
+
default=workspace_default / "results/single_episode_diagnostics",
|
| 87 |
+
help="Where to write new diagnostics. Existing task-suite outputs are not overwritten.",
|
| 88 |
+
)
|
| 89 |
+
parser.add_argument("--test-fraction", type=float, default=0.30)
|
| 90 |
+
parser.add_argument("--future-offset-windows", type=int, default=4)
|
| 91 |
+
parser.add_argument("--misalignment-shift-windows", type=int, default=8)
|
| 92 |
+
parser.add_argument("--ridge-l2", type=float, default=10.0)
|
| 93 |
+
parser.add_argument(
|
| 94 |
+
"--annotation",
|
| 95 |
+
type=Path,
|
| 96 |
+
default=None,
|
| 97 |
+
help="Optional raw annotation.hdf5. When provided, object relevance labels are exported from caption_frame_info_map.",
|
| 98 |
+
)
|
| 99 |
+
parser.add_argument(
|
| 100 |
+
"--homie-toolkit",
|
| 101 |
+
type=Path,
|
| 102 |
+
default=None,
|
| 103 |
+
help="Optional HOMIE-toolkit path. If omitted, inferred from --annotation when possible.",
|
| 104 |
+
)
|
| 105 |
+
return parser.parse_args()
|
| 106 |
+
|
| 107 |
+
|
| 108 |
+
def write_json(path: Path, data: dict | list) -> None:
|
| 109 |
+
path.parent.mkdir(parents=True, exist_ok=True)
|
| 110 |
+
path.write_text(json.dumps(data, indent=2, ensure_ascii=False), encoding="utf-8")
|
| 111 |
+
|
| 112 |
+
|
| 113 |
+
def write_text(path: Path, text: str) -> None:
|
| 114 |
+
path.parent.mkdir(parents=True, exist_ok=True)
|
| 115 |
+
path.write_text(text, encoding="utf-8")
|
| 116 |
+
|
| 117 |
+
|
| 118 |
+
def write_csv(path: Path, rows: list[dict], fieldnames: list[str] | None = None) -> None:
|
| 119 |
+
path.parent.mkdir(parents=True, exist_ok=True)
|
| 120 |
+
if fieldnames is None:
|
| 121 |
+
keys: OrderedDict[str, None] = OrderedDict()
|
| 122 |
+
for row in rows:
|
| 123 |
+
for key in row:
|
| 124 |
+
keys.setdefault(key, None)
|
| 125 |
+
fieldnames = list(keys.keys())
|
| 126 |
+
with path.open("w", newline="", encoding="utf-8") as fp:
|
| 127 |
+
writer = csv.DictWriter(fp, fieldnames=fieldnames, lineterminator="\n")
|
| 128 |
+
writer.writeheader()
|
| 129 |
+
for row in rows:
|
| 130 |
+
writer.writerow({k: row.get(k, "") for k in fieldnames})
|
| 131 |
+
|
| 132 |
+
|
| 133 |
+
def read_csv(path: Path) -> list[dict]:
|
| 134 |
+
with path.open(newline="", encoding="utf-8") as fp:
|
| 135 |
+
return list(csv.DictReader(fp))
|
| 136 |
+
|
| 137 |
+
|
| 138 |
+
def sha256(path: Path) -> str:
|
| 139 |
+
h = hashlib.sha256()
|
| 140 |
+
with path.open("rb") as fp:
|
| 141 |
+
for chunk in iter(lambda: fp.read(1024 * 1024), b""):
|
| 142 |
+
h.update(chunk)
|
| 143 |
+
return h.hexdigest()
|
| 144 |
+
|
| 145 |
+
|
| 146 |
+
def public_artifact_path(path: Path, repo_root: Path) -> str:
|
| 147 |
+
path = path.resolve()
|
| 148 |
+
try:
|
| 149 |
+
return str(path.relative_to(repo_root))
|
| 150 |
+
except ValueError:
|
| 151 |
+
pass
|
| 152 |
+
if path.name == "annotation.hdf5":
|
| 153 |
+
return "external_raw_sample/annotation.hdf5"
|
| 154 |
+
return path.name
|
| 155 |
+
|
| 156 |
+
|
| 157 |
+
def public_source_reference(value: object) -> object:
|
| 158 |
+
if value in (None, ""):
|
| 159 |
+
return value
|
| 160 |
+
text = str(value)
|
| 161 |
+
if text.startswith("/") or "/" + "Users/" in text or "/" + "private/" in text:
|
| 162 |
+
path = Path(text)
|
| 163 |
+
if path.name == "annotation.hdf5":
|
| 164 |
+
return "external_raw_sample/annotation.hdf5"
|
| 165 |
+
return path.name
|
| 166 |
+
return text
|
| 167 |
+
|
| 168 |
+
|
| 169 |
+
def load_inputs(suite_dir: Path) -> tuple[np.ndarray, np.ndarray, np.ndarray, list[dict], list[dict], dict]:
|
| 170 |
+
npz_path = suite_dir / "shared_windows.npz"
|
| 171 |
+
windows_path = suite_dir / "windows.csv"
|
| 172 |
+
manifest_path = suite_dir / "feature_manifest.json"
|
| 173 |
+
summary_path = suite_dir / "summary_report.json"
|
| 174 |
+
required = [npz_path, windows_path, manifest_path, summary_path]
|
| 175 |
+
missing = [str(p) for p in required if not p.exists()]
|
| 176 |
+
if missing:
|
| 177 |
+
raise FileNotFoundError(f"Missing required input artifacts: {missing}")
|
| 178 |
+
|
| 179 |
+
npz = np.load(npz_path)
|
| 180 |
+
X = np.asarray(npz["X"], dtype=np.float32)
|
| 181 |
+
starts = np.asarray(npz["starts"], dtype=np.int64)
|
| 182 |
+
ends = np.asarray(npz["ends"], dtype=np.int64)
|
| 183 |
+
windows = read_csv(windows_path)
|
| 184 |
+
manifest = json.loads(manifest_path.read_text(encoding="utf-8"))
|
| 185 |
+
summary = json.loads(summary_path.read_text(encoding="utf-8"))
|
| 186 |
+
|
| 187 |
+
if X.ndim != 2:
|
| 188 |
+
raise ValueError(f"Expected X to be 2-D, got shape {X.shape}")
|
| 189 |
+
if len(windows) != X.shape[0]:
|
| 190 |
+
raise ValueError(f"windows.csv rows ({len(windows)}) do not match X rows ({X.shape[0]})")
|
| 191 |
+
if len(starts) != X.shape[0] or len(ends) != X.shape[0]:
|
| 192 |
+
raise ValueError("starts/ends arrays do not match X rows")
|
| 193 |
+
|
| 194 |
+
for i, row in enumerate(windows):
|
| 195 |
+
if int(row["start_frame"]) != int(starts[i]) or int(row["end_frame"]) != int(ends[i]):
|
| 196 |
+
raise ValueError(f"Window start/end mismatch at row {i}")
|
| 197 |
+
|
| 198 |
+
cursor = 0
|
| 199 |
+
for block in manifest:
|
| 200 |
+
start, end, dim = int(block["start"]), int(block["end"]), int(block["dim"])
|
| 201 |
+
if start != cursor or end <= start or end - start != dim:
|
| 202 |
+
raise ValueError(f"Feature manifest has a gap, overlap, or bad dim at block {block}")
|
| 203 |
+
cursor = end
|
| 204 |
+
if cursor != X.shape[1]:
|
| 205 |
+
raise ValueError(f"Feature manifest ends at {cursor}, but X has {X.shape[1]} columns")
|
| 206 |
+
|
| 207 |
+
return X, starts, ends, windows, manifest, summary
|
| 208 |
+
|
| 209 |
+
|
| 210 |
+
def chronological_split(n: int, test_fraction: float) -> tuple[np.ndarray, np.ndarray]:
|
| 211 |
+
if n < 2:
|
| 212 |
+
raise ValueError("Need at least two samples for a chronological split.")
|
| 213 |
+
split = int(round(n * (1.0 - test_fraction)))
|
| 214 |
+
split = max(1, min(split, n - 1))
|
| 215 |
+
return np.arange(split, dtype=np.int64), np.arange(split, n, dtype=np.int64)
|
| 216 |
+
|
| 217 |
+
|
| 218 |
+
def block_indices(manifest: list[dict], include: Iterable[str] | None = None, exclude: Iterable[str] | None = None) -> np.ndarray:
|
| 219 |
+
include = list(include or [])
|
| 220 |
+
exclude = list(exclude or [])
|
| 221 |
+
idxs: list[int] = []
|
| 222 |
+
for block in manifest:
|
| 223 |
+
name = str(block["name"])
|
| 224 |
+
if include and not any(name == p or name.startswith(p) for p in include):
|
| 225 |
+
continue
|
| 226 |
+
if exclude and any(name == p or name.startswith(p) for p in exclude):
|
| 227 |
+
continue
|
| 228 |
+
idxs.extend(range(int(block["start"]), int(block["end"])))
|
| 229 |
+
return np.asarray(idxs, dtype=np.int64)
|
| 230 |
+
|
| 231 |
+
|
| 232 |
+
def modality_groups(manifest: list[dict]) -> dict[str, np.ndarray]:
|
| 233 |
+
all_idx = block_indices(manifest)
|
| 234 |
+
language = block_indices(manifest, ["caption_objects_interaction_text"])
|
| 235 |
+
groups = {
|
| 236 |
+
"all_features": all_idx,
|
| 237 |
+
"video": block_indices(manifest, ["video_"]),
|
| 238 |
+
"depth": block_indices(manifest, ["depth_confidence"]),
|
| 239 |
+
"pose_slam": block_indices(manifest, ["camera_translation", "camera_rotation_matrix", "slam_point_cloud", "calibration"]),
|
| 240 |
+
"motion_capture": block_indices(manifest, ["hand_left_joints", "hand_right_joints", "body_joints", "body_contacts"]),
|
| 241 |
+
"inertial": block_indices(manifest, ["imu_accel_gyro"]),
|
| 242 |
+
"language": language,
|
| 243 |
+
"no_language": np.setdiff1d(all_idx, language),
|
| 244 |
+
}
|
| 245 |
+
return {name: idx for name, idx in groups.items() if len(idx) > 0}
|
| 246 |
+
|
| 247 |
+
|
| 248 |
+
def encode_labels(labels: Iterable[str]) -> tuple[np.ndarray, list[str]]:
|
| 249 |
+
seen: OrderedDict[str, int] = OrderedDict()
|
| 250 |
+
encoded = []
|
| 251 |
+
for label in labels:
|
| 252 |
+
label = str(label)
|
| 253 |
+
if label not in seen:
|
| 254 |
+
seen[label] = len(seen)
|
| 255 |
+
encoded.append(seen[label])
|
| 256 |
+
return np.asarray(encoded, dtype=np.int64), list(seen.keys())
|
| 257 |
+
|
| 258 |
+
|
| 259 |
+
def extract_objects(info: dict) -> list[str]:
|
| 260 |
+
objects = info.get("objects")
|
| 261 |
+
if isinstance(objects, list):
|
| 262 |
+
return [str(x).strip() for x in objects if str(x).strip()]
|
| 263 |
+
if objects:
|
| 264 |
+
return [str(objects).strip()]
|
| 265 |
+
return []
|
| 266 |
+
|
| 267 |
+
|
| 268 |
+
def infer_homie_toolkit(annotation: Path, explicit: Path | None) -> Path | None:
|
| 269 |
+
if explicit is not None:
|
| 270 |
+
return explicit
|
| 271 |
+
annotation = annotation.resolve()
|
| 272 |
+
candidates = []
|
| 273 |
+
for parent in annotation.parents:
|
| 274 |
+
candidates.append(parent / "HOMIE-toolkit")
|
| 275 |
+
for candidate in candidates:
|
| 276 |
+
if candidate.exists():
|
| 277 |
+
return candidate
|
| 278 |
+
return None
|
| 279 |
+
|
| 280 |
+
|
| 281 |
+
def load_object_targets_from_annotation(annotation: Path, windows: list[dict], toolkit: Path | None) -> dict:
|
| 282 |
+
annotation = annotation.resolve()
|
| 283 |
+
if not annotation.exists():
|
| 284 |
+
raise FileNotFoundError(annotation)
|
| 285 |
+
toolkit = infer_homie_toolkit(annotation, toolkit)
|
| 286 |
+
if toolkit is None or not toolkit.exists():
|
| 287 |
+
raise FileNotFoundError(f"HOMIE-toolkit not found for annotation {annotation}")
|
| 288 |
+
sys.path.insert(0, str(toolkit))
|
| 289 |
+
from data_loader import load_from_annotation_hdf5
|
| 290 |
+
|
| 291 |
+
ann = load_from_annotation_hdf5(annotation, 0, None, load_slam_point_cloud=False)
|
| 292 |
+
frame_info = ann["caption_frame_info_map"]
|
| 293 |
+
vocab: OrderedDict[str, int] = OrderedDict()
|
| 294 |
+
labels: list[list[str]] = []
|
| 295 |
+
rows_out: list[dict] = []
|
| 296 |
+
for row in windows:
|
| 297 |
+
counts: OrderedDict[str, int] = OrderedDict()
|
| 298 |
+
for frame in range(int(row["start_frame"]), int(row["end_frame"]) + 1):
|
| 299 |
+
for obj in extract_objects(frame_info.get(frame, {})):
|
| 300 |
+
counts[obj] = counts.get(obj, 0) + 1
|
| 301 |
+
objects = list(counts.keys())
|
| 302 |
+
for obj in objects:
|
| 303 |
+
if obj not in vocab:
|
| 304 |
+
vocab[obj] = len(vocab)
|
| 305 |
+
labels.append(objects)
|
| 306 |
+
rows_out.append({
|
| 307 |
+
"window_index": int(row["window_index"]),
|
| 308 |
+
"start_frame": int(row["start_frame"]),
|
| 309 |
+
"end_frame": int(row["end_frame"]),
|
| 310 |
+
"center_frame": int(row["center_frame"]),
|
| 311 |
+
"objects": "|".join(objects),
|
| 312 |
+
"object_count": int(len(objects)),
|
| 313 |
+
})
|
| 314 |
+
if not vocab:
|
| 315 |
+
raise ValueError("No object labels found in annotation caption_frame_info_map.")
|
| 316 |
+
Y = np.zeros((len(windows), len(vocab)), dtype=np.float32)
|
| 317 |
+
for i, objects in enumerate(labels):
|
| 318 |
+
for obj in objects:
|
| 319 |
+
Y[i, vocab[obj]] = 1.0
|
| 320 |
+
return {
|
| 321 |
+
"Y": Y,
|
| 322 |
+
"labels": labels,
|
| 323 |
+
"vocab": list(vocab.keys()),
|
| 324 |
+
"rows": rows_out,
|
| 325 |
+
"annotation": "external_raw_sample/annotation.hdf5",
|
| 326 |
+
"toolkit": "HOMIE-toolkit",
|
| 327 |
+
"source_note": (
|
| 328 |
+
"Object labels were exported from a raw Xperience-10M sample annotation. "
|
| 329 |
+
"The public artifact stores source type and hash instead of machine-specific file paths."
|
| 330 |
+
),
|
| 331 |
+
}
|
| 332 |
+
|
| 333 |
+
|
| 334 |
+
def standardize(train: np.ndarray, test: np.ndarray) -> tuple[np.ndarray, np.ndarray]:
|
| 335 |
+
mean = train.mean(axis=0, keepdims=True)
|
| 336 |
+
std = train.std(axis=0, keepdims=True)
|
| 337 |
+
std[std < 1e-6] = 1.0
|
| 338 |
+
return (train - mean) / std, (test - mean) / std
|
| 339 |
+
|
| 340 |
+
|
| 341 |
+
def standardize_train_apply(train: np.ndarray, *arrays: np.ndarray) -> list[np.ndarray]:
|
| 342 |
+
mean = train.mean(axis=0, keepdims=True)
|
| 343 |
+
std = train.std(axis=0, keepdims=True)
|
| 344 |
+
std[std < 1e-6] = 1.0
|
| 345 |
+
return [(arr - mean) / std for arr in arrays]
|
| 346 |
+
|
| 347 |
+
|
| 348 |
+
def ridge_predict(X_train: np.ndarray, Y_train: np.ndarray, X_test: np.ndarray, l2: float) -> np.ndarray:
|
| 349 |
+
X_train = np.asarray(X_train, dtype=np.float32)
|
| 350 |
+
X_test = np.asarray(X_test, dtype=np.float32)
|
| 351 |
+
Y_train = np.asarray(Y_train, dtype=np.float32)
|
| 352 |
+
Xb = np.concatenate([X_train, np.ones((X_train.shape[0], 1), dtype=np.float32)], axis=1)
|
| 353 |
+
Xtb = np.concatenate([X_test, np.ones((X_test.shape[0], 1), dtype=np.float32)], axis=1)
|
| 354 |
+
if Xb.shape[0] <= Xb.shape[1]:
|
| 355 |
+
K = Xb @ Xb.T
|
| 356 |
+
K.flat[:: K.shape[0] + 1] += l2
|
| 357 |
+
alpha = np.linalg.solve(K, Y_train)
|
| 358 |
+
return Xtb @ Xb.T @ alpha
|
| 359 |
+
A = Xb.T @ Xb
|
| 360 |
+
A.flat[:: A.shape[0] + 1] += l2
|
| 361 |
+
W = np.linalg.solve(A, Xb.T @ Y_train)
|
| 362 |
+
return Xtb @ W
|
| 363 |
+
|
| 364 |
+
|
| 365 |
+
def classification_metrics(y_true: np.ndarray, y_pred: np.ndarray) -> dict:
|
| 366 |
+
classes = np.unique(np.concatenate([y_true, y_pred]))
|
| 367 |
+
f1s = []
|
| 368 |
+
recalls = []
|
| 369 |
+
for cls in classes:
|
| 370 |
+
tp = int(((y_true == cls) & (y_pred == cls)).sum())
|
| 371 |
+
fp = int(((y_true != cls) & (y_pred == cls)).sum())
|
| 372 |
+
fn = int(((y_true == cls) & (y_pred != cls)).sum())
|
| 373 |
+
precision = tp / (tp + fp) if tp + fp else 0.0
|
| 374 |
+
recall = tp / (tp + fn) if tp + fn else 0.0
|
| 375 |
+
f1 = 2 * precision * recall / (precision + recall) if precision + recall else 0.0
|
| 376 |
+
f1s.append(f1)
|
| 377 |
+
recalls.append(recall)
|
| 378 |
+
return {
|
| 379 |
+
"accuracy": float((y_true == y_pred).mean()) if len(y_true) else 0.0,
|
| 380 |
+
"macro_f1": float(np.mean(f1s)) if f1s else 0.0,
|
| 381 |
+
"balanced_accuracy": float(np.mean(recalls)) if recalls else 0.0,
|
| 382 |
+
}
|
| 383 |
+
|
| 384 |
+
|
| 385 |
+
def multilabel_metrics(Y_true: np.ndarray, Y_pred: np.ndarray) -> dict:
|
| 386 |
+
Y_true = Y_true.astype(np.int64)
|
| 387 |
+
Y_pred = Y_pred.astype(np.int64)
|
| 388 |
+
tp = int(((Y_true == 1) & (Y_pred == 1)).sum())
|
| 389 |
+
fp = int(((Y_true == 0) & (Y_pred == 1)).sum())
|
| 390 |
+
fn = int(((Y_true == 1) & (Y_pred == 0)).sum())
|
| 391 |
+
precision = tp / (tp + fp) if tp + fp else 0.0
|
| 392 |
+
recall = tp / (tp + fn) if tp + fn else 0.0
|
| 393 |
+
micro_f1 = 2 * precision * recall / (precision + recall) if precision + recall else 0.0
|
| 394 |
+
per_f1 = []
|
| 395 |
+
for j in range(Y_true.shape[1]):
|
| 396 |
+
tpj = int(((Y_true[:, j] == 1) & (Y_pred[:, j] == 1)).sum())
|
| 397 |
+
fpj = int(((Y_true[:, j] == 0) & (Y_pred[:, j] == 1)).sum())
|
| 398 |
+
fnj = int(((Y_true[:, j] == 1) & (Y_pred[:, j] == 0)).sum())
|
| 399 |
+
pj = tpj / (tpj + fpj) if tpj + fpj else 0.0
|
| 400 |
+
rj = tpj / (tpj + fnj) if tpj + fnj else 0.0
|
| 401 |
+
per_f1.append(2 * pj * rj / (pj + rj) if pj + rj else 0.0)
|
| 402 |
+
return {
|
| 403 |
+
"micro_f1": float(micro_f1),
|
| 404 |
+
"macro_f1": float(np.mean(per_f1)) if per_f1 else 0.0,
|
| 405 |
+
"exact_match": float(np.mean(np.all(Y_true == Y_pred, axis=1))) if len(Y_true) else 0.0,
|
| 406 |
+
"precision": float(precision),
|
| 407 |
+
"recall": float(recall),
|
| 408 |
+
}
|
| 409 |
+
|
| 410 |
+
|
| 411 |
+
def regression_metrics(y_true: np.ndarray, y_pred: np.ndarray) -> dict:
|
| 412 |
+
err = y_pred - y_true
|
| 413 |
+
mse = float(np.mean(err ** 2))
|
| 414 |
+
mae = float(np.mean(np.abs(err)))
|
| 415 |
+
denom = float(np.sum((y_true - y_true.mean(axis=0, keepdims=True)) ** 2))
|
| 416 |
+
r2 = 1.0 - float(np.sum(err ** 2)) / denom if denom > 1e-12 else 0.0
|
| 417 |
+
return {"mse": mse, "mae": mae, "r2": r2}
|
| 418 |
+
|
| 419 |
+
|
| 420 |
+
def retrieval_metrics(pred_query: np.ndarray, target: np.ndarray) -> dict:
|
| 421 |
+
pred_query = pred_query.astype(np.float32)
|
| 422 |
+
target = target.astype(np.float32)
|
| 423 |
+
q_norm = pred_query / np.maximum(np.linalg.norm(pred_query, axis=1, keepdims=True), 1e-8)
|
| 424 |
+
t_norm = target / np.maximum(np.linalg.norm(target, axis=1, keepdims=True), 1e-8)
|
| 425 |
+
sims = q_norm @ t_norm.T
|
| 426 |
+
ranks = []
|
| 427 |
+
for i in range(sims.shape[0]):
|
| 428 |
+
order = np.argsort(-sims[i])
|
| 429 |
+
rank = int(np.where(order == i)[0][0]) + 1
|
| 430 |
+
ranks.append(rank)
|
| 431 |
+
ranks_arr = np.asarray(ranks, dtype=np.float32)
|
| 432 |
+
return {
|
| 433 |
+
"mrr": float(np.mean(1.0 / ranks_arr)) if len(ranks_arr) else 0.0,
|
| 434 |
+
"top1_accuracy": float(np.mean(ranks_arr <= 1)) if len(ranks_arr) else 0.0,
|
| 435 |
+
"top5_accuracy": float(np.mean(ranks_arr <= 5)) if len(ranks_arr) else 0.0,
|
| 436 |
+
"top10_accuracy": float(np.mean(ranks_arr <= 10)) if len(ranks_arr) else 0.0,
|
| 437 |
+
"median_rank": float(np.median(ranks_arr)) if len(ranks_arr) else 0.0,
|
| 438 |
+
"mean_rank": float(np.mean(ranks_arr)) if len(ranks_arr) else 0.0,
|
| 439 |
+
"num_queries": int(len(ranks_arr)),
|
| 440 |
+
}
|
| 441 |
+
|
| 442 |
+
|
| 443 |
+
def onehot(y: np.ndarray, n_classes: int) -> np.ndarray:
|
| 444 |
+
out = np.zeros((len(y), n_classes), dtype=np.float32)
|
| 445 |
+
out[np.arange(len(y)), y] = 1.0
|
| 446 |
+
return out
|
| 447 |
+
|
| 448 |
+
|
| 449 |
+
def fit_classification(
|
| 450 |
+
X: np.ndarray,
|
| 451 |
+
labels: np.ndarray,
|
| 452 |
+
train_idx: np.ndarray,
|
| 453 |
+
test_idx: np.ndarray,
|
| 454 |
+
l2: float,
|
| 455 |
+
) -> tuple[dict, np.ndarray]:
|
| 456 |
+
y, class_names = encode_labels(labels)
|
| 457 |
+
train_classes = set(int(x) for x in y[train_idx])
|
| 458 |
+
test_classes = set(int(x) for x in y[test_idx])
|
| 459 |
+
unseen = [class_names[i] for i in sorted(test_classes - train_classes)]
|
| 460 |
+
X_train, X_test = standardize(X[train_idx], X[test_idx])
|
| 461 |
+
scores = ridge_predict(X_train, onehot(y[train_idx], len(class_names)), X_test, l2)
|
| 462 |
+
pred = scores.argmax(axis=1)
|
| 463 |
+
metrics = classification_metrics(y[test_idx], pred)
|
| 464 |
+
metrics.update({
|
| 465 |
+
"num_classes": len(class_names),
|
| 466 |
+
"num_train": int(len(train_idx)),
|
| 467 |
+
"num_test": int(len(test_idx)),
|
| 468 |
+
"unseen_test_classes": "|".join(unseen),
|
| 469 |
+
"unseen_test_class_count": int(len(unseen)),
|
| 470 |
+
})
|
| 471 |
+
return metrics, pred
|
| 472 |
+
|
| 473 |
+
|
| 474 |
+
def fit_multilabel(
|
| 475 |
+
X: np.ndarray,
|
| 476 |
+
Y: np.ndarray,
|
| 477 |
+
train_idx: np.ndarray,
|
| 478 |
+
test_idx: np.ndarray,
|
| 479 |
+
l2: float,
|
| 480 |
+
) -> tuple[dict, np.ndarray]:
|
| 481 |
+
X_train, X_test = standardize(X[train_idx], X[test_idx])
|
| 482 |
+
scores = ridge_predict(X_train, Y[train_idx], X_test, l2)
|
| 483 |
+
pred = (scores >= 0.5).astype(np.float32)
|
| 484 |
+
empty = np.where(pred.sum(axis=1) == 0)[0]
|
| 485 |
+
if len(empty):
|
| 486 |
+
pred[empty, np.argmax(scores[empty], axis=1)] = 1.0
|
| 487 |
+
metrics = multilabel_metrics(Y[test_idx], pred)
|
| 488 |
+
metrics.update({
|
| 489 |
+
"num_objects": int(Y.shape[1]),
|
| 490 |
+
"num_train": int(len(train_idx)),
|
| 491 |
+
"num_test": int(len(test_idx)),
|
| 492 |
+
})
|
| 493 |
+
return metrics, pred
|
| 494 |
+
|
| 495 |
+
|
| 496 |
+
def frame_centers(windows: list[dict]) -> np.ndarray:
|
| 497 |
+
return np.asarray([int(row["center_frame"]) for row in windows], dtype=np.int64)
|
| 498 |
+
|
| 499 |
+
|
| 500 |
+
def labels_from_windows(windows: list[dict], key: str) -> np.ndarray:
|
| 501 |
+
return np.asarray([str(row.get(key, "") or "") for row in windows], dtype=object)
|
| 502 |
+
|
| 503 |
+
|
| 504 |
+
def transition_labels_from_boundaries(suite_dir: Path, centers: np.ndarray, tolerance_frames: int = 10) -> np.ndarray:
|
| 505 |
+
boundaries_path = suite_dir / "transition_detection/true_boundaries.csv"
|
| 506 |
+
if not boundaries_path.exists():
|
| 507 |
+
raise FileNotFoundError(boundaries_path)
|
| 508 |
+
rows = read_csv(boundaries_path)
|
| 509 |
+
boundary_frames = np.asarray([int(row.get("boundary_frame") or row.get("frame")) for row in rows], dtype=np.int64)
|
| 510 |
+
labels = np.zeros(len(centers), dtype=np.int64)
|
| 511 |
+
for i, center in enumerate(centers):
|
| 512 |
+
if len(boundary_frames) and np.min(np.abs(boundary_frames - center)) <= tolerance_frames:
|
| 513 |
+
labels[i] = 1
|
| 514 |
+
return np.asarray(["transition" if x else "steady" for x in labels], dtype=object)
|
| 515 |
+
|
| 516 |
+
|
| 517 |
+
def task_target(
|
| 518 |
+
task: str,
|
| 519 |
+
X: np.ndarray,
|
| 520 |
+
windows: list[dict],
|
| 521 |
+
manifest: list[dict],
|
| 522 |
+
suite_dir: Path,
|
| 523 |
+
future_offset_windows: int,
|
| 524 |
+
object_targets: dict | None = None,
|
| 525 |
+
) -> dict:
|
| 526 |
+
centers = frame_centers(windows)
|
| 527 |
+
n = len(windows)
|
| 528 |
+
train_idx, test_idx = chronological_split(n, 0.30)
|
| 529 |
+
all_idx = np.arange(n, dtype=np.int64)
|
| 530 |
+
if task == "timeline_action":
|
| 531 |
+
return {"kind": "classification", "labels": labels_from_windows(windows, "action_label"), "rows": all_idx}
|
| 532 |
+
if task == "timeline_subtask":
|
| 533 |
+
return {"kind": "classification", "labels": labels_from_windows(windows, "subtask_label"), "rows": all_idx}
|
| 534 |
+
if task == "transition_detection":
|
| 535 |
+
return {"kind": "classification", "labels": transition_labels_from_boundaries(suite_dir, centers), "rows": all_idx}
|
| 536 |
+
if task == "next_action":
|
| 537 |
+
rows = np.arange(0, n - future_offset_windows, dtype=np.int64)
|
| 538 |
+
labels = labels_from_windows(windows, "action_label")[rows + future_offset_windows]
|
| 539 |
+
return {"kind": "classification", "labels": labels, "rows": rows, "target_variant": "future action label from windows.csv"}
|
| 540 |
+
if task == "contact_prediction":
|
| 541 |
+
contacts = block_indices(manifest, ["body_contacts"])
|
| 542 |
+
rows = all_idx
|
| 543 |
+
labels = np.where(np.abs(X[:, contacts]).sum(axis=1) > 1e-8, "contact", "no_contact")
|
| 544 |
+
return {
|
| 545 |
+
"kind": "classification",
|
| 546 |
+
"labels": labels,
|
| 547 |
+
"rows": rows,
|
| 548 |
+
"target_source_blocks": "body_contacts",
|
| 549 |
+
"target_variant": "contact proxy derived from body_contacts feature block",
|
| 550 |
+
}
|
| 551 |
+
if task == "hand_trajectory_forecast":
|
| 552 |
+
rows = np.arange(0, n - future_offset_windows, dtype=np.int64)
|
| 553 |
+
hand = block_indices(manifest, ["hand_left_joints", "hand_right_joints"])
|
| 554 |
+
target = X[rows + future_offset_windows][:, hand]
|
| 555 |
+
return {
|
| 556 |
+
"kind": "regression",
|
| 557 |
+
"target": target,
|
| 558 |
+
"rows": rows,
|
| 559 |
+
"target_source_blocks": "future hand_left_joints|hand_right_joints",
|
| 560 |
+
"target_variant": "future hand feature vector from shared_windows.npz",
|
| 561 |
+
}
|
| 562 |
+
if task == "caption_grounding":
|
| 563 |
+
rows = all_idx
|
| 564 |
+
text = block_indices(manifest, ["caption_objects_interaction_text"])
|
| 565 |
+
return {"kind": "retrieval", "target": X[:, text], "rows": rows, "target_source_blocks": "caption_objects_interaction_text"}
|
| 566 |
+
if task in {"cross_modal_retrieval", "modality_reconstruction"}:
|
| 567 |
+
rows = all_idx
|
| 568 |
+
visual = block_indices(manifest, ["depth_confidence", "video_"])
|
| 569 |
+
return {"kind": "retrieval" if task == "cross_modal_retrieval" else "regression", "target": X[:, visual], "rows": rows, "target_source_blocks": "depth_confidence|video_*"}
|
| 570 |
+
if task == "temporal_order":
|
| 571 |
+
pairs = []
|
| 572 |
+
labels = []
|
| 573 |
+
for i in range(n - 1):
|
| 574 |
+
pairs.append((i, i + 1))
|
| 575 |
+
labels.append("forward")
|
| 576 |
+
pairs.append((i + 1, i))
|
| 577 |
+
labels.append("reversed")
|
| 578 |
+
return {"kind": "pair_classification", "pairs": np.asarray(pairs, dtype=np.int64), "labels": np.asarray(labels, dtype=object)}
|
| 579 |
+
if task == "misalignment_detection":
|
| 580 |
+
shift = 8
|
| 581 |
+
pairs = []
|
| 582 |
+
labels = []
|
| 583 |
+
for i in range(n - shift):
|
| 584 |
+
pairs.append((i, i))
|
| 585 |
+
labels.append("aligned")
|
| 586 |
+
pairs.append((i, i + shift))
|
| 587 |
+
labels.append("shifted")
|
| 588 |
+
return {"kind": "pair_classification", "pairs": np.asarray(pairs, dtype=np.int64), "labels": np.asarray(labels, dtype=object)}
|
| 589 |
+
if task == "object_relevance":
|
| 590 |
+
if object_targets is None:
|
| 591 |
+
return {
|
| 592 |
+
"kind": "not_available",
|
| 593 |
+
"reason": "raw annotation.hdf5 was not provided, so full-train object relevance labels could not be exported",
|
| 594 |
+
}
|
| 595 |
+
rows = all_idx
|
| 596 |
+
return {
|
| 597 |
+
"kind": "multilabel",
|
| 598 |
+
"target": object_targets["Y"],
|
| 599 |
+
"rows": rows,
|
| 600 |
+
"target_source_blocks": "caption_objects_interaction_text",
|
| 601 |
+
"target_variant": "object sets exported from annotation.hdf5 caption_frame_info_map",
|
| 602 |
+
}
|
| 603 |
+
raise KeyError(task)
|
| 604 |
+
|
| 605 |
+
|
| 606 |
+
def target_overlap(group_idx: np.ndarray, target_info: dict, manifest: list[dict]) -> bool:
|
| 607 |
+
blocks = str(target_info.get("target_source_blocks", ""))
|
| 608 |
+
if not blocks:
|
| 609 |
+
return False
|
| 610 |
+
target_idx: list[int] = []
|
| 611 |
+
for part in blocks.split("|"):
|
| 612 |
+
part = part.strip()
|
| 613 |
+
if not part:
|
| 614 |
+
continue
|
| 615 |
+
prefix = part[:-1] if part.endswith("*") else part
|
| 616 |
+
target_idx.extend(block_indices(manifest, [prefix]).tolist())
|
| 617 |
+
if not target_idx:
|
| 618 |
+
return False
|
| 619 |
+
return bool(np.intersect1d(group_idx, np.asarray(target_idx, dtype=np.int64)).size)
|
| 620 |
+
|
| 621 |
+
|
| 622 |
+
def pair_features(X: np.ndarray, pairs: np.ndarray, group_idx: np.ndarray, visual_idx: np.ndarray | None = None, task: str = "") -> np.ndarray:
|
| 623 |
+
left = X[pairs[:, 0]][:, group_idx]
|
| 624 |
+
right_source = X[pairs[:, 1]]
|
| 625 |
+
if task == "misalignment_detection" and visual_idx is not None:
|
| 626 |
+
right = right_source[:, visual_idx]
|
| 627 |
+
else:
|
| 628 |
+
right = right_source[:, group_idx]
|
| 629 |
+
diff = right[:, : min(left.shape[1], right.shape[1])] - left[:, : min(left.shape[1], right.shape[1])]
|
| 630 |
+
return np.concatenate([left, right, diff], axis=1).astype(np.float32)
|
| 631 |
+
|
| 632 |
+
|
| 633 |
+
def run_modality_ablation(
|
| 634 |
+
X: np.ndarray,
|
| 635 |
+
windows: list[dict],
|
| 636 |
+
manifest: list[dict],
|
| 637 |
+
suite_dir: Path,
|
| 638 |
+
out_dir: Path,
|
| 639 |
+
args: argparse.Namespace,
|
| 640 |
+
object_targets: dict | None = None,
|
| 641 |
+
) -> list[dict]:
|
| 642 |
+
groups = modality_groups(manifest)
|
| 643 |
+
visual_idx = block_indices(manifest, ["depth_confidence", "video_"])
|
| 644 |
+
contact_idx = block_indices(manifest, ["body_contacts"])
|
| 645 |
+
rows: list[dict] = []
|
| 646 |
+
|
| 647 |
+
for task in TASKS:
|
| 648 |
+
info = task_target(task, X, windows, manifest, suite_dir, args.future_offset_windows, object_targets)
|
| 649 |
+
for group_name, group_idx_raw in groups.items():
|
| 650 |
+
row = {
|
| 651 |
+
"task": task,
|
| 652 |
+
"task_display": TASK_DISPLAY[task],
|
| 653 |
+
"modality_group": group_name,
|
| 654 |
+
"modality_display": GROUP_DISPLAY[group_name],
|
| 655 |
+
"status": "computed",
|
| 656 |
+
"score": "",
|
| 657 |
+
"primary_metric": "",
|
| 658 |
+
"primary_metric_value": "",
|
| 659 |
+
"target_variant": info.get("target_variant", ""),
|
| 660 |
+
"target_source_overlap": "",
|
| 661 |
+
"reason": "",
|
| 662 |
+
}
|
| 663 |
+
if info["kind"] == "not_available":
|
| 664 |
+
row.update({"status": "not_computed", "reason": info["reason"]})
|
| 665 |
+
rows.append(row)
|
| 666 |
+
continue
|
| 667 |
+
|
| 668 |
+
group_idx = group_idx_raw
|
| 669 |
+
if task == "contact_prediction":
|
| 670 |
+
group_idx = np.setdiff1d(group_idx_raw, contact_idx)
|
| 671 |
+
if len(group_idx) == 0:
|
| 672 |
+
row.update({"status": "not_computed", "reason": "input group would contain only contact target-source features"})
|
| 673 |
+
rows.append(row)
|
| 674 |
+
continue
|
| 675 |
+
|
| 676 |
+
try:
|
| 677 |
+
if info["kind"] == "classification":
|
| 678 |
+
data_rows = np.asarray(info["rows"], dtype=np.int64)
|
| 679 |
+
labels = np.asarray(info["labels"], dtype=object)
|
| 680 |
+
train_local, test_local = chronological_split(len(data_rows), args.test_fraction)
|
| 681 |
+
metrics, _ = fit_classification(
|
| 682 |
+
X[data_rows][:, group_idx],
|
| 683 |
+
labels,
|
| 684 |
+
train_local,
|
| 685 |
+
test_local,
|
| 686 |
+
args.ridge_l2,
|
| 687 |
+
)
|
| 688 |
+
if metrics.get("status") == "not_computed":
|
| 689 |
+
row.update(metrics)
|
| 690 |
+
else:
|
| 691 |
+
row.update(metrics)
|
| 692 |
+
row["primary_metric"] = "macro_f1"
|
| 693 |
+
row["primary_metric_value"] = metrics["macro_f1"]
|
| 694 |
+
row["score"] = metrics["macro_f1"]
|
| 695 |
+
elif info["kind"] == "regression":
|
| 696 |
+
data_rows = np.asarray(info["rows"], dtype=np.int64)
|
| 697 |
+
target = np.asarray(info["target"], dtype=np.float32)
|
| 698 |
+
train_local, test_local = chronological_split(len(data_rows), args.test_fraction)
|
| 699 |
+
Xin_train, Xin_test = standardize(X[data_rows[train_local]][:, group_idx], X[data_rows[test_local]][:, group_idx])
|
| 700 |
+
Y_train, Y_test = standardize(info["target"][train_local], info["target"][test_local])
|
| 701 |
+
pred = ridge_predict(Xin_train, Y_train, Xin_test, args.ridge_l2)
|
| 702 |
+
metrics = regression_metrics(Y_test, pred)
|
| 703 |
+
row.update(metrics)
|
| 704 |
+
row["primary_metric"] = "mae"
|
| 705 |
+
row["primary_metric_value"] = metrics["mae"]
|
| 706 |
+
row["score"] = 1.0 / (1.0 + metrics["mae"])
|
| 707 |
+
elif info["kind"] == "multilabel":
|
| 708 |
+
data_rows = np.asarray(info["rows"], dtype=np.int64)
|
| 709 |
+
target = np.asarray(info["target"], dtype=np.float32)
|
| 710 |
+
train_local, test_local = chronological_split(len(data_rows), args.test_fraction)
|
| 711 |
+
metrics, _ = fit_multilabel(X[data_rows][:, group_idx], target, train_local, test_local, args.ridge_l2)
|
| 712 |
+
row.update(metrics)
|
| 713 |
+
row["primary_metric"] = "micro_f1"
|
| 714 |
+
row["primary_metric_value"] = metrics["micro_f1"]
|
| 715 |
+
row["score"] = metrics["micro_f1"]
|
| 716 |
+
elif info["kind"] == "retrieval":
|
| 717 |
+
data_rows = np.asarray(info["rows"], dtype=np.int64)
|
| 718 |
+
target = np.asarray(info["target"], dtype=np.float32)
|
| 719 |
+
train_local, test_local = chronological_split(len(data_rows), args.test_fraction)
|
| 720 |
+
Xin_train, Xin_test = standardize(X[data_rows[train_local]][:, group_idx], X[data_rows[test_local]][:, group_idx])
|
| 721 |
+
Y_train, Y_test = standardize(target[train_local], target[test_local])
|
| 722 |
+
pred = ridge_predict(Xin_train, Y_train, Xin_test, args.ridge_l2)
|
| 723 |
+
metrics = retrieval_metrics(pred, Y_test)
|
| 724 |
+
row.update(metrics)
|
| 725 |
+
row["primary_metric"] = "mrr"
|
| 726 |
+
row["primary_metric_value"] = metrics["mrr"]
|
| 727 |
+
row["score"] = metrics["mrr"]
|
| 728 |
+
elif info["kind"] == "pair_classification":
|
| 729 |
+
pairs = np.asarray(info["pairs"], dtype=np.int64)
|
| 730 |
+
labels = np.asarray(info["labels"], dtype=object)
|
| 731 |
+
train_local, test_local = chronological_split(len(pairs), args.test_fraction)
|
| 732 |
+
feats = pair_features(X, pairs, group_idx, visual_idx=visual_idx, task=task)
|
| 733 |
+
metrics, _ = fit_classification(feats, labels, train_local, test_local, args.ridge_l2)
|
| 734 |
+
if metrics.get("status") == "not_computed":
|
| 735 |
+
row.update(metrics)
|
| 736 |
+
else:
|
| 737 |
+
row.update(metrics)
|
| 738 |
+
row["primary_metric"] = "macro_f1"
|
| 739 |
+
row["primary_metric_value"] = metrics["macro_f1"]
|
| 740 |
+
row["score"] = metrics["macro_f1"]
|
| 741 |
+
else:
|
| 742 |
+
raise ValueError(info["kind"])
|
| 743 |
+
row["target_source_overlap"] = str(target_overlap(group_idx, info, manifest)).lower()
|
| 744 |
+
except Exception as exc: # keep the matrix auditable instead of silently dropping failures
|
| 745 |
+
row.update({"status": "not_computed", "reason": f"{type(exc).__name__}: {exc}"})
|
| 746 |
+
rows.append(row)
|
| 747 |
+
|
| 748 |
+
write_csv(out_dir / "modality_ablation/ablation_metrics.csv", rows)
|
| 749 |
+
write_json(
|
| 750 |
+
out_dir / "modality_ablation/ablation_summary.json",
|
| 751 |
+
{
|
| 752 |
+
"description": "Compact ridge-head ablation over real shared_windows.npz feature blocks.",
|
| 753 |
+
"num_rows": len(rows),
|
| 754 |
+
"num_computed": sum(1 for r in rows if r.get("status") == "computed"),
|
| 755 |
+
"num_not_computed": sum(1 for r in rows if r.get("status") != "computed"),
|
| 756 |
+
"groups": {name: int(len(idx)) for name, idx in groups.items()},
|
| 757 |
+
"tasks": TASKS,
|
| 758 |
+
"object_relevance_labels": "annotation.hdf5" if object_targets is not None else "not_available",
|
| 759 |
+
},
|
| 760 |
+
)
|
| 761 |
+
render_ablation_svg(rows, out_dir / "modality_ablation/ablation_matrix.svg")
|
| 762 |
+
write_modality_report(rows, out_dir / "modality_ablation/MODALITY_ABLATION_REPORT.md")
|
| 763 |
+
return rows
|
| 764 |
+
|
| 765 |
+
|
| 766 |
+
def color_for_score(score: float | None) -> str:
|
| 767 |
+
if score is None or math.isnan(score):
|
| 768 |
+
return "#20251f"
|
| 769 |
+
score = max(0.0, min(1.0, score))
|
| 770 |
+
r = int(37 + (154 - 37) * (1.0 - score))
|
| 771 |
+
g = int(72 + (224 - 72) * score)
|
| 772 |
+
b = int(54 + (101 - 54) * score)
|
| 773 |
+
return f"#{r:02x}{g:02x}{b:02x}"
|
| 774 |
+
|
| 775 |
+
|
| 776 |
+
def render_ablation_svg(rows: list[dict], path: Path) -> None:
|
| 777 |
+
groups = list(GROUP_DISPLAY.keys())
|
| 778 |
+
tasks = TASKS
|
| 779 |
+
cell_w, cell_h = 132, 34
|
| 780 |
+
left, top = 300, 98
|
| 781 |
+
width = left + cell_w * len(groups) + 44
|
| 782 |
+
height = top + cell_h * len(tasks) + 86
|
| 783 |
+
by_key = {(r["task"], r["modality_group"]): r for r in rows}
|
| 784 |
+
parts = [
|
| 785 |
+
f'<svg xmlns="http://www.w3.org/2000/svg" width="{width}" height="{height}" viewBox="0 0 {width} {height}">',
|
| 786 |
+
'<rect width="100%" height="100%" fill="#10160f"/>',
|
| 787 |
+
'<text x="28" y="38" fill="#eef5e8" font-family="Inter, Arial" font-size="24" font-weight="700">Single-Episode Modality Ablation Matrix</text>',
|
| 788 |
+
'<text x="28" y="66" fill="#a7b5a3" font-family="Inter, Arial" font-size="13">Scores are recomputed from shared_windows.npz; gray cells are intentionally not computed.</text>',
|
| 789 |
+
]
|
| 790 |
+
for j, group in enumerate(groups):
|
| 791 |
+
x = left + j * cell_w + 6
|
| 792 |
+
parts.append(
|
| 793 |
+
f'<text x="{x}" y="{top - 18}" fill="#cbd8c8" font-family="Inter, Arial" font-size="12" transform="rotate(-25 {x} {top - 18})">{html.escape(GROUP_DISPLAY[group])}</text>'
|
| 794 |
+
)
|
| 795 |
+
for i, task in enumerate(tasks):
|
| 796 |
+
y = top + i * cell_h
|
| 797 |
+
parts.append(f'<text x="28" y="{y + 22}" fill="#e7efe2" font-family="Inter, Arial" font-size="13">{html.escape(TASK_DISPLAY[task])}</text>')
|
| 798 |
+
for j, group in enumerate(groups):
|
| 799 |
+
x = left + j * cell_w
|
| 800 |
+
row = by_key.get((task, group), {})
|
| 801 |
+
if row.get("status") == "computed" and row.get("score") != "":
|
| 802 |
+
score = float(row["score"])
|
| 803 |
+
fill = color_for_score(score)
|
| 804 |
+
label = f'{score:.2f}'
|
| 805 |
+
label_fill = "#061006" if score > 0.62 else "#edf5e7"
|
| 806 |
+
else:
|
| 807 |
+
fill = "#222720"
|
| 808 |
+
label = "n/a"
|
| 809 |
+
label_fill = "#7b8678"
|
| 810 |
+
parts.append(f'<rect x="{x}" y="{y}" width="{cell_w - 8}" height="{cell_h - 7}" rx="5" fill="{fill}" stroke="#34402f" stroke-width="1"/>')
|
| 811 |
+
parts.append(f'<text x="{x + (cell_w - 8) / 2}" y="{y + 19}" text-anchor="middle" fill="{label_fill}" font-family="Inter, Arial" font-size="12" font-weight="700">{label}</text>')
|
| 812 |
+
parts.extend(
|
| 813 |
+
[
|
| 814 |
+
f'<text x="28" y="{height - 34}" fill="#a7b5a3" font-family="Inter, Arial" font-size="12">Metric: macro-F1 / MRR / 1/(1+MAE), depending on task type. See CSV for raw values and overlap flags.</text>',
|
| 815 |
+
"</svg>",
|
| 816 |
+
]
|
| 817 |
+
)
|
| 818 |
+
write_text(path, "\n".join(parts))
|
| 819 |
+
|
| 820 |
+
|
| 821 |
+
def write_modality_report(rows: list[dict], path: Path) -> None:
|
| 822 |
+
computed = [r for r in rows if r.get("status") == "computed" and r.get("score") != ""]
|
| 823 |
+
by_task: dict[str, list[dict]] = {t: [] for t in TASKS}
|
| 824 |
+
for row in computed:
|
| 825 |
+
by_task[row["task"]].append(row)
|
| 826 |
+
lines = [
|
| 827 |
+
"# Single-Episode Modality Ablation Report",
|
| 828 |
+
"",
|
| 829 |
+
"This diagnostic reruns compact ridge heads on the exported one-episode feature matrix. It is useful for checking which real feature blocks can support each task on this episode, not for estimating dataset-wide generalization.",
|
| 830 |
+
"",
|
| 831 |
+
"No synthetic labels are introduced. Derived proxy targets are marked in `target_variant`, and feature groups that overlap with the target source are marked in `target_source_overlap`.",
|
| 832 |
+
"",
|
| 833 |
+
"## Best Computed Group Per Task",
|
| 834 |
+
"",
|
| 835 |
+
]
|
| 836 |
+
for task in TASKS:
|
| 837 |
+
task_rows = by_task.get(task, [])
|
| 838 |
+
if not task_rows:
|
| 839 |
+
reasons = sorted({r.get("reason", "") for r in rows if r["task"] == task and r.get("reason")})
|
| 840 |
+
lines.append(f"- {TASK_DISPLAY[task]}: not computed ({'; '.join(reasons)})")
|
| 841 |
+
continue
|
| 842 |
+
best = max(task_rows, key=lambda r: float(r["score"]))
|
| 843 |
+
line = (
|
| 844 |
+
f"- {TASK_DISPLAY[task]}: {best['modality_display']} score={float(best['score']):.4f}, "
|
| 845 |
+
f"{best['primary_metric']}={float(best['primary_metric_value']):.4f}, target overlap={best['target_source_overlap']}"
|
| 846 |
+
)
|
| 847 |
+
if best["target_source_overlap"] == "true":
|
| 848 |
+
no_overlap = [r for r in task_rows if r.get("target_source_overlap") == "false"]
|
| 849 |
+
if no_overlap:
|
| 850 |
+
alt = max(no_overlap, key=lambda r: float(r["score"]))
|
| 851 |
+
line += (
|
| 852 |
+
f"; best non-overlap: {alt['modality_display']} score={float(alt['score']):.4f}, "
|
| 853 |
+
f"{alt['primary_metric']}={float(alt['primary_metric_value']):.4f}"
|
| 854 |
+
)
|
| 855 |
+
lines.append(line)
|
| 856 |
+
lines.extend(
|
| 857 |
+
[
|
| 858 |
+
"",
|
| 859 |
+
"## Files",
|
| 860 |
+
"",
|
| 861 |
+
"- `ablation_metrics.csv`: every task/modality pair, including not-computed rows and reasons.",
|
| 862 |
+
"- `ablation_matrix.svg`: compact heatmap for manual inspection.",
|
| 863 |
+
"- `ablation_summary.json`: group dimensions and computed/not-computed counts.",
|
| 864 |
+
]
|
| 865 |
+
)
|
| 866 |
+
write_text(path, "\n".join(lines) + "\n")
|
| 867 |
+
|
| 868 |
+
|
| 869 |
+
def run_timeline_overlay(suite_dir: Path, windows: list[dict], out_dir: Path) -> list[dict]:
|
| 870 |
+
overlay_tasks = [
|
| 871 |
+
"timeline_action",
|
| 872 |
+
"timeline_subtask",
|
| 873 |
+
"transition_detection",
|
| 874 |
+
"next_action",
|
| 875 |
+
"contact_prediction",
|
| 876 |
+
"object_relevance",
|
| 877 |
+
]
|
| 878 |
+
window_by_index = {int(row["window_index"]): row for row in windows}
|
| 879 |
+
rows: list[dict] = []
|
| 880 |
+
for task in overlay_tasks:
|
| 881 |
+
pred_path = suite_dir / task / "predictions.csv"
|
| 882 |
+
if not pred_path.exists():
|
| 883 |
+
rows.append({"task": task, "status": "not_available", "reason": f"missing {pred_path}"})
|
| 884 |
+
continue
|
| 885 |
+
for pred in read_csv(pred_path):
|
| 886 |
+
try:
|
| 887 |
+
idx = int(pred["window_index"])
|
| 888 |
+
except KeyError:
|
| 889 |
+
continue
|
| 890 |
+
window = window_by_index.get(idx, {})
|
| 891 |
+
true_value = pred.get("true_label") or pred.get("true_objects") or pred.get("true") or ""
|
| 892 |
+
pred_value = pred.get("predicted_label") or pred.get("predicted_objects") or pred.get("predicted") or ""
|
| 893 |
+
if "correct" in pred and pred["correct"] != "":
|
| 894 |
+
correct = int(float(pred["correct"]))
|
| 895 |
+
else:
|
| 896 |
+
correct = int(str(true_value) == str(pred_value))
|
| 897 |
+
rows.append(
|
| 898 |
+
{
|
| 899 |
+
"task": task,
|
| 900 |
+
"task_display": TASK_DISPLAY[task],
|
| 901 |
+
"status": "observed_prediction",
|
| 902 |
+
"window_index": idx,
|
| 903 |
+
"start_frame": pred.get("start_frame") or window.get("start_frame", ""),
|
| 904 |
+
"end_frame": pred.get("end_frame") or window.get("end_frame", ""),
|
| 905 |
+
"center_frame": pred.get("center_frame") or window.get("center_frame", ""),
|
| 906 |
+
"true_value": true_value,
|
| 907 |
+
"predicted_value": pred_value,
|
| 908 |
+
"confidence": pred.get("confidence", ""),
|
| 909 |
+
"correct": correct,
|
| 910 |
+
}
|
| 911 |
+
)
|
| 912 |
+
|
| 913 |
+
write_csv(out_dir / "timeline_overlay/timeline_overlay.csv", rows)
|
| 914 |
+
render_timeline_svg(rows, windows, suite_dir, out_dir / "timeline_overlay/timeline_overlay.svg")
|
| 915 |
+
write_timeline_report(rows, out_dir / "timeline_overlay/TIMELINE_OVERLAY_REPORT.md")
|
| 916 |
+
return rows
|
| 917 |
+
|
| 918 |
+
|
| 919 |
+
def render_timeline_svg(rows: list[dict], windows: list[dict], suite_dir: Path, path: Path) -> None:
|
| 920 |
+
tasks = ["timeline_action", "timeline_subtask", "transition_detection", "next_action", "contact_prediction", "object_relevance"]
|
| 921 |
+
min_frame = min(int(r["start_frame"]) for r in windows)
|
| 922 |
+
max_frame = max(int(r["end_frame"]) for r in windows)
|
| 923 |
+
left, top = 260, 84
|
| 924 |
+
row_h, plot_w = 48, 1100
|
| 925 |
+
width = left + plot_w + 38
|
| 926 |
+
height = top + row_h * len(tasks) + 92
|
| 927 |
+
by_task: dict[str, list[dict]] = {t: [] for t in tasks}
|
| 928 |
+
for row in rows:
|
| 929 |
+
if row.get("status") == "observed_prediction":
|
| 930 |
+
by_task[row["task"]].append(row)
|
| 931 |
+
|
| 932 |
+
def x_for(frame: int) -> float:
|
| 933 |
+
return left + (frame - min_frame) / max(1, max_frame - min_frame) * plot_w
|
| 934 |
+
|
| 935 |
+
parts = [
|
| 936 |
+
f'<svg xmlns="http://www.w3.org/2000/svg" width="{width}" height="{height}" viewBox="0 0 {width} {height}">',
|
| 937 |
+
'<rect width="100%" height="100%" fill="#10160f"/>',
|
| 938 |
+
'<text x="28" y="38" fill="#eef5e8" font-family="Inter, Arial" font-size="24" font-weight="700">Held-Out Timeline Prediction Overlay</text>',
|
| 939 |
+
'<text x="28" y="64" fill="#a7b5a3" font-family="Inter, Arial" font-size="13">Bars are existing real prediction rows aligned back to the exported episode timeline.</text>',
|
| 940 |
+
]
|
| 941 |
+
boundaries_path = suite_dir / "transition_detection/true_boundaries.csv"
|
| 942 |
+
boundary_frames = []
|
| 943 |
+
if boundaries_path.exists():
|
| 944 |
+
boundary_frames = [int(r.get("boundary_frame") or r.get("frame")) for r in read_csv(boundaries_path)]
|
| 945 |
+
for i, task in enumerate(tasks):
|
| 946 |
+
y = top + i * row_h
|
| 947 |
+
parts.append(f'<text x="28" y="{y + 25}" fill="#e7efe2" font-family="Inter, Arial" font-size="13">{html.escape(TASK_DISPLAY[task])}</text>')
|
| 948 |
+
parts.append(f'<line x1="{left}" y1="{y + 20}" x2="{left + plot_w}" y2="{y + 20}" stroke="#2a3428" stroke-width="18" stroke-linecap="round"/>')
|
| 949 |
+
for row in by_task[task]:
|
| 950 |
+
if not row.get("start_frame") or not row.get("end_frame"):
|
| 951 |
+
continue
|
| 952 |
+
x1 = x_for(int(float(row["start_frame"])))
|
| 953 |
+
x2 = max(x1 + 2, x_for(int(float(row["end_frame"]))))
|
| 954 |
+
fill = "#8ee06a" if int(row["correct"]) else "#e46b5f"
|
| 955 |
+
parts.append(f'<rect x="{x1:.2f}" y="{y + 11}" width="{x2 - x1:.2f}" height="18" rx="3" fill="{fill}" opacity="0.86"/>')
|
| 956 |
+
for frame in boundary_frames:
|
| 957 |
+
x = x_for(frame)
|
| 958 |
+
parts.append(f'<line x1="{x:.2f}" y1="{y + 4}" x2="{x:.2f}" y2="{y + 36}" stroke="#d8e887" stroke-width="1.2" opacity="0.70"/>')
|
| 959 |
+
parts.extend(
|
| 960 |
+
[
|
| 961 |
+
f'<text x="{left}" y="{height - 42}" fill="#8ee06a" font-family="Inter, Arial" font-size="12">green = exact/correct prediction</text>',
|
| 962 |
+
f'<text x="{left + 220}" y="{height - 42}" fill="#e46b5f" font-family="Inter, Arial" font-size="12">red = mismatch</text>',
|
| 963 |
+
f'<text x="{left + 390}" y="{height - 42}" fill="#d8e887" font-family="Inter, Arial" font-size="12">vertical lines = real transition boundaries</text>',
|
| 964 |
+
"</svg>",
|
| 965 |
+
]
|
| 966 |
+
)
|
| 967 |
+
write_text(path, "\n".join(parts))
|
| 968 |
+
|
| 969 |
+
|
| 970 |
+
def write_timeline_report(rows: list[dict], path: Path) -> None:
|
| 971 |
+
observed = [r for r in rows if r.get("status") == "observed_prediction"]
|
| 972 |
+
lines = [
|
| 973 |
+
"# Timeline Prediction Overlay Report",
|
| 974 |
+
"",
|
| 975 |
+
"This report aligns existing prediction CSV files to the exported episode timeline. It does not rerun training.",
|
| 976 |
+
"",
|
| 977 |
+
"## Task-Level Correctness",
|
| 978 |
+
"",
|
| 979 |
+
]
|
| 980 |
+
for task in ["timeline_action", "timeline_subtask", "transition_detection", "next_action", "contact_prediction", "object_relevance"]:
|
| 981 |
+
task_rows = [r for r in observed if r["task"] == task]
|
| 982 |
+
if not task_rows:
|
| 983 |
+
lines.append(f"- {TASK_DISPLAY[task]}: no prediction rows found")
|
| 984 |
+
continue
|
| 985 |
+
correct = sum(int(r["correct"]) for r in task_rows)
|
| 986 |
+
lines.append(f"- {TASK_DISPLAY[task]}: {correct}/{len(task_rows)} correct ({correct / len(task_rows):.4f})")
|
| 987 |
+
lines.extend(
|
| 988 |
+
[
|
| 989 |
+
"",
|
| 990 |
+
"## Files",
|
| 991 |
+
"",
|
| 992 |
+
"- `timeline_overlay.csv`: prediction rows with frame positions.",
|
| 993 |
+
"- `timeline_overlay.svg`: visual overlay across the episode.",
|
| 994 |
+
]
|
| 995 |
+
)
|
| 996 |
+
write_text(path, "\n".join(lines) + "\n")
|
| 997 |
+
|
| 998 |
+
|
| 999 |
+
def run_alignment_stress(
|
| 1000 |
+
X: np.ndarray,
|
| 1001 |
+
manifest: list[dict],
|
| 1002 |
+
windows: list[dict],
|
| 1003 |
+
out_dir: Path,
|
| 1004 |
+
args: argparse.Namespace,
|
| 1005 |
+
) -> list[dict]:
|
| 1006 |
+
groups = modality_groups(manifest)
|
| 1007 |
+
stress_groups = {
|
| 1008 |
+
"motion_capture": groups["motion_capture"],
|
| 1009 |
+
"pose_slam": groups["pose_slam"],
|
| 1010 |
+
"inertial": groups["inertial"],
|
| 1011 |
+
"language": groups["language"],
|
| 1012 |
+
"motion_pose_inertial": np.unique(np.concatenate([groups["motion_capture"], groups["pose_slam"], groups["inertial"]])),
|
| 1013 |
+
}
|
| 1014 |
+
target_idx = block_indices(manifest, ["depth_confidence", "video_"])
|
| 1015 |
+
n = X.shape[0]
|
| 1016 |
+
train_idx, test_idx = chronological_split(n, args.test_fraction)
|
| 1017 |
+
shifts = [-40, -20, -10, -5, 0, 5, 10, 20, 40]
|
| 1018 |
+
rows: list[dict] = []
|
| 1019 |
+
stride = int(windows[1]["start_frame"]) - int(windows[0]["start_frame"]) if len(windows) > 1 else 1
|
| 1020 |
+
for group, q_idx in stress_groups.items():
|
| 1021 |
+
q_train, q_test_all = standardize(X[train_idx][:, q_idx], X[test_idx][:, q_idx])
|
| 1022 |
+
t_train, t_test_all = standardize(X[train_idx][:, target_idx], X[test_idx][:, target_idx])
|
| 1023 |
+
projector_pred_all = ridge_predict(q_train, t_train, q_test_all, args.ridge_l2)
|
| 1024 |
+
for shift in shifts:
|
| 1025 |
+
valid = []
|
| 1026 |
+
for local_i in range(len(test_idx)):
|
| 1027 |
+
shifted_local = local_i + shift
|
| 1028 |
+
if 0 <= shifted_local < len(test_idx):
|
| 1029 |
+
valid.append((local_i, shifted_local))
|
| 1030 |
+
if not valid:
|
| 1031 |
+
continue
|
| 1032 |
+
original = np.asarray([a for a, _ in valid], dtype=np.int64)
|
| 1033 |
+
shifted = np.asarray([b for _, b in valid], dtype=np.int64)
|
| 1034 |
+
pred = projector_pred_all[shifted]
|
| 1035 |
+
target = t_test_all[original]
|
| 1036 |
+
metrics = retrieval_metrics(pred, target)
|
| 1037 |
+
row = {
|
| 1038 |
+
"query_group": group,
|
| 1039 |
+
"query_display": GROUP_DISPLAY[group],
|
| 1040 |
+
"target_group": "depth_plus_video",
|
| 1041 |
+
"shift_windows": shift,
|
| 1042 |
+
"shift_frames": int(shift * stride),
|
| 1043 |
+
"status": "derived_perturbation",
|
| 1044 |
+
**metrics,
|
| 1045 |
+
}
|
| 1046 |
+
rows.append(row)
|
| 1047 |
+
write_csv(out_dir / "alignment_stress/alignment_shift_metrics.csv", rows)
|
| 1048 |
+
render_alignment_svg(rows, out_dir / "alignment_stress/alignment_shift_curves.svg")
|
| 1049 |
+
write_json(
|
| 1050 |
+
out_dir / "alignment_stress/alignment_stress_summary.json",
|
| 1051 |
+
{
|
| 1052 |
+
"description": "Real feature windows are deliberately time-shifted at evaluation time to test cross-modal alignment sensitivity.",
|
| 1053 |
+
"target_group": "depth_confidence + video_*",
|
| 1054 |
+
"status_meaning": "derived_perturbation means the features are real but the time shift is an explicit diagnostic perturbation.",
|
| 1055 |
+
"num_rows": len(rows),
|
| 1056 |
+
},
|
| 1057 |
+
)
|
| 1058 |
+
write_alignment_report(rows, out_dir / "alignment_stress/ALIGNMENT_STRESS_REPORT.md")
|
| 1059 |
+
return rows
|
| 1060 |
+
|
| 1061 |
+
|
| 1062 |
+
def render_alignment_svg(rows: list[dict], path: Path) -> None:
|
| 1063 |
+
groups = sorted({r["query_group"] for r in rows})
|
| 1064 |
+
width, height = 1020, 520
|
| 1065 |
+
left, top, plot_w, plot_h = 94, 80, 810, 330
|
| 1066 |
+
shifts = sorted({int(r["shift_windows"]) for r in rows})
|
| 1067 |
+
if not shifts:
|
| 1068 |
+
write_text(path, "<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>")
|
| 1069 |
+
return
|
| 1070 |
+
min_shift, max_shift = min(shifts), max(shifts)
|
| 1071 |
+
max_mrr = max(float(r["mrr"]) for r in rows) if rows else 1.0
|
| 1072 |
+
max_mrr = max(max_mrr, 1e-6)
|
| 1073 |
+
palette = ["#8ee06a", "#d8e887", "#7bd3ff", "#f0a45e", "#cba8ff"]
|
| 1074 |
+
|
| 1075 |
+
def x_for(shift: int) -> float:
|
| 1076 |
+
return left + (shift - min_shift) / max(1, max_shift - min_shift) * plot_w
|
| 1077 |
+
|
| 1078 |
+
def y_for(mrr: float) -> float:
|
| 1079 |
+
return top + plot_h - mrr / max_mrr * plot_h
|
| 1080 |
+
|
| 1081 |
+
parts = [
|
| 1082 |
+
f'<svg xmlns="http://www.w3.org/2000/svg" width="{width}" height="{height}" viewBox="0 0 {width} {height}">',
|
| 1083 |
+
'<rect width="100%" height="100%" fill="#10160f"/>',
|
| 1084 |
+
'<text x="28" y="38" fill="#eef5e8" font-family="Inter, Arial" font-size="24" font-weight="700">Cross-Modal Alignment Stress Test</text>',
|
| 1085 |
+
'<text x="28" y="64" fill="#a7b5a3" font-family="Inter, Arial" font-size="13">Query features are shifted in time; the target visual window remains the original held-out window.</text>',
|
| 1086 |
+
f'<rect x="{left}" y="{top}" width="{plot_w}" height="{plot_h}" fill="#151d14" stroke="#34402f"/>',
|
| 1087 |
+
]
|
| 1088 |
+
for tick in shifts:
|
| 1089 |
+
x = x_for(tick)
|
| 1090 |
+
parts.append(f'<line x1="{x:.2f}" y1="{top}" x2="{x:.2f}" y2="{top + plot_h}" stroke="#263024" stroke-width="1"/>')
|
| 1091 |
+
parts.append(f'<text x="{x:.2f}" y="{top + plot_h + 24}" fill="#a7b5a3" font-family="Inter, Arial" font-size="11" text-anchor="middle">{tick}</text>')
|
| 1092 |
+
parts.append(f'<text x="{left + plot_w / 2}" y="{height - 48}" fill="#cbd8c8" font-family="Inter, Arial" font-size="13" text-anchor="middle">shift in windows</text>')
|
| 1093 |
+
parts.append(f'<text x="30" y="{top + plot_h / 2}" fill="#cbd8c8" font-family="Inter, Arial" font-size="13" transform="rotate(-90 30 {top + plot_h / 2})">MRR</text>')
|
| 1094 |
+
|
| 1095 |
+
for gi, group in enumerate(groups):
|
| 1096 |
+
color = palette[gi % len(palette)]
|
| 1097 |
+
group_rows = sorted([r for r in rows if r["query_group"] == group], key=lambda r: int(r["shift_windows"]))
|
| 1098 |
+
points = [(x_for(int(r["shift_windows"])), y_for(float(r["mrr"]))) for r in group_rows]
|
| 1099 |
+
if points:
|
| 1100 |
+
d = " ".join(f"{x:.2f},{y:.2f}" for x, y in points)
|
| 1101 |
+
parts.append(f'<polyline points="{d}" fill="none" stroke="{color}" stroke-width="2.4"/>')
|
| 1102 |
+
for x, y in points:
|
| 1103 |
+
parts.append(f'<circle cx="{x:.2f}" cy="{y:.2f}" r="4" fill="{color}"/>')
|
| 1104 |
+
parts.append(f'<rect x="{left + plot_w + 28}" y="{top + gi * 25}" width="12" height="12" fill="{color}"/>')
|
| 1105 |
+
parts.append(f'<text x="{left + plot_w + 46}" y="{top + 11 + gi * 25}" fill="#e7efe2" font-family="Inter, Arial" font-size="12">{html.escape(GROUP_DISPLAY.get(group, group))}</text>')
|
| 1106 |
+
parts.append("</svg>")
|
| 1107 |
+
write_text(path, "\n".join(parts))
|
| 1108 |
+
|
| 1109 |
+
|
| 1110 |
+
def write_alignment_report(rows: list[dict], path: Path) -> None:
|
| 1111 |
+
lines = [
|
| 1112 |
+
"# Cross-Modal Alignment Stress Report",
|
| 1113 |
+
"",
|
| 1114 |
+
"This diagnostic uses real held-out feature windows, then deliberately shifts the query modality in time at evaluation. The perturbation is derived; it is not treated as observed data.",
|
| 1115 |
+
"",
|
| 1116 |
+
"## Zero-Shift Versus Worst Shift",
|
| 1117 |
+
"",
|
| 1118 |
+
]
|
| 1119 |
+
for group in sorted({r["query_group"] for r in rows}):
|
| 1120 |
+
group_rows = [r for r in rows if r["query_group"] == group]
|
| 1121 |
+
zero = next((r for r in group_rows if int(r["shift_windows"]) == 0), None)
|
| 1122 |
+
worst = min(group_rows, key=lambda r: float(r["mrr"])) if group_rows else None
|
| 1123 |
+
if zero and worst:
|
| 1124 |
+
lines.append(
|
| 1125 |
+
f"- {GROUP_DISPLAY.get(group, group)}: zero-shift MRR={float(zero['mrr']):.4f}; "
|
| 1126 |
+
f"worst shift={worst['shift_windows']} windows, MRR={float(worst['mrr']):.4f}"
|
| 1127 |
+
)
|
| 1128 |
+
lines.extend(
|
| 1129 |
+
[
|
| 1130 |
+
"",
|
| 1131 |
+
"## Files",
|
| 1132 |
+
"",
|
| 1133 |
+
"- `alignment_shift_metrics.csv`: MRR/rank metrics for each query group and time shift.",
|
| 1134 |
+
"- `alignment_shift_curves.svg`: MRR curves across time shifts.",
|
| 1135 |
+
"- `alignment_stress_summary.json`: perturbation definition and status.",
|
| 1136 |
+
]
|
| 1137 |
+
)
|
| 1138 |
+
write_text(path, "\n".join(lines) + "\n")
|
| 1139 |
+
|
| 1140 |
+
|
| 1141 |
+
def build_provenance(
|
| 1142 |
+
suite_dir: Path,
|
| 1143 |
+
out_dir: Path,
|
| 1144 |
+
X: np.ndarray,
|
| 1145 |
+
starts: np.ndarray,
|
| 1146 |
+
ends: np.ndarray,
|
| 1147 |
+
manifest: list[dict],
|
| 1148 |
+
summary: dict,
|
| 1149 |
+
annotation: Path | None = None,
|
| 1150 |
+
) -> dict:
|
| 1151 |
+
repo_root = suite_dir.parent.parent.resolve()
|
| 1152 |
+
input_files = [
|
| 1153 |
+
suite_dir / "shared_windows.npz",
|
| 1154 |
+
suite_dir / "windows.csv",
|
| 1155 |
+
suite_dir / "feature_manifest.json",
|
| 1156 |
+
suite_dir / "summary_report.json",
|
| 1157 |
+
suite_dir / "transition_detection/true_boundaries.csv",
|
| 1158 |
+
]
|
| 1159 |
+
for task in ["timeline_action", "timeline_subtask", "transition_detection", "next_action", "contact_prediction", "object_relevance"]:
|
| 1160 |
+
pred_path = suite_dir / task / "predictions.csv"
|
| 1161 |
+
if pred_path.exists():
|
| 1162 |
+
input_files.append(pred_path)
|
| 1163 |
+
if annotation is not None and annotation.exists():
|
| 1164 |
+
input_files.append(annotation)
|
| 1165 |
+
provenance = {
|
| 1166 |
+
"artifact_policy": "Only existing local artifacts are consumed. Missing labels/tasks are marked not_computed instead of filled.",
|
| 1167 |
+
"source_suite_dir": public_artifact_path(suite_dir, repo_root),
|
| 1168 |
+
"output_dir": public_artifact_path(out_dir, repo_root),
|
| 1169 |
+
"shared_windows_shape": [int(X.shape[0]), int(X.shape[1])],
|
| 1170 |
+
"starts_first_last": [int(starts[0]), int(starts[-1])],
|
| 1171 |
+
"ends_first_last": [int(ends[0]), int(ends[-1])],
|
| 1172 |
+
"feature_blocks": manifest,
|
| 1173 |
+
"summary_report_core": {
|
| 1174 |
+
"num_windows": summary.get("num_windows"),
|
| 1175 |
+
"feature_dim": summary.get("feature_dim"),
|
| 1176 |
+
"window_frames": summary.get("window_frames"),
|
| 1177 |
+
"stride_frames": summary.get("stride_frames"),
|
| 1178 |
+
"annotation": public_source_reference(summary.get("annotation")),
|
| 1179 |
+
},
|
| 1180 |
+
"input_file_hashes": {
|
| 1181 |
+
public_artifact_path(path, repo_root): sha256(path)
|
| 1182 |
+
for path in input_files
|
| 1183 |
+
if path.exists()
|
| 1184 |
+
},
|
| 1185 |
+
}
|
| 1186 |
+
write_json(out_dir / "provenance.json", provenance)
|
| 1187 |
+
return provenance
|
| 1188 |
+
|
| 1189 |
+
|
| 1190 |
+
def write_index(out_dir: Path, provenance: dict, ablation_rows: list[dict], timeline_rows: list[dict], stress_rows: list[dict]) -> None:
|
| 1191 |
+
lines = [
|
| 1192 |
+
"# Single-Episode Diagnostics Index",
|
| 1193 |
+
"",
|
| 1194 |
+
"These outputs are local diagnostics built from the existing one-episode Xperience-10M artifacts. They are designed for manual verification while waiting for full multi-episode data access.",
|
| 1195 |
+
"",
|
| 1196 |
+
"## Generated Analyses",
|
| 1197 |
+
"",
|
| 1198 |
+
"- `modality_ablation/`: compact ridge-head ablations across real feature blocks.",
|
| 1199 |
+
"- `timeline_overlay/`: existing prediction CSVs aligned to the episode timeline.",
|
| 1200 |
+
"- `alignment_stress/`: cross-modal retrieval under explicit time-shift perturbations.",
|
| 1201 |
+
"- `provenance.json`: input hashes, feature dimensions, and source artifact identifiers.",
|
| 1202 |
+
"",
|
| 1203 |
+
"## Validity Boundaries",
|
| 1204 |
+
"",
|
| 1205 |
+
"- This is a single-episode diagnostic, not a full Xperience-10M benchmark.",
|
| 1206 |
+
"- Rows marked `not_computed` are intentionally left blank when train labels or valid splits are unavailable.",
|
| 1207 |
+
"- Rows marked `derived_perturbation` use real features with deliberate time shifts for stress testing.",
|
| 1208 |
+
"",
|
| 1209 |
+
"## Counts",
|
| 1210 |
+
"",
|
| 1211 |
+
f"- Ablation rows: {len(ablation_rows)}; computed: {sum(1 for r in ablation_rows if r.get('status') == 'computed')}.",
|
| 1212 |
+
f"- Timeline overlay rows: {sum(1 for r in timeline_rows if r.get('status') == 'observed_prediction')}.",
|
| 1213 |
+
f"- Alignment stress rows: {len(stress_rows)}.",
|
| 1214 |
+
f"- Shared feature shape: {provenance['shared_windows_shape'][0]} windows x {provenance['shared_windows_shape'][1]} features.",
|
| 1215 |
+
]
|
| 1216 |
+
write_text(out_dir / "README.md", "\n".join(lines) + "\n")
|
| 1217 |
+
|
| 1218 |
+
|
| 1219 |
+
def main() -> None:
|
| 1220 |
+
args = parse_args()
|
| 1221 |
+
suite_dir = args.suite_dir.resolve()
|
| 1222 |
+
out_dir = args.output_dir.resolve()
|
| 1223 |
+
X, starts, ends, windows, manifest, summary = load_inputs(suite_dir)
|
| 1224 |
+
object_targets = None
|
| 1225 |
+
if args.annotation is not None:
|
| 1226 |
+
object_targets = load_object_targets_from_annotation(args.annotation, windows, args.homie_toolkit)
|
| 1227 |
+
write_csv(
|
| 1228 |
+
out_dir / "object_labels/window_object_labels.csv",
|
| 1229 |
+
object_targets["rows"],
|
| 1230 |
+
["window_index", "start_frame", "end_frame", "center_frame", "objects", "object_count"],
|
| 1231 |
+
)
|
| 1232 |
+
write_json(
|
| 1233 |
+
out_dir / "object_labels/object_vocab.json",
|
| 1234 |
+
{
|
| 1235 |
+
"vocab": object_targets["vocab"],
|
| 1236 |
+
"num_objects": len(object_targets["vocab"]),
|
| 1237 |
+
"source_annotation": object_targets["annotation"],
|
| 1238 |
+
"source_toolkit": object_targets["toolkit"],
|
| 1239 |
+
"source_note": object_targets["source_note"],
|
| 1240 |
+
},
|
| 1241 |
+
)
|
| 1242 |
+
provenance = build_provenance(suite_dir, out_dir, X, starts, ends, manifest, summary, args.annotation)
|
| 1243 |
+
ablation_rows = run_modality_ablation(X, windows, manifest, suite_dir, out_dir, args, object_targets)
|
| 1244 |
+
timeline_rows = run_timeline_overlay(suite_dir, windows, out_dir)
|
| 1245 |
+
stress_rows = run_alignment_stress(X, manifest, windows, out_dir, args)
|
| 1246 |
+
write_index(out_dir, provenance, ablation_rows, timeline_rows, stress_rows)
|
| 1247 |
+
print(f"Wrote diagnostics to {out_dir}")
|
| 1248 |
+
print(f"Ablation computed rows: {sum(1 for r in ablation_rows if r.get('status') == 'computed')}/{len(ablation_rows)}")
|
| 1249 |
+
print(f"Timeline observed rows: {sum(1 for r in timeline_rows if r.get('status') == 'observed_prediction')}")
|
| 1250 |
+
print(f"Alignment stress rows: {len(stress_rows)}")
|
| 1251 |
+
|
| 1252 |
+
|
| 1253 |
+
if __name__ == "__main__":
|
| 1254 |
+
main()
|
scripts/validate_mirror_parity.py
CHANGED
|
@@ -41,6 +41,7 @@ DATA_FILES = [
|
|
| 41 |
"research_direction_extensions.json",
|
| 42 |
"research_directions.json",
|
| 43 |
"scope_claims_audit.json",
|
|
|
|
| 44 |
"source_alignment_audit.json",
|
| 45 |
"summary_metrics.json",
|
| 46 |
"task_surface_integrity.json",
|
|
@@ -77,7 +78,9 @@ SCRIPT_FILES = [
|
|
| 77 |
"build_quality_gates.py",
|
| 78 |
"build_public_surface_qa.py",
|
| 79 |
"build_rendered_site_check.py",
|
|
|
|
| 80 |
"build_research_takeaways.py",
|
|
|
|
| 81 |
"verify_live_publication.py",
|
| 82 |
"validate_mirror_parity.py",
|
| 83 |
"validate_publication_package.py",
|
|
@@ -92,9 +95,22 @@ WEBSITE_FILES = [
|
|
| 92 |
"apple-touch-icon.png",
|
| 93 |
"favicon.png",
|
| 94 |
"index.html",
|
|
|
|
| 95 |
"site.webmanifest",
|
| 96 |
]
|
| 97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 98 |
DOC_FILES = [
|
| 99 |
"QUALITY_GATES.md",
|
| 100 |
"EVALUATION_PROTOCOL.md",
|
|
@@ -236,6 +252,20 @@ def build_report(hf_root: Path) -> dict:
|
|
| 236 |
)
|
| 237 |
)
|
| 238 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 239 |
for filename in DOC_FILES:
|
| 240 |
groups.append(
|
| 241 |
parity_group(
|
|
@@ -293,6 +323,12 @@ def build_report(hf_root: Path) -> dict:
|
|
| 293 |
if not any(failure["group"].startswith("website/") for failure in failures)
|
| 294 |
else "fail",
|
| 295 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 296 |
{
|
| 297 |
"name": "repo_hf_quality_doc_parity",
|
| 298 |
"status": "pass"
|
|
|
|
| 41 |
"research_direction_extensions.json",
|
| 42 |
"research_directions.json",
|
| 43 |
"scope_claims_audit.json",
|
| 44 |
+
"single_episode_explorer.json",
|
| 45 |
"source_alignment_audit.json",
|
| 46 |
"summary_metrics.json",
|
| 47 |
"task_surface_integrity.json",
|
|
|
|
| 78 |
"build_quality_gates.py",
|
| 79 |
"build_public_surface_qa.py",
|
| 80 |
"build_rendered_site_check.py",
|
| 81 |
+
"build_single_episode_explorer.py",
|
| 82 |
"build_research_takeaways.py",
|
| 83 |
+
"single_episode_diagnostics.py",
|
| 84 |
"verify_live_publication.py",
|
| 85 |
"validate_mirror_parity.py",
|
| 86 |
"validate_publication_package.py",
|
|
|
|
| 95 |
"apple-touch-icon.png",
|
| 96 |
"favicon.png",
|
| 97 |
"index.html",
|
| 98 |
+
"single_episode_explorer.html",
|
| 99 |
"site.webmanifest",
|
| 100 |
]
|
| 101 |
|
| 102 |
+
RESULT_FILES = [
|
| 103 |
+
"single_episode_diagnostics/provenance.json",
|
| 104 |
+
"single_episode_diagnostics/README.md",
|
| 105 |
+
"single_episode_diagnostics/modality_ablation/ablation_metrics.csv",
|
| 106 |
+
"single_episode_diagnostics/modality_ablation/ablation_summary.json",
|
| 107 |
+
"single_episode_diagnostics/object_labels/object_vocab.json",
|
| 108 |
+
"single_episode_diagnostics/object_labels/window_object_labels.csv",
|
| 109 |
+
"single_episode_diagnostics/timeline_overlay/timeline_overlay.csv",
|
| 110 |
+
"single_episode_diagnostics/alignment_stress/alignment_shift_metrics.csv",
|
| 111 |
+
"single_episode_diagnostics/alignment_stress/alignment_stress_summary.json",
|
| 112 |
+
]
|
| 113 |
+
|
| 114 |
DOC_FILES = [
|
| 115 |
"QUALITY_GATES.md",
|
| 116 |
"EVALUATION_PROTOCOL.md",
|
|
|
|
| 252 |
)
|
| 253 |
)
|
| 254 |
|
| 255 |
+
for filename in RESULT_FILES:
|
| 256 |
+
groups.append(
|
| 257 |
+
parity_group(
|
| 258 |
+
f"results/{filename}",
|
| 259 |
+
ROOT / "results" / filename,
|
| 260 |
+
{
|
| 261 |
+
"hf_space": hf_root / "space/results" / filename,
|
| 262 |
+
"hf_artifacts": hf_root / "artifacts/results" / filename,
|
| 263 |
+
"hf_model": hf_root / "model/results" / filename,
|
| 264 |
+
},
|
| 265 |
+
hf_root,
|
| 266 |
+
)
|
| 267 |
+
)
|
| 268 |
+
|
| 269 |
for filename in DOC_FILES:
|
| 270 |
groups.append(
|
| 271 |
parity_group(
|
|
|
|
| 323 |
if not any(failure["group"].startswith("website/") for failure in failures)
|
| 324 |
else "fail",
|
| 325 |
},
|
| 326 |
+
{
|
| 327 |
+
"name": "repo_hf_diagnostic_result_parity",
|
| 328 |
+
"status": "pass"
|
| 329 |
+
if not any(failure["group"].startswith("results/") for failure in failures)
|
| 330 |
+
else "fail",
|
| 331 |
+
},
|
| 332 |
{
|
| 333 |
"name": "repo_hf_quality_doc_parity",
|
| 334 |
"status": "pass"
|
single_episode_explorer.html
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|