Preserve the programmable-harness prototype as a GPUI-free crate - #901
Draft
AnthonyRonning wants to merge 1 commit into
Draft
Preserve the programmable-harness prototype as a GPUI-free crate#901AnthonyRonning wants to merge 1 commit into
AnthonyRonning wants to merge 1 commit into
Conversation
Carries the concepts of the maple-gpui Developer Preview branch (benthecarman/maple-gpui PR #2, programmable-harness, head 653b959) into the monorepo before that repository is deleted. This is a preservation commit, not a port: nothing is wired into the running Agent and nothing was manually tested. It compiles, is formatted, passes clippy with warnings denied, and its 84 unit tests pass. crates/maple-harness (new workspace member) - action, registry, policy, semantic, audit, keymap: the prototype's GPUI-free contract crate, carried over unchanged (58 tests). - host.rs: from-scratch single action host. One dispatch path, descriptor validation before authority, host-owned authority with epoch leases, availability then compare-and-set preconditions, generic-to-concrete delegation with final-action reauthorization, bounded redacting audit, terminal host actions that stop admission. - catalog.rs: a 43-action slice of the section 11.1 catalog as data, covering every family and authority class; registry validation proves the Human Only, app.quit and permission.respond contracts. - controller.rs: the Code Mode controller bridge as a bounded queue with the one-owner request disposition fence and the delivery barrier that gates terminal shutdown. - discovery.rs: command palette index with deterministic ranking and a which-key prefix trie, both derived from the same registry and resolved keymap that drive dispatch. docs/ - programmable-harness.md: the original normative design, with a preservation preface. - programmable-harness-distillation.md: module-by-module reconstruction of the desktop code that was not ported, invariant checklist, and a tiered re-implementation order. - programmable-harness-preview-pr.md: the original PR description. Stacked on feature/cpython-codemode-monorepo (#897) because the design assumes the bundled CPython runtime that branch provides.
AnthonyRonning
added this pull request to stack #902
September 9, 2026 19:33
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.
What is preserved
crates/maple-harness/src/{action,registry,policy,semantic,audit,keymap}.rscrates/maple-harness/src/host.rsapp/src/harness/host.rs(2.4k lines, GPUI-bound)crates/maple-harness/src/catalog.rsapp/src/harness/catalog.rs(3.3k lines)crates/maple-harness/src/controller.rsmaple-code-mode/controller.rs+app/src/harness/controller.rscrates/maple-harness/src/discovery.rsapp/src/harness/{palette,which_key}.rsdocs/programmable-harness.mddocs/programmable-harness-distillation.mddocs/programmable-harness-preview-pr.mdWhat is deliberately not here
The GPUI wiring (typed adapters, window provenance phases, root executor), the composer Vim engine, the shortcut settings UI and store, application Vim navigation, the semantic projection of live screens, the
maple_gpuiPython SDK, and the worker protocol. The distillation document records their invariants and algorithms so they can be rebuilt against the currentapps/maple-agentand the CodeMode runtime from #897.Invariants the tests pin
ui.activate_selectedresolving toaccount.sign_outis denied for a model, allowed for a human).app.quitreturnsaccepted_terminaland the host stops admitting; the delivery barrier must settle before terminal shutdown commits.Verification
No manual or UI testing by design.
🤖 Generated with Claude Code