P1 — establish one hot-reloadable Prolog authority for Android semantics and providers #198

Open
opened 2026-08-24 06:24:52 +00:00 by lost-rob0t · 0 comments
lost-rob0t commented 2026-08-24 06:24:52 +00:00 (Migrated from github.com)

Parent: #194
Depends on: #172, #174, #177, #195
Integrates with: #150, #151, #156-#160, #162-#165

Goal

Make the assistant service and full-screen application consume one versioned portable Prolog semantic/configuration authority.

Required configuration

Support bounded validated definitions for verbs, aliases, intents, slots, app aliases, provider preferences, capability selection, local/server placement, command composition, confirmation policy, YouTube/calendar preferences, named Termux actions and user-authored commands.

New semantic mappings and compositions of already registered primitives must hot-reload atomically without rebuilding the APK. A genuinely new Android primitive may add one Kotlin adapter, after which mappings remain Prolog-controlled.

Security

Fail closed on unknown predicates/primitives, invalid schemas, oversized metadata, cyclic/deep compositions, unapproved placement and stale versions. Do not expose unrestricted consult paths, arbitrary goals, dynamic Kotlin/Java invocation, raw Intents or executable command strings.

Tests

TDD version migration, valid reload, invalid rollback, concurrent readers, process restart, provider fallback, command composition, confirmation policy, capability absence, bounds and parity with Linux fixtures.

Acceptance

Both Android surfaces observe the same atomic semantic version and can load a new alias/verb/composition without an APK rebuild or a second macro interpreter.

Parent: #194 Depends on: #172, #174, #177, #195 Integrates with: #150, #151, #156-#160, #162-#165 ## Goal Make the assistant service and full-screen application consume one versioned portable Prolog semantic/configuration authority. ## Required configuration Support bounded validated definitions for verbs, aliases, intents, slots, app aliases, provider preferences, capability selection, local/server placement, command composition, confirmation policy, YouTube/calendar preferences, named Termux actions and user-authored commands. New semantic mappings and compositions of already registered primitives must hot-reload atomically without rebuilding the APK. A genuinely new Android primitive may add one Kotlin adapter, after which mappings remain Prolog-controlled. ## Security Fail closed on unknown predicates/primitives, invalid schemas, oversized metadata, cyclic/deep compositions, unapproved placement and stale versions. Do not expose unrestricted consult paths, arbitrary goals, dynamic Kotlin/Java invocation, raw Intents or executable command strings. ## Tests TDD version migration, valid reload, invalid rollback, concurrent readers, process restart, provider fallback, command composition, confirmation policy, capability absence, bounds and parity with Linux fixtures. ## Acceptance Both Android surfaces observe the same atomic semantic version and can load a new alias/verb/composition without an APK rebuild or a second macro interpreter.
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#198
No description provided.