[Zara reuse][BLOCKED] Extract frontend-safe symbolic Logic/source introspection contract from Zara Android #384

Open
opened 2026-09-08 01:29:17 +00:00 by nsaspy · 0 comments
Owner

Downstream proving ground: lost-rob0t/zara#652
Design/architecture epic: lost-rob0t/zara#648
Design freeze: lost-rob0t/zara#649

Why this exists

Zara Android is implementing a first-class Logic surface for effective config, user/runtime facts, intent/plugin rules, sources/modules and a read-only source viewer.

Do not invent this API here first. This issue is intentionally blocked until Zara #652 has an executable adapter plus RED-first tests/fixtures showing the actual product requirement.

The existing prolog_agent_ui_v1 boundary is renderer-independent but its canonical snapshot currently focuses on session/run/message/tool/approval/question/subagent/verification/usage/trace state; it does not define a typed symbolic KB/source-introspection projection suitable for the Zara Logic browser.

Extraction target after Zara proves it

Generalize only the domain-neutral seam needed by more than Zara, likely covering bounded typed projections for:

  • effective loaded facts/rules versus source text;
  • module/source identity and origin;
  • provenance of projected facts/rules;
  • loaded/unloaded/degraded source state;
  • paging/filtering/bounds for large KBs;
  • structured error/redaction behavior;
  • optional frontend-safe negotiation/extension through the existing UI protocol/facade.

The exact schema is not frozen here. Zara's executable behavior is the evidence source.

Required linkage before implementation starts

A worker taking this issue must first update this body/comment with links to:

  1. the Zara #652 implementation PR/commit;
  2. the concrete Zara adapter/types;
  3. RED-first tests and deterministic fixtures;
  4. a short seam table: Zara-specific vs generic.

If those do not exist yet, leave this issue blocked and work Zara #652 instead.

Security/invariants

  • read-only projection is not arbitrary call/1, consult/1, filesystem or reload authority;
  • one principal cannot inspect another principal's private symbolic state;
  • secret/config values remain redacted;
  • source text and effective runtime state stay distinct;
  • frontend state remains bounded and structured;
  • no renderer-specific layout or Android lifecycle code enters Prolog-RLM.

Acceptance

  • Zara #652 implementation/tests are linked and green before design begins here;
  • generic seam is extracted from those fixtures, not guessed;
  • prolog_agent_ui_v1 compatibility/versioning decision is explicit;
  • polyglot/deterministic conformance fixture covers the new projection;
  • Zara can later consume the generic contract without losing its product behavior;
  • no product UI or Zara-specific policy moves upstream.
Downstream proving ground: `lost-rob0t/zara#652` Design/architecture epic: `lost-rob0t/zara#648` Design freeze: `lost-rob0t/zara#649` ## Why this exists Zara Android is implementing a first-class Logic surface for effective config, user/runtime facts, intent/plugin rules, sources/modules and a read-only source viewer. **Do not invent this API here first.** This issue is intentionally blocked until Zara #652 has an executable adapter plus RED-first tests/fixtures showing the actual product requirement. The existing `prolog_agent_ui_v1` boundary is renderer-independent but its canonical snapshot currently focuses on session/run/message/tool/approval/question/subagent/verification/usage/trace state; it does not define a typed symbolic KB/source-introspection projection suitable for the Zara Logic browser. ## Extraction target after Zara proves it Generalize only the domain-neutral seam needed by more than Zara, likely covering bounded typed projections for: - effective loaded facts/rules versus source text; - module/source identity and origin; - provenance of projected facts/rules; - loaded/unloaded/degraded source state; - paging/filtering/bounds for large KBs; - structured error/redaction behavior; - optional frontend-safe negotiation/extension through the existing UI protocol/facade. The exact schema is **not frozen here**. Zara's executable behavior is the evidence source. ## Required linkage before implementation starts A worker taking this issue must first update this body/comment with links to: 1. the Zara #652 implementation PR/commit; 2. the concrete Zara adapter/types; 3. RED-first tests and deterministic fixtures; 4. a short seam table: `Zara-specific` vs `generic`. If those do not exist yet, leave this issue blocked and work Zara #652 instead. ## Security/invariants - read-only projection is not arbitrary `call/1`, `consult/1`, filesystem or reload authority; - one principal cannot inspect another principal's private symbolic state; - secret/config values remain redacted; - source text and effective runtime state stay distinct; - frontend state remains bounded and structured; - no renderer-specific layout or Android lifecycle code enters Prolog-RLM. ## Acceptance - [ ] Zara #652 implementation/tests are linked and green before design begins here; - [ ] generic seam is extracted from those fixtures, not guessed; - [ ] `prolog_agent_ui_v1` compatibility/versioning decision is explicit; - [ ] polyglot/deterministic conformance fixture covers the new projection; - [ ] Zara can later consume the generic contract without losing its product behavior; - [ ] no product UI or Zara-specific policy moves upstream.
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/prolog-rlm#384
No description provided.