Establish Ricci evidence contract spine, artifact schema, validator and CI gates#855
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5ba0d41462
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| run: python -m pip install --no-cache-dir jsonschema==4.25.1 | ||
|
|
||
| - name: Validate canonical Ricci artifact | ||
| run: python tools/research/validate_ricci_artifact_schema.py |
There was a problem hiding this comment.
Validate every changed Ricci artifact in CI
The workflow triggers on any change under artifacts/runs/ricci_microstructure_v1/**, but this command is invoked without --artifact, so the validator only checks DEFAULT_ARTIFACT (example_artifact.json) and ignores the actual files that caused the workflow to run. I verified that adding an invalid artifacts/runs/ricci_microstructure_v1/bad.json still exits 0 here, which means a PR can merge malformed evidence artifacts despite the README saying the schema gate is the repository-level enforcement point for inference artifacts.
Useful? React with 👍 / 👎.
| "score": {"type": "number", "minimum": -1.0, "maximum": 1.0}, | ||
| "uncertainty": {"type": "number", "minimum": 0.0}, | ||
| "decision": {"type": "string", "enum": ["NO_TRADE", "OBSERVE", "REJECT"]}, | ||
| "claim_tier": {"type": "string", "enum": ["HYPOTHESIS", "INSTRUMENTED", "MEASURED_SINGLE", "MEASURED_MULTI", "LIMITED_EMPIRICAL", "REJECTED", "BLOCKED_COST_MODEL"]}, |
There was a problem hiding this comment.
Block dirty artifacts from measured tiers
The schema currently accepts claim_tier: "MEASURED_SINGLE" or "MEASURED_MULTI" regardless of git_dirty, so an artifact from a dirty worktree can still pass validation as measured evidence. That contradicts the new promotion invariant in FORBIDDEN_CLAIMS.md that dirty git state must be disclosed but cannot support a signoff tier, and it lets the new CI validator promote exactly the class of artifacts the contract says to block.
Useful? React with 👍 / 👎.
|
Verification checkpoint for PR #855. Status: NOT MERGE-READY. Validated green on head
Only remaining blocker:
Likely cause: checksum/lockfile entropy from Required fix before merge: --exclude-files '^(INVENTORY\.json|\.github/detect-secrets\.baseline|go\.work\.sum|figures/disha_ba_correlation/repro_capsule/.*)$'Apply this in No merge while security gate is red. That is the contract, not decoration. |
Rebuild PR #855 as a bounded evidence-contract slice on top of current main. Preserves the Ricci claim firewall, canonical artifact schema, validator, tests, reproducibility hardening, and diff-bound commit acceptor without promoting deployable or production status.
280018b to
bb1cf96
Compare
Motivation
ricci_microstructure_v1so artifacts, falsifiers, promotion rules, and claim tiers are explicit and reviewable.Description
README.mdinto a strict Claim Contract.FORBIDDEN_CLAIMS.mdto ban forbidden status language and prescribe safe claim wording.research_lines/ricci_microstructure_v1/contract.yamlfor the sprint-focused evidence contract and required falsifiers/invariants.schemas/research/ricci_microstructure_artifact.schema.json.artifacts/runs/ricci_microstructure_v1/example_artifact.json.tools/research/validate_ricci_artifact_schema.pyand tests intests/research_lines/test_ricci_artifact_schema.py.REPRODUCIBILITY_CAPSULE/COMMANDS.shby removing fail-open masking.Testing
Boundary
This PR does not promote the research line to deployable, validated alpha, or production status. It establishes a bounded artifact-first evidence spine.