Skip to content

Spec Scope Changes#348

Merged
andrii-a8c merged 20 commits intomainfrom
explicit-specs
Nov 25, 2025
Merged

Spec Scope Changes#348
andrii-a8c merged 20 commits intomainfrom
explicit-specs

Conversation

@andrii-a8c
Copy link
Copy Markdown
Collaborator

@andrii-a8c andrii-a8c commented Nov 14, 2025

Comment thread crates/move-stackless-bytecode/src/function_target_pipeline.rs Outdated
Comment thread crates/sui-prover/tests/inputs/2.ok.move Outdated
Comment thread crates/move-stackless-bytecode/src/function_stats.rs Outdated
@andrii-a8c andrii-a8c marked this pull request as ready for review November 19, 2025 17:01
Copilot AI review requested due to automatic review settings November 19, 2025 17:01
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This is a work-in-progress pull request implementing significant architectural changes to the prover infrastructure. The changes introduce a new PackageTargets struct to centralize target collection and filtering, refactor bytecode transformation workflows, and remove the BoogieFileMode::All variant. The modifications streamline verification processes and improve modularity by separating target management from bytecode processing.

Key Changes:

  • Introduces PackageTargets struct to centralize spec collection and filtering logic
  • Refactors FunctionTargetsHolder to delegate target filtering to PackageTargets
  • Removes BoogieFileMode::All and consolidates verification modes
  • Updates test files with new spec attributes and snapshot outputs

Reviewed Changes

Copilot reviewed 27 out of 28 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
crates/sui-prover/src/prove.rs Updates function stats display to use new PackageTargets API
crates/sui-prover/src/build_model.rs Modifies target holder initialization with PackageTargets and changes holder target type
crates/move-stackless-bytecode/src/function_target_pipeline.rs Major refactoring moving spec collection logic to PackageTargets and simplifying holder structure
crates/move-stackless-bytecode/src/function_stats.rs Introduces PackageTargets struct with comprehensive target collection and filtering logic
crates/move-stackless-bytecode/src/verification_analysis.rs Simplifies verification scope checking by removing holder mode check
crates/move-stackless-bytecode/tests/testsuite.rs Updates test initialization to use PackageTargets
crates/move-prover-boogie-backend/src/generator.rs Refactors verification workflow to use PackageTargets and removes BoogieFileMode::All handling
crates/move-prover-boogie-backend/src/boogie_backend/options.rs Removes BoogieFileMode::All enum variant
crates/move-prover-boogie-backend/src/boogie_backend/bytecode_translator.rs Removes conditional checks for BoogieFileMode::All
crates/move-prover-lean-backend/src/generator.rs Updates to use PackageTargets and refactors function mode verification
crates/move-model/src/model.rs Adds toplevel_attributes field to module data structures
crates/move-model/src/builder/module_builder.rs Passes toplevel_attributes to module environment
Test input/snapshot files Adds test cases for external spec inclusion and updates existing tests with prove attribute

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread crates/move-stackless-bytecode/src/function_stats.rs Outdated
Comment thread crates/move-stackless-bytecode/src/function_stats.rs Outdated
Comment thread crates/move-prover-boogie-backend/src/generator.rs Outdated
Comment thread crates/move-stackless-bytecode/src/function_stats.rs Outdated
Comment thread crates/move-stackless-bytecode/src/function_stats.rs Outdated
Comment thread crates/move-stackless-bytecode/src/function_target_pipeline.rs Outdated
Comment thread crates/move-stackless-bytecode/src/function_target_pipeline.rs
@andrii-a8c andrii-a8c changed the title wip: first steps Spec Scope Changes Nov 20, 2025
@andrii-a8c andrii-a8c enabled auto-merge (squash) November 20, 2025 17:31
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 34 out of 35 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread crates/move-stackless-bytecode/src/package_targets.rs
Comment thread crates/move-prover-boogie-backend/src/generator.rs
Comment thread crates/move-stackless-bytecode/src/function_stats.rs Outdated
Comment thread crates/move-stackless-bytecode/src/function_target_pipeline.rs Outdated
@andrii-a8c andrii-a8c disabled auto-merge November 20, 2025 17:36
Comment thread crates/sui-prover/tests/inputs/multiple_specs/multiple_external.ok.move Outdated
Comment thread crates/move-stackless-bytecode/src/function_stats.rs Outdated
Comment thread crates/move-stackless-bytecode/src/function_target_pipeline.rs
Comment thread crates/move-stackless-bytecode/src/function_target_pipeline.rs Outdated
Comment thread crates/move-stackless-bytecode/src/function_target_pipeline.rs Outdated
Comment thread crates/move-stackless-bytecode/src/package_targets.rs Outdated
Comment thread crates/move-stackless-bytecode/src/package_targets.rs Outdated
Comment thread crates/move-stackless-bytecode/src/package_targets.rs
Comment thread crates/sui-prover/tests/inputs/multiple_specs/multiple_external.ok.move Outdated
}

#[spec_only(explicit_spec_module = 0x42::foo_specs)]
#[spec_only(include_module = 0x42::foo_specs)]
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.

can we use include for both functions and modules?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

will try to implement (they have different type but i will check if we can combine)

Copy link
Copy Markdown
Contributor

@andreistefanescu andreistefanescu left a comment

Choose a reason for hiding this comment

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

👍

@andrii-a8c andrii-a8c merged commit 131ce7d into main Nov 25, 2025
1 check passed
@andrii-a8c andrii-a8c deleted the explicit-specs branch November 25, 2025 18:20
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.

3 participants