SNAPKITTYWEST's picture
push from SNAPKITTYWEST/Sovereign-Event-Bus
6afa130 verified
Raw History Blame Contribute Delete
2.71 kB
.PHONY: all clean build release test dialyzer edoc help
help:
@echo "SEB L2 Runtime Targets:"
@echo " make build - Build the SEB runtime"
@echo " make release - Build release tarball"
@echo " make test - Run unit and integration tests"
@echo " make dialyzer - Run static analysis (dialyzer)"
@echo " make edoc - Generate documentation"
@echo " make clean - Clean build artifacts"
all: clean build
build:
rebar3 compile
release: build
rebar3 release
test:
rebar3 eunit --dir test/
dialyzer:
rebar3 dialyzer
edoc:
rebar3 edoc
clean:
rebar3 clean
rm -rf _build
## Development targets
console: build
rebar3 shell
dev-release:
rebar3 release
./_build/default/rel/seb_release/bin/seb_release console
## Analysis targets
xref:
rebar3 xref
cover:
rebar3 do eunit, cover
docs:
@echo "SEB L2 Runtime Documentation"
@echo "==============================="
@echo ""
@echo "Architecture:"
@echo " - seb_sup: Supervision tree root"
@echo " - seb_agent_sup: Dynamic agent supervisor"
@echo " - seb_agent_fsm: 4-state agent lifecycle FSM"
@echo " - seb_partition_mgr: Deterministic partition assignment"
@echo " - seb_datalog_bridge: Policy engine bridge"
@echo " - seb_kernel_nif: Ada kernel interface"
@echo ""
@echo "L2 Invariants Enforced:"
@echo " 1. Plasma Gate: Ed25519 signature valid"
@echo " 2. Hash Chain: Prev_Hash == current tip hash"
@echo " 3. Offset Monotonic: Event offset > prior offset"
@echo " 4. Payload Hash: blake3(header || payload) matches footer"
@echo " 5. Segment Chain: Prev_Seg_Hash links to prior segment"
@echo ""
@echo "Success Criteria:"
@echo " - rebar3 release builds: seb_release.tar.gz"
@echo " - dialyzer: zero warnings"
@echo " - Agent drain: < 30s timeout"
@echo " - NIF calls: test vectors pass"
@echo " - Partition assignment: deterministic (same seed → same result)"
## Integration test helpers
start-dev-node:
rebar3 shell --sname seb@127.0.0.1
start-cluster:
@echo "Starting 3-node cluster..."
cd _build/default/rel/seb_release && \
bin/seb_release -sname node1@127.0.0.1 -pa _build/default/lib/*/ebin &
sleep 2
cd _build/default/rel/seb_release && \
bin/seb_release -sname node2@127.0.0.1 -pa _build/default/lib/*/ebin &
sleep 2
cd _build/default/rel/seb_release && \
bin/seb_release -sname node3@127.0.0.1 -pa _build/default/lib/*/ebin &
verify-build: build dialyzer test
@echo ""
@echo "✓ Build completed"
@echo "✓ Dialyzer: no type errors"
@echo "✓ Tests passed"
@echo ""
@echo "Ready for Ahmad Integrity Gate review."