Skip to content

fix: write local verify reports to local-verifications.jsonl - #302

Draft
panshularora wants to merge 1 commit into
AOSSIE-Org:mainfrom
panshularora:fix/verification-record-schema
Draft

panshularora wants to merge 1 commit into
AOSSIE-Org:mainfrom
panshularora:fix/verification-record-schema

Conversation

@panshularora

@panshularora panshularora commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #211

Summary

simple/ovl.py verify was appending its local report into the same verifications.jsonl that published release entries use. Those two shapes are incompatible, so after a local verify the file mixed schemas and any consumer of the published format could break or misread the new lines.

This change makes verify write local results to local-verifications.jsonl instead, leaving the published verifications.jsonl untouched.

Root cause

Published release entries (one line per segment) look like:

{"checker": "…", "code": "…", "driver": "…", "gpu": "…", "result": "MATCH", "segment": 0}

cmd_verify appended one line per invocation with a different shape:

{"time": …, "environment": {…}, "chain_head": "…", "checks": […], "result": "PASS"|"FAIL"}

Same path (run / "verifications.jsonl", opened with "a"), different schema (PASS/FAIL vs MATCH/MISMATCH, nested checks vs top-level segment, no checker/code/driver).

Change

  • simple/ovl.py: append the local report to local-verifications.jsonl.
  • simple/checker_pod.sh: read the local report from local-verifications.jsonl.
  • docs/verify.md: document that local results go to local-verifications.jsonl and the published file stays unchanged.
  • Tests that asserted the local report path updated accordingly.
  • New focused regressions in tests/simple/test_verification_record_schema.py:
    • published verifications.jsonl is not appended to by verify
    • local PASS/FAIL report lands in local-verifications.jsonl
    • a successful weights verify still leaves the published file alone

No chain-format change. No coverage / other bug fixes on this branch.

Test commands and results

Environment: OVL_DEVICE=cpu (box is CPU-only torch).

# New regressions (RED before fix: 3 failures; GREEN after: OK)
python3 -m unittest tests.simple.test_verification_record_schema -v
# Ran 3 tests — OK

# Relevant suite
python3 -m unittest \
  tests.simple.test_verification_record_schema \
  tests.simple.test_simple_verify \
  tests.simple.test_ovl \
  tests.simple.test_ovl_anchor \
  tests.simple.test_ovl_model_binding \
  tests.simple.test_ovl_weights_verdict \
  -q
# Ran 62 tests — OK

Per-module counts:

module count result
test_verification_record_schema 3 OK
test_simple_verify 5 OK
test_ovl 33 OK
test_ovl_anchor 17 OK
test_ovl_model_binding 4 OK
test_ovl_weights_verdict 0 via unittest (pytest-style; pytest not installed on the box) n/a

Revert check: temporarily restoring the old verifications.jsonl write path made all 3 new regressions fail again; restoring the fix made them pass.

Scope


Addressed Issues:

Fixes #211

Screenshots/Recordings:

Not applicable (no UI changes).

Additional Notes:

Based on upstream main @ f42508c; head 27e7250. Local tests: new regressions 3/3 and relevant suite 62/62 pass (see above).

AI Usage Disclosure:

We encourage contributors to use AI tools responsibly when creating Pull Requests. While AI can be a valuable aid, it is essential to ensure that your contributions meet the task requirements, build successfully, include relevant tests, and pass all linters. Submissions that do not meet these standards may be closed without warning to maintain the quality and integrity of the project. Please take the time to understand the changes you are proposing and their impact. AI slop is strongly discouraged and may lead to banning and blocking. Do not spam our repos with AI slop.

Check one of the checkboxes below:

  • This PR does not contain AI-generated code at all.
  • This PR contains AI-generated code. I have read the AI Usage Policy and this PR complies with this policy. I have tested the code locally and I am responsible for it.

I have used the following AI models and tools: TODO

Checklist

  • My PR addresses a single issue, fixes a single bug or makes a single improvement.
  • My code follows the project's code style and conventions
  • If applicable, I have made corresponding changes or additions to the documentation
  • If applicable, I have made corresponding changes or additions to tests
  • My changes generate no new warnings or errors
  • I have joined the Discord server and I will share a link to this PR with the project maintainers there
  • I have read the Contribution Guidelines
  • Once I submit my PR, CodeRabbit AI will automatically review it and I will address CodeRabbit's comments.
  • I have filled this PR template completely and carefully, and I understand that my PR may be closed without review otherwise.

cmd_verify appended {time, environment, chain_head, checks, result:PASS|FAIL}
into the same verifications.jsonl that published release entries use
({checker, code, driver, gpu, result:MATCH|MISMATCH, segment:int}), mixing
incompatible schemas (issue AOSSIE-Org#211).

Write the local report to local-verifications.jsonl instead so the published
file stays untouched. Update checker_pod.sh and docs/verify.md to match, and
add focused regressions for the schema split.

Fixes AOSSIE-Org#211
@coderabbitai

coderabbitai Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Tip

🎯 Customize your risk assessments

Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.

✅ Automatic approvals, with your rules

Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG]: simple/ovl.py verify appends to verifications.jsonl in a different format than the published release entries

1 participant