Skip to content

[DO NOT MERGE] Formal verification reference: TLA+/Lean models, defect catalogue and fix plans - #1549

Draft
joaodinissf wants to merge 3 commits into
masterfrom
docs/formal-verification-reference
Draft

joaodinissf wants to merge 3 commits into
masterfrom
docs/formal-verification-reference

Conversation

@joaodinissf

@joaodinissf joaodinissf commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

Caution

Do not merge. This PR is a reference for the formal-verification campaign. Its fixes land as separate PRs.

Why the change

This keeps the formal models, the defect catalogue and the failing-first tests of the formal-verification campaign in one reviewable place, as the source for small, separate fix PRs.

Special things to note

Change outline

+formal/
+├── parallel-loader/   tla/ lean/    # ParallelResourceLoader timeouts (LDR)
+├── find-refs/         tla/ lean/    # find-references result view (REF)
+├── binary-storage/    tla/ lean/    # binary model storage in the builder (STO)
+├── trie/              tla/ lean/    # qualified-name lookup ranges (TRIE)
+├── pipeline/          tla/ lean/    # release and snapshot workflows (PIPE)
+├── readonly/          comparator/ orphans/   # read-only checks (RO)
+├── BUGS.md            # defect catalogue, fix plans, fix-PR order
+├── REPORT.md          # campaign analysis
+└── check.sh           # runs the TLC and Lean checks
 com.avaloq.tools.ddk.xtext.test, com.avaloq.tools.ddk.xtext.ui.test
+  @Disabled failing-first tests for findings without a merged fix

Fix status:

PIPE-2  high    #1550  merged
TRIE-1  high    #1551  merged     test enabled on master
REF-2   low     #1552  merged     test enabled on master
LDR-1   medium  #1553  open       a timeout abandons the load operation
TRIE-2, PIPE-1, PIPE-3 (high) and 8 medium findings: no fix PR yet

🤖 Generated with Claude Code

joaodinissf and others added 3 commits September 29, 2026 11:37
Blind models of the parallel resource loader, find-references batching,
the binary-model storage executor, the qualified-name trie and the release
pipeline, each in TLA+ and Lean 4, with fixed variants, ablations, planted
bugs and witnesses. formal/check.sh re-runs every TLC matrix against its
expected.txt, builds each Lean project, rejects sorry/admit and checks the
axioms of every listed theorem.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each @disabled method fails on master exactly as documented in
formal/BUGS.md (LDR-1, REF-2, TRIE-1..15, RO-1) and passes with the
corresponding reference fix; the fix PR enables it. Guard methods that
pass on master stay enabled. xtext.test imports
com.avaloq.tools.ddk.caching for CacheStatistics.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
formal/README.md describes the method, target status, models and how to
reproduce. formal/BUGS.md catalogues 51 findings (49 confirmed, 1
plausible, 1 refuted) plus 9 observations, all verified by three
independent skeptics, with traces, test status, fix plans, a proposed
fix-PR sequence and links to the fix PRs opened so far (#1550, #1551,
#1552, #1553). REPORT.md is the chronological log of rounds 1-2. The
patches are reference fixes used to show each disabled test turns green.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@joaodinissf
joaodinissf force-pushed the docs/formal-verification-reference branch from 511e823 to af49781 Compare September 29, 2026 09:41
@joaodinissf joaodinissf changed the title Formal verification reference: TLA+/Lean models, defect catalogue and fix plans [DO NOT MERGE] Formal verification reference: TLA+/Lean models, defect catalogue and fix plans Sep 29, 2026

This branch has not been deployed

No deployments
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