Skip to content

refactor(core): centralize session lifecycle composition#49

Merged
ElbertePlinio merged 1 commit into
mainfrom
refactor/central-session-lifecycle
Jul 19, 2026
Merged

refactor(core): centralize session lifecycle composition#49
ElbertePlinio merged 1 commit into
mainfrom
refactor/central-session-lifecycle

Conversation

@ElbertePlinio

Copy link
Copy Markdown
Member

Refs #44 — implements CAND-1 only.

Summary

  • add one deep core lifecycle module for recipe validation/expansion, ordered leg creation, desktop rollback, typed destroy dispatch, destroy-all continuation, and canonical live-status aggregation
  • inject typed desktop-linux, Android, and browser runtime adapters while keeping browser display ownership intact
  • keep CLI rendering/viewer behavior and MCP schemas/evidence/status decoration adapter-specific
  • add focused lifecycle characterization tests for ordering, rollback, cancellation, browser ownership, status aggregation, and partial destroy failures

CAND-2 remains out of scope. Its preferred placement can now build on the typed runtime teardown seam established here without changing adapter contracts.

Validation

  • bun run test packages/core/test — 260 passed
  • bun run test packages/browser/test — 110 passed
  • bun run test packages/android/test — 99 passed
  • bun run test packages/desktop-linux/test — 79 passed, 2 skipped
  • bun run test packages/mcp-server/test — 100 passed
  • bun run test packages/cli/test — 195 passed
  • bun run typecheck
  • bun run build
  • focused CLI/MCP output and resource tests passed
  • local correctness/conformance/KISS review: clean

@ElbertePlinio
ElbertePlinio merged commit d6c510b into main Jul 19, 2026
1 check passed
@ElbertePlinio
ElbertePlinio deleted the refactor/central-session-lifecycle branch July 19, 2026 15:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant