Skip to content

Fetch UnsatCoreTAC files via unsat_core_map.json instead of the whole archive#2

Merged
jar-ben merged 3 commits into
mainfrom
jaroslav/unsat-core-apis
Jul 19, 2026
Merged

Fetch UnsatCoreTAC files via unsat_core_map.json instead of the whole archive#2
jar-ben merged 3 commits into
mainfrom
jaroslav/unsat-core-apis

Conversation

@jar-ben

@jar-ben jar-ben commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Uses the job's unsat_core_map.json ({ ruleId -> [UnsatCoreTAC .txt] }) to fetch only
the referenced files via the per-file endpoint, instead of pulling the full output tar.

  • fetch_output_file(job, rel_path) — fetch one Reports/-relative file via the /f/<name>
    endpoint (added to all fetchers). fetch_statsdata now delegates to it.
  • unsat_core_map / unsat_core_filenames / read_unsat_cores — look up a rule's unsat-core
    .txt files (and their contents) by its treeView ruleId.
  • extract_unsat_core_files — fetches only the mapped files; falls back to the output tar when
    the map is absent.
  • CheckResult.rule_id (parsed from the treeView node) and NodeStatus.SANITY_FAILED.

Consumer flow: parse the treeView, select rules by status, then fetch their .txt by rule_id.
Works for any rule with unsat cores (verified, failed satisfy, or vacuous), not just sanity.

@jar-ben jar-ben changed the title Fetch UnsatCoreTAC files via unsat_core_map.json instead of the whole… Fetch UnsatCoreTAC files via unsat_core_map.json instead of the whole archive Jul 16, 2026
@jar-ben
jar-ben requested a review from shellygr July 16, 2026 19:30
Comment thread src/prover_output_utility/api/aws_data_fetcher.py
Comment thread src/prover_output_utility/api/main.py
shellygr
shellygr previously approved these changes Jul 16, 2026

@shellygr shellygr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, two memory related nits

@shellygr

Copy link
Copy Markdown
Contributor

also - what is the rule_id?

@jar-ben

jar-ben commented Jul 17, 2026

Copy link
Copy Markdown
Contributor Author

also - what is the rule_id?

It's a unique rule identifier. We added it to the prover already some time ago, but it was not exported. There is a prover PR that exports it to treeView (which allows us to match treeView items (rule&method results) to corresponding unsat core files).

@jar-ben
jar-ben requested a review from shellygr July 17, 2026 07:44
@jar-ben
jar-ben merged commit 55cc126 into main Jul 19, 2026
3 checks passed
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.

2 participants