[Workbench] Add canonical shared frontend protocol client #34

Open
nsaspy wants to merge 7 commits from workbench/client-issue-26-20260919 into main
Owner

Summary

Begins #26 under Workbench epic #25.

Adds a shared frontend projection client over canonical prolog_agent_ui_v1 semantics:

  • snapshot authority;
  • ordered event cursor;
  • duplicate replay suppression;
  • forward sequence-gap failure;
  • session mismatch failure;
  • message/tool/approval/question/subagent projections;
  • verification/usage/trace/indeterminate-effect projections;
  • optional extension retention;
  • required unknown extension fail-closed behavior;
  • explicit negotiate/command builders;
  • tests against the pinned upstream prolog-rlm golden NDJSON fixture;
  • Nix flake check integration using the pinned prolog-rlm source.

Boundary

This is deliberately UI-only projection logic. It does not execute tools, own authority, schedule agents, implement Spec/Plan/Verify, or infer canonical state from logs.

Still required for #26

  • wire this client into the desktop Workbench shell;
  • consume it from the Android build;
  • add the transport/reconnect adapter around snapshot + replay;
  • extend typed surface as upstream context/mode inspection lands.

Refs #25
Refs #26

## Summary Begins #26 under Workbench epic #25. Adds a shared frontend projection client over canonical `prolog_agent_ui_v1` semantics: - snapshot authority; - ordered event cursor; - duplicate replay suppression; - forward sequence-gap failure; - session mismatch failure; - message/tool/approval/question/subagent projections; - verification/usage/trace/indeterminate-effect projections; - optional extension retention; - required unknown extension fail-closed behavior; - explicit negotiate/command builders; - tests against the pinned upstream `prolog-rlm` golden NDJSON fixture; - Nix `flake check` integration using the pinned `prolog-rlm` source. ## Boundary This is deliberately UI-only projection logic. It does not execute tools, own authority, schedule agents, implement Spec/Plan/Verify, or infer canonical state from logs. ## Still required for #26 - wire this client into the desktop Workbench shell; - consume it from the Android build; - add the transport/reconnect adapter around snapshot + replay; - extend typed surface as upstream context/mode inspection lands. Refs #25 Refs #26
Some checks failed
CI / flake (pull_request) Failing after 3s
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin workbench/client-issue-26-20260919:workbench/client-issue-26-20260919
git switch workbench/client-issue-26-20260919

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff workbench/client-issue-26-20260919
git switch workbench/client-issue-26-20260919
git rebase main
git switch main
git merge --ff-only workbench/client-issue-26-20260919
git switch workbench/client-issue-26-20260919
git rebase main
git switch main
git merge --no-ff workbench/client-issue-26-20260919
git switch main
git merge --squash workbench/client-issue-26-20260919
git switch main
git merge --ff-only workbench/client-issue-26-20260919
git switch main
git merge workbench/client-issue-26-20260919
git push origin main
Sign in to join this conversation.
No description provided.