Skip to content

fix(cli, docs): Refactor and enhance approximation modules and CLI support - #380

Open
misonijnik wants to merge 2 commits into
misonijnik/isolated-approximations-modelsfrom
misonijnik/isolated-approximations-cli
Open

misonijnik wants to merge 2 commits into
misonijnik/isolated-approximations-modelsfrom
misonijnik/isolated-approximations-cli

Conversation

@misonijnik

Copy link
Copy Markdown
Member

No description provided.

@misonijnik
misonijnik changed the base branch from main to misonijnik/isolated-approximations-models August 26, 2026 17:16
@misonijnik
misonijnik force-pushed the misonijnik/isolated-approximations-cli branch from 5b5afa3 to 7abd207 Compare August 26, 2026 17:25
@misonijnik
misonijnik force-pushed the misonijnik/isolated-approximations-cli branch from 7abd207 to 5e67311 Compare August 26, 2026 17:50
@misonijnik
misonijnik force-pushed the misonijnik/isolated-approximations-cli branch 2 times, most recently from cb6ae28 to dbe6bd4 Compare September 7, 2026 18:41
@misonijnik misonijnik changed the title fix(cli): Refactor and enhance approximation modules and CLI support fix(cli, docs): Refactor and enhance approximation modules and CLI support Sep 7, 2026
Add project scaffolding, pinned dependency builds, on-demand rebuilds, compiled-output resolution, diagnostics, and documentation for custom dataflow approximations.
Three defects found by the model in formal/Opentaint/Cli/Internal/Approximation,
each with the test the proof predicts.

A directory counted as compiled classes as soon as a .class file existed
anywhere below it. That is a test of the subtree, not a classification of the
directory: a tree holding both a model project and compiled classes collapsed to
one classpath root, the project was never compiled, and the scan ran without its
models and reported nothing about it. Classify only when nothing below still
needs building, and compute both facts in one walk rather than two
(Resolve.fixed_loses_nothing, Resolve.shipped_loses_a_project,
Resolve.fused_resolves_identically). A directory holding compiled classes of its
own next to a project has no valid classification at all, so report it by name
instead of dropping either side (Resolve.ambiguous_tree_drops_a_class).

Builds staged in a directory named after the output alone, so two builders of
one project shared it: one could delete the other's classes, contribute to them,
and publish the mixture under a stamp recording it as up to date. Stage under a
path carrying the builder's identity, and rename the previous output aside
rather than deleting it, so a reader sees the old output, the new one, or
nothing (Build.raceA_output_is_not_sound, Build.publishedOutputIsSound).

The rebuild stamp digested the model project but not the compiler that reads it,
so an upgraded CLI kept serving models compiled by the previous one. Carry the
autobuilder's identity in the stamp (Stamp.shipped_stamp_serves_a_stale_output,
Stamp.full_stamp_covers).
@misonijnik
misonijnik force-pushed the misonijnik/isolated-approximations-cli branch from dbe6bd4 to 6ef9469 Compare September 7, 2026 18:55
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