P2 — extract and prove a portable shared Prolog semantic core on Linux and Android #172

Closed
opened 2026-08-22 21:55:24 +00:00 by lost-rob0t · 0 comments
lost-rob0t commented 2026-08-22 21:55:24 +00:00 (Migrated from github.com)

Parent epic: #152
Depends on: #171, #156

Goal

Package the #150 semantic intent/slot/capability subset so the selected Android Prolog runtime and server SWI-Prolog execute the same portable knowledge base and fixture corpus.

Requirements

  • define/document portable Prolog language/library subset;
  • shared core has no PySWIP, Linux shell/process, desktop, networking or provider foreign dependency;
  • platform/provider modules remain separate;
  • Android packaging loads modules/resources deterministically;
  • one normalized result serializer/comparator for cross-runtime fixtures;
  • same canonical command corpus runs against SWI/server and Android embedded runtime;
  • divergence must be explicit platform-provider difference, not parser drift.

Tests

Timer complete/pending/follow-up slot structures, open pending/complete, text pending, search semantic capability, user-authored semantic fixture when available, Unicode/numeric/boundary cases, module load errors, repeated init/shutdown, concurrent/cancel behavior supported by chosen runtime.

Acceptance

CI proves the same shared Prolog semantic fixtures produce equivalent normalized intent/slot results on server and Android runtime.

Parent epic: #152 Depends on: #171, #156 ## Goal Package the #150 semantic intent/slot/capability subset so the selected Android Prolog runtime and server SWI-Prolog execute the same portable knowledge base and fixture corpus. ## Requirements - define/document portable Prolog language/library subset; - shared core has no PySWIP, Linux shell/process, desktop, networking or provider foreign dependency; - platform/provider modules remain separate; - Android packaging loads modules/resources deterministically; - one normalized result serializer/comparator for cross-runtime fixtures; - same canonical command corpus runs against SWI/server and Android embedded runtime; - divergence must be explicit platform-provider difference, not parser drift. ## Tests Timer complete/pending/follow-up slot structures, open pending/complete, text pending, search semantic capability, user-authored semantic fixture when available, Unicode/numeric/boundary cases, module load errors, repeated init/shutdown, concurrent/cancel behavior supported by chosen runtime. ## Acceptance CI proves the same shared Prolog semantic fixtures produce equivalent normalized intent/slot results on server and Android runtime.
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/zara#172
No description provided.