Skip to content

fix(sync): preserve BOMs and distinguish diagnostics from blockers - #13

Merged
callumalpass merged 2 commits into
mainfrom
fix/lossless-sync-messaging
Sep 16, 2026
Merged

callumalpass merged 2 commits into
mainfrom
fix/lossless-sync-messaging

Conversation

@callumalpass

@callumalpass callumalpass commented Sep 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Preserve BOMs in the Obsidian binary-to-text mirror adapter.
  • Use the engine plan's blocking flags/count for messaging: nonblocking frontmatter diagnostics are optional review, not mandatory repair or a claimed sync pause.
  • Test that missing required fields, wrong types and enum errors stay visible while exact records replicate into a second mocked Vault.
  • Add an explicit strict candidate qualification harness; no production option is introduced.

Evidence

  • 96 tests, lint, build and unchanged mobile budgets pass with released beta.91.
  • The same 96 tests and build/mobile gates pass with immutable Connect candidate 87e28391233c (fix(sync): replicate malformed frontmatter losslessly by default mdbase-connect#436).
  • Candidate qualification passes ten exact malformed/valid-BOM/body-only/CRLF round trips through the real Obsidian adapter and portable SDK with mocked Vaults and MemoryAuthority. The released beta.91 control fails at the expected seven-blockers assertion.

Release boundary

This does not yet ship the SDK policy change. Dependency pins and the checked-in generated bundle remain on released beta.91. Advance both SDK pins/lockfile after the Connect change is released; do not install a nonexistent registry version or commit machine-local artifact paths.

Real Obsidian → hosted → second mirror acceptance is still outstanding: no existing vault metadata, installed plugin, LAB service, staging or production was modified. See docs/lossless-sdk-acceptance.md for commands, evidence and blockers.

Separate from recovery PR #12.

@callumalpass
callumalpass marked this pull request as ready for review September 16, 2026 11:44
@callumalpass
callumalpass merged commit e3e01fd into main Sep 16, 2026
1 check passed
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