Add mini-app platform design spec: graph is the only program - #4477
Closed
georgi wants to merge 2 commits into
Closed
Add mini-app platform design spec: graph is the only program#4477georgi wants to merge 2 commits into
georgi wants to merge 2 commits into
Conversation
Simplified alternative to the Mini-App Platform Architecture doc. Keeps the Application entity, typed operation/resource bindings, invocation identity, and publishing with budgets; drops the proposed expression, procedure, and script languages — orchestration stays in workflow graphs (WorkflowNode), presentation logic is closed-vocabulary widget props. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LqxfoEjnu14v3tXYhyMxSR
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a design spec proposing a simplified Mini-App platform model where workflow graphs remain the sole computation/orchestration layer, and the UI document stays declarative with typed bindings to operations/resources.
Changes:
- Introduces an “Application entity” concept (draft + versioned releases) with typed operation/resource bindings and declared variables.
- Proposes protocol/runtime changes to add run identity (
job_id) to streaming messages and to move to per-instance, namespaced app state. - Outlines publishing/governance (budgeting + derived capabilities) and a phased migration/build plan.
Comments suppressed due to low confidence (1)
docs/superpowers/specs/2026-07-25-mini-app-platform-design.md:83
- Same naming inconsistency as above: this uses
nodetool_application_versionsbut the PR description (and sibling-editor tables) use unprefixed names. Consider aligning the schema sketch so it’s implementation-ready and matches the naming convention you intend to follow.
nodetool_application_versions
Comment on lines
+249
to
+252
| One store per open app instance (a factory like `TimelineInstance.tsx`, not | ||
| today's process-global `Map` keyed by workflow ID — which also fixes the | ||
| never-called `disposeAppRuntimeStore` leak). Inside it, four namespaced maps | ||
| instead of one flat `Record<string, unknown>`: |
Use unprefixed applications/application_versions to match storyboards and timeline_sequences, and correct the disposeAppRuntimeStore lifecycle description — it is called from WorkflowManagerStore on workflow removal. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LqxfoEjnu14v3tXYhyMxSR
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.
Adds
docs/superpowers/specs/2026-07-25-mini-app-platform-design.md— a design spec for evolving Mini-Apps into multi-operation, shareable applications, written as the simplified alternative ("Plan B") to the Mini-App Platform Architecture doc in Drive.Core idea: an application is a UI document plus typed bindings to workflow operations and resources. All computation and orchestration stay in workflow graphs (
WorkflowNodealready runs sub-workflows); the UI layer's only logic is closed-vocabulary widget props (visibleWhen,disabledWhen,format). This deliberately drops the proposed expression, procedure, and sandboxed-script languages, keeping the agent's authoring surfaces at two: the graph and the UI document.The spec covers:
applications/application_versionstables on the sibling-editor pattern used by timelines/storyboards/sketches)job_idadded toOutputUpdate/NodeUpdate/NodeProgress/Chunkso overlapping runs stop contaminating app statepredictionscost records, and a derived capability summarypure|read|write|externalonNodeMetadata) gating reactive subgraph runsworkflow.app_doc, a P0–P6 build order with a shipped outcome per phase, and explicit revision triggers🤖 Generated with Claude Code
https://claude.ai/code/session_01LqxfoEjnu14v3tXYhyMxSR
Generated by Claude Code