Skip to content

Runtime-first Core, persistence, and package boundary cleanup#48

Merged
tdeverx merged 53 commits into
nightlyfrom
tdeverx/core-optimization-design-system-boundary
Jul 18, 2026
Merged

Runtime-first Core, persistence, and package boundary cleanup#48
tdeverx merged 53 commits into
nightlyfrom
tdeverx/core-optimization-design-system-boundary

Conversation

@tdeverx

@tdeverx tdeverx commented Jul 2, 2026

Copy link
Copy Markdown
Owner

Note

Automated review readiness is complete at 99537804. Manual app launch, screenshots, visual polish, and #44's beta smoke matrix are deferred and are not merge gates.

Summary

Reshapes Contained around a runtime-first, package-first architecture. ContainedCore owns backend/runtime contracts and adapters; ContainedApp owns state, persistence, localization, settings, and feature policy; ContainedUI owns reusable visuals; and ContainedUX owns reusable interaction infrastructure.

Apple container remains the only built-in runtime enabled by default. Docker adapter code, fixtures, and tests remain dormant Core groundwork.

Rebased Diff

  • Base: nightly at 71180011
  • Head: 99537804
  • Existing PR and branch retained; 53-commit stack
  • 448 files changed, 44,467 insertions, 15,167 deletions

Review-Readiness Updates

  • Added the native Xcode workspace/app/test path while preserving SwiftPM as the release and packaging source of truth.
  • Linked ContainedCore and ContainedCoreFixtures directly to ContainedAppTests only; fixture artifacts remain absent from app/release bundles.
  • Added native macOS Xcode tests to material PR CI.
  • Hardened recreate: both documents validate before mutation, failed replacement automatically restores the original, typed phase/recovery errors distinguish outcomes, and the rollback recipe is persisted before deletion and retained if restoration fails.
  • Hardened durable diagnostics: registry passwords remain on stdin; Activity stores allowlisted codes/phases/status/timings/counts only; raw stderr is immediate-only; dynamic OSLog content is private; command previews are never logged or stored.
  • Reconciled runtime-path docs, recreate/privacy architecture docs, Changes/Current.md, and the reproducibly extracted localization catalog.

Issue Links

Closes #32.
Closes #33.
Closes #34.
Closes #35.
Closes #36.
Closes #45.

Partially addresses #4, #14, #17, #18, #24, and #47.

Follow-ups remain #43 (signing/notarization), #44 (manual beta smoke), #46 (diagnostics UI), #49 (universal palette), #50 (optional OCI cache), and #14 (persistent Compose stacks).

Automated Verification

Verified locally on July 18, 2026 at 99537804:

  • ./Scripts/check.sh repo
  • ./Scripts/check.sh release
  • ./Scripts/check.sh generated from the clean committed tree
  • swift build -c release
  • Root swift test: 93 tests
  • ContainedCore: 104 tests
  • ContainedUI: 6 tests
  • ContainedUX: 3 tests
  • Native Xcode test: 93 tests
  • Release app packaging and bundle smoke validation
  • Fixture absence validation in Contained.app
  • git diff --check

Remote verification on the rebased head:

  • PR workflow: passed
  • Native Xcode test gate: passed
  • Release bundle smoke gate: passed
  • CodeQL Advanced: passed

Deferred

  • Manual app launch, screenshots, visual polish, and Define 1.0 beta release-candidate smoke matrix #44's beta smoke matrix.
  • Diagnostics UI, signing/notarization, universal palette, OCI cache, persistent Compose stacks, and broad view/store restructuring.
  • A one-click recreate recovery screen. This PR provides automatic rollback, durable recovery data, and typed failure reporting.

Merge Note

Ready for review. Do not merge automatically; review and merge remain maintainer decisions.

@tdeverx tdeverx changed the title [codex] Extract design system and optimize stats base Extract design system and optimize stats base Jul 2, 2026
@tdeverx tdeverx linked an issue Jul 2, 2026 that may be closed by this pull request
26 tasks
@tdeverx tdeverx changed the title Extract design system and optimize stats base Build package boundaries and runtime foundations Jul 2, 2026
@tdeverx tdeverx changed the title Build package boundaries and runtime foundations Centralize package boundaries, runtime foundations, and Xcode workflow Jul 2, 2026
tdeverx added a commit that referenced this pull request Jul 2, 2026
Added warning about major refactor in progress and PR #48.
@tdeverx tdeverx changed the title Centralize package boundaries, runtime foundations, and Xcode workflow Finish package boundaries, native Xcode, and runtime foundations Jul 2, 2026
@tdeverx tdeverx self-assigned this Jul 2, 2026
@tdeverx tdeverx added this to the beta milestone Jul 2, 2026
@tdeverx tdeverx changed the title Finish package boundaries, native Xcode, and runtime foundations Finish Core/UI/UX package foundation and native Xcode workflow Jul 3, 2026
@tdeverx tdeverx changed the title Finish Core/UI/UX package foundation and native Xcode workflow Add runtime-first database and Docker runtime foundation Jul 3, 2026
@tdeverx tdeverx changed the title Add runtime-first database and Docker runtime foundation Add runtime-first database, Docker runtime, and design-system hardening Jul 3, 2026
@tdeverx tdeverx changed the title Add runtime-first database, Docker runtime, and design-system hardening feat(runtime): add Docker runtime and modular app foundation Jul 3, 2026
@tdeverx tdeverx changed the title feat(runtime): add Docker runtime and modular app foundation feat(runtime): modular app foundation and runtime Jul 3, 2026
@tdeverx tdeverx changed the title feat(runtime): modular app foundation and runtime Runtime-first Core, persistence, and package boundary cleanup Jul 4, 2026
@tdeverx
tdeverx force-pushed the tdeverx/core-optimization-design-system-boundary branch from 56037ab to 9953780 Compare July 18, 2026 17:52
@tdeverx
tdeverx marked this pull request as ready for review July 18, 2026 19:59
@tdeverx
tdeverx merged commit 0e3e14f into nightly Jul 18, 2026
4 checks passed
@tdeverx
tdeverx deleted the tdeverx/core-optimization-design-system-boundary branch July 18, 2026 23:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment