Skip to content

Represent slices with native SMT sequences - #270

Merged
coord-e merged 5 commits into
mainfrom
native-seq
Sep 21, 2026
Merged

coord-e merged 5 commits into
mainfrom
native-seq

Conversation

@coord-e

@coord-e coord-e commented Sep 21, 2026

Copy link
Copy Markdown
Owner

using latest PCSat that supports Z3 Seq operations plus seq.store

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a67b01145b

ℹ️ 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".

Comment thread .github/workflows/ci.yml Outdated
Comment on lines +34 to +36
- run: curl -fsS "$PCSAT_URL" -o tests/thrust-pcsat-wrapper
env:
PCSAT_URL: https://thrust-ci-public.s3.ap-northeast-1.amazonaws.com/pcsat/thrust-pcsat-wrapper-873d558c6a

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Verify the downloaded solver before executing it

The test job downloads an executable from a mutable public S3 object and subsequently executes it through the UI tests without checking a digest or signature. This replaces the previously digest-pinned container image, so replacement or compromise of that object would provide direct code execution on every CI run; publish a checksum alongside the versioned artifact and verify it before cargo test.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

@@ -1,5 +1,6 @@
//@check-pass
//@compile-flags: -C debug-assertions=off
//@rustc-env: THRUST_SOLVER=tests/thrust-pcsat-wrapper

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Select a sequence-capable solver for normal invocations

All sequence tests now override THRUST_SOLVER to use PCSat, but the application still defaults to Z3 (src/chc/solver.rs:117-126) while generated mutable-sequence constraints contain the non-Z3 seq.store operator. Consequently, users running Thrust normally on Vec or mutable-slice code receive a solver parse/error result even though CI passes; either select/provision PCSat by default or emit sequence updates in the default solver's supported dialect.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

i'll address this later

@coord-e
coord-e merged commit fd32c69 into main Sep 21, 2026
6 checks passed
@coord-e
coord-e deleted the native-seq branch September 21, 2026 07:10
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.

1 participant