feat(compose): template/skills library + compose (deploy slice 1) - #64
Open
brettchien wants to merge 1 commit into
Open
feat(compose): template/skills library + compose (deploy slice 1)#64brettchien wants to merge 1 commit into
brettchien wants to merge 1 commit into
Conversation
Slice 1 of the accepted agent-deployment ADR (#63): the compose seam. Author a template/overlay/skills library and preview the composed {path -> bytes} agent bundle. Studio-local, zero AWS/upstream. - crates/studio-compose: pure compose core (template ⊕ overlay + skills by-reference -> deterministic Bundle + image tag), last-writer-wins (overlay > skills > template), sha256 bundle digest. 17 unit tests. - src-tauri: compose_library_get/set + compose_preview commands; library persisted as one JSON doc under app config dir (like config.rs). - console: Compose tab (JSON library editor + template/overlay picker + bundle preview). Pure render helpers unit-tested. Verified: cargo test -p studio-compose (17), console tsc + 65 vitest + vite build. src-tauri Rust compiles under bundle-macos CI (GTK dep). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
Slice 1 of the accepted agent-deployment ADR (#63): the compose seam — author a template/overlay/skills library and preview the composed
{path → bytes}agent bundle. Studio-local, zero AWS / zero upstream: everything here is verifiable withcargo test+tsc/vite/vitest, nobundle-macosneeded to know it's right.What's here
crates/studio-compose— a new pure, dependency-light crate (serde + sha2, no async/AWS/fs):Template ⊕ Overlay+ skills-by-reference → a deterministicBundle({path → Vec<u8>}+ image tag)..claude/skills/<name>/…) < overlay files; image tag isoverlayoverridingtemplate.Bundle::digest()— a length-prefixedsha256:content-address (the stable identity slice 2 / fleet-store ADR: Fleet Store & Control-Plane State Ownership #18 will key desired state on).Libraryaggregate +compose_namedfor the app/driver to look up by name;Bundle::preview()for a text-oriented, serde-friendly view.src-tauri— three commands (compose_library_get/compose_library_set/compose_preview) withcompose.rspersisting the library as one JSON doc under the app config dir, mirroringconfig.rs(best-effort load, validated write).console— a new Compose tab: edit the library as JSON, pick template + overlay, preview the composed bundle (image tag, digest, per-file content). Pure render helpers are unit-tested (compose.test.ts); the browser build disables the panel (no backend) like the Config tab.Not here (later slices, per the ADR §3)
oabctlapply). Next.Verification
cargo test -p studio-compose→ 17 passedcargo check -p studio-composeclean. (The fullcargo test --workspaceOOM'd in my constrained build box while compilingoabctl's aws-sdk tree — an env limit, not a code issue; CI'sbuild-testrunner has the memory.src-tauriis its own workspace, compiled bybundle-macos.)cd console && npm run typecheck && npm test && npm run build→ tsc clean, 65 vitest passed, vite build OK🤖 Generated with Claude Code