Using Core with FogVault
Core 1.0 includes optional native Rust, Node, Python and browser integrations. They keep Core preparation separate from persistence and activate only after the exact candidate has been saved. The integration packages are version 1.0.0; FogVault is independently versioned 0.1.0. The reviewed Workspace contract is version 1. Core’s Rust 1.88 minimum and exact published 0.5.0-beta.3 interchange regression remain unchanged. Production-host acceptance remains separate.Start here
- Browser: typed owner, runnable example and installed-package proof.
- Native Node: installed addon, tenant boundaries and lifecycle.
- Native Python: installed wheel, thread boundaries and lifecycle.
- Native Rust: registered SQLite owner and recovery.
- Legacy backups: authenticated reference-format importer.
- Migration: authenticated/decrypted bundle recovery staging.
- Shared record and save/lifetime contract.
- Compatibility, backup differences and open-issue reconciliation.
Prepare and verify
Run the existing environment setup, then build Core’s bindings and inspect the repository-sourced prerequisites:f4dc492549b70f0bc44f5c6bf82fe3022353030f into Core’s ignored
target/fogvault-integration/dependencies/. It installs that candidate’s locked
build tools, provisions Rust 1.94.1’s WASM target, builds/packages it there and
packs Core’s current WASM package. It does not modify an existing FogVault
checkout. Build logs, package hashes, pinned source identity and current dirty
Core build/package input hashes are retained in target/fogvault-integration/.
Checking does not install dependencies. It requires the prepared package bytes
and Core build inputs still to match, runs named required Rust and actual
installed browser cases, and rejects omitted/skipped/malformed results. Each
run gets a fresh directory with logs, hashes and source identity. Do not reuse
old passing evidence after changing source or package bytes.
cargo dfv check --fogvault --native-only selects Rust migration/native tests;
--browser-only selects the installed-browser and binding checks. The dfv
entry point still uses Core’s full environment diagnosis. CI may invoke the same
Python gate directly for a Rust-only host with its explicitly installed native
prerequisites. A native subset is not browser qualification.
The native integration has its own Rust 1.94.1 qualification toolchain and a
tested minimum of Rust 1.89. Core itself stays on 1.88. Optional native Node and
Python packages wrap that same Rust owner. They are separate from the existing
Core SDKs, support password-only admission, and retain literal approval,
complete-head save, lock/reopen and uncertain-outcome rules. Tenant/thread checks
catch host routing errors; the application still owns authentication, path
permissions and an independently protected native control namespace.
Prepare and check the native language packages separately:
target/fogvault-language/check-*/. CI qualifies this installed
path on Linux, macOS and Windows. It does not qualify production tenant routing,
physical providers, power cuts or every Python/Node version.
Core v1 and later publish workflows require all three qualification workflows
for the exact release commit: all six native/browser scopes, all three native
language OS scopes, the unified native Node archive and the browser model SDK
scope. Pending, failed, incomplete or older-commit evidence blocks publication.
This gate does not publish packages or replace release authorization.
Both --fogvault and --fogvault-languages are required joint qualification
scopes for changes that affect all maintained integrations. Neither publishes
packages or changes the existing Core beta.3 minimum. Published versions and
public-install evidence are recorded in the 1.0.0 release.
Browser extension handoff
- Pin the exact Core, FogVault and integration artifacts. Initialize Core; configure the FogVault Worker URL, finite resource/KDF policy and credentials in an extension-owned trusted page. A service worker’s memory is not storage.
- Give the adapter exclusive ownership of the supplied handles. Persist public routing identifiers so reopen selects the intended workspace/record.
- Prepare and display the local review. Editing, locking or changing ownership invalidates permission to hand off the old result. Commit only after explicit approval of that exact still-current plan.
- Hand off only the result of a confirmed save followed by Core activation. This does not establish remote delivery. Conversation intents must remain pending until the host saves a trusted observation of the actual send.
- On an uncertain save, retain the exact request ID, reconcile/reopen durable authenticated state and prepare/approve fresh work. Never infer rollback, reuse an old approval, fall back to unscoped restore or automatically resend.
- Lock through the adapter so Core is revoked immediately, before asynchronous vault cleanup. Clear application-owned source/preview copies separately.
Release boundary
The owner-approved Core v1 release scope separates Core SDK qualification from extension-product acceptance. Core requires its contract freeze, installed package/parity checks and exact-candidate joint gates. External provider preservation and Josh’s shipping-site acceptance remain open product work; their thresholds have not been lowered or reported as passed. Core-owned integration packages 1.0.0 and independently versioned FogVault 0.1.0 are published. Registry archive identities and public-install behavior are verified separately from local candidate packaging. The release records retain both sets of evidence. CSV is deferred from Core v1. Resource observations support one pending integrated preparation. They do not establish arbitrary device memory budgets, physical power-loss guarantees or production key/provider qualification. The browser portion ofcargo dfv check --fogvault --engine ENGINE also requires
an installed import-only reader for the supported reference encrypted backup
v1/v2 envelopes. cargo dfv build --fogvault explicitly prepares its pinned worker
build dependencies. The check authenticates actual legacy files using both
password and recovery paths, validates Core identity/head, and publishes only
approved recovery into a fresh FogVault destination. It tests real cancellation,
uncertain publication with cleanup failure, and fresh reconciliation/reopen.
Named evidence is retained as legacy.json beside browser.json.
This covers the non-shipping reference-host format; it does not establish the
archive provenance or format of Josh’s shipping extension. The Core contract review and production extension security review are separate
release decisions. See the
reader scope and resource limits.