Implement logic-call IR and compiler backend policy #40

Closed
opened 2026-08-16 20:26:08 +00:00 by lost-rob0t · 0 comments
lost-rob0t commented 2026-08-16 20:26:08 +00:00 (Migrated from github.com)

Scope

Implement the second final-owned logic-runtime slice on top of PR #39 without introducing any concrete inference engine.

  • Add a normalized, backend-neutral logic-call IR owned by a final system (prefer star-logic-ir if the dependency graph permits).
  • Represent backend policy explicitly with stable IDs: auto, lisa, swi-prolog, n-prolog.
  • Preserve semantic-profile, required-capability, required-hard-limit, and required-isolation requirements through compilation/materialization.
  • Materialize through the existing star-logic-protocol backend selector rather than duplicating selection logic.
  • Pin exactly one immutable selected backend identity and retain deterministic selection evidence.
  • Carry digest-locked logic package/version/digest and mapping identity/digest contracts without accepting native executable engine source.
  • Add engine-free fake-descriptor conformance coverage for explicit pins, auto selection, ambiguity, incompatibilities, immutability, identity preservation, and rejection of native/raw backend forms.
  • Keep final logic systems independent of starlang-prototype and add CI/system-loading coverage.

Design authority

  • STAR-LANG-007 — selectable logic/expert-system umbrella architecture
  • STAR-LANG-009 — normative star.logic.api/1 portable contract
  • STAR-LANG-010 — LISA backend semantics
  • STAR-LANG-011 — SWI-Prolog backend semantics
  • STAR-LANG-012 — N-Prolog backend semantics

Non-goals

No real SWI-Prolog, N-Prolog, or LISA adapter; no expert-system parser; no native predicate/function escape hatches; no backend benchmarking/ranking; no silent cross-backend failover.

## Scope Implement the second final-owned logic-runtime slice on top of PR #39 without introducing any concrete inference engine. - Add a normalized, backend-neutral logic-call IR owned by a final system (prefer `star-logic-ir` if the dependency graph permits). - Represent backend policy explicitly with stable IDs: `auto`, `lisa`, `swi-prolog`, `n-prolog`. - Preserve semantic-profile, required-capability, required-hard-limit, and required-isolation requirements through compilation/materialization. - Materialize through the existing `star-logic-protocol` backend selector rather than duplicating selection logic. - Pin exactly one immutable selected backend identity and retain deterministic selection evidence. - Carry digest-locked logic package/version/digest and mapping identity/digest contracts without accepting native executable engine source. - Add engine-free fake-descriptor conformance coverage for explicit pins, auto selection, ambiguity, incompatibilities, immutability, identity preservation, and rejection of native/raw backend forms. - Keep final logic systems independent of `starlang-prototype` and add CI/system-loading coverage. ## Design authority - STAR-LANG-007 — selectable logic/expert-system umbrella architecture - STAR-LANG-009 — normative `star.logic.api/1` portable contract - STAR-LANG-010 — LISA backend semantics - STAR-LANG-011 — SWI-Prolog backend semantics - STAR-LANG-012 — N-Prolog backend semantics ## Non-goals No real SWI-Prolog, N-Prolog, or LISA adapter; no expert-system parser; no native predicate/function escape hatches; no backend benchmarking/ranking; no silent cross-backend failover.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/star-lang#40
No description provided.