Repository navigation
Conversation
kantord
force-pushed
the
impl/session-scoped-agent-identity
branch
from
October 8, 2026 11:41
595be9f to
e114ac1
Compare
kantord
force-pushed
the
impl/session-scoped-agent-identity-mecatui
branch
from
October 8, 2026 11:41
cda6eee to
4b1871c
Compare
kantord
marked this pull request as draft
October 13, 2026 11:05
kantord
force-pushed
the
impl/session-scoped-agent-identity
branch
2 times, most recently
from
October 13, 2026 11:13
c23734a to
6065a11
Compare
… definition Gives a developer an end-to-end way to exercise ADR 0353 from the TUI. An unknown name fails loudly and recoverably. The create carries the operator's active model selection like every other create path; sending none made a def without its own model fall to the server default. Bare /agent only points at /agents; a filterable picker is not built yet. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ions Bare /agent (typed or from the palette) now opens a modal picker listing the server's definitions by name; Enter starts a session bound to the highlighted one, using the same create path as /agent <name>. Submitting /agent also closes the slash-command palette, which previously stayed open. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
kantord
force-pushed
the
impl/session-scoped-agent-identity-mecatui
branch
from
October 13, 2026 11:16
4b1871c to
61b1fba
Compare
Bring in the backend's main integration while keeping PR #2055's diff limited to its original 15 TUI files. TUI race tests and scoped lint pass. Co-authored-by: Mecatl <noreply@mecatl.dev>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary and stack
Adds the TUI entrypoint for the agent-bound session API in #2003:
/agent <name>creates a named-definition session; bare/agentopens a filterable picker./agentsremains the definition-details view.Stack:
main→ #2003, backend → this PR. The current diff against the backend is onlycmd/mecatui/: 15 files, +653/−4. The backend fixes and test cleanup were placed in #2003, then merged into this branch without rewriting published history. There were no additional TUI code changes in that backend repair pass.Design provenance and review scope
The underlying root-session semantics come from the design-only #1783, including the human approval, and the reviewed/merged Plan / Interface #1815. The ADR was renumbered to 0353 in #1812. Permanent references: ADR snapshot and merged acceptance criteria/resolved decisions. #2105 removed that process scaffolding from main.
Those checkpoints accepted the backend design, not this implementation or every command/picker UX choice. This PR still needs its own client/UX review. Main has continued to move; the current implementation and integration checks, not the retired task list, are the evidence for review.
Behavior
/agent <name>sendsagent_definition_namethrough the existing client/session interface./agent, including from the slash palette, lists definitions, filters by text, and creates the selected definition on Enter. Submitting the command closes the slash palette.Verification — October 15, 2026
Automated checks
The integrated backend-plus-TUI tree passed local
task lint, the fulltask --concurrency 1 testandtask --concurrency 1 test:racesuites, and the offline demo's tool → permission ask → approval → result flow. The full suites includecmd/mecatuiand its subpackages. Docs, generated-contract/API checks, SDK typecheck/discovery tests, and the site build also passed during the implementation pass.The full suites were serialized, with a short temporary root and an isolated loopback namespace to avoid host fixture conflicts; setup capabilities were dropped before testing. No tests were disabled. After the stack was rearranged, head
c704ae874was verified tree-identical to the tested working tree. These results do not certify an untested future integration with newer main, and do not replace CI.Client/UI coverage is in agent request tests and command/picker tests. The detailed backend alias, authority, persistence, ownership, and transport regression evidence is in #2003, rather than duplicated here.
Separate manual smoke report
The operator supplied an additional agent-assisted manual report using locally built
mecatedandmecatui, the offline mock provider, loopback with authentication disabled, and temporary HOME/XDG/workspace directories. No operator credentials or paid providers were used. This working-tree run was not pinned to an immutable final commit.Reported TUI observations:
reviewercreated a bound session with server-enforced plan mode./agent nopeproduced a recoverable status message.The same manual pass drove HTTP/SSE and gRPC creation, exact binding echoes, mode/limit clamps, runtime turn limits, restricted tool calls, aliases, rejection paths, fork/clear, and a persistent-server restart. #2003 records those observations and their limitations. In particular, the mock smoke does not prove real-model behavior, authenticated deployed ownership isolation, or mixed-version client safety.
API compatibility and remaining client review items
No new wire fields are introduced by this TUI-only diff; it consumes #2003's additive API-major-1 contract. That backend now advertises
session_agent_definitions; the previous description saying no feature identifier existed is obsolete.This PR is still a draft. The following client gaps are not fixed by the backend changes or by a passing happy-path smoke:
CreateSessionWithAgentcurrently sends the field without requiringsession_agent_definitions, and the shared create helper does not validateresolved_agent_definition_name. An older server can ignore the field and create an ordinary session. Require support and validate the echo before treating the session as bound. See client request and response handling.These are implementation review items, not reasons to reopen the already accepted root-session design. Review/merge #2003 first, keep this PR based on its updated head, and finish these client checks before declaring the TUI ready.
What the local checks do not establish
No manual live-provider run, authenticated multi-owner deployment, Unix-socket-only test of the inner client-MCP guard, live TypeScript SDK journey, or deployed mecak8s/Redis/remote-driver/TLS/mTLS/microVM/execution-template qualification was performed in the reported smoke pass. Those require appropriate fixtures or environments and can be performed before merge; they are not inherently post-merge-only checks.
Main integration update: #2003 now includes
mainatce0f816e0throughc4b5b1fe0. Its sole textual conflict was resolved by retaining both independent changelog entries, and full local lint/docs/offline/race/demo checks passed on the merged backend. This PR incorporates that backend in62cdfcb8c; the TUI package race suite and scoped lint passed again, and the diff remains 15 TUI-only files. Both PRs are conflict-free at this update. The manual smoke observations above were not rerun during conflict resolution. Latest CI and the outstanding client items above remain required; merging main did not fix those client issues.