feat: add logic-call IR and compiler backend policy #41

Merged
lost-rob0t merged 24 commits from agent/logic-call-ir-policy into main 2026-08-16 20:42:47 +00:00
lost-rob0t commented 2026-08-16 20:37:39 +00:00 (Migrated from github.com)

Summary

  • add final-owned star-logic-ir normalized logic-call, package/mapping identity, materialization-request, and materialized-plan records
  • validate the closed backend policy vocabulary: auto, lisa, swi-prolog, n-prolog
  • preserve semantic-profile, capability, hard-limit, isolation, answer/proof policy, budget, package, mapping, and source-span data without native engine objects or executable backend source
  • materialize exclusively through the existing star-logic-protocol selector from PR #39 and retain its deterministic selection evidence
  • pin backend ID/version/build identity and reject silent backend/build substitution
  • serialize calls/plans/evidence through star-canonical-json with a frozen lowerCamelCase fixture
  • add a thin starlang-compiler forwarding/diagnostic boundary without adding a second parser/compiler implementation under prototype/
  • add engine-free fake-backend conformance coverage and an independent logic-IR CI workflow

Non-goals

No SWI-Prolog MQI adapter, N-Prolog process adapter, LISA integration, expert-system parser/runtime, native predicate escape hatch, backend benchmarking, or cross-backend failover.

Verification

Local execution was unavailable because the runner could not resolve GitHub for a checkout. The branch was built through the connected GitHub API; GitHub Actions is therefore the executable verification source for this PR. The new logic-IR job runs asdf:test-system :star-logic-ir, asdf:test-system :starlang-compiler, prototype-independence assertions, and frozen fixture checks. Existing aggregate CI and Nix flake checks also trigger on the changed paths.

Closes #40

## Summary - add final-owned `star-logic-ir` normalized logic-call, package/mapping identity, materialization-request, and materialized-plan records - validate the closed backend policy vocabulary: `auto`, `lisa`, `swi-prolog`, `n-prolog` - preserve semantic-profile, capability, hard-limit, isolation, answer/proof policy, budget, package, mapping, and source-span data without native engine objects or executable backend source - materialize exclusively through the existing `star-logic-protocol` selector from PR #39 and retain its deterministic selection evidence - pin backend ID/version/build identity and reject silent backend/build substitution - serialize calls/plans/evidence through `star-canonical-json` with a frozen lowerCamelCase fixture - add a thin `starlang-compiler` forwarding/diagnostic boundary without adding a second parser/compiler implementation under `prototype/` - add engine-free fake-backend conformance coverage and an independent logic-IR CI workflow ## Non-goals No SWI-Prolog MQI adapter, N-Prolog process adapter, LISA integration, expert-system parser/runtime, native predicate escape hatch, backend benchmarking, or cross-backend failover. ## Verification Local execution was unavailable because the runner could not resolve GitHub for a checkout. The branch was built through the connected GitHub API; GitHub Actions is therefore the executable verification source for this PR. The new logic-IR job runs `asdf:test-system :star-logic-ir`, `asdf:test-system :starlang-compiler`, prototype-independence assertions, and frozen fixture checks. Existing aggregate CI and Nix flake checks also trigger on the changed paths. Closes #40
Sign in to join this conversation.
No description provided.