@fortemi/core 2026.9.3 → 2026.9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -161,12 +161,39 @@ SKOS, provenance, embedding, and graph records when the AIWG source is fully
161
161
  representable. Derived, defaulted, or omitted source information returns
162
162
  `archive: null` with typed `losses`; lossy output is never labeled `full-v1`.
163
163
 
164
- PGlite uses the same rule for `2.0.0/full-v1`. A previously imported full
165
- snapshot re-exports its complete logical file set; otherwise the exporter
166
- materializes all 33 files from live domain tables, requires every referenced
167
- attachment byte, and can add an Ed25519 publisher signature. Live values that
168
- cannot satisfy the authority schema, including non-768-dimensional embedding
169
- vectors, return `archive: null` with a typed capability loss.
164
+ ### Archival Snapshots and Native Restore
165
+
166
+ `importFullV1Snapshot(db, archive, options)` and
167
+ `exportFullV1Snapshot(db, blobStore)` are explicit archival operations exported
168
+ by `@fortemi/core`. They preserve the validated `2.0.0/full-v1` logical files
169
+ and required bytes, not native repository/search state. Import conflict policy
170
+ applies to the stored archive tuple, not native note IDs. `counts.notes` remains
171
+ zero; `component_counts` describes archival records. Native CRUD is intentionally
172
+ excluded from an explicitly requested archival export. Native batching/progress
173
+ options are not part of `FullV1SnapshotImportOptions`.
174
+
175
+ The public `importShard` path restores `2.0.0/full-v1` records into native PGlite
176
+ tables in one transaction. `exportShardWithReport` reads current native state,
177
+ never an archival snapshot. Ordinary repository edits therefore affect subsequent
178
+ exports. All 33 files are reconstructed with semantic field/presence/array and
179
+ attachment-byte preservation; generated manifest time and producer identity are
180
+ new, and only a newly requested publisher signature signs these bytes.
181
+
182
+ `skip` preserves existing identities and their owned children, while new records
183
+ may reference existing targets. `replace` reconciles selected owners; `error`
184
+ rejects existing identities. Failed transactions compensate newly promoted blobs.
185
+ `batchSize` defaults to 250 applied component rows; zero disables cooperative
186
+ yields. Progress callbacks are awaited. Precommit callback failure rolls back;
187
+ failure of the final notification after commit produces a warning, not a false
188
+ failed-import result.
189
+
190
+ Manifest migration lineage is stored per native record. Coherent scoped exports
191
+ preserve its absent/empty/value distinctions; incompatible selected histories
192
+ return a typed loss instead of choosing the last import. Selected virtual sets,
193
+ unrepresentable tombstones or non-768-dimensional vectors also return
194
+ `archive: null`. Required attachment bytes must be available and valid.
195
+ Native restore qualification remains tracked in #424; source/candidate checks do
196
+ not widen historical published-package or supported-platform receipts.
170
197
 
171
198
  PGlite advertises exact `2.0.0/full-v1` import and export only because
172
199
  `schemas/knowledge-shard-v2.cross-repository.receipt.json` binds the released