- New generator: compiler/src/generators/z3.ts (1,034 lines) - Translates SpeckDL state → Z3 sort declarations - Translates invariants → Z3 define-fun returning Bool - Translates actions → Z3 transition predicates (enabled + step) - BMC unrolling with --verify-depth=N (default: 10) - CLI: --target=z3 or --target=all - ToggleSwitch and TigerBeetleLedger generate valid SMT-LIB2 - KafkaKRaft spec generates valid SMT-LIB2 structure - Complex forall/set expressions emit 'true' as placeholders (to be improved) - All 41 existing tests still pass This unblocks M1.2 (KRaft verification), M3.2 (Show HN), and M4.3 (OAuth verification).
74 lines
No EOL
1.6 KiB
JSON
74 lines
No EOL
1.6 KiB
JSON
{
|
|
"bomFormat": "CycloneDX",
|
|
"specVersion": "1.6",
|
|
"components": [],
|
|
"metadata": {
|
|
"tools": [],
|
|
"component": {
|
|
"type": "application",
|
|
"name": "RetryHandler",
|
|
"version": "0.2.0",
|
|
"properties": [
|
|
{
|
|
"name": "speckl:derivesFrom",
|
|
"value": "FaultHandler"
|
|
},
|
|
{
|
|
"name": "speckl:satisfies",
|
|
"value": "RESILIENCE-REQ-01 clause 3.1.2"
|
|
},
|
|
{
|
|
"name": "speckl:satisfies",
|
|
"value": "RESILIENCE-REQ-02"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"annotations": [
|
|
{
|
|
"subject": "speck:RetryHandler",
|
|
"annotations": [
|
|
{
|
|
"type": "tag",
|
|
"value": "provenanceType",
|
|
"text": "author"
|
|
}
|
|
],
|
|
"author": {
|
|
"name": "Scott Scoble",
|
|
"email": "scott@scoble.me"
|
|
},
|
|
"timestamp": "2026-05-10T05:28:00.667Z"
|
|
},
|
|
{
|
|
"subject": "speck:RetryHandler",
|
|
"annotations": [
|
|
{
|
|
"type": "tag",
|
|
"value": "provenanceType",
|
|
"text": "source"
|
|
}
|
|
],
|
|
"author": {
|
|
"name": "Speckl Compiler",
|
|
"email": "compiler@speckl.scoble.me"
|
|
},
|
|
"timestamp": "2026-05-10T05:28:00.667Z"
|
|
},
|
|
{
|
|
"subject": "speck:RetryHandler",
|
|
"annotations": [
|
|
{
|
|
"type": "tag",
|
|
"value": "reviewType",
|
|
"text": "manual"
|
|
}
|
|
],
|
|
"author": {
|
|
"name": "Speckl Compiler",
|
|
"email": "compiler@speckl.scoble.me"
|
|
},
|
|
"timestamp": "2026-05-10T05:28:00.667Z"
|
|
}
|
|
]
|
|
} |