Angelica Moreira
14276fb193
ignore .z3-agent runtime directory
2026-03-11 22:04:15 +00:00
Angelica Moreira
ed8f3ac438
add agent readme with usage examples
2026-03-11 21:53:37 +00:00
Angelica Moreira
90a4cdf855
update skills readme to match current state
2026-03-11 21:53:32 +00:00
Angelica Moreira
ed5b1929f1
add dependency checks to memory-safety and static-analysis
2026-03-11 21:53:27 +00:00
Angelica Moreira
d74f610264
merge z3-solver and z3-verifier into single z3 agent
2026-03-11 21:53:21 +00:00
Angelica Moreira
8eb35b3c46
remove deeptest skill (handled by external agent)
2026-03-11 21:53:16 +00:00
Angelica Moreira
621638abb9
run black and ruff on all skill scripts
2026-03-11 21:53:10 +00:00
Angelica Moreira
9d674404c8
Add action/expectation/result structure to all skill definitions
...
Each step in every SKILL.md now carries labeled Action, Expectation,
and Result blocks so the agent can mechanically execute, verify, and
branch at each stage. Format chosen after comparing three variants
(indented blocks, inline keywords, tables) on a prove-validity
simulation; indented blocks scored highest on routing completeness
and checkability.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-11 19:51:59 +00:00
Angelica Moreira
d349b93d1d
Add Copilot skill architecture with 10 skills, 2 agents, and shared infra
...
Introduce .github/skills/ with solve, prove, optimize, simplify,
encode, explain, benchmark, memory-safety, static-analysis, and
deeptest skills. Each skill follows a SKILL.md + scripts/ pattern
with Python scripts backed by a shared SQLite logging library
(z3db.py). Two orchestrator agents (z3-solver, z3-verifier) route
requests to the appropriate skills.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-11 17:41:29 +00:00
Angelica Moreira
1cba7cb5ee
fix: pass GH_TOKEN to memory safety report workflow
...
The reporting workflow needs explicit GH_TOKEN env to download
artifacts from the triggering workflow run via gh CLI.
2026-03-09 21:49:22 +00:00
Angelica Moreira
123bb620d4
Add ASan/UBSan memory safety CI workflow
...
Adds a workflow that builds and tests Z3 with AddressSanitizer and
UndefinedBehaviorSanitizer on every push to catch runtime memory errors
and undefined behavior. Runs unit tests, SMT-LIB2 benchmarks, and
regression tests under both sanitizers. Includes a Copilot agentic
workflow to generate summary reports as GitHub Discussions.
Triggered on push (path-filtered to src/) and manual dispatch.
2026-03-04 16:31:29 +00:00
Nikolaj Bjorner
d40c4721d8
Merge pull request #8838 from Z3Prover/copilot/fix-no-such-field-error
...
Fix NoSuchFieldError in Java JNI wrapper for BOOL OUT/INOUT parameters
2026-03-02 19:10:21 -08:00
Nikolaj Bjorner
9031089999
add zipt reviewer to master branch
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-03-02 16:51:52 -08:00
copilot-swe-agent[bot]
c384710b08
Fix NoSuchFieldError in JNI for BoolPtr: use Z field descriptor and SetBooleanField
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-02 23:56:42 +00:00
copilot-swe-agent[bot]
027b46b2ed
Initial plan
2026-03-02 23:52:53 +00:00
Nikolaj Bjorner
30483d6cf2
Merge pull request #8835 from Z3Prover/dependabot/github_actions/actions/download-artifact-8.0.0
...
Bump actions/download-artifact from 6.0.0 to 8.0.0
2026-03-02 15:48:03 -08:00
Nikolaj Bjorner
ef648ff632
Merge pull request #8833 from Z3Prover/dependabot/github_actions/actions/upload-artifact-7.0.0
...
Bump actions/upload-artifact from 6.0.0 to 7.0.0
2026-03-02 15:47:48 -08:00
Nikolaj Bjorner
07742ed49f
Merge pull request #8834 from Z3Prover/dependabot/github_actions/actions/cache-5.0.3
...
Bump actions/cache from 4.3.0 to 5.0.3
2026-03-02 15:47:34 -08:00
Nikolaj Bjorner
ba88256a2a
Merge pull request #8836 from Z3Prover/dependabot/github_actions/actions/checkout-6.0.2
...
Bump actions/checkout from 5.0.1 to 6.0.2
2026-03-02 15:47:22 -08:00
Nikolaj Bjorner
377c85f491
Merge pull request #8837 from Z3Prover/dependabot/github_actions/github/gh-aw-0.51.6
...
Bump github/gh-aw from 0.45.6 to 0.51.6
2026-03-02 15:47:11 -08:00
dependabot[bot]
11d3a11cea
Bump github/gh-aw from 0.45.6 to 0.51.6
...
Bumps [github/gh-aw](https://github.com/github/gh-aw ) from 0.45.6 to 0.51.6.
- [Release notes](https://github.com/github/gh-aw/releases )
- [Commits](https://github.com/github/gh-aw/compare/v0.45.6...v0.51.6 )
---
updated-dependencies:
- dependency-name: github/gh-aw
dependency-version: 0.51.6
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 23:44:00 +00:00
dependabot[bot]
e482052b37
Bump actions/checkout from 5.0.1 to 6.0.2
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 5.0.1 to 6.0.2.
- [Release notes](https://github.com/actions/checkout/releases )
- [Commits](https://github.com/actions/checkout/compare/v5.0.1...v6.0.2 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 6.0.2
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 23:42:08 +00:00
dependabot[bot]
867e768aa8
Bump actions/download-artifact from 6.0.0 to 8.0.0
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 6.0.0 to 8.0.0.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v6...v8 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 8.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 23:41:23 +00:00
dependabot[bot]
b7a4ddbcd5
Bump actions/cache from 4.3.0 to 5.0.3
...
Bumps [actions/cache](https://github.com/actions/cache ) from 4.3.0 to 5.0.3.
- [Release notes](https://github.com/actions/cache/releases )
- [Commits](https://github.com/actions/cache/compare/v4.3.0...v5.0.3 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: 5.0.3
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 23:40:54 +00:00
dependabot[bot]
a7e3635931
Bump actions/upload-artifact from 6.0.0 to 7.0.0
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 6.0.0 to 7.0.0.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 23:40:26 +00:00
Nikolaj Bjorner
96285b0f91
Merge pull request #8824 from Z3Prover/copilot/fix-issues-except-rust
...
Fix issues reported in discussion 8823 for all languages except Rust
2026-03-02 10:35:31 -08:00
Nikolaj Bjorner
94809d413a
Merge pull request #8825 from Z3Prover/copilot/fix-reported-issues-8822
...
Fix CSA-reported undefined behavior and uninitialized variables
2026-03-02 10:03:16 -08:00
copilot-swe-agent[bot]
1461a53347
Fix TypeScript Array.fromFunc to use f.ptr instead of f.ast for Z3_func_decl type
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-02 16:22:08 +00:00
copilot-swe-agent[bot]
28fbe33114
Add missing API bindings: Python BvNand/BvNor/BvXnor, Go MkAsArray/MkRecFuncDecl/AddRecDef/Model.Translate, TS Array.fromFunc/Model.translate, OCaml Model.translate
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-02 00:21:57 +00:00
copilot-swe-agent[bot]
8e94cad8ab
Fix static analysis findings: uninitialized vars, bitwise shift UB, garbage values
...
- nla_core.cpp: Initialize j = null_lpvar in is_octagon_term
- bit2int.cpp: Initialize sign_p, sign_n, sz_p, sz_n
- act_cache.cpp: Initialize debug vars to nullptr
- enum2bv_rewriter.cpp: Use unsigned literal in 1u << idx
- bit_matrix.cpp: Use unsigned literal in 1u << (n-1)
- bit_util.cpp: Guard against bit_shift == 0 in shl/shr
- mpff.cpp: Cast exp to unsigned before shifting
- sorting_network.h: Guard against bits == 0
- dl_sparse_table.h: Use >= 64 instead of == 64
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-02 00:13:55 +00:00
copilot-swe-agent[bot]
122ee94935
Initial plan
2026-03-02 00:06:13 +00:00
copilot-swe-agent[bot]
8fad12fe18
Initial plan
2026-03-02 00:05:23 +00:00
Nikolaj Bjorner
dcb888d4c8
Merge pull request #8821 from Z3Prover/copilot/update-clang-analyzer-timeout
...
Increase Clang Static Analyzer workflow timeout to 180 minutes
2026-03-01 12:40:41 -08:00
copilot-swe-agent[bot]
51c84fb295
Increase Clang Static Analyzer workflow timeout from 90 to 180 minutes
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-01 20:18:45 +00:00
copilot-swe-agent[bot]
af201a8faf
Initial plan
2026-03-01 20:14:45 +00:00
Nikolaj Bjorner
8a6d22d3f1
Merge pull request #8813 from Z3Prover/copilot/fix-issues-in-multiple-languages
...
Fix API discrepancies for Go, Python bindings
2026-03-01 12:09:23 -08:00
Nikolaj Bjorner
844731d99a
Merge pull request #8814 from Z3Prover/copilot/simplify-def-ref-smart-pointer
...
Simplify def_ref smart pointer in model_based_opt.h
2026-03-01 04:47:37 -08:00
copilot-swe-agent[bot]
a15c659e81
Add Python Optimize.translate() and missing Go tactic/simplifier functions
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-01 02:14:16 +00:00
copilot-swe-agent[bot]
23d194502a
Simplify def_ref smart pointer: default ctor, init list, clearer bool, remove extra semicolon
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-01 02:10:19 +00:00
copilot-swe-agent[bot]
2b8615f4fc
Add 8 missing BV overflow/underflow check functions to Go bindings
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-01 01:51:27 +00:00
copilot-swe-agent[bot]
137fd735f5
Initial plan
2026-03-01 01:49:00 +00:00
copilot-swe-agent[bot]
f80f279da9
Initial plan
2026-03-01 01:45:29 +00:00
Lev Nachmanson
38ab05e50a
Merge pull request #8805 from Z3Prover/qmbi_crash
...
Fix assertion violation in q_mbi diagnostic output
2026-02-28 11:28:51 -10:00
Lev Nachmanson
93ac330864
Fix assertion violation in q_mbi diagnostic output
...
The IF_VERBOSE(0,...) block at line 498 in q_mbi.cpp used operator[]
on values2root map which asserts the key exists. When the model
evaluation of the inverted term produces a value not present in the
EUF values2root map, this crashes.
Use find() instead to handle the missing key gracefully, since this
is diagnostic output and the missing key is expected when the model
inversion produces inconsistent results.
Fixes assertion violation from #7027 (obj_hashtable.h line 168/174)
with forall/array/eq2ineq combination.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-28 11:15:28 -10:00
Lev Nachmanson
7968669cf2
Merge pull request #8803 from Z3Prover/mbo_leak
2026-02-27 19:02:56 -10:00
Lev Nachmanson
835da14afa
Update src/math/simplex/model_based_opt.h
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-27 17:29:37 -10:00
Lev Nachmanson
9a1a407298
Merge pull request #8801 from Z3Prover/bvo
...
Handle overflow predicates in new core bit-vector internalization
2026-02-27 17:21:24 -10:00
Lev Nachmanson
fc6696c5e4
Fix memory leaks in model_based_opt def ref-counting
...
Three bugs in the def ref-counting infrastructure:
1. dec_ref() incremented (++) instead of decrementing (--) the ref count,
so objects were never freed.
2. def_ref lacked copy and move constructors, so the compiler-generated
default copy just copied the raw pointer without inc_ref. This caused
use-after-free when def_ref values were copied into vectors.
3. Compound def types (add_def, mul_def, div_def) lacked destructors to
dec_ref their children. Added virtual destructor to base def class
and child-releasing destructors to compound types.
Fixes the memory leak from #7027 (model_based_opt.cpp:81).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-27 17:15:20 -10:00
Copilot
f4abd88ff5
Add arity and bit-width SASSERTs to internalize_overflow ( #8802 )
...
* Initial plan
* Add SASSERTs for arity and bit-width in internalize_overflow
Co-authored-by: levnach <5377127+levnach@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: levnach <5377127+levnach@users.noreply.github.com>
2026-02-27 14:30:50 -10:00
Lev Nachmanson
2dac76d19a
Handle overflow predicates in new core bit-vector internalization
...
Add internalize_overflow() to handle OP_BUMUL_OVFL, OP_BSMUL_OVFL,
OP_BUADD_OVFL, OP_BSADD_OVFL, OP_BUSUB_OVFL, OP_BSSUB_OVFL,
OP_BSDIV_OVFL, and OP_BNEG_OVFL in the sat.euf=true solver path.
Previously these overflow predicates hit UNREACHABLE() in
internalize_circuit(). Now they are reduced to equivalent expressions
using existing BV operations and internalized via add_def().
Fixes the assertion violation from #7027 for bvuaddo and related
overflow predicates with tactic.default_tactic=smt sat.euf=true.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-27 13:07:39 -10:00