Skip to content

πŸ—οΈ Define interactive terminal grid architecture (#717) - #734

Open
taras wants to merge 1 commit into
mainfrom
architect/717-terminal-grid-contract
Open

πŸ—οΈ Define interactive terminal grid architecture (#717)#734
taras wants to merge 1 commit into
mainfrom
architect/717-terminal-grid-contract

Conversation

@taras

@taras taras commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Architecture base for Quest #717. This PR changes contracts only; implementation begins in #733.

Why

Executable documents need one provider-neutral contract for presenting several interactive panes concurrently. The contract must cover authored structure, native Agent sessions, foreground ownership, replay, and teardown before independent implementation layers can compose safely.

What changes

Before, PR #727 proved that persistent tmux pane workers were feasible, but the repository did not define which layer owned the document syntax, pane lifecycle, provider authority, durable state, or teardown outcome.

After, the architecture and specifications define one interactive-grid lifecycle:

authored grid β†’ provider-neutral layout β†’ concurrent pane ownership
              β†’ foreground presentation β†’ complete teardown β†’ document continues

The contract requires static row-major layout, isolated concurrent pane execution, spawn-event readiness, atomic attachment, independent post-attach settlement, durable replay, pane-scoped native launch, and complete provider teardown.

Final naming

This layer's exact diff uses the provisional names <Terminal.Grid> and <Terminal>. The accepted amendment in #781, merged into the final #717 branch through PR #797, renames the shipped surface to <Grid> and <Pane> and the packages to @executablemd/grid and @executablemd/grid-tmux. No compatibility aliases ship.

The lifecycle and ownership contract established here is unchanged by that rename.

Review guide

Start with architecture.md and then read the grid sections of specs/executable-mdx-spec.md and specs/native-agent-session-launch-spec.md.

Verify that:

  • document structure is provider-neutral and tmux remains a replaceable host adapter;
  • no partial grid becomes visible;
  • pane failure does not terminate an attached sibling;
  • replay preserves provider-neutral identity and outcomes; and
  • document execution continues only after pane work and provider resources are gone.

Evidence and scope

git diff --check is the focused check for this documentation-only layer. Stories #729–#732 provide the executable evidence, and #781 applies the final public vocabulary and package boundary.

No parser, runtime, launcher, provider, or tmux production code is added here.

Stack order: #734 β†’ #733 β†’ #738 β†’ #741 β†’ #747 β†’ #771.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

PR #734: πŸ—οΈ Define interactive terminal grid architecture (#717)

3 files, +777 / -34

Scope

πŸ”΄ PR has 811 lines changed. Split into focused PRs.

🟑 811 lines changed. PRs under 400 receive more thorough review.

Structural

βœ… No structural bloat detected.

Slop

βœ… Slop indicators look low.

Static Analysis

βœ… Oxlint found no issues.

Correctness

No extraneous code patterns detected.

@taras
taras force-pushed the architect/717-terminal-grid-contract branch from f079644 to 3d0341f Compare September 10, 2026 16:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant