Publish Ropedia Xperience-10M task baseline cards
Browse files- ARTIFACT_GUIDE.md +23 -21
- EVIDENCE_CONTRACT.md +33 -33
- QUALITY_GATES.md +41 -0
- README.md +4 -1
- metrics/artifact_index.json +34 -11
- metrics/evidence_contract.json +11 -0
- metrics/mirror_parity.json +153 -62
- metrics/publication_audit.json +12 -9
- metrics/quality_gates.json +101 -0
- metrics/scope_claims_audit.json +1 -1
- metrics/website_integrity.json +11 -6
- scripts/build_artifact_index.py +16 -0
- scripts/build_quality_gates.py +189 -0
- scripts/validate_mirror_parity.py +25 -0
- scripts/validate_publication_package.py +3 -0
ARTIFACT_GUIDE.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
| 2 |
|
| 3 |
This guide is the human-readable map for the public Ropedia Xperience-10M task
|
| 4 |
suite artifacts. It complements the machine-readable
|
| 5 |
-
[`
|
| 6 |
|
| 7 |
-
The project intentionally separates
|
| 8 |
|
| 9 |
1. **Proof boundary:** what is claimed, what is smoke-only, and what remains
|
| 10 |
gated by data access.
|
|
@@ -22,40 +22,42 @@ The project intentionally separates four layers:
|
|
| 22 |
| Artifact | Why to open it first |
|
| 23 |
| --- | --- |
|
| 24 |
| [`EVIDENCE_CONTRACT.md`](EVIDENCE_CONTRACT.md) | Defines which claims are verified and which are explicitly not claimed. |
|
|
|
|
| 25 |
| [`REPRODUCIBILITY.md`](REPRODUCIBILITY.md) | Defines public reproduction commands, expected outputs, and unreproducible boundaries. |
|
| 26 |
-
| [`
|
| 27 |
-
| [`
|
| 28 |
-
| [`
|
| 29 |
-
| [`
|
| 30 |
-
| [`
|
| 31 |
-
| [`
|
|
|
|
| 32 |
|
| 33 |
## Data Contract
|
| 34 |
|
| 35 |
| Artifact | What it proves |
|
| 36 |
| --- | --- |
|
| 37 |
-
| [`
|
| 38 |
-
| [`
|
| 39 |
-
| [`
|
| 40 |
-
| [`
|
| 41 |
-
| [`assets/modalities/`](assets/modalities/) | Small public-sample thumbnails used by the readable modality atlas. |
|
| 42 |
|
| 43 |
## Task Evidence
|
| 44 |
|
| 45 |
| Artifact | What it proves |
|
| 46 |
| --- | --- |
|
| 47 |
-
| [`
|
| 48 |
-
| [`
|
| 49 |
-
| [`
|
| 50 |
-
| [`
|
| 51 |
-
| [`
|
| 52 |
|
| 53 |
## Reproducibility
|
| 54 |
|
| 55 |
| Artifact | What it proves |
|
| 56 |
| --- | --- |
|
| 57 |
| [`REPRODUCIBILITY.md`](REPRODUCIBILITY.md) | Public commands, expected outputs, and non-reproducible boundaries are explicit. |
|
| 58 |
-
| [`
|
| 59 |
| [`notes/reproducibility_audit.md`](notes/reproducibility_audit.md) | The last exact metric audit rebuilt the public-sample metrics and matched committed artifacts. |
|
| 60 |
|
| 61 |
## Platform Mirrors
|
|
@@ -72,8 +74,8 @@ The project intentionally separates four layers:
|
|
| 72 |
|
| 73 |
| Artifact | Current status |
|
| 74 |
| --- | --- |
|
| 75 |
-
|
|
| 76 |
-
|
|
| 77 |
| [`scripts/omni/discover_xperience10m_sources.py`](scripts/omni/discover_xperience10m_sources.py) | Discovery gate for valid multi-episode Xperience-10M sources. |
|
| 78 |
| [`scripts/omni/train_qwen3_omni_lora.py`](scripts/omni/train_qwen3_omni_lora.py) | Training entrypoint for the Qwen3-Omni LoRA pilot after the data gate passes. |
|
| 79 |
|
|
|
|
| 2 |
|
| 3 |
This guide is the human-readable map for the public Ropedia Xperience-10M task
|
| 4 |
suite artifacts. It complements the machine-readable
|
| 5 |
+
[`docs/data/artifact_index.json`](docs/data/artifact_index.json).
|
| 6 |
|
| 7 |
+
The project intentionally separates five layers:
|
| 8 |
|
| 9 |
1. **Proof boundary:** what is claimed, what is smoke-only, and what remains
|
| 10 |
gated by data access.
|
|
|
|
| 22 |
| Artifact | Why to open it first |
|
| 23 |
| --- | --- |
|
| 24 |
| [`EVIDENCE_CONTRACT.md`](EVIDENCE_CONTRACT.md) | Defines which claims are verified and which are explicitly not claimed. |
|
| 25 |
+
| [`QUALITY_GATES.md`](QUALITY_GATES.md) | Lists the automated release gates and post-publish checks required before presenting a release as current. |
|
| 26 |
| [`REPRODUCIBILITY.md`](REPRODUCIBILITY.md) | Defines public reproduction commands, expected outputs, and unreproducible boundaries. |
|
| 27 |
+
| [`docs/data/artifact_index.json`](docs/data/artifact_index.json) | Lists reviewer-critical files with existence, size, and stable hashes. |
|
| 28 |
+
| [`docs/data/quality_gates.json`](docs/data/quality_gates.json) | Machine-readable quality-gate summary for website and HF mirrors. |
|
| 29 |
+
| [`docs/data/mirror_parity.json`](docs/data/mirror_parity.json) | Confirms prepared HF Space, artifact, and model mirrors match the repo for critical data, figures, website HTML, and validator scripts. |
|
| 30 |
+
| [`docs/data/publication_audit.json`](docs/data/publication_audit.json) | Confirms public bundles exclude raw data, Python caches, heavy archives, token strings, and stale public-card figure references. |
|
| 31 |
+
| [`docs/data/scope_claims_audit.json`](docs/data/scope_claims_audit.json) | Confirms historical `32ep` smoke-run identifiers are not presented as real 32-episode results. |
|
| 32 |
+
| [`docs/data/website_integrity.json`](docs/data/website_integrity.json) | Confirms local site links, anchors, JSON bundles, and referenced images resolve. |
|
| 33 |
+
| [`docs/data/reviewer_packet.json`](docs/data/reviewer_packet.json) | Gives the shortest machine-readable reviewer route. |
|
| 34 |
|
| 35 |
## Data Contract
|
| 36 |
|
| 37 |
| Artifact | What it proves |
|
| 38 |
| --- | --- |
|
| 39 |
+
| [`results/episode_task_suite/windows.csv`](results/episode_task_suite/windows.csv) | The sample episode is converted into 1,161 aligned 20-frame windows. |
|
| 40 |
+
| [`results/episode_task_suite/feature_manifest.json`](results/episode_task_suite/feature_manifest.json) | The current input vector has 8,378 dimensions with explicit feature-block boundaries. |
|
| 41 |
+
| [`results/episode_task_suite/available_modalities.json`](results/episode_task_suite/available_modalities.json) | The sample modality coverage is recorded, including the current audio-featurization boundary. |
|
| 42 |
+
| [`docs/data/modality_atlas.json`](docs/data/modality_atlas.json) | The responsive website modality cards and derived thumbnail assets are documented without redistributing raw data. |
|
| 43 |
+
| [`docs/assets/modalities/`](docs/assets/modalities/) | Small public-sample thumbnails used by the readable modality atlas. |
|
| 44 |
|
| 45 |
## Task Evidence
|
| 46 |
|
| 47 |
| Artifact | What it proves |
|
| 48 |
| --- | --- |
|
| 49 |
+
| [`results/episode_task_suite/summary_report.json`](results/episode_task_suite/summary_report.json) | The 12 task contracts, chronological split, and minimal/neural metrics. |
|
| 50 |
+
| [`results/episode_task_suite/neural_mlp/`](results/episode_task_suite/neural_mlp/) | Matching PyTorch MLP heads for the same task contracts and feature windows. |
|
| 51 |
+
| [`results/episode_task_suite/research_directions/`](results/episode_task_suite/research_directions/) | Mapping from the 12 tasks to the four Ropedia research directions. |
|
| 52 |
+
| [`results/episode_task_suite/research_direction_extensions/`](results/episode_task_suite/research_direction_extensions/) | Four additional coded probes, one per research direction. |
|
| 53 |
+
| [`results/episode_task_suite/task_walkthroughs/`](results/episode_task_suite/task_walkthroughs/) | Junior-friendly case studies explaining input, process modules, output, metric, and limitation. |
|
| 54 |
|
| 55 |
## Reproducibility
|
| 56 |
|
| 57 |
| Artifact | What it proves |
|
| 58 |
| --- | --- |
|
| 59 |
| [`REPRODUCIBILITY.md`](REPRODUCIBILITY.md) | Public commands, expected outputs, and non-reproducible boundaries are explicit. |
|
| 60 |
+
| [`docs/data/reproducibility_matrix.json`](docs/data/reproducibility_matrix.json) | Machine-readable command matrix for website and HF mirrors. |
|
| 61 |
| [`notes/reproducibility_audit.md`](notes/reproducibility_audit.md) | The last exact metric audit rebuilt the public-sample metrics and matched committed artifacts. |
|
| 62 |
|
| 63 |
## Platform Mirrors
|
|
|
|
| 74 |
|
| 75 |
| Artifact | Current status |
|
| 76 |
| --- | --- |
|
| 77 |
+
| [`results/omni_finetune/DATA_BLOCKER_REPORT.md`](results/omni_finetune/DATA_BLOCKER_REPORT.md) | Documents why no real 32-episode Qwen3-Omni result is claimed yet. |
|
| 78 |
+
| [`results/omni_finetune/A100_HF_RELAY_STATUS.md`](results/omni_finetune/A100_HF_RELAY_STATUS.md) | Documents the pending A100-to-H20 relay and selected 32-session pilot plan. |
|
| 79 |
| [`scripts/omni/discover_xperience10m_sources.py`](scripts/omni/discover_xperience10m_sources.py) | Discovery gate for valid multi-episode Xperience-10M sources. |
|
| 80 |
| [`scripts/omni/train_qwen3_omni_lora.py`](scripts/omni/train_qwen3_omni_lora.py) | Training entrypoint for the Qwen3-Omni LoRA pilot after the data gate passes. |
|
| 81 |
|
EVIDENCE_CONTRACT.md
CHANGED
|
@@ -5,51 +5,51 @@ local artifact that a reader can inspect before trusting the dashboard.
|
|
| 5 |
|
| 6 |
| Claim | Current evidence | Status | Boundary |
|
| 7 |
| --- | --- | --- | --- |
|
| 8 |
-
| The public Xperience-10M sample has been converted into aligned model windows. | `
|
| 9 |
-
| The current feature contract is explicit and reviewable. | `
|
| 10 |
-
| The public sample modalities are inspectable without raw data redistribution. | `
|
| 11 |
-
| The 12 task heads are real scripts and artifacts, not presentation placeholders. | `scripts/episode_task_suite.py`, `
|
| 12 |
-
| Minimal and neural heads use the same task contracts. | `scripts/neural_task_models.py`, `
|
| 13 |
-
| Four Ropedia research directions are mapped honestly as direct, proxy, or diagnostic evidence. | `
|
| 14 |
-
| Four extra direction probes are coded and evaluated. | `
|
| 15 |
-
| Qwen3-Omni infrastructure has passed technical smoke checks. |
|
| 16 |
-
| The real 32-episode LoRA pilot is blocked on gated data access, not on repo presentation. |
|
| 17 |
-
| Historical `32ep` path strings are not treated as 32-episode results. | `scripts/validate_scope_claims.py`, `
|
| 18 |
-
| Prepared GitHub/Hugging Face mirrors carry matching critical files. | `scripts/validate_mirror_parity.py`, `
|
| 19 |
-
| The public GitHub and Hugging Face bundles are publication-clean. | `scripts/validate_publication_package.py`, `
|
| 20 |
-
| The public website has checked local references. | `scripts/validate_website_integrity.py`, `
|
| 21 |
-
| The
|
| 22 |
-
| The
|
| 23 |
-
| The
|
| 24 |
-
|
|
|
|
|
| 25 |
|
| 26 |
## Review Order
|
| 27 |
|
| 28 |
-
1. Read `
|
| 29 |
boundary.
|
| 30 |
-
2. Read `ARTIFACT_GUIDE.md` and `
|
| 31 |
reviewer artifacts, indexed proof artifacts,
|
| 32 |
sizes, and stable-file hashes.
|
| 33 |
-
3. Read `assets/task_suite_infographic.png` and
|
| 34 |
-
`
|
| 35 |
-
4. Read `REPRODUCIBILITY.md` and `
|
| 36 |
rerunning the public pipeline.
|
| 37 |
-
5. Inspect `
|
| 38 |
metric source of truth.
|
| 39 |
-
6. Inspect `
|
| 40 |
modalities enter the current feature vector.
|
| 41 |
-
7. Inspect `
|
| 42 |
neural heads under the same splits.
|
| 43 |
-
8. Inspect `
|
| 44 |
`32ep` strings in Qwen3-Omni smoke artifacts.
|
| 45 |
-
9. Inspect `
|
| 46 |
Hugging Face mirrors contain the same critical data, visual, HTML, and
|
| 47 |
validator files.
|
| 48 |
-
10. Inspect
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
externally.
|
| 54 |
12. Inspect `CITATION.cff`, `codemeta.json`, and `LICENSE` before reusing or
|
| 55 |
citing the project.
|
|
|
|
| 5 |
|
| 6 |
| Claim | Current evidence | Status | Boundary |
|
| 7 |
| --- | --- | --- | --- |
|
| 8 |
+
| The public Xperience-10M sample has been converted into aligned model windows. | `results/episode_task_suite/windows.csv`, `results/episode_task_suite/shared_windows.npz`, `results/episode_task_suite/summary_report.json` | Verified for 5,821 frames and 1,161 windows | One public sample episode only |
|
| 9 |
+
| The current feature contract is explicit and reviewable. | `results/episode_task_suite/feature_manifest.json`, `results/episode_task_suite/available_modalities.json` | Verified for an 8,378-d feature vector | Audio is present in MP4 streams but not yet a feature block |
|
| 10 |
+
| The public sample modalities are inspectable without raw data redistribution. | `docs/data/modality_atlas.json`, `docs/assets/modalities/`, website modality atlas | Verified derived thumbnail atlas | Thumbnails are presentation/review assets, not a replacement for official raw data access |
|
| 11 |
+
| The 12 task heads are real scripts and artifacts, not presentation placeholders. | `scripts/episode_task_suite.py`, `results/episode_task_suite/*/metrics.json`, `results/episode_task_suite/*/predictions.*` | Verified for all 12 task definitions | Chronological single-episode split, not cross-episode generalization |
|
| 12 |
+
| Minimal and neural heads use the same task contracts. | `scripts/neural_task_models.py`, `results/episode_task_suite/neural_mlp/`, `docs/assets/task_architectures.png` | Verified for 12 minimal heads and 12 neural MLP heads | Small heads only; not a foundation model |
|
| 13 |
+
| Four Ropedia research directions are mapped honestly as direct, proxy, or diagnostic evidence. | `results/episode_task_suite/research_directions/research_direction_taxonomy.json`, `docs/data/research_directions.json` | Verified taxonomy | Some directions remain proxy-only |
|
| 14 |
+
| Four extra direction probes are coded and evaluated. | `results/episode_task_suite/research_direction_extensions/research_direction_extension_results.json`, `docs/data/research_direction_extensions.json` | Verified single-episode probes | Not full human modeling, neural rendering, intent modeling, or world modeling solutions |
|
| 15 |
+
| Qwen3-Omni infrastructure has passed technical smoke checks. | `results/omni_finetune/RUN_REPORT.md`, `results/omni_finetune/dataset_manifest.json`, `results/omni_finetune/metrics_eval.json` | Smoke-only evidence | One episode, 128 train windows; not a 32-episode pilot |
|
| 16 |
+
| The real 32-episode LoRA pilot is blocked on gated data access, not on repo presentation. | `results/omni_finetune/DATA_BLOCKER_REPORT.md`, `results/omni_finetune/A100_HF_RELAY_STATUS.md`, `results/omni_finetune/source_discovery.json` | Blocker documented | No 32-episode metric should be claimed until the gate passes |
|
| 17 |
+
| Historical `32ep` path strings are not treated as 32-episode results. | `scripts/validate_scope_claims.py`, `docs/data/scope_claims_audit.json` | Verified pass | Classifies old run/path identifiers and fails if public presentation claims real 32-episode metrics |
|
| 18 |
+
| Prepared GitHub/Hugging Face mirrors carry matching critical files. | `scripts/validate_mirror_parity.py`, `docs/data/mirror_parity.json` | Verified pass | Compares prepared data files, visual assets, website HTML, and validator scripts before upload; live URLs are checked after publishing |
|
| 19 |
+
| The public GitHub and Hugging Face bundles are publication-clean. | `scripts/validate_publication_package.py`, `docs/data/publication_audit.json` | Verified pass | Checks public files, HF bundles, and public-card freshness; ignored local scratch outputs are excluded |
|
| 20 |
+
| The public website has checked local references. | `scripts/validate_website_integrity.py`, `docs/data/website_integrity.json` | Verified pass | Checks local links, anchors, JSON data, and referenced images; external URLs are not fetched |
|
| 21 |
+
| The release gate is explicit and reviewable. | `QUALITY_GATES.md`, `scripts/build_quality_gates.py`, `docs/data/quality_gates.json` | Verified pass | Summarizes packaging and live-mirror checks; it does not prove cross-episode model quality |
|
| 22 |
+
| The core proof artifacts are indexed and grouped for fast review. | `ARTIFACT_GUIDE.md`, `scripts/build_artifact_index.py`, `docs/data/artifact_index.json` | Verified guide and index | Selective source-of-truth catalog, not a complete inventory of every output file |
|
| 23 |
+
| The public reproduction path is documented. | `REPRODUCIBILITY.md`, `docs/data/reproducibility_matrix.json`, `notes/reproducibility_audit.md` | Verified documentation and prior exact-match audit | Publicly reproduces the single-episode pipeline, not the gated 32-episode Qwen3-Omni pilot |
|
| 24 |
+
| The project is externally citable and machine-readable. | `CITATION.cff`, `codemeta.json`, `docs/data/project_manifest.json`, `LICENSE` | Verified metadata files | Code license does not override original Xperience-10M dataset terms |
|
| 25 |
+
| A first-time reviewer has an explicit audit path. | `docs/data/reviewer_packet.json`, website reviewer section, README reviewer path | Verified reviewer packet | It guides inspection; it does not add new experimental claims |
|
| 26 |
|
| 27 |
## Review Order
|
| 28 |
|
| 29 |
+
1. Read `docs/data/reviewer_packet.json` for the shortest audit path and proof
|
| 30 |
boundary.
|
| 31 |
+
2. Read `ARTIFACT_GUIDE.md` and `docs/data/artifact_index.json` to see grouped
|
| 32 |
reviewer artifacts, indexed proof artifacts,
|
| 33 |
sizes, and stable-file hashes.
|
| 34 |
+
3. Read `docs/assets/task_suite_infographic.png` and
|
| 35 |
+
`docs/data/modality_atlas.json` for the high-level map and modality atlas.
|
| 36 |
+
4. Read `REPRODUCIBILITY.md` and `docs/data/reproducibility_matrix.json` before
|
| 37 |
rerunning the public pipeline.
|
| 38 |
+
5. Inspect `results/episode_task_suite/summary_report.json` for the task and
|
| 39 |
metric source of truth.
|
| 40 |
+
6. Inspect `results/episode_task_suite/feature_manifest.json` to see which
|
| 41 |
modalities enter the current feature vector.
|
| 42 |
+
7. Inspect `results/episode_task_suite/neural_mlp/` to compare minimal and
|
| 43 |
neural heads under the same splits.
|
| 44 |
+
8. Inspect `docs/data/scope_claims_audit.json` before interpreting historical
|
| 45 |
`32ep` strings in Qwen3-Omni smoke artifacts.
|
| 46 |
+
9. Inspect `docs/data/mirror_parity.json` before assuming the GitHub and
|
| 47 |
Hugging Face mirrors contain the same critical data, visual, HTML, and
|
| 48 |
validator files.
|
| 49 |
+
10. Inspect `results/omni_finetune/DATA_BLOCKER_REPORT.md` before interpreting
|
| 50 |
+
any Qwen3-Omni artifact.
|
| 51 |
+
11. Inspect `QUALITY_GATES.md`, `docs/data/quality_gates.json`,
|
| 52 |
+
`docs/data/publication_audit.json`, and `docs/data/website_integrity.json`
|
| 53 |
+
before publishing or sharing the project externally.
|
|
|
|
| 54 |
12. Inspect `CITATION.cff`, `codemeta.json`, and `LICENSE` before reusing or
|
| 55 |
citing the project.
|
QUALITY_GATES.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Publication Quality Gates
|
| 2 |
+
|
| 3 |
+
This file is the reviewer-facing release checklist for the Ropedia Xperience-10M Task Suite.
|
| 4 |
+
|
| 5 |
+
Current gate status: **pass**
|
| 6 |
+
|
| 7 |
+
Do not present a release as current unless every automated gate passes, then verify live GitHub/HF mirrors after publishing.
|
| 8 |
+
|
| 9 |
+
These gates validate public packaging, claim boundaries, mirror parity, and website integrity. They do not prove cross-episode model quality; the 32-episode Qwen3-Omni pilot remains gated on data access.
|
| 10 |
+
|
| 11 |
+
## Automated Gates
|
| 12 |
+
|
| 13 |
+
| Gate | Command | Report | Current report status | Blocks publication if |
|
| 14 |
+
| --- | --- | --- | --- | --- |
|
| 15 |
+
| Scope claims guard | `python scripts/validate_scope_claims.py` | `docs/data/scope_claims_audit.json` | `pass` | Historical 32ep smoke/provenance strings are presented as real 32-episode metrics. |
|
| 16 |
+
| Website integrity | `python scripts/validate_website_integrity.py` | `docs/data/website_integrity.json` | `pass` | Local links, anchors, JSON bundles, or referenced image assets are missing or invalid. |
|
| 17 |
+
| Quality-gate manifest | `python scripts/build_quality_gates.py` | `docs/data/quality_gates.json` | `pass` | A public reviewer cannot see the current packaging gates in one place. |
|
| 18 |
+
| Artifact index | `python scripts/build_artifact_index.py` | `docs/data/artifact_index.json` | `pass` | Reviewer-critical evidence files are missing from the indexed proof layer. |
|
| 19 |
+
| Publication hygiene | `python scripts/validate_publication_package.py` | `docs/data/publication_audit.json` | `pass` | Raw data, caches, heavy archives, token strings, missing required assets, or stale public-card figure references enter public bundles. |
|
| 20 |
+
| Prepared mirror parity | `python scripts/validate_mirror_parity.py` | `docs/data/mirror_parity.json` | `pass` | Prepared HF Space, artifact dataset, or model bundle diverges from the repo for critical files. |
|
| 21 |
+
|
| 22 |
+
## Post-Publish Checks
|
| 23 |
+
|
| 24 |
+
| Check | Evidence | Required result |
|
| 25 |
+
| --- | --- | --- |
|
| 26 |
+
| GitHub Pages deployment | `gh run list --repo ChaoYue0307/ropedia-xperience-10m-task-suite --limit 5` | latest pages-build-deployment run succeeds |
|
| 27 |
+
| Live figure hash parity | `download live GitHub/HF task_suite_infographic.png and compare SHA-256 to docs/assets/task_suite_infographic.png` | all live hashes match the repo asset |
|
| 28 |
+
| Rendered browser smoke | `Browser/Playwright page identity, nonblank render, console health, and one local interaction` | no relevant console warnings/errors and target links work |
|
| 29 |
+
|
| 30 |
+
## Rerun Order
|
| 31 |
+
|
| 32 |
+
```bash
|
| 33 |
+
python scripts/validate_scope_claims.py
|
| 34 |
+
python scripts/validate_website_integrity.py
|
| 35 |
+
python scripts/build_quality_gates.py
|
| 36 |
+
python scripts/build_artifact_index.py
|
| 37 |
+
python scripts/validate_publication_package.py
|
| 38 |
+
python scripts/validate_mirror_parity.py
|
| 39 |
+
```
|
| 40 |
+
|
| 41 |
+
After Hugging Face bundle sync, rerun `validate_publication_package.py` and `validate_mirror_parity.py` once more before upload.
|
README.md
CHANGED
|
@@ -91,13 +91,14 @@ Their purpose is to make every input/output contract auditable before scaling to
|
|
| 91 |
|
| 92 |
| Step | Question | Primary artifacts |
|
| 93 |
| --- | --- | --- |
|
| 94 |
-
| 1 | What is actually claimed? | `EVIDENCE_CONTRACT.md`, `ARTIFACT_GUIDE.md`, `metrics/artifact_index.json`, `metrics/mirror_parity.json`, `metrics/scope_claims_audit.json`, `metrics/publication_audit.json`, `metrics/website_integrity.json`, `metrics/project_manifest.json` |
|
| 95 |
| 2 | How do I reproduce it? | `REPRODUCIBILITY.md`, `metrics/reproducibility_matrix.json`, companion GitHub `notes/reproducibility_audit.md` |
|
| 96 |
| 3 | What is one model input? | `artifacts/episode_task_suite/feature_manifest.json`, `artifacts/episode_task_suite/available_modalities.json`, companion artifact dataset `windows.csv` |
|
| 97 |
| 4 | Are the task results backed by files? | `artifacts/episode_task_suite/summary_report.json`, `artifacts/episode_task_suite/neural_mlp/`, `metrics/summary_metrics.json` |
|
| 98 |
| 5 | What is still pending? | companion GitHub `results/omni_finetune/DATA_BLOCKER_REPORT.md` and `A100_HF_RELAY_STATUS.md` |
|
| 99 |
|
| 100 |
Human-readable artifact guide mirror: `ARTIFACT_GUIDE.md`.
|
|
|
|
| 101 |
Machine-readable reviewer packet mirror: `metrics/reviewer_packet.json`.
|
| 102 |
Source-of-truth artifact index mirror: `metrics/artifact_index.json`.
|
| 103 |
|
|
@@ -114,6 +115,7 @@ Source-of-truth artifact index mirror: `metrics/artifact_index.json`.
|
|
| 114 |
| Mirror parity | `metrics/mirror_parity.json` and `scripts/validate_mirror_parity.py` | prepared repo/HF mirrors carry matching critical data, figures, website HTML, and validator files |
|
| 115 |
| Publication hygiene | `metrics/publication_audit.json` and validator script mirror | public bundles contain no raw data, generated caches, heavy archives, token strings, or stale public-card figure references |
|
| 116 |
| Website integrity | `metrics/website_integrity.json` and validator script mirror | local links, anchors, JSON bundles, and referenced images only |
|
|
|
|
| 117 |
| Artifact index | `metrics/artifact_index.json` and `scripts/build_artifact_index.py` | compact catalog of the reviewer-critical proof artifacts |
|
| 118 |
| Artifact guide | `ARTIFACT_GUIDE.md` | human-readable map of proof boundary, task evidence, mirrors, and scale-up status |
|
| 119 |
| Reproducibility | `REPRODUCIBILITY.md`, `metrics/reproducibility_matrix.json` | public commands, expected outputs, exact-match audit evidence, and non-reproducible boundaries |
|
|
@@ -148,6 +150,7 @@ transfers them to H20 for manifest building, training, and evaluation.
|
|
| 148 |
| `metrics/artifact_index.json` | indexes proof artifacts with existence, size, and stable-file hashes |
|
| 149 |
| `metrics/mirror_parity.json` | verifies prepared repo/HF mirrors have matching critical data, figures, website HTML, and validator files before upload |
|
| 150 |
| `metrics/scope_claims_audit.json` | verifies historical `32ep` smoke-run identifiers are not presented as real 32-episode results |
|
|
|
|
| 151 |
| `metrics/publication_audit.json` | records the latest public-bundle hygiene and public-card freshness check |
|
| 152 |
| `metrics/website_integrity.json` | records the latest local website link, anchor, JSON, and image integrity check |
|
| 153 |
| `metrics/project_manifest.json` | mirrors the public URL and citation metadata bundle |
|
|
|
|
| 91 |
|
| 92 |
| Step | Question | Primary artifacts |
|
| 93 |
| --- | --- | --- |
|
| 94 |
+
| 1 | What is actually claimed? | `EVIDENCE_CONTRACT.md`, `ARTIFACT_GUIDE.md`, `QUALITY_GATES.md`, `metrics/artifact_index.json`, `metrics/quality_gates.json`, `metrics/mirror_parity.json`, `metrics/scope_claims_audit.json`, `metrics/publication_audit.json`, `metrics/website_integrity.json`, `metrics/project_manifest.json` |
|
| 95 |
| 2 | How do I reproduce it? | `REPRODUCIBILITY.md`, `metrics/reproducibility_matrix.json`, companion GitHub `notes/reproducibility_audit.md` |
|
| 96 |
| 3 | What is one model input? | `artifacts/episode_task_suite/feature_manifest.json`, `artifacts/episode_task_suite/available_modalities.json`, companion artifact dataset `windows.csv` |
|
| 97 |
| 4 | Are the task results backed by files? | `artifacts/episode_task_suite/summary_report.json`, `artifacts/episode_task_suite/neural_mlp/`, `metrics/summary_metrics.json` |
|
| 98 |
| 5 | What is still pending? | companion GitHub `results/omni_finetune/DATA_BLOCKER_REPORT.md` and `A100_HF_RELAY_STATUS.md` |
|
| 99 |
|
| 100 |
Human-readable artifact guide mirror: `ARTIFACT_GUIDE.md`.
|
| 101 |
+
Publication quality gates mirror: `QUALITY_GATES.md` and `metrics/quality_gates.json`.
|
| 102 |
Machine-readable reviewer packet mirror: `metrics/reviewer_packet.json`.
|
| 103 |
Source-of-truth artifact index mirror: `metrics/artifact_index.json`.
|
| 104 |
|
|
|
|
| 115 |
| Mirror parity | `metrics/mirror_parity.json` and `scripts/validate_mirror_parity.py` | prepared repo/HF mirrors carry matching critical data, figures, website HTML, and validator files |
|
| 116 |
| Publication hygiene | `metrics/publication_audit.json` and validator script mirror | public bundles contain no raw data, generated caches, heavy archives, token strings, or stale public-card figure references |
|
| 117 |
| Website integrity | `metrics/website_integrity.json` and validator script mirror | local links, anchors, JSON bundles, and referenced images only |
|
| 118 |
+
| Quality gates | `QUALITY_GATES.md`, `metrics/quality_gates.json`, and `scripts/build_quality_gates.py` | automated release gates plus live post-publish checks |
|
| 119 |
| Artifact index | `metrics/artifact_index.json` and `scripts/build_artifact_index.py` | compact catalog of the reviewer-critical proof artifacts |
|
| 120 |
| Artifact guide | `ARTIFACT_GUIDE.md` | human-readable map of proof boundary, task evidence, mirrors, and scale-up status |
|
| 121 |
| Reproducibility | `REPRODUCIBILITY.md`, `metrics/reproducibility_matrix.json` | public commands, expected outputs, exact-match audit evidence, and non-reproducible boundaries |
|
|
|
|
| 150 |
| `metrics/artifact_index.json` | indexes proof artifacts with existence, size, and stable-file hashes |
|
| 151 |
| `metrics/mirror_parity.json` | verifies prepared repo/HF mirrors have matching critical data, figures, website HTML, and validator files before upload |
|
| 152 |
| `metrics/scope_claims_audit.json` | verifies historical `32ep` smoke-run identifiers are not presented as real 32-episode results |
|
| 153 |
+
| `QUALITY_GATES.md`, `metrics/quality_gates.json` | summarizes the automated and post-publish release checks |
|
| 154 |
| `metrics/publication_audit.json` | records the latest public-bundle hygiene and public-card freshness check |
|
| 155 |
| `metrics/website_integrity.json` | records the latest local website link, anchor, JSON, and image integrity check |
|
| 156 |
| `metrics/project_manifest.json` | mirrors the public URL and citation metadata bundle |
|
metrics/artifact_index.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
| 1 |
{
|
| 2 |
"title": "Ropedia Xperience-10M Task Suite Artifact Index",
|
| 3 |
-
"generated_at_utc": "2026-06-
|
| 4 |
"status": "pass",
|
| 5 |
-
"artifact_count":
|
| 6 |
"missing": [],
|
| 7 |
"by_kind": {
|
| 8 |
"claim_boundary": 1,
|
| 9 |
"review_path": 3,
|
|
|
|
| 10 |
"reproducibility": 2,
|
| 11 |
"hygiene_report": 1,
|
| 12 |
"scope_guard": 1,
|
|
@@ -35,8 +36,8 @@
|
|
| 35 |
"surface": "repo",
|
| 36 |
"proves": "Defines what is verified, what is smoke-only, and what must not be inferred.",
|
| 37 |
"exists": true,
|
| 38 |
-
"bytes":
|
| 39 |
-
"sha256": "
|
| 40 |
},
|
| 41 |
{
|
| 42 |
"id": "reviewer_packet",
|
|
@@ -57,8 +58,30 @@
|
|
| 57 |
"surface": "repo_hf",
|
| 58 |
"proves": "Gives the human-readable map from proof boundary to data, tasks, platform mirrors, and scale-up status.",
|
| 59 |
"exists": true,
|
| 60 |
-
"bytes":
|
| 61 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
},
|
| 63 |
{
|
| 64 |
"id": "reproducibility_contract",
|
|
@@ -90,8 +113,8 @@
|
|
| 90 |
"surface": "repo_hf",
|
| 91 |
"proves": "Generates the selective proof-artifact catalog from local files.",
|
| 92 |
"exists": true,
|
| 93 |
-
"bytes":
|
| 94 |
-
"sha256": "
|
| 95 |
},
|
| 96 |
{
|
| 97 |
"id": "publication_audit",
|
|
@@ -102,7 +125,7 @@
|
|
| 102 |
"volatile": true,
|
| 103 |
"proves": "Confirms public bundles pass raw-data, cache, archive, and token-string checks.",
|
| 104 |
"exists": true,
|
| 105 |
-
"bytes":
|
| 106 |
"hash_policy": "existence_and_size_only"
|
| 107 |
},
|
| 108 |
{
|
|
@@ -126,7 +149,7 @@
|
|
| 126 |
"volatile": true,
|
| 127 |
"proves": "Confirms prepared GitHub/HF Space/artifact/model mirrors share the same critical data, figure, website HTML, and validator files.",
|
| 128 |
"exists": true,
|
| 129 |
-
"bytes":
|
| 130 |
"hash_policy": "existence_and_size_only"
|
| 131 |
},
|
| 132 |
{
|
|
@@ -138,7 +161,7 @@
|
|
| 138 |
"volatile": true,
|
| 139 |
"proves": "Confirms local website links, anchors, JSON data files, and referenced images resolve.",
|
| 140 |
"exists": true,
|
| 141 |
-
"bytes":
|
| 142 |
"hash_policy": "existence_and_size_only"
|
| 143 |
},
|
| 144 |
{
|
|
|
|
| 1 |
{
|
| 2 |
"title": "Ropedia Xperience-10M Task Suite Artifact Index",
|
| 3 |
+
"generated_at_utc": "2026-06-01T06:24:20+00:00",
|
| 4 |
"status": "pass",
|
| 5 |
+
"artifact_count": 31,
|
| 6 |
"missing": [],
|
| 7 |
"by_kind": {
|
| 8 |
"claim_boundary": 1,
|
| 9 |
"review_path": 3,
|
| 10 |
+
"quality_gate": 2,
|
| 11 |
"reproducibility": 2,
|
| 12 |
"hygiene_report": 1,
|
| 13 |
"scope_guard": 1,
|
|
|
|
| 36 |
"surface": "repo",
|
| 37 |
"proves": "Defines what is verified, what is smoke-only, and what must not be inferred.",
|
| 38 |
"exists": true,
|
| 39 |
+
"bytes": 6818,
|
| 40 |
+
"sha256": "a6d184b6bab5c0bad50e85f9b899a3c9f90741660130c20843bbf53c17d44713"
|
| 41 |
},
|
| 42 |
{
|
| 43 |
"id": "reviewer_packet",
|
|
|
|
| 58 |
"surface": "repo_hf",
|
| 59 |
"proves": "Gives the human-readable map from proof boundary to data, tasks, platform mirrors, and scale-up status.",
|
| 60 |
"exists": true,
|
| 61 |
+
"bytes": 6807,
|
| 62 |
+
"sha256": "208a173c7805e6dc61c7c243c24fb69de93af4883de13fa51b451b02f374e847"
|
| 63 |
+
},
|
| 64 |
+
{
|
| 65 |
+
"id": "quality_gates",
|
| 66 |
+
"title": "Publication quality gates",
|
| 67 |
+
"path": "QUALITY_GATES.md",
|
| 68 |
+
"kind": "quality_gate",
|
| 69 |
+
"surface": "repo_hf",
|
| 70 |
+
"proves": "Lists the automated and post-publish gates required before presenting a release as current.",
|
| 71 |
+
"exists": true,
|
| 72 |
+
"bytes": 2865,
|
| 73 |
+
"sha256": "f3482dbc310d2ade60aa2b480211a9ee0cad1c814779a8b1d63d96432222897a"
|
| 74 |
+
},
|
| 75 |
+
{
|
| 76 |
+
"id": "quality_gate_manifest",
|
| 77 |
+
"title": "Quality-gate manifest",
|
| 78 |
+
"path": "docs/data/quality_gates.json",
|
| 79 |
+
"kind": "quality_gate",
|
| 80 |
+
"surface": "website_hf",
|
| 81 |
+
"proves": "Machine-readable release-gate summary for validators, mirrors, and reviewer surfaces.",
|
| 82 |
+
"exists": true,
|
| 83 |
+
"bytes": 4222,
|
| 84 |
+
"sha256": "274dd753853ea843b5413bbce68b371e4a664853924c9745a4163c1b68a54cf9"
|
| 85 |
},
|
| 86 |
{
|
| 87 |
"id": "reproducibility_contract",
|
|
|
|
| 113 |
"surface": "repo_hf",
|
| 114 |
"proves": "Generates the selective proof-artifact catalog from local files.",
|
| 115 |
"exists": true,
|
| 116 |
+
"bytes": 12194,
|
| 117 |
+
"sha256": "04083feaa7cd486e94fa4f313b54b5b04b588edcb1376234a7b279060e0b4058"
|
| 118 |
},
|
| 119 |
{
|
| 120 |
"id": "publication_audit",
|
|
|
|
| 125 |
"volatile": true,
|
| 126 |
"proves": "Confirms public bundles pass raw-data, cache, archive, and token-string checks.",
|
| 127 |
"exists": true,
|
| 128 |
+
"bytes": 5408,
|
| 129 |
"hash_policy": "existence_and_size_only"
|
| 130 |
},
|
| 131 |
{
|
|
|
|
| 149 |
"volatile": true,
|
| 150 |
"proves": "Confirms prepared GitHub/HF Space/artifact/model mirrors share the same critical data, figure, website HTML, and validator files.",
|
| 151 |
"exists": true,
|
| 152 |
+
"bytes": 46406,
|
| 153 |
"hash_policy": "existence_and_size_only"
|
| 154 |
},
|
| 155 |
{
|
|
|
|
| 161 |
"volatile": true,
|
| 162 |
"proves": "Confirms local website links, anchors, JSON data files, and referenced images resolve.",
|
| 163 |
"exists": true,
|
| 164 |
+
"bytes": 6042,
|
| 165 |
"hash_policy": "existence_and_size_only"
|
| 166 |
},
|
| 167 |
{
|
metrics/evidence_contract.json
CHANGED
|
@@ -138,6 +138,17 @@
|
|
| 138 |
],
|
| 139 |
"boundary": "checks local links, anchors, JSON data, and referenced images; external URLs are not fetched"
|
| 140 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 141 |
{
|
| 142 |
"id": "citation_metadata",
|
| 143 |
"claim": "The project is externally citable and machine-readable.",
|
|
|
|
| 138 |
],
|
| 139 |
"boundary": "checks local links, anchors, JSON data, and referenced images; external URLs are not fetched"
|
| 140 |
},
|
| 141 |
+
{
|
| 142 |
+
"id": "quality_gates",
|
| 143 |
+
"claim": "The release gate is explicit and reviewable.",
|
| 144 |
+
"status": "verified",
|
| 145 |
+
"evidence": [
|
| 146 |
+
"QUALITY_GATES.md",
|
| 147 |
+
"scripts/build_quality_gates.py",
|
| 148 |
+
"docs/data/quality_gates.json"
|
| 149 |
+
],
|
| 150 |
+
"boundary": "summarizes packaging and live-mirror checks; it does not prove cross-episode model quality"
|
| 151 |
+
},
|
| 152 |
{
|
| 153 |
"id": "citation_metadata",
|
| 154 |
"claim": "The project is externally citable and machine-readable.",
|
metrics/mirror_parity.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
-
"generated_at_utc": "2026-06-
|
| 4 |
"hf_root": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish",
|
| 5 |
"summary": {
|
| 6 |
-
"group_count":
|
| 7 |
"failure_count": 0,
|
| 8 |
"failures_by_surface": {}
|
| 9 |
},
|
|
@@ -23,6 +23,10 @@
|
|
| 23 |
{
|
| 24 |
"name": "repo_hf_website_html_parity",
|
| 25 |
"status": "pass"
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
}
|
| 27 |
],
|
| 28 |
"groups": [
|
|
@@ -32,27 +36,27 @@
|
|
| 32 |
"local": {
|
| 33 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/docs/data/artifact_index.json",
|
| 34 |
"exists": true,
|
| 35 |
-
"bytes":
|
| 36 |
-
"sha256": "
|
| 37 |
},
|
| 38 |
"mirrors": {
|
| 39 |
"hf_space": {
|
| 40 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/space/data/artifact_index.json",
|
| 41 |
"exists": true,
|
| 42 |
-
"bytes":
|
| 43 |
-
"sha256": "
|
| 44 |
},
|
| 45 |
"hf_artifacts": {
|
| 46 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/docs/data/artifact_index.json",
|
| 47 |
"exists": true,
|
| 48 |
-
"bytes":
|
| 49 |
-
"sha256": "
|
| 50 |
},
|
| 51 |
"hf_model": {
|
| 52 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/metrics/artifact_index.json",
|
| 53 |
"exists": true,
|
| 54 |
-
"bytes":
|
| 55 |
-
"sha256": "
|
| 56 |
}
|
| 57 |
},
|
| 58 |
"failures": []
|
|
@@ -63,27 +67,27 @@
|
|
| 63 |
"local": {
|
| 64 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/docs/data/evidence_contract.json",
|
| 65 |
"exists": true,
|
| 66 |
-
"bytes":
|
| 67 |
-
"sha256": "
|
| 68 |
},
|
| 69 |
"mirrors": {
|
| 70 |
"hf_space": {
|
| 71 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/space/data/evidence_contract.json",
|
| 72 |
"exists": true,
|
| 73 |
-
"bytes":
|
| 74 |
-
"sha256": "
|
| 75 |
},
|
| 76 |
"hf_artifacts": {
|
| 77 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/docs/data/evidence_contract.json",
|
| 78 |
"exists": true,
|
| 79 |
-
"bytes":
|
| 80 |
-
"sha256": "
|
| 81 |
},
|
| 82 |
"hf_model": {
|
| 83 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/metrics/evidence_contract.json",
|
| 84 |
"exists": true,
|
| 85 |
-
"bytes":
|
| 86 |
-
"sha256": "
|
| 87 |
}
|
| 88 |
},
|
| 89 |
"failures": []
|
|
@@ -156,27 +160,58 @@
|
|
| 156 |
"local": {
|
| 157 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/docs/data/publication_audit.json",
|
| 158 |
"exists": true,
|
| 159 |
-
"bytes":
|
| 160 |
-
"sha256": "
|
| 161 |
},
|
| 162 |
"mirrors": {
|
| 163 |
"hf_space": {
|
| 164 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/space/data/publication_audit.json",
|
| 165 |
"exists": true,
|
| 166 |
-
"bytes":
|
| 167 |
-
"sha256": "
|
| 168 |
},
|
| 169 |
"hf_artifacts": {
|
| 170 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/docs/data/publication_audit.json",
|
| 171 |
"exists": true,
|
| 172 |
-
"bytes":
|
| 173 |
-
"sha256": "
|
| 174 |
},
|
| 175 |
"hf_model": {
|
| 176 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/metrics/publication_audit.json",
|
| 177 |
"exists": true,
|
| 178 |
-
"bytes":
|
| 179 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 180 |
}
|
| 181 |
},
|
| 182 |
"failures": []
|
|
@@ -312,26 +347,26 @@
|
|
| 312 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/docs/data/scope_claims_audit.json",
|
| 313 |
"exists": true,
|
| 314 |
"bytes": 19964,
|
| 315 |
-
"sha256": "
|
| 316 |
},
|
| 317 |
"mirrors": {
|
| 318 |
"hf_space": {
|
| 319 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/space/data/scope_claims_audit.json",
|
| 320 |
"exists": true,
|
| 321 |
"bytes": 19964,
|
| 322 |
-
"sha256": "
|
| 323 |
},
|
| 324 |
"hf_artifacts": {
|
| 325 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/docs/data/scope_claims_audit.json",
|
| 326 |
"exists": true,
|
| 327 |
"bytes": 19964,
|
| 328 |
-
"sha256": "
|
| 329 |
},
|
| 330 |
"hf_model": {
|
| 331 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/metrics/scope_claims_audit.json",
|
| 332 |
"exists": true,
|
| 333 |
"bytes": 19964,
|
| 334 |
-
"sha256": "
|
| 335 |
}
|
| 336 |
},
|
| 337 |
"failures": []
|
|
@@ -404,27 +439,27 @@
|
|
| 404 |
"local": {
|
| 405 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/docs/data/website_integrity.json",
|
| 406 |
"exists": true,
|
| 407 |
-
"bytes":
|
| 408 |
-
"sha256": "
|
| 409 |
},
|
| 410 |
"mirrors": {
|
| 411 |
"hf_space": {
|
| 412 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/space/data/website_integrity.json",
|
| 413 |
"exists": true,
|
| 414 |
-
"bytes":
|
| 415 |
-
"sha256": "
|
| 416 |
},
|
| 417 |
"hf_artifacts": {
|
| 418 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/docs/data/website_integrity.json",
|
| 419 |
"exists": true,
|
| 420 |
-
"bytes":
|
| 421 |
-
"sha256": "
|
| 422 |
},
|
| 423 |
"hf_model": {
|
| 424 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/metrics/website_integrity.json",
|
| 425 |
"exists": true,
|
| 426 |
-
"bytes":
|
| 427 |
-
"sha256": "
|
| 428 |
}
|
| 429 |
},
|
| 430 |
"failures": []
|
|
@@ -805,21 +840,46 @@
|
|
| 805 |
"local": {
|
| 806 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/scripts/build_artifact_index.py",
|
| 807 |
"exists": true,
|
| 808 |
-
"bytes":
|
| 809 |
-
"sha256": "
|
| 810 |
},
|
| 811 |
"mirrors": {
|
| 812 |
"hf_artifacts": {
|
| 813 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/scripts/build_artifact_index.py",
|
| 814 |
"exists": true,
|
| 815 |
-
"bytes":
|
| 816 |
-
"sha256": "
|
| 817 |
},
|
| 818 |
"hf_model": {
|
| 819 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/scripts/build_artifact_index.py",
|
| 820 |
"exists": true,
|
| 821 |
-
"bytes":
|
| 822 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 823 |
}
|
| 824 |
},
|
| 825 |
"failures": []
|
|
@@ -830,21 +890,21 @@
|
|
| 830 |
"local": {
|
| 831 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/scripts/validate_mirror_parity.py",
|
| 832 |
"exists": true,
|
| 833 |
-
"bytes":
|
| 834 |
-
"sha256": "
|
| 835 |
},
|
| 836 |
"mirrors": {
|
| 837 |
"hf_artifacts": {
|
| 838 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/scripts/validate_mirror_parity.py",
|
| 839 |
"exists": true,
|
| 840 |
-
"bytes":
|
| 841 |
-
"sha256": "
|
| 842 |
},
|
| 843 |
"hf_model": {
|
| 844 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/scripts/validate_mirror_parity.py",
|
| 845 |
"exists": true,
|
| 846 |
-
"bytes":
|
| 847 |
-
"sha256": "
|
| 848 |
}
|
| 849 |
},
|
| 850 |
"failures": []
|
|
@@ -855,21 +915,21 @@
|
|
| 855 |
"local": {
|
| 856 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/scripts/validate_publication_package.py",
|
| 857 |
"exists": true,
|
| 858 |
-
"bytes":
|
| 859 |
-
"sha256": "
|
| 860 |
},
|
| 861 |
"mirrors": {
|
| 862 |
"hf_artifacts": {
|
| 863 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/scripts/validate_publication_package.py",
|
| 864 |
"exists": true,
|
| 865 |
-
"bytes":
|
| 866 |
-
"sha256": "
|
| 867 |
},
|
| 868 |
"hf_model": {
|
| 869 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/scripts/validate_publication_package.py",
|
| 870 |
"exists": true,
|
| 871 |
-
"bytes":
|
| 872 |
-
"sha256": "
|
| 873 |
}
|
| 874 |
},
|
| 875 |
"failures": []
|
|
@@ -930,21 +990,52 @@
|
|
| 930 |
"local": {
|
| 931 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/docs/index.html",
|
| 932 |
"exists": true,
|
| 933 |
-
"bytes":
|
| 934 |
-
"sha256": "
|
| 935 |
},
|
| 936 |
"mirrors": {
|
| 937 |
"hf_space": {
|
| 938 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/space/index.html",
|
| 939 |
"exists": true,
|
| 940 |
-
"bytes":
|
| 941 |
-
"sha256": "
|
| 942 |
},
|
| 943 |
"hf_artifacts_docs": {
|
| 944 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/docs/index.html",
|
| 945 |
"exists": true,
|
| 946 |
-
"bytes":
|
| 947 |
-
"sha256": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 948 |
}
|
| 949 |
},
|
| 950 |
"failures": []
|
|
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
+
"generated_at_utc": "2026-06-01T06:25:42+00:00",
|
| 4 |
"hf_root": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish",
|
| 5 |
"summary": {
|
| 6 |
+
"group_count": 32,
|
| 7 |
"failure_count": 0,
|
| 8 |
"failures_by_surface": {}
|
| 9 |
},
|
|
|
|
| 23 |
{
|
| 24 |
"name": "repo_hf_website_html_parity",
|
| 25 |
"status": "pass"
|
| 26 |
+
},
|
| 27 |
+
{
|
| 28 |
+
"name": "repo_hf_quality_doc_parity",
|
| 29 |
+
"status": "pass"
|
| 30 |
}
|
| 31 |
],
|
| 32 |
"groups": [
|
|
|
|
| 36 |
"local": {
|
| 37 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/docs/data/artifact_index.json",
|
| 38 |
"exists": true,
|
| 39 |
+
"bytes": 13782,
|
| 40 |
+
"sha256": "499a9373836244474fe0db51f38d9ecb2211ae36a22e76a0ae4c323b0d45e05a"
|
| 41 |
},
|
| 42 |
"mirrors": {
|
| 43 |
"hf_space": {
|
| 44 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/space/data/artifact_index.json",
|
| 45 |
"exists": true,
|
| 46 |
+
"bytes": 13782,
|
| 47 |
+
"sha256": "499a9373836244474fe0db51f38d9ecb2211ae36a22e76a0ae4c323b0d45e05a"
|
| 48 |
},
|
| 49 |
"hf_artifacts": {
|
| 50 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/docs/data/artifact_index.json",
|
| 51 |
"exists": true,
|
| 52 |
+
"bytes": 13782,
|
| 53 |
+
"sha256": "499a9373836244474fe0db51f38d9ecb2211ae36a22e76a0ae4c323b0d45e05a"
|
| 54 |
},
|
| 55 |
"hf_model": {
|
| 56 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/metrics/artifact_index.json",
|
| 57 |
"exists": true,
|
| 58 |
+
"bytes": 13782,
|
| 59 |
+
"sha256": "499a9373836244474fe0db51f38d9ecb2211ae36a22e76a0ae4c323b0d45e05a"
|
| 60 |
}
|
| 61 |
},
|
| 62 |
"failures": []
|
|
|
|
| 67 |
"local": {
|
| 68 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/docs/data/evidence_contract.json",
|
| 69 |
"exists": true,
|
| 70 |
+
"bytes": 7587,
|
| 71 |
+
"sha256": "bb9172140a526b78523cbc5507ed6340bd7b439a51fd68ad9f4728fee721a766"
|
| 72 |
},
|
| 73 |
"mirrors": {
|
| 74 |
"hf_space": {
|
| 75 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/space/data/evidence_contract.json",
|
| 76 |
"exists": true,
|
| 77 |
+
"bytes": 7587,
|
| 78 |
+
"sha256": "bb9172140a526b78523cbc5507ed6340bd7b439a51fd68ad9f4728fee721a766"
|
| 79 |
},
|
| 80 |
"hf_artifacts": {
|
| 81 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/docs/data/evidence_contract.json",
|
| 82 |
"exists": true,
|
| 83 |
+
"bytes": 7587,
|
| 84 |
+
"sha256": "bb9172140a526b78523cbc5507ed6340bd7b439a51fd68ad9f4728fee721a766"
|
| 85 |
},
|
| 86 |
"hf_model": {
|
| 87 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/metrics/evidence_contract.json",
|
| 88 |
"exists": true,
|
| 89 |
+
"bytes": 7587,
|
| 90 |
+
"sha256": "bb9172140a526b78523cbc5507ed6340bd7b439a51fd68ad9f4728fee721a766"
|
| 91 |
}
|
| 92 |
},
|
| 93 |
"failures": []
|
|
|
|
| 160 |
"local": {
|
| 161 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/docs/data/publication_audit.json",
|
| 162 |
"exists": true,
|
| 163 |
+
"bytes": 5408,
|
| 164 |
+
"sha256": "9d59186e18321215c55c8cddbf518b5d19fb19428f119a541c3b50ae54c4af4f"
|
| 165 |
},
|
| 166 |
"mirrors": {
|
| 167 |
"hf_space": {
|
| 168 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/space/data/publication_audit.json",
|
| 169 |
"exists": true,
|
| 170 |
+
"bytes": 5408,
|
| 171 |
+
"sha256": "9d59186e18321215c55c8cddbf518b5d19fb19428f119a541c3b50ae54c4af4f"
|
| 172 |
},
|
| 173 |
"hf_artifacts": {
|
| 174 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/docs/data/publication_audit.json",
|
| 175 |
"exists": true,
|
| 176 |
+
"bytes": 5408,
|
| 177 |
+
"sha256": "9d59186e18321215c55c8cddbf518b5d19fb19428f119a541c3b50ae54c4af4f"
|
| 178 |
},
|
| 179 |
"hf_model": {
|
| 180 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/metrics/publication_audit.json",
|
| 181 |
"exists": true,
|
| 182 |
+
"bytes": 5408,
|
| 183 |
+
"sha256": "9d59186e18321215c55c8cddbf518b5d19fb19428f119a541c3b50ae54c4af4f"
|
| 184 |
+
}
|
| 185 |
+
},
|
| 186 |
+
"failures": []
|
| 187 |
+
},
|
| 188 |
+
{
|
| 189 |
+
"name": "data/quality_gates.json",
|
| 190 |
+
"status": "pass",
|
| 191 |
+
"local": {
|
| 192 |
+
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/docs/data/quality_gates.json",
|
| 193 |
+
"exists": true,
|
| 194 |
+
"bytes": 4222,
|
| 195 |
+
"sha256": "274dd753853ea843b5413bbce68b371e4a664853924c9745a4163c1b68a54cf9"
|
| 196 |
+
},
|
| 197 |
+
"mirrors": {
|
| 198 |
+
"hf_space": {
|
| 199 |
+
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/space/data/quality_gates.json",
|
| 200 |
+
"exists": true,
|
| 201 |
+
"bytes": 4222,
|
| 202 |
+
"sha256": "274dd753853ea843b5413bbce68b371e4a664853924c9745a4163c1b68a54cf9"
|
| 203 |
+
},
|
| 204 |
+
"hf_artifacts": {
|
| 205 |
+
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/docs/data/quality_gates.json",
|
| 206 |
+
"exists": true,
|
| 207 |
+
"bytes": 4222,
|
| 208 |
+
"sha256": "274dd753853ea843b5413bbce68b371e4a664853924c9745a4163c1b68a54cf9"
|
| 209 |
+
},
|
| 210 |
+
"hf_model": {
|
| 211 |
+
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/metrics/quality_gates.json",
|
| 212 |
+
"exists": true,
|
| 213 |
+
"bytes": 4222,
|
| 214 |
+
"sha256": "274dd753853ea843b5413bbce68b371e4a664853924c9745a4163c1b68a54cf9"
|
| 215 |
}
|
| 216 |
},
|
| 217 |
"failures": []
|
|
|
|
| 347 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/docs/data/scope_claims_audit.json",
|
| 348 |
"exists": true,
|
| 349 |
"bytes": 19964,
|
| 350 |
+
"sha256": "83ed49035d1ca96dc28351f9d76f9249319d59d9647f0c58cffe0243d5687f9c"
|
| 351 |
},
|
| 352 |
"mirrors": {
|
| 353 |
"hf_space": {
|
| 354 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/space/data/scope_claims_audit.json",
|
| 355 |
"exists": true,
|
| 356 |
"bytes": 19964,
|
| 357 |
+
"sha256": "83ed49035d1ca96dc28351f9d76f9249319d59d9647f0c58cffe0243d5687f9c"
|
| 358 |
},
|
| 359 |
"hf_artifacts": {
|
| 360 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/docs/data/scope_claims_audit.json",
|
| 361 |
"exists": true,
|
| 362 |
"bytes": 19964,
|
| 363 |
+
"sha256": "83ed49035d1ca96dc28351f9d76f9249319d59d9647f0c58cffe0243d5687f9c"
|
| 364 |
},
|
| 365 |
"hf_model": {
|
| 366 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/metrics/scope_claims_audit.json",
|
| 367 |
"exists": true,
|
| 368 |
"bytes": 19964,
|
| 369 |
+
"sha256": "83ed49035d1ca96dc28351f9d76f9249319d59d9647f0c58cffe0243d5687f9c"
|
| 370 |
}
|
| 371 |
},
|
| 372 |
"failures": []
|
|
|
|
| 439 |
"local": {
|
| 440 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/docs/data/website_integrity.json",
|
| 441 |
"exists": true,
|
| 442 |
+
"bytes": 6042,
|
| 443 |
+
"sha256": "b4b98a25ca5095c92f84cd3d945ce4f89228fb4d4f7812922f86007a4095ba20"
|
| 444 |
},
|
| 445 |
"mirrors": {
|
| 446 |
"hf_space": {
|
| 447 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/space/data/website_integrity.json",
|
| 448 |
"exists": true,
|
| 449 |
+
"bytes": 6042,
|
| 450 |
+
"sha256": "b4b98a25ca5095c92f84cd3d945ce4f89228fb4d4f7812922f86007a4095ba20"
|
| 451 |
},
|
| 452 |
"hf_artifacts": {
|
| 453 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/docs/data/website_integrity.json",
|
| 454 |
"exists": true,
|
| 455 |
+
"bytes": 6042,
|
| 456 |
+
"sha256": "b4b98a25ca5095c92f84cd3d945ce4f89228fb4d4f7812922f86007a4095ba20"
|
| 457 |
},
|
| 458 |
"hf_model": {
|
| 459 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/metrics/website_integrity.json",
|
| 460 |
"exists": true,
|
| 461 |
+
"bytes": 6042,
|
| 462 |
+
"sha256": "b4b98a25ca5095c92f84cd3d945ce4f89228fb4d4f7812922f86007a4095ba20"
|
| 463 |
}
|
| 464 |
},
|
| 465 |
"failures": []
|
|
|
|
| 840 |
"local": {
|
| 841 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/scripts/build_artifact_index.py",
|
| 842 |
"exists": true,
|
| 843 |
+
"bytes": 12194,
|
| 844 |
+
"sha256": "04083feaa7cd486e94fa4f313b54b5b04b588edcb1376234a7b279060e0b4058"
|
| 845 |
},
|
| 846 |
"mirrors": {
|
| 847 |
"hf_artifacts": {
|
| 848 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/scripts/build_artifact_index.py",
|
| 849 |
"exists": true,
|
| 850 |
+
"bytes": 12194,
|
| 851 |
+
"sha256": "04083feaa7cd486e94fa4f313b54b5b04b588edcb1376234a7b279060e0b4058"
|
| 852 |
},
|
| 853 |
"hf_model": {
|
| 854 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/scripts/build_artifact_index.py",
|
| 855 |
"exists": true,
|
| 856 |
+
"bytes": 12194,
|
| 857 |
+
"sha256": "04083feaa7cd486e94fa4f313b54b5b04b588edcb1376234a7b279060e0b4058"
|
| 858 |
+
}
|
| 859 |
+
},
|
| 860 |
+
"failures": []
|
| 861 |
+
},
|
| 862 |
+
{
|
| 863 |
+
"name": "scripts/build_quality_gates.py",
|
| 864 |
+
"status": "pass",
|
| 865 |
+
"local": {
|
| 866 |
+
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/scripts/build_quality_gates.py",
|
| 867 |
+
"exists": true,
|
| 868 |
+
"bytes": 7757,
|
| 869 |
+
"sha256": "e38c9b27836d694a4cd6ff03de1b10d20347bc7f7bb176bdc7e7d5ba3cbe7fba"
|
| 870 |
+
},
|
| 871 |
+
"mirrors": {
|
| 872 |
+
"hf_artifacts": {
|
| 873 |
+
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/scripts/build_quality_gates.py",
|
| 874 |
+
"exists": true,
|
| 875 |
+
"bytes": 7757,
|
| 876 |
+
"sha256": "e38c9b27836d694a4cd6ff03de1b10d20347bc7f7bb176bdc7e7d5ba3cbe7fba"
|
| 877 |
+
},
|
| 878 |
+
"hf_model": {
|
| 879 |
+
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/scripts/build_quality_gates.py",
|
| 880 |
+
"exists": true,
|
| 881 |
+
"bytes": 7757,
|
| 882 |
+
"sha256": "e38c9b27836d694a4cd6ff03de1b10d20347bc7f7bb176bdc7e7d5ba3cbe7fba"
|
| 883 |
}
|
| 884 |
},
|
| 885 |
"failures": []
|
|
|
|
| 890 |
"local": {
|
| 891 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/scripts/validate_mirror_parity.py",
|
| 892 |
"exists": true,
|
| 893 |
+
"bytes": 8353,
|
| 894 |
+
"sha256": "9673da079fdeb780b6d0767591ffb77d074f4958e511a4384fb9bd9a735af2ca"
|
| 895 |
},
|
| 896 |
"mirrors": {
|
| 897 |
"hf_artifacts": {
|
| 898 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/scripts/validate_mirror_parity.py",
|
| 899 |
"exists": true,
|
| 900 |
+
"bytes": 8353,
|
| 901 |
+
"sha256": "9673da079fdeb780b6d0767591ffb77d074f4958e511a4384fb9bd9a735af2ca"
|
| 902 |
},
|
| 903 |
"hf_model": {
|
| 904 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/scripts/validate_mirror_parity.py",
|
| 905 |
"exists": true,
|
| 906 |
+
"bytes": 8353,
|
| 907 |
+
"sha256": "9673da079fdeb780b6d0767591ffb77d074f4958e511a4384fb9bd9a735af2ca"
|
| 908 |
}
|
| 909 |
},
|
| 910 |
"failures": []
|
|
|
|
| 915 |
"local": {
|
| 916 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/scripts/validate_publication_package.py",
|
| 917 |
"exists": true,
|
| 918 |
+
"bytes": 12554,
|
| 919 |
+
"sha256": "0546124d5319fc5cc96881090049e5fcda301e6726f5e42b31141e599ab81711"
|
| 920 |
},
|
| 921 |
"mirrors": {
|
| 922 |
"hf_artifacts": {
|
| 923 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/scripts/validate_publication_package.py",
|
| 924 |
"exists": true,
|
| 925 |
+
"bytes": 12554,
|
| 926 |
+
"sha256": "0546124d5319fc5cc96881090049e5fcda301e6726f5e42b31141e599ab81711"
|
| 927 |
},
|
| 928 |
"hf_model": {
|
| 929 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/scripts/validate_publication_package.py",
|
| 930 |
"exists": true,
|
| 931 |
+
"bytes": 12554,
|
| 932 |
+
"sha256": "0546124d5319fc5cc96881090049e5fcda301e6726f5e42b31141e599ab81711"
|
| 933 |
}
|
| 934 |
},
|
| 935 |
"failures": []
|
|
|
|
| 990 |
"local": {
|
| 991 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/docs/index.html",
|
| 992 |
"exists": true,
|
| 993 |
+
"bytes": 90729,
|
| 994 |
+
"sha256": "d1f35486ca171b6b6fcd3b4fd43263a54e4ff8e43379a20b57f6b62896e51fe8"
|
| 995 |
},
|
| 996 |
"mirrors": {
|
| 997 |
"hf_space": {
|
| 998 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/space/index.html",
|
| 999 |
"exists": true,
|
| 1000 |
+
"bytes": 90729,
|
| 1001 |
+
"sha256": "d1f35486ca171b6b6fcd3b4fd43263a54e4ff8e43379a20b57f6b62896e51fe8"
|
| 1002 |
},
|
| 1003 |
"hf_artifacts_docs": {
|
| 1004 |
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/docs/index.html",
|
| 1005 |
"exists": true,
|
| 1006 |
+
"bytes": 90729,
|
| 1007 |
+
"sha256": "d1f35486ca171b6b6fcd3b4fd43263a54e4ff8e43379a20b57f6b62896e51fe8"
|
| 1008 |
+
}
|
| 1009 |
+
},
|
| 1010 |
+
"failures": []
|
| 1011 |
+
},
|
| 1012 |
+
{
|
| 1013 |
+
"name": "docs/QUALITY_GATES.md",
|
| 1014 |
+
"status": "pass",
|
| 1015 |
+
"local": {
|
| 1016 |
+
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/QUALITY_GATES.md",
|
| 1017 |
+
"exists": true,
|
| 1018 |
+
"bytes": 2865,
|
| 1019 |
+
"sha256": "f3482dbc310d2ade60aa2b480211a9ee0cad1c814779a8b1d63d96432222897a"
|
| 1020 |
+
},
|
| 1021 |
+
"mirrors": {
|
| 1022 |
+
"hf_space": {
|
| 1023 |
+
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/space/QUALITY_GATES.md",
|
| 1024 |
+
"exists": true,
|
| 1025 |
+
"bytes": 2865,
|
| 1026 |
+
"sha256": "f3482dbc310d2ade60aa2b480211a9ee0cad1c814779a8b1d63d96432222897a"
|
| 1027 |
+
},
|
| 1028 |
+
"hf_artifacts": {
|
| 1029 |
+
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts/QUALITY_GATES.md",
|
| 1030 |
+
"exists": true,
|
| 1031 |
+
"bytes": 2865,
|
| 1032 |
+
"sha256": "f3482dbc310d2ade60aa2b480211a9ee0cad1c814779a8b1d63d96432222897a"
|
| 1033 |
+
},
|
| 1034 |
+
"hf_model": {
|
| 1035 |
+
"path": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model/QUALITY_GATES.md",
|
| 1036 |
+
"exists": true,
|
| 1037 |
+
"bytes": 2865,
|
| 1038 |
+
"sha256": "f3482dbc310d2ade60aa2b480211a9ee0cad1c814779a8b1d63d96432222897a"
|
| 1039 |
}
|
| 1040 |
},
|
| 1041 |
"failures": []
|
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",
|
|
@@ -44,6 +44,7 @@
|
|
| 44 |
"LICENSE": true,
|
| 45 |
"codemeta.json": true,
|
| 46 |
"ARTIFACT_GUIDE.md": true,
|
|
|
|
| 47 |
"REPRODUCIBILITY.md": true,
|
| 48 |
"EVIDENCE_CONTRACT.md": true,
|
| 49 |
"DATA_NOTICE.md": true,
|
|
@@ -54,6 +55,7 @@
|
|
| 54 |
"docs/sitemap.xml": true,
|
| 55 |
"docs/data/evidence_contract.json": true,
|
| 56 |
"docs/data/artifact_index.json": true,
|
|
|
|
| 57 |
"docs/data/project_manifest.json": true,
|
| 58 |
"docs/data/reviewer_packet.json": true,
|
| 59 |
"docs/data/reproducibility_matrix.json": true,
|
|
@@ -80,6 +82,7 @@
|
|
| 80 |
"scripts/episode_task_suite.py": true,
|
| 81 |
"scripts/neural_task_models.py": true,
|
| 82 |
"scripts/build_artifact_index.py": true,
|
|
|
|
| 83 |
"scripts/validate_mirror_parity.py": true,
|
| 84 |
"scripts/validate_scope_claims.py": true,
|
| 85 |
"scripts/validate_website_integrity.py": true,
|
|
@@ -131,8 +134,8 @@
|
|
| 131 |
"github_repo": {
|
| 132 |
"root": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy",
|
| 133 |
"exists": true,
|
| 134 |
-
"file_count":
|
| 135 |
-
"text_file_count":
|
| 136 |
"largest_file": {
|
| 137 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 138 |
"bytes": 52601010
|
|
@@ -142,8 +145,8 @@
|
|
| 142 |
"hf_space_bundle": {
|
| 143 |
"root": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/space",
|
| 144 |
"exists": true,
|
| 145 |
-
"file_count":
|
| 146 |
-
"text_file_count":
|
| 147 |
"largest_file": {
|
| 148 |
"path": "assets/task_suite_infographic.png",
|
| 149 |
"bytes": 2322389
|
|
@@ -153,8 +156,8 @@
|
|
| 153 |
"hf_artifact_bundle": {
|
| 154 |
"root": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts",
|
| 155 |
"exists": true,
|
| 156 |
-
"file_count":
|
| 157 |
-
"text_file_count":
|
| 158 |
"largest_file": {
|
| 159 |
"path": "results/episode_task_suite/neural_mlp/temporal_order/model.pt",
|
| 160 |
"bytes": 13406129
|
|
@@ -164,8 +167,8 @@
|
|
| 164 |
"hf_model_bundle": {
|
| 165 |
"root": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model",
|
| 166 |
"exists": true,
|
| 167 |
-
"file_count":
|
| 168 |
-
"text_file_count":
|
| 169 |
"largest_file": {
|
| 170 |
"path": "artifacts/episode_task_suite/cross_modal_retrieval/model.npz",
|
| 171 |
"bytes": 41310574
|
|
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
+
"generated_at_utc": "2026-06-01T06:25:11+00:00",
|
| 4 |
"checks": [
|
| 5 |
{
|
| 6 |
"name": "required_publication_assets_present",
|
|
|
|
| 44 |
"LICENSE": true,
|
| 45 |
"codemeta.json": true,
|
| 46 |
"ARTIFACT_GUIDE.md": true,
|
| 47 |
+
"QUALITY_GATES.md": true,
|
| 48 |
"REPRODUCIBILITY.md": true,
|
| 49 |
"EVIDENCE_CONTRACT.md": true,
|
| 50 |
"DATA_NOTICE.md": true,
|
|
|
|
| 55 |
"docs/sitemap.xml": true,
|
| 56 |
"docs/data/evidence_contract.json": true,
|
| 57 |
"docs/data/artifact_index.json": true,
|
| 58 |
+
"docs/data/quality_gates.json": true,
|
| 59 |
"docs/data/project_manifest.json": true,
|
| 60 |
"docs/data/reviewer_packet.json": true,
|
| 61 |
"docs/data/reproducibility_matrix.json": true,
|
|
|
|
| 82 |
"scripts/episode_task_suite.py": true,
|
| 83 |
"scripts/neural_task_models.py": true,
|
| 84 |
"scripts/build_artifact_index.py": true,
|
| 85 |
+
"scripts/build_quality_gates.py": true,
|
| 86 |
"scripts/validate_mirror_parity.py": true,
|
| 87 |
"scripts/validate_scope_claims.py": true,
|
| 88 |
"scripts/validate_website_integrity.py": true,
|
|
|
|
| 134 |
"github_repo": {
|
| 135 |
"root": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy",
|
| 136 |
"exists": true,
|
| 137 |
+
"file_count": 289,
|
| 138 |
+
"text_file_count": 234,
|
| 139 |
"largest_file": {
|
| 140 |
"path": "results/episode_task_suite/modality_reconstruction/predictions.npz",
|
| 141 |
"bytes": 52601010
|
|
|
|
| 145 |
"hf_space_bundle": {
|
| 146 |
"root": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/space",
|
| 147 |
"exists": true,
|
| 148 |
+
"file_count": 53,
|
| 149 |
+
"text_file_count": 40,
|
| 150 |
"largest_file": {
|
| 151 |
"path": "assets/task_suite_infographic.png",
|
| 152 |
"bytes": 2322389
|
|
|
|
| 156 |
"hf_artifact_bundle": {
|
| 157 |
"root": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/artifacts",
|
| 158 |
"exists": true,
|
| 159 |
+
"file_count": 269,
|
| 160 |
+
"text_file_count": 227,
|
| 161 |
"largest_file": {
|
| 162 |
"path": "results/episode_task_suite/neural_mlp/temporal_order/model.pt",
|
| 163 |
"bytes": 13406129
|
|
|
|
| 167 |
"hf_model_bundle": {
|
| 168 |
"root": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/hf_publish/model",
|
| 169 |
"exists": true,
|
| 170 |
+
"file_count": 201,
|
| 171 |
+
"text_file_count": 158,
|
| 172 |
"largest_file": {
|
| 173 |
"path": "artifacts/episode_task_suite/cross_modal_retrieval/model.npz",
|
| 174 |
"bytes": 41310574
|
metrics/quality_gates.json
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"title": "Ropedia Xperience-10M Publication Quality Gates",
|
| 3 |
+
"status": "pass",
|
| 4 |
+
"generated_at_utc": "2026-06-01T06:24:04+00:00",
|
| 5 |
+
"rule": "Do not present a release as current unless every automated gate passes, then verify live GitHub/HF mirrors after publishing.",
|
| 6 |
+
"automated_gates": [
|
| 7 |
+
{
|
| 8 |
+
"id": "scope_claims",
|
| 9 |
+
"title": "Scope claims guard",
|
| 10 |
+
"command": "python scripts/validate_scope_claims.py",
|
| 11 |
+
"report": "docs/data/scope_claims_audit.json",
|
| 12 |
+
"blocks_if": "Historical 32ep smoke/provenance strings are presented as real 32-episode metrics.",
|
| 13 |
+
"proves": "The public narrative does not overclaim the Qwen3-Omni smoke artifacts.",
|
| 14 |
+
"current_report": {
|
| 15 |
+
"exists": true,
|
| 16 |
+
"status": "pass"
|
| 17 |
+
}
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"id": "website_integrity",
|
| 21 |
+
"title": "Website integrity",
|
| 22 |
+
"command": "python scripts/validate_website_integrity.py",
|
| 23 |
+
"report": "docs/data/website_integrity.json",
|
| 24 |
+
"blocks_if": "Local links, anchors, JSON bundles, or referenced image assets are missing or invalid.",
|
| 25 |
+
"proves": "The GitHub Pages / HF static surface is internally coherent before upload.",
|
| 26 |
+
"current_report": {
|
| 27 |
+
"exists": true,
|
| 28 |
+
"status": "pass"
|
| 29 |
+
}
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"id": "quality_gate_manifest",
|
| 33 |
+
"title": "Quality-gate manifest",
|
| 34 |
+
"command": "python scripts/build_quality_gates.py",
|
| 35 |
+
"report": "docs/data/quality_gates.json",
|
| 36 |
+
"blocks_if": "A public reviewer cannot see the current packaging gates in one place.",
|
| 37 |
+
"proves": "The publication checklist is explicit, versioned, and mirrored with the repo.",
|
| 38 |
+
"current_report": {
|
| 39 |
+
"exists": true,
|
| 40 |
+
"status": "pass"
|
| 41 |
+
}
|
| 42 |
+
},
|
| 43 |
+
{
|
| 44 |
+
"id": "artifact_index",
|
| 45 |
+
"title": "Artifact index",
|
| 46 |
+
"command": "python scripts/build_artifact_index.py",
|
| 47 |
+
"report": "docs/data/artifact_index.json",
|
| 48 |
+
"blocks_if": "Reviewer-critical evidence files are missing from the indexed proof layer.",
|
| 49 |
+
"proves": "Core proof artifacts exist and stable files have SHA-256 hashes.",
|
| 50 |
+
"current_report": {
|
| 51 |
+
"exists": true,
|
| 52 |
+
"status": "pass"
|
| 53 |
+
}
|
| 54 |
+
},
|
| 55 |
+
{
|
| 56 |
+
"id": "publication_hygiene",
|
| 57 |
+
"title": "Publication hygiene",
|
| 58 |
+
"command": "python scripts/validate_publication_package.py",
|
| 59 |
+
"report": "docs/data/publication_audit.json",
|
| 60 |
+
"blocks_if": "Raw data, caches, heavy archives, token strings, missing required assets, or stale public-card figure references enter public bundles.",
|
| 61 |
+
"proves": "The repo and prepared HF bundles are clean enough to publish.",
|
| 62 |
+
"current_report": {
|
| 63 |
+
"exists": true,
|
| 64 |
+
"status": "pass"
|
| 65 |
+
}
|
| 66 |
+
},
|
| 67 |
+
{
|
| 68 |
+
"id": "mirror_parity",
|
| 69 |
+
"title": "Prepared mirror parity",
|
| 70 |
+
"command": "python scripts/validate_mirror_parity.py",
|
| 71 |
+
"report": "docs/data/mirror_parity.json",
|
| 72 |
+
"blocks_if": "Prepared HF Space, artifact dataset, or model bundle diverges from the repo for critical files.",
|
| 73 |
+
"proves": "The files staged for GitHub and Hugging Face are synchronized before upload.",
|
| 74 |
+
"current_report": {
|
| 75 |
+
"exists": true,
|
| 76 |
+
"status": "pass"
|
| 77 |
+
}
|
| 78 |
+
}
|
| 79 |
+
],
|
| 80 |
+
"post_publish_checks": [
|
| 81 |
+
{
|
| 82 |
+
"id": "github_pages_deploy",
|
| 83 |
+
"title": "GitHub Pages deployment",
|
| 84 |
+
"evidence": "gh run list --repo ChaoYue0307/ropedia-xperience-10m-task-suite --limit 5",
|
| 85 |
+
"required_result": "latest pages-build-deployment run succeeds"
|
| 86 |
+
},
|
| 87 |
+
{
|
| 88 |
+
"id": "live_figure_hash_parity",
|
| 89 |
+
"title": "Live figure hash parity",
|
| 90 |
+
"evidence": "download live GitHub/HF task_suite_infographic.png and compare SHA-256 to docs/assets/task_suite_infographic.png",
|
| 91 |
+
"required_result": "all live hashes match the repo asset"
|
| 92 |
+
},
|
| 93 |
+
{
|
| 94 |
+
"id": "rendered_browser_smoke",
|
| 95 |
+
"title": "Rendered browser smoke",
|
| 96 |
+
"evidence": "Browser/Playwright page identity, nonblank render, console health, and one local interaction",
|
| 97 |
+
"required_result": "no relevant console warnings/errors and target links work"
|
| 98 |
+
}
|
| 99 |
+
],
|
| 100 |
+
"scope_boundary": "These gates validate public packaging, claim boundaries, mirror parity, and website integrity. They do not prove cross-episode model quality."
|
| 101 |
+
}
|
metrics/scope_claims_audit.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
-
"generated_at_utc": "2026-06-
|
| 4 |
"summary": {
|
| 5 |
"qwen3_omni_32_episode_claim": false,
|
| 6 |
"dataset_manifest_num_episodes": 1,
|
|
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
+
"generated_at_utc": "2026-06-01T06:18:18+00:00",
|
| 4 |
"summary": {
|
| 5 |
"qwen3_omni_32_episode_claim": false,
|
| 6 |
"dataset_manifest_num_episodes": 1,
|
metrics/website_integrity.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
-
"generated_at_utc": "2026-06-
|
| 4 |
"docs_root": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/docs",
|
| 5 |
"site_base": "/ropedia-xperience-10m-task-suite/",
|
| 6 |
"summary": {
|
| 7 |
"html_pages": 2,
|
| 8 |
-
"local_references":
|
| 9 |
-
"external_reference_count":
|
| 10 |
-
"json_files":
|
| 11 |
"image_assets_referenced": 18,
|
| 12 |
"failure_count": 0
|
| 13 |
},
|
|
@@ -44,7 +44,7 @@
|
|
| 44 |
{
|
| 45 |
"path": "index.html",
|
| 46 |
"id_count": 31,
|
| 47 |
-
"reference_count":
|
| 48 |
"image_count": 20
|
| 49 |
}
|
| 50 |
],
|
|
@@ -56,7 +56,7 @@
|
|
| 56 |
},
|
| 57 |
{
|
| 58 |
"path": "data/evidence_contract.json",
|
| 59 |
-
"bytes":
|
| 60 |
"top_level_type": "dict"
|
| 61 |
},
|
| 62 |
{
|
|
@@ -79,6 +79,11 @@
|
|
| 79 |
"bytes": 5292,
|
| 80 |
"top_level_type": "dict"
|
| 81 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 82 |
{
|
| 83 |
"path": "data/reproducibility_matrix.json",
|
| 84 |
"bytes": 4033,
|
|
|
|
| 1 |
{
|
| 2 |
"status": "pass",
|
| 3 |
+
"generated_at_utc": "2026-06-01T06:18:19+00:00",
|
| 4 |
"docs_root": "/Users/chaoyue/Documents/Codex/2026-05-29/i-am-learning-this-dataset-https/working_repo_copy/docs",
|
| 5 |
"site_base": "/ropedia-xperience-10m-task-suite/",
|
| 6 |
"summary": {
|
| 7 |
"html_pages": 2,
|
| 8 |
+
"local_references": 59,
|
| 9 |
+
"external_reference_count": 58,
|
| 10 |
+
"json_files": 15,
|
| 11 |
"image_assets_referenced": 18,
|
| 12 |
"failure_count": 0
|
| 13 |
},
|
|
|
|
| 44 |
{
|
| 45 |
"path": "index.html",
|
| 46 |
"id_count": 31,
|
| 47 |
+
"reference_count": 58,
|
| 48 |
"image_count": 20
|
| 49 |
}
|
| 50 |
],
|
|
|
|
| 56 |
},
|
| 57 |
{
|
| 58 |
"path": "data/evidence_contract.json",
|
| 59 |
+
"bytes": 7587,
|
| 60 |
"top_level_type": "dict"
|
| 61 |
},
|
| 62 |
{
|
|
|
|
| 79 |
"bytes": 5292,
|
| 80 |
"top_level_type": "dict"
|
| 81 |
},
|
| 82 |
+
{
|
| 83 |
+
"path": "data/quality_gates.json",
|
| 84 |
+
"bytes": 4564,
|
| 85 |
+
"top_level_type": "dict"
|
| 86 |
+
},
|
| 87 |
{
|
| 88 |
"path": "data/reproducibility_matrix.json",
|
| 89 |
"bytes": 4033,
|
scripts/build_artifact_index.py
CHANGED
|
@@ -41,6 +41,22 @@ ARTIFACTS = [
|
|
| 41 |
"surface": "repo_hf",
|
| 42 |
"proves": "Gives the human-readable map from proof boundary to data, tasks, platform mirrors, and scale-up status.",
|
| 43 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
{
|
| 45 |
"id": "reproducibility_contract",
|
| 46 |
"title": "Reproducibility contract",
|
|
|
|
| 41 |
"surface": "repo_hf",
|
| 42 |
"proves": "Gives the human-readable map from proof boundary to data, tasks, platform mirrors, and scale-up status.",
|
| 43 |
},
|
| 44 |
+
{
|
| 45 |
+
"id": "quality_gates",
|
| 46 |
+
"title": "Publication quality gates",
|
| 47 |
+
"path": "QUALITY_GATES.md",
|
| 48 |
+
"kind": "quality_gate",
|
| 49 |
+
"surface": "repo_hf",
|
| 50 |
+
"proves": "Lists the automated and post-publish gates required before presenting a release as current.",
|
| 51 |
+
},
|
| 52 |
+
{
|
| 53 |
+
"id": "quality_gate_manifest",
|
| 54 |
+
"title": "Quality-gate manifest",
|
| 55 |
+
"path": "docs/data/quality_gates.json",
|
| 56 |
+
"kind": "quality_gate",
|
| 57 |
+
"surface": "website_hf",
|
| 58 |
+
"proves": "Machine-readable release-gate summary for validators, mirrors, and reviewer surfaces.",
|
| 59 |
+
},
|
| 60 |
{
|
| 61 |
"id": "reproducibility_contract",
|
| 62 |
"title": "Reproducibility contract",
|
scripts/build_quality_gates.py
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""Build the public quality-gate summary.
|
| 3 |
+
|
| 4 |
+
This is a presentation artifact over the existing validators. It does not
|
| 5 |
+
replace the validators; it makes the release gate readable in one file and one
|
| 6 |
+
machine-readable JSON bundle.
|
| 7 |
+
"""
|
| 8 |
+
|
| 9 |
+
from __future__ import annotations
|
| 10 |
+
|
| 11 |
+
import json
|
| 12 |
+
from datetime import datetime, timezone
|
| 13 |
+
from pathlib import Path
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
ROOT = Path(__file__).resolve().parents[1]
|
| 17 |
+
OUTPUT_JSON = ROOT / "docs/data/quality_gates.json"
|
| 18 |
+
OUTPUT_MD = ROOT / "QUALITY_GATES.md"
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
GATES = [
|
| 22 |
+
{
|
| 23 |
+
"id": "scope_claims",
|
| 24 |
+
"title": "Scope claims guard",
|
| 25 |
+
"command": "python scripts/validate_scope_claims.py",
|
| 26 |
+
"report": "docs/data/scope_claims_audit.json",
|
| 27 |
+
"blocks_if": "Historical 32ep smoke/provenance strings are presented as real 32-episode metrics.",
|
| 28 |
+
"proves": "The public narrative does not overclaim the Qwen3-Omni smoke artifacts.",
|
| 29 |
+
},
|
| 30 |
+
{
|
| 31 |
+
"id": "website_integrity",
|
| 32 |
+
"title": "Website integrity",
|
| 33 |
+
"command": "python scripts/validate_website_integrity.py",
|
| 34 |
+
"report": "docs/data/website_integrity.json",
|
| 35 |
+
"blocks_if": "Local links, anchors, JSON bundles, or referenced image assets are missing or invalid.",
|
| 36 |
+
"proves": "The GitHub Pages / HF static surface is internally coherent before upload.",
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"id": "quality_gate_manifest",
|
| 40 |
+
"title": "Quality-gate manifest",
|
| 41 |
+
"command": "python scripts/build_quality_gates.py",
|
| 42 |
+
"report": "docs/data/quality_gates.json",
|
| 43 |
+
"blocks_if": "A public reviewer cannot see the current packaging gates in one place.",
|
| 44 |
+
"proves": "The publication checklist is explicit, versioned, and mirrored with the repo.",
|
| 45 |
+
},
|
| 46 |
+
{
|
| 47 |
+
"id": "artifact_index",
|
| 48 |
+
"title": "Artifact index",
|
| 49 |
+
"command": "python scripts/build_artifact_index.py",
|
| 50 |
+
"report": "docs/data/artifact_index.json",
|
| 51 |
+
"blocks_if": "Reviewer-critical evidence files are missing from the indexed proof layer.",
|
| 52 |
+
"proves": "Core proof artifacts exist and stable files have SHA-256 hashes.",
|
| 53 |
+
},
|
| 54 |
+
{
|
| 55 |
+
"id": "publication_hygiene",
|
| 56 |
+
"title": "Publication hygiene",
|
| 57 |
+
"command": "python scripts/validate_publication_package.py",
|
| 58 |
+
"report": "docs/data/publication_audit.json",
|
| 59 |
+
"blocks_if": "Raw data, caches, heavy archives, token strings, missing required assets, or stale public-card figure references enter public bundles.",
|
| 60 |
+
"proves": "The repo and prepared HF bundles are clean enough to publish.",
|
| 61 |
+
},
|
| 62 |
+
{
|
| 63 |
+
"id": "mirror_parity",
|
| 64 |
+
"title": "Prepared mirror parity",
|
| 65 |
+
"command": "python scripts/validate_mirror_parity.py",
|
| 66 |
+
"report": "docs/data/mirror_parity.json",
|
| 67 |
+
"blocks_if": "Prepared HF Space, artifact dataset, or model bundle diverges from the repo for critical files.",
|
| 68 |
+
"proves": "The files staged for GitHub and Hugging Face are synchronized before upload.",
|
| 69 |
+
},
|
| 70 |
+
]
|
| 71 |
+
|
| 72 |
+
POST_PUBLISH_CHECKS = [
|
| 73 |
+
{
|
| 74 |
+
"id": "github_pages_deploy",
|
| 75 |
+
"title": "GitHub Pages deployment",
|
| 76 |
+
"evidence": "gh run list --repo ChaoYue0307/ropedia-xperience-10m-task-suite --limit 5",
|
| 77 |
+
"required_result": "latest pages-build-deployment run succeeds",
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"id": "live_figure_hash_parity",
|
| 81 |
+
"title": "Live figure hash parity",
|
| 82 |
+
"evidence": "download live GitHub/HF task_suite_infographic.png and compare SHA-256 to docs/assets/task_suite_infographic.png",
|
| 83 |
+
"required_result": "all live hashes match the repo asset",
|
| 84 |
+
},
|
| 85 |
+
{
|
| 86 |
+
"id": "rendered_browser_smoke",
|
| 87 |
+
"title": "Rendered browser smoke",
|
| 88 |
+
"evidence": "Browser/Playwright page identity, nonblank render, console health, and one local interaction",
|
| 89 |
+
"required_result": "no relevant console warnings/errors and target links work",
|
| 90 |
+
},
|
| 91 |
+
]
|
| 92 |
+
|
| 93 |
+
|
| 94 |
+
def read_status(path: Path) -> dict:
|
| 95 |
+
if not path.exists():
|
| 96 |
+
return {"exists": False, "status": "missing"}
|
| 97 |
+
try:
|
| 98 |
+
payload = json.loads(path.read_text(encoding="utf-8"))
|
| 99 |
+
except json.JSONDecodeError as exc:
|
| 100 |
+
return {"exists": True, "status": "invalid_json", "error": str(exc)}
|
| 101 |
+
return {
|
| 102 |
+
"exists": True,
|
| 103 |
+
"status": str(payload.get("status", "unknown")),
|
| 104 |
+
}
|
| 105 |
+
|
| 106 |
+
|
| 107 |
+
def build_payload() -> dict:
|
| 108 |
+
gate_records = []
|
| 109 |
+
generated_at = datetime.now(timezone.utc).isoformat(timespec="seconds")
|
| 110 |
+
for gate in GATES:
|
| 111 |
+
if gate["id"] == "quality_gate_manifest":
|
| 112 |
+
status = {"exists": True, "status": "pass"}
|
| 113 |
+
else:
|
| 114 |
+
status = read_status(ROOT / gate["report"])
|
| 115 |
+
gate_records.append({**gate, "current_report": status})
|
| 116 |
+
overall_status = "pass" if all(item["current_report"]["status"] == "pass" for item in gate_records) else "fail"
|
| 117 |
+
return {
|
| 118 |
+
"title": "Ropedia Xperience-10M Publication Quality Gates",
|
| 119 |
+
"status": overall_status,
|
| 120 |
+
"generated_at_utc": generated_at,
|
| 121 |
+
"rule": "Do not present a release as current unless every automated gate passes, then verify live GitHub/HF mirrors after publishing.",
|
| 122 |
+
"automated_gates": gate_records,
|
| 123 |
+
"post_publish_checks": POST_PUBLISH_CHECKS,
|
| 124 |
+
"scope_boundary": "These gates validate public packaging, claim boundaries, mirror parity, and website integrity. They do not prove cross-episode model quality.",
|
| 125 |
+
}
|
| 126 |
+
|
| 127 |
+
|
| 128 |
+
def markdown(payload: dict) -> str:
|
| 129 |
+
lines = [
|
| 130 |
+
"# Publication Quality Gates",
|
| 131 |
+
"",
|
| 132 |
+
"This file is the reviewer-facing release checklist for the Ropedia Xperience-10M Task Suite.",
|
| 133 |
+
"",
|
| 134 |
+
f"Current gate status: **{payload['status']}**",
|
| 135 |
+
"",
|
| 136 |
+
payload["rule"],
|
| 137 |
+
"",
|
| 138 |
+
"These gates validate public packaging, claim boundaries, mirror parity, and website integrity. They do not prove cross-episode model quality; the 32-episode Qwen3-Omni pilot remains gated on data access.",
|
| 139 |
+
"",
|
| 140 |
+
"## Automated Gates",
|
| 141 |
+
"",
|
| 142 |
+
"| Gate | Command | Report | Current report status | Blocks publication if |",
|
| 143 |
+
"| --- | --- | --- | --- | --- |",
|
| 144 |
+
]
|
| 145 |
+
for gate in payload["automated_gates"]:
|
| 146 |
+
report_status = gate["current_report"]["status"]
|
| 147 |
+
lines.append(
|
| 148 |
+
f"| {gate['title']} | `{gate['command']}` | `{gate['report']}` | `{report_status}` | {gate['blocks_if']} |"
|
| 149 |
+
)
|
| 150 |
+
lines.extend([
|
| 151 |
+
"",
|
| 152 |
+
"## Post-Publish Checks",
|
| 153 |
+
"",
|
| 154 |
+
"| Check | Evidence | Required result |",
|
| 155 |
+
"| --- | --- | --- |",
|
| 156 |
+
])
|
| 157 |
+
for check in payload["post_publish_checks"]:
|
| 158 |
+
lines.append(f"| {check['title']} | `{check['evidence']}` | {check['required_result']} |")
|
| 159 |
+
lines.extend([
|
| 160 |
+
"",
|
| 161 |
+
"## Rerun Order",
|
| 162 |
+
"",
|
| 163 |
+
"```bash",
|
| 164 |
+
"python scripts/validate_scope_claims.py",
|
| 165 |
+
"python scripts/validate_website_integrity.py",
|
| 166 |
+
"python scripts/build_quality_gates.py",
|
| 167 |
+
"python scripts/build_artifact_index.py",
|
| 168 |
+
"python scripts/validate_publication_package.py",
|
| 169 |
+
"python scripts/validate_mirror_parity.py",
|
| 170 |
+
"```",
|
| 171 |
+
"",
|
| 172 |
+
"After Hugging Face bundle sync, rerun `validate_publication_package.py` and `validate_mirror_parity.py` once more before upload.",
|
| 173 |
+
"",
|
| 174 |
+
])
|
| 175 |
+
return "\n".join(lines)
|
| 176 |
+
|
| 177 |
+
|
| 178 |
+
def main() -> int:
|
| 179 |
+
payload = build_payload()
|
| 180 |
+
OUTPUT_JSON.parent.mkdir(parents=True, exist_ok=True)
|
| 181 |
+
OUTPUT_JSON.write_text(json.dumps(payload, indent=2) + "\n", encoding="utf-8")
|
| 182 |
+
OUTPUT_MD.write_text(markdown(payload), encoding="utf-8")
|
| 183 |
+
print(f"{payload['status'].upper()}: wrote {OUTPUT_JSON}")
|
| 184 |
+
print(f"{payload['status'].upper()}: wrote {OUTPUT_MD}")
|
| 185 |
+
return 0 if payload["status"] == "pass" else 1
|
| 186 |
+
|
| 187 |
+
|
| 188 |
+
if __name__ == "__main__":
|
| 189 |
+
raise SystemExit(main())
|
scripts/validate_mirror_parity.py
CHANGED
|
@@ -25,6 +25,7 @@ DATA_FILES = [
|
|
| 25 |
"modality_atlas.json",
|
| 26 |
"project_manifest.json",
|
| 27 |
"publication_audit.json",
|
|
|
|
| 28 |
"reproducibility_matrix.json",
|
| 29 |
"research_direction_extensions.json",
|
| 30 |
"research_directions.json",
|
|
@@ -50,6 +51,7 @@ ASSET_FILES = [
|
|
| 50 |
|
| 51 |
SCRIPT_FILES = [
|
| 52 |
"build_artifact_index.py",
|
|
|
|
| 53 |
"validate_mirror_parity.py",
|
| 54 |
"validate_publication_package.py",
|
| 55 |
"validate_scope_claims.py",
|
|
@@ -60,6 +62,10 @@ WEBSITE_FILES = [
|
|
| 60 |
"index.html",
|
| 61 |
]
|
| 62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 63 |
|
| 64 |
def sha256(path: Path) -> str:
|
| 65 |
digest = hashlib.sha256()
|
|
@@ -166,6 +172,19 @@ def build_report(hf_root: Path) -> dict:
|
|
| 166 |
)
|
| 167 |
)
|
| 168 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 169 |
failures = [
|
| 170 |
{"group": group["name"], **failure}
|
| 171 |
for group in groups
|
|
@@ -209,6 +228,12 @@ def build_report(hf_root: Path) -> dict:
|
|
| 209 |
if not any(failure["group"].startswith("website/") for failure in failures)
|
| 210 |
else "fail",
|
| 211 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 212 |
],
|
| 213 |
"groups": groups,
|
| 214 |
"failures": failures,
|
|
|
|
| 25 |
"modality_atlas.json",
|
| 26 |
"project_manifest.json",
|
| 27 |
"publication_audit.json",
|
| 28 |
+
"quality_gates.json",
|
| 29 |
"reproducibility_matrix.json",
|
| 30 |
"research_direction_extensions.json",
|
| 31 |
"research_directions.json",
|
|
|
|
| 51 |
|
| 52 |
SCRIPT_FILES = [
|
| 53 |
"build_artifact_index.py",
|
| 54 |
+
"build_quality_gates.py",
|
| 55 |
"validate_mirror_parity.py",
|
| 56 |
"validate_publication_package.py",
|
| 57 |
"validate_scope_claims.py",
|
|
|
|
| 62 |
"index.html",
|
| 63 |
]
|
| 64 |
|
| 65 |
+
DOC_FILES = [
|
| 66 |
+
"QUALITY_GATES.md",
|
| 67 |
+
]
|
| 68 |
+
|
| 69 |
|
| 70 |
def sha256(path: Path) -> str:
|
| 71 |
digest = hashlib.sha256()
|
|
|
|
| 172 |
)
|
| 173 |
)
|
| 174 |
|
| 175 |
+
for filename in DOC_FILES:
|
| 176 |
+
groups.append(
|
| 177 |
+
parity_group(
|
| 178 |
+
f"docs/{filename}",
|
| 179 |
+
ROOT / filename,
|
| 180 |
+
{
|
| 181 |
+
"hf_space": hf_root / "space" / filename,
|
| 182 |
+
"hf_artifacts": hf_root / "artifacts" / filename,
|
| 183 |
+
"hf_model": hf_root / "model" / filename,
|
| 184 |
+
},
|
| 185 |
+
)
|
| 186 |
+
)
|
| 187 |
+
|
| 188 |
failures = [
|
| 189 |
{"group": group["name"], **failure}
|
| 190 |
for group in groups
|
|
|
|
| 228 |
if not any(failure["group"].startswith("website/") for failure in failures)
|
| 229 |
else "fail",
|
| 230 |
},
|
| 231 |
+
{
|
| 232 |
+
"name": "repo_hf_quality_doc_parity",
|
| 233 |
+
"status": "pass"
|
| 234 |
+
if not any(failure["group"].startswith("docs/") for failure in failures)
|
| 235 |
+
else "fail",
|
| 236 |
+
},
|
| 237 |
],
|
| 238 |
"groups": groups,
|
| 239 |
"failures": failures,
|
scripts/validate_publication_package.py
CHANGED
|
@@ -193,6 +193,7 @@ def required_assets(root: Path) -> dict[str, bool]:
|
|
| 193 |
"LICENSE",
|
| 194 |
"codemeta.json",
|
| 195 |
"ARTIFACT_GUIDE.md",
|
|
|
|
| 196 |
"REPRODUCIBILITY.md",
|
| 197 |
"EVIDENCE_CONTRACT.md",
|
| 198 |
"DATA_NOTICE.md",
|
|
@@ -203,6 +204,7 @@ def required_assets(root: Path) -> dict[str, bool]:
|
|
| 203 |
"docs/sitemap.xml",
|
| 204 |
"docs/data/evidence_contract.json",
|
| 205 |
"docs/data/artifact_index.json",
|
|
|
|
| 206 |
"docs/data/project_manifest.json",
|
| 207 |
"docs/data/reviewer_packet.json",
|
| 208 |
"docs/data/reproducibility_matrix.json",
|
|
@@ -229,6 +231,7 @@ def required_assets(root: Path) -> dict[str, bool]:
|
|
| 229 |
"scripts/episode_task_suite.py",
|
| 230 |
"scripts/neural_task_models.py",
|
| 231 |
"scripts/build_artifact_index.py",
|
|
|
|
| 232 |
"scripts/validate_mirror_parity.py",
|
| 233 |
"scripts/validate_scope_claims.py",
|
| 234 |
"scripts/validate_website_integrity.py",
|
|
|
|
| 193 |
"LICENSE",
|
| 194 |
"codemeta.json",
|
| 195 |
"ARTIFACT_GUIDE.md",
|
| 196 |
+
"QUALITY_GATES.md",
|
| 197 |
"REPRODUCIBILITY.md",
|
| 198 |
"EVIDENCE_CONTRACT.md",
|
| 199 |
"DATA_NOTICE.md",
|
|
|
|
| 204 |
"docs/sitemap.xml",
|
| 205 |
"docs/data/evidence_contract.json",
|
| 206 |
"docs/data/artifact_index.json",
|
| 207 |
+
"docs/data/quality_gates.json",
|
| 208 |
"docs/data/project_manifest.json",
|
| 209 |
"docs/data/reviewer_packet.json",
|
| 210 |
"docs/data/reproducibility_matrix.json",
|
|
|
|
| 231 |
"scripts/episode_task_suite.py",
|
| 232 |
"scripts/neural_task_models.py",
|
| 233 |
"scripts/build_artifact_index.py",
|
| 234 |
+
"scripts/build_quality_gates.py",
|
| 235 |
"scripts/validate_mirror_parity.py",
|
| 236 |
"scripts/validate_scope_claims.py",
|
| 237 |
"scripts/validate_website_integrity.py",
|