Parent: #129.
Scope
Apply the detachable-harness template from
docs/adr/0001-binding-ci-template.adoc to bindings/lua/.
Detachability contract for the Lua binding
bindings/lua/ — proven/ (sources), spec/ (busted tests),
*.rockspec, Justfile, symbol-manifest.txt
bindings/c/include/proven.h — vendored on extraction
.github/workflows/lua-ci.yml — workflow + sparse-checkout
Root Justfile gains lua-{check,build,test,clean} one-line
forwarders. The Lua binding consumes libproven via LuaJIT FFI
(ffi.cdef + ffi.load); the ffi.load path resolves
PROVEN_LIB_PATH at runtime so the test harness works without
LD_LIBRARY_PATH globals.
Replication
chapel → lua
*.chpl → *.lua
Mason.toml → proven-*.rockspec (current files:
proven-0.3.0-1.rockspec, proven-0.9.0-1.rockspec)
chpl --version → lua -v (and luarocks --version)
- Chapel
chpl --library typecheck → luac -p (parse-check) on each
source module; Chapel smoke / tests → busted spec runs
WIRED subset starts at the proven#88 quintet. Land in a single PR
titled feat(lua-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/lua/.Detachability contract for the Lua binding
bindings/lua/—proven/(sources),spec/(busted tests),*.rockspec,Justfile,symbol-manifest.txtbindings/c/include/proven.h— vendored on extraction.github/workflows/lua-ci.yml— workflow + sparse-checkoutRoot Justfile gains
lua-{check,build,test,clean}one-lineforwarders. The Lua binding consumes libproven via LuaJIT FFI
(
ffi.cdef+ffi.load); theffi.loadpath resolvesPROVEN_LIB_PATHat runtime so the test harness works withoutLD_LIBRARY_PATH globals.
Replication
chapel→lua*.chpl→*.luaMason.toml→proven-*.rockspec(current files:proven-0.3.0-1.rockspec,proven-0.9.0-1.rockspec)chpl --version→lua -v(andluarocks --version)chpl --librarytypecheck →luac -p(parse-check) on eachsource module; Chapel smoke / tests → busted spec runs
WIRED subset starts at the proven#88 quintet. Land in a single PR
titled
feat(lua-binding): stand up detachable CI + tests — binding-tier-1.References
docs/adr/0002-chapel-binding-standup.adocdocs/adr/0001-binding-ci-template.adoc