Skip to content

Run shared behavioral laws against both runtimes through one harness - #240

Merged
bigboateng merged 4 commits into
mainfrom
behavioral-conformance-harness
Aug 23, 2026
Merged

Run shared behavioral laws against both runtimes through one harness#240
bigboateng merged 4 commits into
mainfrom
behavioral-conformance-harness

Conversation

@bigboateng

Copy link
Copy Markdown
Contributor

Summary

  • Add a backend-neutral behavioral conformance package boatstack/conformance/behavior: normalized decision/observation/event types, a minimal Backend contract, and RunSharedLaws implementing 18 shared supervisory control-law bodies exactly once.
  • Run the same law bodies against both real execution paths: kernel.Runtime over the existing deterministic integer fixture, and the production internal/softwaredelivery/engine.Engine Resolve/Apply boundary over a minimal in-memory software fixture (no network/GitHub effects).
  • Record the one genuine semantic mismatch instead of papering over it: kernel.Runtime cannot express explicit-only transitions (kernel.Transition declares no selection class and Runtime.resolve marks every admissible candidate selectable); the law is a recorded skip on the kernel backend and passes on the software engine.
  • Add a strengthening engine test proving program drift suspends normal progress while an explicitly reconciling transition (Policy.ReconcilesProgram) remains resolvable.
  • Classify the new conformance/ tree in the flow/standard ownership-completeness contract; add a release note.

No production code changes; software delivery's stronger journal, recovery, authority, and idempotency semantics are untouched.

Test plan

  • GOWORK=off go test -count=1 over kernel, kernel/conformance, engine, delivery, flow/standard, controlprogram, effects, surfaces, and conformance/behavior — all ok
  • Complete sharded Go suite: 631/631 tests pass
  • go build ./... and go vet ./... clean
  • BOATSTACK_REQUIRE_FLOW_FRONTEND=1 frontend conformance: 15 pass, 0 skips
  • Release-note validation and repository-contract suite (69 tests) pass

Add a backend-neutral behavioral conformance harness (conformance/behavior)
with normalized observations and a Backend contract, and run the same 18
shared control-law bodies against kernel.Runtime (integer fixture) and the
production engine.Engine Resolve/Apply path (in-memory software fixture).
Record the one semantic mismatch: kernel.Runtime cannot express explicit-only
transitions. Add a program-drift suspension/reconciliation strengthening test
at the supervisor boundary.
…falsifiable

The software adapter now withholds the trusted minimum by compiling advance
to an effect whose kernel-owned floor demands publication.publish, a
capability repository-class authority cannot grant, so the production
capability projection itself denies. The explicit-only law isolates the
explicit transition as the only admissible candidate before asserting it is
never implicit progress. ConcurrentApply forces both racing applies onto one
observed base revision so the engine's in-lock revalidation is load-bearing.
Each law now fails deterministically under mutation of its production guard.
@bigboateng
bigboateng merged commit 5cddd41 into main Aug 23, 2026
18 checks passed
@bigboateng
bigboateng deleted the behavioral-conformance-harness branch August 23, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant