Skip to content

Add a safe TaskNotes contract upgrade workflow - #80

Merged
callumalpass merged 7 commits into
mainfrom
agent/contract-evolution
Aug 3, 2026
Merged

Add a safe TaskNotes contract upgrade workflow#80
callumalpass merged 7 commits into
mainfrom
agent/contract-evolution

Conversation

@callumalpass

@callumalpass callumalpass commented Aug 2, 2026

Copy link
Copy Markdown
Owner

What changed

  • Uses the canonical TaskNotes managed type pack across local Android/iOS folders and mdbase-backed collections.
  • Assesses contract evolution before writing and displays outcome, exact provenance, resource actions, warnings, setup choices, and conflicts in a dedicated review dialog.
  • Applies the assessment digest transactionally and keeps the collection unchanged when review is cancelled or a conflict remains.
  • Makes local lock/resource handling match the SDK's managed-versus-seed ownership semantics.
  • Updates cloud/relay repositories and E2E fixtures for beta.25 exact contracts.
  • Hardens Chromium OPFS test-fixture deletion against the browser's NotFoundError wording; production storage remains Android, iOS, or mdbase only.
  • Vendors revision-stamped mdbase and Connect SDK artifacts with source commits and SHA-512 provenance for reproducible prerelease installs.
  • Makes checked-in manifest generation formatter-stable and idempotent so a production build leaves no generated drift.

Why

An updated app could previously open an older collection and then fail because its contract resources were never upgraded. The application had no safe way to explain or resolve that mismatch. Contract evolution is now a deliberate local-first interruption point rather than a later operational error.

Impact

Users get a concise source-of-truth review before changes. Safe upgrades are transactional; local divergence is preserved as a conflict. This prerelease app intentionally targets the breaking beta.25 SDK and updated TaskNotes model.

Depends on:

Validation

  • frozen install from exact SDK artifacts at the current upstream PR heads, with byte counts and SHA-512 provenance reverified
  • 438 unit/component tests
  • application coverage: 80.81% statements / 69.26% branches / 80.15% functions / 84.17% lines
  • domain coverage: 81.65% statements / 71.85% branches / 85.39% functions / 86.26% lines
  • TaskNotes core-lite conformance: 4,982 passed / 1 skipped
  • mdbase v0.3 collection oracle
  • typecheck, ESLint, Prettier, and production build
  • repeated manifest generation remains formatted and byte-stable
  • 86 Playwright cases passed / 4 platform-specific cases skipped across desktop and mobile
  • live cloud-path verification through the coordinated hosted-provider E2E

@callumalpass
callumalpass marked this pull request as ready for review August 3, 2026 10:05
@callumalpass
callumalpass merged commit 1abfd72 into main Aug 3, 2026
4 checks passed
@callumalpass
callumalpass deleted the agent/contract-evolution branch August 3, 2026 10:10
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