Skip to content

Commit 6eb0dfe

Browse files
hyperpolymathclaude
andcommitted
Standardise license setup: MPL-2.0 + PMPL-1.0-or-later (REUSE)
- LICENSE: pure MPL-2.0 text for machine detection (GitHub, registries) - LICENSES/MPL-2.0.txt: standard MPL-2.0 text - LICENSES/PMPL-1.0-or-later.txt: Palimpsest License text - NOTICE: explains the dual-license relationship - Source SPDX headers remain PMPL-1.0-or-later This ensures OSI compliance checks pass while preserving PMPL as the governing license for source code. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 1560b9c commit 6eb0dfe

20 files changed

Lines changed: 2013 additions & 600 deletions

File tree

.bot_directives/echidnabot.scm

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,26 @@
11
;; SPDX-License-Identifier: PMPL-1.0-or-later
22
(bot-directive
33
(bot "echidnabot")
4-
(scope "formal verification and fuzzing")
5-
(allow ("analysis" "fuzzing" "proof checks"))
6-
(deny ("write to core modules" "write to bindings"))
7-
(notes "May open findings; code changes require explicit approval"))
4+
(scope "formal verification, proof totality, and dependent type auditing")
5+
(languages ("Idris2" "Zig"))
6+
(targets
7+
("ochrance-core/" "Idris2 core library — A2ML, Framework, FFI")
8+
("modules/" "Verified filesystem subsystem")
9+
("src/abi/" "ABI type definitions")
10+
("ffi/zig/" "Zig FFI implementation")
11+
("tests/" "Test suite"))
12+
(allow ("analysis" "proof checks" "totality auditing" "FFI safety checks"))
13+
(deny ("write to core modules" "write to FFI bindings" "modify proofs without review"))
14+
(scanning-rules
15+
(idris2
16+
(ban ("believe_me" "assert_total" "assert_smaller" "unsafePerformIO") (severity "critical"))
17+
(enforce ("total" "%default total") (notes "All modules must be total"))
18+
(flag ("partial") (severity "high")))
19+
(zig
20+
(flag ("@ptrCast" "@alignCast") (severity "medium"))
21+
(ban ("@intToPtr") (severity "high") (unless "FFI boundary"))))
22+
(echidna-ffi
23+
(library "libechidna.so")
24+
(bindings "ochrance-core/Ochrance/FFI/Echidna.idr")
25+
(status "stub — FFI not yet implemented, wrappers return defaults"))
26+
(notes "Ochrance is a neurosymbolic verification framework. Echidna integration is core to its architecture. All functions must be total — structural recursion only."))

.github/workflows/hypatia-scan.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020

2121
steps:
2222
- name: Checkout repository
23-
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
23+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
2424
with:
2525
fetch-depth: 0 # Full history for better pattern analysis
2626

.machine_readable/STATE.scm

Lines changed: 76 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,77 @@
11
;; SPDX-License-Identifier: PMPL-1.0-or-later
2-
(state (metadata (version "0.1.0") (last-updated "2026-02-08") (status active))
3-
(project-context (name "language-bridges") (purpose "FFI bridges between languages via Zig") (completion-percentage 20))
4-
(components (component "ada-zig-ffi") (component "gleam-zig-ffi") (component "idris2-zig-ffi") (component "julia-zig-ffi") (component "ocaml-zig-ffi") (component "rescript-zig-ffi") (component "rust-zig-ffi") (component "swift-zig-ffi") (component "zig-c-ffi") (component "zig-container-ffi") (component "zig-fuse-ext") (component "zig-libgit2-ffi") (component "zig-nickel-ffi") (component "zig-systemd-ffi") (component "zig-wireguard")))
2+
;; Ochrance - Neurosymbolic Filesystem Verification Framework
3+
;; STATE.scm - Current project state
4+
5+
(state
6+
(metadata
7+
(version "0.2.0")
8+
(last-updated "2026-03-10")
9+
(status active))
10+
11+
(project-context
12+
(name "ochrance")
13+
(purpose "Neurosymbolic filesystem verification framework using Idris2 dependent types")
14+
(completion-percentage 77))
15+
16+
(components
17+
(component
18+
(name "a2ml")
19+
(description "Attestation & Audit Markup Language")
20+
(completion-percentage 95)
21+
(subcomponents
22+
(subcomponent (name "Lexer") (status "complete") (percentage 100))
23+
(subcomponent (name "Parser") (status "complete") (percentage 100))
24+
(subcomponent (name "Validator") (status "complete") (percentage 95))
25+
(subcomponent (name "Serializer") (status "complete") (percentage 85))))
26+
27+
(component
28+
(name "framework")
29+
(description "Verification framework core")
30+
(completion-percentage 100)
31+
(subcomponents
32+
(subcomponent (name "Interface") (status "complete") (percentage 100))
33+
(subcomponent (name "Proof") (status "complete") (percentage 100))
34+
(subcomponent (name "Error") (status "complete") (percentage 100))))
35+
36+
(component
37+
(name "filesystem")
38+
(description "Reference VerifiedSubsystem implementation")
39+
(completion-percentage 75)
40+
(subcomponents
41+
(subcomponent (name "Types") (status "complete") (percentage 100))
42+
(subcomponent (name "Merkle") (status "active") (percentage 80))
43+
(subcomponent (name "Verify") (status "active") (percentage 75))
44+
(subcomponent (name "Repair") (status "active") (percentage 65))))
45+
46+
(component
47+
(name "ffi-crypto")
48+
(description "Zig FFI cryptographic bindings via libochrance.so")
49+
(completion-percentage 30)
50+
(notes "FFI declarations present, buffer management needs real implementation"))
51+
52+
(component
53+
(name "abi")
54+
(description "Idris2 ABI definitions with formal proofs")
55+
(completion-percentage 80)
56+
(subcomponents
57+
(subcomponent (name "Types") (status "complete") (percentage 95))
58+
(subcomponent (name "Layout") (status "complete") (percentage 85))
59+
(subcomponent (name "Foreign") (status "active") (percentage 60))))
60+
61+
(component
62+
(name "echidna-ffi")
63+
(description "FFI bindings to libechidna.so for neural proof synthesis")
64+
(completion-percentage 5)
65+
(notes "Stub only, awaiting libechidna.so stabilization")))
66+
67+
(blockers-and-issues
68+
(blocker "FFI buffer management in Crypto.idr uses placeholder cast operations")
69+
(blocker "Merkle powerTwoSucc arithmetic lemma is postulated, not proven")
70+
(issue "Verify.idr toHex uses assert_total - needs provably total rewrite")
71+
(issue "ECHIDNA FFI is stub-only, blocked on libechidna.so API"))
72+
73+
(critical-next-actions
74+
(action "Replace Crypto.idr placeholder stubs with real FFI buffer calls")
75+
(action "Prove powerTwoSucc lemma")
76+
(action "Rewrite toHex as provably total")
77+
(action "Complete ABI Foreign module with full FFI coverage")))

0 commit comments

Comments
 (0)