Add OpenTUI Solid reference client for PrologAgent UI v1 #113
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/prolog-rlm!113
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "agent/opentui-solid-reference-client-current"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #112.
What changed
Adds the first standalone renderer for the merged
prolog_agent_ui_v1contract without introducing a second agent/runtime implementation.agentProlog/ui/opentui/;@opentui/core/@opentui/solid0.4.5 andsolid-js1.9.12, with the Solid JSX preload/config expected by current OpenTUI;NdjsonTransportinterface so a local socket can replace stdio without changing protocol/reducer code;swiplfixture and negotiatesprolog_agent_ui_v1;swiplcommand round-trip, and in-memory OpenTUI render tests;Runtime boundary
The client does not execute tools, mutate repositories, implement permissions, decide verification success, or reconstruct domain state from trace prose. If future renderer work needs semantics not present in
prolog_agent_ui_v1, that is a protocol/facade issue rather than permission to grow a TypeScript runtime.Reconciliation
PR #115 / the Project source-and-grammar registry is now merged. This PR targets
maindirectly. The former stacked #95 base and the current merged #115 tree are source-identical for this PR's tested base delta, so no hidden source change was introduced by the retarget.The only file shared with the active DeepSeek Harness PR #125 is
test/run_tests.pl, where this PR adds its independent Prolog fixture-codec test registration. The OpenTUI runtime and tests do not modify DeepSeek Harness implementation files.CI hardening found during final merge review
The renderer/transport review found one additional lifecycle defect before merge: caller-initiated
ProtocolClient.close()could leave an in-flight correlated request unresolved because the expected-close path suppressedfailAll(). Head99acd1a1823ebb00188282c66a8a08f6b90b5832rejects those pending requests deterministically and adds a regression test that would otherwise hang until the Bun test timeout.Non-goals
Verification
The AgentProlog UI workflow is the execution oracle for Bun/OpenTUI/Solid typecheck, protocol/transport tests, real child-
swiplfixture integration, noninteractive render smoke, and the new pending-close regression. Existing repository CI remains authoritative for core regression checks, and the Tree-sitter lane must remain green.Merge only after the exact reviewed head is green on all required deterministic and live gates. A provider-side OpenRouter quota failure is recorded as external evidence but is not silently converted into success or skipped.