-
Notifications
You must be signed in to change notification settings - Fork 29
Modularize Contained packages and backend architecture #32
Copy link
Copy link
Closed
4 / 44 of 4 issues completed
Copy link
Labels
backendRuntime backend abstraction and command executionRuntime backend abstraction and command executioncoreContainedCore models, command construction, and pure logicContainedCore models, command construction, and pure logicfeatureNew user-facing capability or product improvementNew user-facing capability or product improvementin-progressActively being worked onActively being worked onrepoRepository process, docs, templates, governance, discussions, and trackingRepository process, docs, templates, governance, discussions, and tracking
Milestone
Description
Metadata
Metadata
Assignees
Labels
backendRuntime backend abstraction and command executionRuntime backend abstraction and command executioncoreContainedCore models, command construction, and pure logicContainedCore models, command construction, and pure logicfeatureNew user-facing capability or product improvementNew user-facing capability or product improvementin-progressActively being worked onActively being worked onrepoRepository process, docs, templates, governance, discussions, and trackingRepository process, docs, templates, governance, discussions, and tracking
Goal
Track the package, backend, database, and design-system architecture work needed to make Contained easier to maintain, reuse, test, and extend without losing the native macOS app experience.
Current status (July 18, 2026)
PR #48 is scope-complete and automated-review-ready at
99537804. The rebased PR and CodeQL workflows are green.The current foundation is:
ContainedCoreowns backend orchestration underCore.*, including runtime descriptors/capabilities, canonical container/image/network/volume/metrics models, command previews, command execution, Compose import/export semantics, typed errors, semantic Core localization, migration planning/execution surfaces, and non-shipping fixture data.Runtime/; concrete runtime behavior lives underRuntimes/AppleContainerandRuntimes/Docker.containeris the only default registered runtime for the app today. Docker adapter code, fixtures, and tests remain in place as dormant groundwork until Contained chooses an independent Docker provider/daemon model.ContainedAppowns SwiftUI screens, stores, routing, SwiftData app metadata persistence, product localization, Sparkle/update presentation, settings, personalization, Core-to-UI presentation mapping, and feature policy.ContainedUIowns reusable visuals underUI.*, with package-internalSharedhelpers for repeated implementation anatomy and colocated previews on element declarations.ContainedUXowns reusable interaction infrastructure underUX.*, including morphing, safe areas, source-frame measurement, panel placement, and single-surface behavior, with colocated previews.Sources/Containedis only the executable launcher.Scripts/, maintained docs underDocumentation/, and release deltas underChanges/.ContainedRuntime,AppleContainerRuntime,ContainedDesignSystem,ContainedNavigation, andContainedPreviewSupportare no longer standalone packages.ContainedCoreFixturesnow lives as a Core fixture target/product for tests and previews only, and normal app/debug/release bundles do not link fixture modules.Keep this parent open until PR #48 merges. Manual app/UI polish is deferred follow-up work and is not a merge gate.
Child issues
Research / design checklist
Implementation checklist
Acceptance criteria
Remaining follow-up