Implement SWI-Prolog MQI worker adapter foundation #45

Open
opened 2026-08-21 00:45:30 +00:00 by lost-rob0t · 0 comments
lost-rob0t commented 2026-08-21 00:45:30 +00:00 (Migrated from github.com)

Goal

Implement STAR-LANG-011 Slice 1 as the final-owned star-logic-adapter-swi system.

This issue is deliberately limited to the real SWI worker/MQI foundation:

  • exact swipl executable ownership and deterministic build identity
  • minimum generic subprocess lifecycle in star-process-port
  • embedded MQI startup over loopback
  • UTF-8 byte-count framing and heartbeat handling
  • authentication and MQI protocol-version validation
  • trusted repository-owned bootstrap identity handshake
  • process-isolated open-logic-session
  • clean close-logic-session with unconditional reap
  • real logic-backend-health
  • Nix-pinned SWI integration tests and CI gate
  • static guards for raw-goal/native-boundary violations

Boundaries

Do not add portable query semantics yet. No solve, solutions, exists?, fact mutation, recursion/tabling/constraints/proofs, worker pooling/reset, cancellation escalation, application actors, UserHunt, or StarIntel projections in this slice.

No public raw Prolog goal API, caller-provided executable Prolog, caller-provided consult/load_files path, Python/Node MQI helper, nc, or socat.

The descriptor must advertise only lifecycle/build/isolation evidence proven by this slice and must remain unavailable to general :auto semantic selection until later conformance slices.

Acceptance

A Nix-pinned real swipl must start, authenticate, validate MQI version, execute the trusted bootstrap wrapper, prove engine/build identity, report health, close cleanly, and leave no child process behind on success or failure paths. Existing logic protocol/IR/compiler and Nix checks remain green.

Design authority: STAR-LANG-007, approved STAR-LANG-009, and STAR-LANG-011 Slice 1.

## Goal Implement STAR-LANG-011 Slice 1 as the final-owned `star-logic-adapter-swi` system. This issue is deliberately limited to the real SWI worker/MQI foundation: - exact `swipl` executable ownership and deterministic build identity - minimum generic subprocess lifecycle in `star-process-port` - embedded MQI startup over loopback - UTF-8 byte-count framing and heartbeat handling - authentication and MQI protocol-version validation - trusted repository-owned bootstrap identity handshake - process-isolated `open-logic-session` - clean `close-logic-session` with unconditional reap - real `logic-backend-health` - Nix-pinned SWI integration tests and CI gate - static guards for raw-goal/native-boundary violations ## Boundaries Do not add portable query semantics yet. No `solve`, `solutions`, `exists?`, fact mutation, recursion/tabling/constraints/proofs, worker pooling/reset, cancellation escalation, application actors, UserHunt, or StarIntel projections in this slice. No public raw Prolog goal API, caller-provided executable Prolog, caller-provided `consult`/`load_files` path, Python/Node MQI helper, `nc`, or `socat`. The descriptor must advertise only lifecycle/build/isolation evidence proven by this slice and must remain unavailable to general `:auto` semantic selection until later conformance slices. ## Acceptance A Nix-pinned real `swipl` must start, authenticate, validate MQI version, execute the trusted bootstrap wrapper, prove engine/build identity, report health, close cleanly, and leave no child process behind on success or failure paths. Existing logic protocol/IR/compiler and Nix checks remain green. Design authority: `STAR-LANG-007`, approved `STAR-LANG-009`, and `STAR-LANG-011` Slice 1.
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#45
No description provided.