Skip to content

Commit 2a52d7d

Browse files
Merge branch 'main' into dependabot/cargo/bots/glambot/html5ever-0.39.0
2 parents ae61c66 + 6d1b38d commit 2a52d7d

23 files changed

Lines changed: 1059 additions & 351 deletions

File tree

.machine_readable/6a2/STATE.a2ml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
(version "2.0")
99
(schema-version "RSR-2026")
1010
(created "2026-01-04")
11-
(updated "2026-04-04T19:00:00Z")
11+
(updated "2026-04-05T22:00:00Z")
1212
(project "gitbot-fleet")
1313
(repo "https://github.com/hyperpolymath/gitbot-fleet"))
1414

@@ -100,6 +100,13 @@
100100
("Replace tests/fuzz/placeholder.txt with real libFuzzer harness")))
101101

102102
(session-history
103+
(snapshot "2026-04-05-evening"
104+
(accomplishments
105+
("Echidnabot: inline-claim mode (A5) — ProofObligationInput.inline=true bypasses clone, verifies claim text directly via echidna /api/verify")
106+
("batch_driver.sh: direct-binary invocation across 16 provers (z3, cvc5, alt-ergo, coq, lean, agda, idris2, vampire, eprover, metamath, cadical, kissat, dafny, why3, fstar, acl2-deferred)")
107+
("batch_driver auto-discovers .ipkg roots for Idris2 project-relative imports")
108+
("Ecosystem VQL->VCL + verisimdb->verisim rename applied (config.rs, fleet-coordinator, dispatch-runner, robot-repo-automaton hypatia client)")
109+
("Live learning loop: 8 PROVEN certs + 2 SANCTIFIED classes over ~1200 proof_attempts rows")))
103110
(snapshot "2026-04-04"
104111
(accomplishments
105112
("CRG C blitz: added 50+ new tests across robot-repo-automaton + shared-context")

EXPLAINME.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ Additional bots present in `bots/`: `accessibilitybot`, `cipherbot`, `panicbot`
151151

152152
| *Rust* (rhodibot, echidnabot, sustainabot, shared-context, robot-repo-automaton)
153153
| Primary implementation language for all bots
154-
| protocol-squisher, verisimdb, ephapax, Stapeln FFI
154+
| protocol-squisher, verisim, ephapax, Stapeln FFI
155155

156156
| *Hypatia*
157157
| External scanner whose JSONL findings feed fleet-coordinator.sh

READINESS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ These bots are wired in the OTP supervision tree but have limited external valid
6565
1. **PAT token**: Automated cross-repo dispatch requires a PAT with `repo` scope — currently missing
6666
2. **Fix scripts**: 310/600 auto-execute entries have null fix_script — recipes exist but no executable
6767
3. **False positive rate**: ~8% on some pattern categories; kanren context-facts would reduce to ~2-3%
68-
4. **VQL federation**: Local-only; multi-store federation not implemented
68+
4. **VCL federation**: Local-only; multi-store federation not implemented
6969
5. **Neural state persistence**: State dir exists but coordinator hasn't persisted to disk
7070

7171
---

bots/echidnabot/CHANGELOG.adoc

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
// SPDX-License-Identifier: PMPL-1.0-or-later
2+
// Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
4+
= Echidnabot Changelog
5+
:toc: left
6+
:toclevels: 2
7+
8+
All notable changes to echidnabot are documented here.
9+
10+
== [Unreleased]
11+
12+
=== Changed
13+
14+
==== VQL → VCL + verisimdb → verisim Rename (2026-04-05)
15+
16+
Matches the ecosystem-wide rename. Internal identifiers updated,
17+
`github.com/hyperpolymath/verisimdb` URLs preserved.
18+
19+
=== Added
20+
21+
==== Inline-Claim Mode (A5, 2026-04-05)
22+
23+
`ProofObligationInput` gains an optional `inline: Bool` flag. When
24+
`true`, the obligation's `claim` text IS the proof content: `process_job`
25+
short-circuits before `clone_repo`, fetches the obligation from the
26+
store, and calls `echidna.verify_proof` directly with the claim text.
27+
No git clone, no file walk.
28+
29+
Sentinel `inline:<obligation_id>` distinguishes inline jobs from the
30+
legacy `obligation:<id>` clone path in `ProofJob.file_paths`.
31+
32+
Tested end-to-end against live echidna server:
33+
provable Z3 claim → success=1, 1ms, "Inline proof verified"
34+
unsat Z3 claim → success=0, 20ms, "Inline proof verification failed"
35+
36+
Unblocks batch drivers and test harnesses that hold proofs in-memory
37+
and don't want echidnabot to git-clone a repo just to verify one file.
38+
Used by the Phase E playground at nesy-solver.dev.
39+
40+
==== `batch_driver.sh` — Direct-Binary Prover Invocation
41+
42+
A standalone bash script that walks local proof trees, invokes prover
43+
binaries directly (bypassing echidna's `/api/verify`, which has a
44+
parse+export round-trip bug that produces false positives), and POSTs
45+
outcomes to verisim-api's `/api/v1/proof_attempts`.
46+
47+
Active runners as of 2026-04-05 (**16 provers**): z3, cvc5, alt-ergo,
48+
coq, lean, agda, idris2, vampire, eprover, metamath, cadical, kissat,
49+
dafny, why3, fstar, acl2 (runner present, podman wrapper deferred).
50+
51+
Per-prover logic:
52+
53+
* SMT solvers (`z3`, `cvc5`, `alt-ergo`): parse `sat`/`unsat`/`unknown`
54+
from output.
55+
* Interactive provers (`coq`, `lean`, `agda`, `idris2`, `fstar`): cd to
56+
file's source root, invoke binary, interpret exit code.
57+
* Idris2: walks up to find nearest `.ipkg` and uses that as
58+
`--source-dir` so project-relative imports resolve.
59+
* ATPs (`vampire`, `eprover`): parse `% SZS status Theorem|
60+
Unsatisfiable|CounterSatisfiable|Timeout`.
61+
* SAT solvers (`cadical`, `kissat`): exit codes 10=SAT, 20=UNSAT.
62+
* `metamath`: pipes `read "file"; verify proof *; exit` via stdin,
63+
parses `?Error` / "were not proved".
64+
* `dafny`: parses "finished with N verified, M errors".
65+
* `why3`: invoked with `-P z3`, parses "Prover result is: Valid".
66+
67+
Environment configuration: `VERISIM_URL`, `VERISIM_TOKEN`, `NOTIFY`
68+
(notify-send per result), `DRY_RUN`, `MAX_FILES`, `RATE_MS`,
69+
`TIMEOUT_SEC`, `STRATEGY_TAG`.
70+
71+
Desktop notifications fire on every result (notify-send): urgency
72+
`critical` on failures, `normal` on success, `low` on unknown.
73+
74+
=== Certificate Landscape (2026-04-05)
75+
76+
After ~1,200 proof_attempts rows across 16 active provers:
77+
78+
* *8 PROVEN* pairs: `safety/{z3,cvc5,vampire,eprover}`,
79+
`correctness/{z3,cvc5}`, `linearity/idris2`, `model-check/cadical`.
80+
* *2 SANCTIFIED* classes: `safety` (4 provers, 282 attempts),
81+
`correctness` (2 provers, 198 attempts).

bots/echidnabot/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bots/echidnabot/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ thiserror = "2"
5656
anyhow = "1"
5757
tracing = "0.1"
5858
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
59-
rand = "0.8"
59+
rand = "0.9"
6060

6161
# Crypto for webhook verification
6262
hmac = "0.12"

0 commit comments

Comments
 (0)