Parent: #129.
Scope
Apply the detachable-harness template from
docs/adr/0001-binding-ci-template.adoc to bindings/ocaml/.
Detachability contract for the OCaml binding
bindings/ocaml/ — lib/, test/, dune-project, *.opam,
Justfile, symbol-manifest.txt
bindings/c/include/proven.h — vendored on extraction (the binding
references it via %{env_or:PROVEN_INCLUDE_PATH=...})
.github/workflows/ocaml-ci.yml — workflow + sparse-checkout
Root Justfile gains ocaml-{check,build,test,clean} one-line
forwarders.
Replication
chapel → ocaml
*.chpl → *.ml / *.mli
Mason.toml → dune-project (+ *.opam)
chpl --version → ocaml --version (or dune --version)
- Chapel
chpl --library → dune build / dune build --only-packages proven
The binding uses ctypes / dune for FFI; the (c_library_flags ...) /
(c_library_deps ...) clauses consume PROVEN_LIB_PATH /
PROVEN_INCLUDE_PATH via env, NOT via hardcoded ../../ffi/zig/...
paths.
WIRED subset starts at the proven#88 quintet. Land in a single PR
titled feat(ocaml-binding): stand up detachable CI + tests — binding-tier-1.
References
Parent: #129.
Scope
Apply the detachable-harness template from
docs/adr/0001-binding-ci-template.adoctobindings/ocaml/.Detachability contract for the OCaml binding
bindings/ocaml/—lib/,test/,dune-project,*.opam,Justfile,symbol-manifest.txtbindings/c/include/proven.h— vendored on extraction (the bindingreferences it via
%{env_or:PROVEN_INCLUDE_PATH=...}).github/workflows/ocaml-ci.yml— workflow + sparse-checkoutRoot Justfile gains
ocaml-{check,build,test,clean}one-lineforwarders.
Replication
chapel→ocaml*.chpl→*.ml/*.mliMason.toml→dune-project(+*.opam)chpl --version→ocaml --version(ordune --version)chpl --library→dune build/dune build --only-packages provenThe binding uses ctypes / dune for FFI; the
(c_library_flags ...)/(c_library_deps ...)clauses consumePROVEN_LIB_PATH/PROVEN_INCLUDE_PATHvia env, NOT via hardcoded../../ffi/zig/...paths.
WIRED subset starts at the proven#88 quintet. Land in a single PR
titled
feat(ocaml-binding): stand up detachable CI + tests — binding-tier-1.References
docs/adr/0002-chapel-binding-standup.adocdocs/adr/0001-binding-ci-template.adoc