@functional-systems/srcx 0.1.0-dev.35 → 0.1.0-dev.37
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/CHANGELOG.md +8 -0
- package/DESIGN.md +28 -0
- package/README.md +16 -0
- package/VALIDATION.md +54 -0
- package/dist/publish.js +66 -12
- package/dist/publish.js.map +1 -1
- package/package.json +2 -2
- package/src/publish.ts +94 -12
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
- Reduce incremental publication reads by comparing against a fully validated,
|
|
6
|
+
identity-matched local baseline when available, with immutable remote fallback
|
|
7
|
+
after local file loss. Reuse complete candidate validation within one invocation
|
|
8
|
+
after checking its Tag/Snapshot identity, but revalidate on publication retries.
|
|
9
|
+
Skip unchanged inventory-part uploads; preserve full candidate/hash/vector
|
|
10
|
+
checks, resumability and immutable version reads. Document remaining full-corpus
|
|
11
|
+
work and cover small updates to a larger corpus with local operation/byte tests.
|
|
12
|
+
|
|
5
13
|
- Add `lookup --symbol` for exact indexed definition/declaration lookup with
|
|
6
14
|
verified source chunks and pinned citations in one call. Support path/language
|
|
7
15
|
filters and a bounded result limit, using existing indexes without embeddings
|
package/DESIGN.md
CHANGED
|
@@ -422,6 +422,17 @@ connection or remote repository lookup. No `--backend` option is needed for that
|
|
|
422
422
|
Use ordinary SDK upsert/delete for this workaround. Bulk ingestion remains later
|
|
423
423
|
work; do not assume its asynchronous processing obeys the same marker ordering.
|
|
424
424
|
|
|
425
|
+
For baseline comparison, prefer a local artifact only after matching repository,
|
|
426
|
+
configuration, commit, build, record and inventory identities to the journal's
|
|
427
|
+
remote baseline, checking its Tag/Snapshot and manifest, and fully validating the
|
|
428
|
+
artifact. Reconstruct the old file/chunk and metadata hash map from that artifact.
|
|
429
|
+
The local artifact is a cache, never publication evidence: missing files or a
|
|
430
|
+
different build fall back to the immutable baseline's full listing; corruption
|
|
431
|
+
of a matching artifact fails closed. A write-stage retry uses the same rule and
|
|
432
|
+
does not require the previous local artifact. Compare inventory-part hashes too,
|
|
433
|
+
so unchanged metadata parts are not uploaded again. Always write the new root
|
|
434
|
+
marker separately after all required mutation ACKs.
|
|
435
|
+
|
|
425
436
|
### Replacing one file
|
|
426
437
|
|
|
427
438
|
Replace a modified file's chunk set as a unit in the build plan, using the previous
|
|
@@ -990,6 +1001,23 @@ name/Snapshot/manifest before retrying. Existing valid publication is reused.
|
|
|
990
1001
|
A crash after candidate validation but before publication can be recovered by
|
|
991
1002
|
revalidating that candidate and publishing; a `try-*` name alone is never enough.
|
|
992
1003
|
|
|
1004
|
+
Within one invocation, reuse the successful complete candidate check instead of
|
|
1005
|
+
immediately scanning it twice. Before publication, require that the candidate Tag
|
|
1006
|
+
still points to the Snapshot returned when it was created. This result exists
|
|
1007
|
+
only in memory: resuming a publication-stage journal performs full candidate
|
|
1008
|
+
validation again and verifies the Tag/Snapshot identity. The final Tag is still
|
|
1009
|
+
created from the candidate Tag, with the existing Snapshot equality check.
|
|
1010
|
+
|
|
1011
|
+
These optimizations retain full Git enumeration, local artifact copying and
|
|
1012
|
+
validation, full inventory construction, and at least one complete remote
|
|
1013
|
+
candidate verification. Cold recovery also lists the old remote baseline.
|
|
1014
|
+
Achieving remote validation proportional to a delta requires a verified backend
|
|
1015
|
+
contract tying a candidate Snapshot to the exact validated baseline plus all
|
|
1016
|
+
acknowledged upserts/deletes, preserving all other records and establishing index
|
|
1017
|
+
and managed-embedding readiness. No such contract is assumed by this importer;
|
|
1018
|
+
marker visibility, matching counts and changed-document sampling cannot replace
|
|
1019
|
+
the complete comparison. Dependency ingestion remains outside this workflow.
|
|
1020
|
+
|
|
993
1021
|
## 10. Git tags, exact version selection, and recovery
|
|
994
1022
|
|
|
995
1023
|
### Git release Alias synchronization
|
package/README.md
CHANGED
|
@@ -712,6 +712,22 @@ remove that specific lock directory. Do not delete `pending.json` to force a new
|
|
|
712
712
|
commit over an uncertain workspace. Unexpected baselines fail closed; automatic
|
|
713
713
|
recovery to a new workspace and resource cleanup are not implemented yet.
|
|
714
714
|
|
|
715
|
+
Incremental publication can reuse a fully validated local baseline artifact's
|
|
716
|
+
record hashes after matching its repository/configuration, commit, build and
|
|
717
|
+
inventory/record hashes to the pinned remote baseline. Missing local files or a
|
|
718
|
+
different cached build fall back to listing that immutable baseline; corrupted
|
|
719
|
+
matching artifacts fail validation. Unchanged inventory parts also need no write.
|
|
720
|
+
Every new candidate still receives full document/hash and managed-vector
|
|
721
|
+
validation. A successful check is reused only within that invocation, after
|
|
722
|
+
confirming the candidate Tag still names the same Snapshot. Publication-stage
|
|
723
|
+
retries repeat full validation rather than trusting the journal.
|
|
724
|
+
|
|
725
|
+
This reduces redundant remote reads, not import complexity to the changed-code
|
|
726
|
+
size. Git tree enumeration, local full-artifact materialization/validation,
|
|
727
|
+
inventory construction and at least one complete candidate read remain. Further
|
|
728
|
+
reductions need a verified backend contract proving both mutation completeness
|
|
729
|
+
and preservation of unchanged baseline data; the final marker alone is insufficient.
|
|
730
|
+
|
|
715
731
|
Git tag synchronization observes local `refs/tags/*` only. Multiple Git tags for
|
|
716
732
|
one commit create separate `rel-*` Aliases targeting the same published Tag.
|
|
717
733
|
An unimported/moved target is pending; the previously pinned version remains usable
|
package/VALIDATION.md
CHANGED
|
@@ -864,6 +864,60 @@ work around propagation. Local evidence is retained in `registry-dev3.json`,
|
|
|
864
864
|
`attestations-dev3.json`, and `provenance-dev3.json` under the release directory
|
|
865
865
|
above. No stable release, GitHub Release, or Homebrew formula was created.
|
|
866
866
|
|
|
867
|
+
## Incremental publication read reductions
|
|
868
|
+
|
|
869
|
+
Local comparison against `0e4de30` uses 120 fixed text files, one added path,
|
|
870
|
+
one modified path and one deleted path. Both versions contain 240 source records
|
|
871
|
+
plus an inventory part and root marker. The old revision was compiled separately
|
|
872
|
+
and exercised with the same fixture and fault-injection stores as the new code.
|
|
873
|
+
Managed vectors are synthetic 1536-dimensional fixture values; no provider or
|
|
874
|
+
LambdaDB calls are involved.
|
|
875
|
+
|
|
876
|
+
| Preset | Local baseline | Full list passes before / after | Listed documents before / after | Canonical document bytes before / after | Reduction |
|
|
877
|
+
| ------------- | -------------- | ------------------------------- | ------------------------------- | --------------------------------------- | --------- |
|
|
878
|
+
| Lexical | Available | 3 / 1 | 726 / 242 | 1,047,827 / 348,865 | 66.71% |
|
|
879
|
+
| Lexical | Missing state | 3 / 2 | 726 / 484 | 1,047,827 / 698,962 | 33.29% |
|
|
880
|
+
| Managed small | Available | 3 / 1 | 726 / 242 | 4,095,746 / 1,364,635 | 66.68% |
|
|
881
|
+
| Managed small | Missing state | 3 / 2 | 726 / 484 | 4,095,746 / 2,731,111 | 33.32% |
|
|
882
|
+
|
|
883
|
+
Bytes sum canonical JSON for documents yielded by `CollectionStore.list`, including
|
|
884
|
+
synthetic vectors. Passes are whole-corpus iterator invocations, not HTTP requests
|
|
885
|
+
or pages. These figures exclude control/marker fetches, query responses, Tag/Branch
|
|
886
|
+
metadata, transport overhead and server work. They are local fixture measurements,
|
|
887
|
+
not measured LambdaDB latency, operation charges, indexing or embedding performance.
|
|
888
|
+
The matched baseline shortcut trades a remote full-content read for full local
|
|
889
|
+
artifact validation; it does not remove that local CPU/I/O work.
|
|
890
|
+
|
|
891
|
+
Both implementations upsert six corpus documents for this update (68,089 lexical
|
|
892
|
+
bytes or 72,937 managed-input bytes), delete four obsolete source IDs and leave
|
|
893
|
+
unchanged records alone. The candidate still receives full validation. For a new
|
|
894
|
+
commit with identical source, the regression test also checks that only the root
|
|
895
|
+
marker is written, with the unchanged inventory part retained.
|
|
896
|
+
|
|
897
|
+
`test/incremental-import.test.mjs` covers matching, missing and mismatched local
|
|
898
|
+
baselines; missing local record files; corruption detection; missing unchanged
|
|
899
|
+
candidate chunks, unexpected IDs and stale markers; unknown delete/upsert results
|
|
900
|
+
and retries with or without prior local artifacts; publication-stage full
|
|
901
|
+
revalidation; replaced baseline/candidate Tags; unchanged managed-vector retention;
|
|
902
|
+
and operation/byte bounds. Existing CLI/package tests retain loopback coverage for
|
|
903
|
+
resumption and immutable source reads, including managed vector hydration.
|
|
904
|
+
|
|
905
|
+
Local checks on Node.js 24.15.0 and 22.23.4: all 182 Node tests passed on each
|
|
906
|
+
runtime, and typechecking and the exact installed-package suite passed on both
|
|
907
|
+
(seven package CLI tests each). `npm ci --ignore-scripts`, `npm run format:check`,
|
|
908
|
+
`npm run check:version` and `git diff --check` passed. The Python checks from CI
|
|
909
|
+
also passed: `local_rerank_test.py` (3), `qwen_worker_test.py` (6),
|
|
910
|
+
`benchmark_data_test.py` (2), `cosqa_bm25_test.py` (3) and `cosqa_rerank_test.py` (3).
|
|
911
|
+
The benchmark checks used an isolated environment with dependencies pinned in
|
|
912
|
+
`eval/bm25-requirements.txt`; no benchmark dataset or model was downloaded.
|
|
913
|
+
|
|
914
|
+
Remaining full-corpus work includes Git tree enumeration, local record copying
|
|
915
|
+
and validation, inventory construction, and one complete candidate comparison.
|
|
916
|
+
Missing local baselines add a remote baseline comparison. Retained-version
|
|
917
|
+
discovery also still reads version metadata. Further delta-only validation needs
|
|
918
|
+
a verified backend completeness/preservation/readiness contract; a marker or
|
|
919
|
+
changed-record sample is not a substitute. Dependency ingestion is outside scope.
|
|
920
|
+
|
|
867
921
|
## Local checks
|
|
868
922
|
|
|
869
923
|
Runtime used: Node.js 24.15.0, npm 11.12.1. Dependencies are pinned in
|
package/dist/publish.js
CHANGED
|
@@ -2,7 +2,7 @@ import { mkdir, rm, readFile } from "node:fs/promises";
|
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
4
|
import { atomic, canonical, hash, invariant, optionalJson, sleep, } from "./common.js";
|
|
5
|
-
import { corpusMetadata, records, recordHash, supportedPreset, validateBuild, } from "./build.js";
|
|
5
|
+
import { corpusMetadata, loadBuild, records, recordHash, supportedPreset, validateBuild, } from "./build.js";
|
|
6
6
|
import { branch, tag, one } from "./remote.js";
|
|
7
7
|
export function gitBranchName(ref) {
|
|
8
8
|
invariant(ref.startsWith("refs/heads/") && ref.length > 11, "Expected a full Git branch ref.");
|
|
@@ -170,6 +170,56 @@ export async function published(store, binding) {
|
|
|
170
170
|
return result.sort((a, b) => String(a.commitTime).localeCompare(String(b.commitTime)) ||
|
|
171
171
|
a.commitOid.localeCompare(b.commitOid));
|
|
172
172
|
}
|
|
173
|
+
/** A local artifact is only a cache for this exact, previously published baseline. */
|
|
174
|
+
async function baselineHashes(store, binding, preset, baseline, state, gitRef, local) {
|
|
175
|
+
const pin = (await store.tags()).find((t) => t.name === baseline.tagName);
|
|
176
|
+
const root = await one(store, tag(baseline.tagName), "__manifest__");
|
|
177
|
+
invariant(pin?.snapshotId === baseline.snapshotId &&
|
|
178
|
+
root?.repoId === binding.repoId &&
|
|
179
|
+
root.indexId === binding.indexId &&
|
|
180
|
+
root.configHash === binding.configHash &&
|
|
181
|
+
root.buildId === baseline.buildId &&
|
|
182
|
+
root.commitOid === baseline.commitOid &&
|
|
183
|
+
root.attemptId === baseline.attemptId &&
|
|
184
|
+
root.recordsHash === baseline.recordsHash &&
|
|
185
|
+
root.inventoryHash === baseline.inventoryHash, "Baseline Tag is missing or changed.");
|
|
186
|
+
if (!local) {
|
|
187
|
+
const last = await optionalJson(lastBuildPath(state, gitRef));
|
|
188
|
+
if (last) {
|
|
189
|
+
try {
|
|
190
|
+
local = await loadBuild(last.artifact);
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
if (error.code !== "ENOENT")
|
|
194
|
+
throw error;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
if (local &&
|
|
199
|
+
local.repoKey === binding.repoKey &&
|
|
200
|
+
local.configHash === binding.configHash &&
|
|
201
|
+
local.buildId === baseline.buildId &&
|
|
202
|
+
local.commitOid === baseline.commitOid &&
|
|
203
|
+
local.recordsHash === baseline.recordsHash &&
|
|
204
|
+
local.inventoryHash === baseline.inventoryHash) {
|
|
205
|
+
try {
|
|
206
|
+
await validateBuild(local);
|
|
207
|
+
const hashes = new Map(Object.entries(local.recordHashes));
|
|
208
|
+
for (const doc of corpusMetadata(local, binding.repoId, binding.indexId, baseline.attemptId))
|
|
209
|
+
hashes.set(doc.id, hash(doc));
|
|
210
|
+
return hashes;
|
|
211
|
+
}
|
|
212
|
+
catch (error) {
|
|
213
|
+
if (error.code !== "ENOENT")
|
|
214
|
+
throw error;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
// Retain recovery without local files, including explicit same-artifact retries.
|
|
218
|
+
const hashes = new Map();
|
|
219
|
+
for await (const doc of store.list(tag(baseline.tagName)))
|
|
220
|
+
hashes.set(doc.id, recordHash(doc, preset));
|
|
221
|
+
return hashes;
|
|
222
|
+
}
|
|
173
223
|
/** Caller holds the per-collection lock for the complete import. */
|
|
174
224
|
export async function publish(args) {
|
|
175
225
|
const { store, binding, build: b, state } = args;
|
|
@@ -323,18 +373,14 @@ export async function publish(args) {
|
|
|
323
373
|
const marker = metadata.at(-1);
|
|
324
374
|
if (j.phase === "writing") {
|
|
325
375
|
// Reconcile from the immutable old Tag, never from a half-written writer.
|
|
326
|
-
const
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
for await (const d of store.list(tag(j.baseline.tagName))) {
|
|
330
|
-
oldIds.add(d.id);
|
|
331
|
-
oldHashes.set(d.id, recordHash(d, b.preset));
|
|
332
|
-
}
|
|
376
|
+
const oldHashes = j.baseline
|
|
377
|
+
? await baselineHashes(store, binding, b.preset, j.baseline, state, j.gitRef, args.baseline?.build)
|
|
378
|
+
: new Map();
|
|
333
379
|
const newIds = new Set([
|
|
334
380
|
...Object.keys(b.recordHashes),
|
|
335
381
|
...metadata.map((d) => d.id),
|
|
336
382
|
]);
|
|
337
|
-
const obsolete = [...
|
|
383
|
+
const obsolete = [...oldHashes.keys()].filter((id) => !newIds.has(id));
|
|
338
384
|
const mutate = async (operation, payload, send) => {
|
|
339
385
|
const receipt = {
|
|
340
386
|
operation,
|
|
@@ -356,7 +402,8 @@ export async function publish(args) {
|
|
|
356
402
|
if (oldHashes.get(d.id) !== hash(d))
|
|
357
403
|
yield d;
|
|
358
404
|
for (const d of metadata.slice(0, -1))
|
|
359
|
-
|
|
405
|
+
if (oldHashes.get(d.id) !== hash(d))
|
|
406
|
+
yield d;
|
|
360
407
|
}
|
|
361
408
|
for await (const docs of batches(changed()))
|
|
362
409
|
await mutate("upsert", docs, () => store.upsert(j.writer, docs));
|
|
@@ -371,6 +418,7 @@ export async function publish(args) {
|
|
|
371
418
|
const deadline = Date.now() + (args.timeoutMs ?? 120_000);
|
|
372
419
|
const pause = args.pollMs ?? 1000;
|
|
373
420
|
let rejectedSnapshot;
|
|
421
|
+
let validatedHere = false;
|
|
374
422
|
while (j.phase === "waiting") {
|
|
375
423
|
invariant(Date.now() < deadline, "Index validation timed out; build remains unpublished. Resume this artifact with --resume.");
|
|
376
424
|
const visible = await one(store, branch(j.writer), "__manifest__", false);
|
|
@@ -392,13 +440,19 @@ export async function publish(args) {
|
|
|
392
440
|
continue;
|
|
393
441
|
}
|
|
394
442
|
j.candidate = candidate;
|
|
443
|
+
validatedHere = true;
|
|
395
444
|
j.phase = "publishing";
|
|
396
445
|
await save();
|
|
397
446
|
}
|
|
398
447
|
invariant(j.candidate, "Missing validated candidate.");
|
|
399
|
-
|
|
448
|
+
// Never persist this shortcut: a resumed journal must revalidate the full corpus.
|
|
449
|
+
if (!validatedHere)
|
|
450
|
+
invariant(await validateCandidate(store, j.candidate.name, b, binding, j.attemptId), "Validated candidate is missing or changed.");
|
|
451
|
+
const pins = await store.tags();
|
|
452
|
+
invariant(pins.find((t) => t.name === j.candidate.name)?.snapshotId ===
|
|
453
|
+
j.candidate.snapshotId, "Validated candidate Tag is missing or changed.");
|
|
400
454
|
const name = versionTag(b.commitOid);
|
|
401
|
-
const found =
|
|
455
|
+
const found = pins.find((t) => t.name === name);
|
|
402
456
|
const final = found ?? (await store.tag(name, tag(j.candidate.name)));
|
|
403
457
|
invariant(existing
|
|
404
458
|
? final.snapshotId === existing.snapshotId
|
package/dist/publish.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@functional-systems/srcx",
|
|
3
|
-
"version": "0.1.0-dev.
|
|
3
|
+
"version": "0.1.0-dev.37",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Version-aware code search on LambdaDB",
|
|
6
6
|
"type": "module",
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
"url": "https://github.com/lambdadb/srcx/issues"
|
|
67
67
|
},
|
|
68
68
|
"license": "Apache-2.0",
|
|
69
|
-
"gitHead": "
|
|
69
|
+
"gitHead": "605dc2ffbb39f849cc44201e5bbd558811015c50"
|
|
70
70
|
}
|
package/src/publish.ts
CHANGED
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
} from "./common.js";
|
|
13
13
|
import {
|
|
14
14
|
corpusMetadata,
|
|
15
|
+
loadBuild,
|
|
15
16
|
records,
|
|
16
17
|
recordHash,
|
|
17
18
|
supportedPreset,
|
|
@@ -269,6 +270,72 @@ export async function published(
|
|
|
269
270
|
a.commitOid.localeCompare(b.commitOid),
|
|
270
271
|
);
|
|
271
272
|
}
|
|
273
|
+
/** A local artifact is only a cache for this exact, previously published baseline. */
|
|
274
|
+
async function baselineHashes(
|
|
275
|
+
store: CollectionStore,
|
|
276
|
+
binding: Binding,
|
|
277
|
+
preset: Build["preset"],
|
|
278
|
+
baseline: Published,
|
|
279
|
+
state: string,
|
|
280
|
+
gitRef?: string,
|
|
281
|
+
local?: Build,
|
|
282
|
+
): Promise<Map<string, string>> {
|
|
283
|
+
const pin = (await store.tags()).find((t) => t.name === baseline.tagName);
|
|
284
|
+
const root = await one(store, tag(baseline.tagName), "__manifest__");
|
|
285
|
+
invariant(
|
|
286
|
+
pin?.snapshotId === baseline.snapshotId &&
|
|
287
|
+
root?.repoId === binding.repoId &&
|
|
288
|
+
root.indexId === binding.indexId &&
|
|
289
|
+
root.configHash === binding.configHash &&
|
|
290
|
+
root.buildId === baseline.buildId &&
|
|
291
|
+
root.commitOid === baseline.commitOid &&
|
|
292
|
+
root.attemptId === baseline.attemptId &&
|
|
293
|
+
root.recordsHash === baseline.recordsHash &&
|
|
294
|
+
root.inventoryHash === baseline.inventoryHash,
|
|
295
|
+
"Baseline Tag is missing or changed.",
|
|
296
|
+
);
|
|
297
|
+
if (!local) {
|
|
298
|
+
const last = await optionalJson<{ artifact: string }>(
|
|
299
|
+
lastBuildPath(state, gitRef),
|
|
300
|
+
);
|
|
301
|
+
if (last) {
|
|
302
|
+
try {
|
|
303
|
+
local = await loadBuild(last.artifact);
|
|
304
|
+
} catch (error) {
|
|
305
|
+
if ((error as NodeJS.ErrnoException).code !== "ENOENT") throw error;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
if (
|
|
310
|
+
local &&
|
|
311
|
+
local.repoKey === binding.repoKey &&
|
|
312
|
+
local.configHash === binding.configHash &&
|
|
313
|
+
local.buildId === baseline.buildId &&
|
|
314
|
+
local.commitOid === baseline.commitOid &&
|
|
315
|
+
local.recordsHash === baseline.recordsHash &&
|
|
316
|
+
local.inventoryHash === baseline.inventoryHash
|
|
317
|
+
) {
|
|
318
|
+
try {
|
|
319
|
+
await validateBuild(local);
|
|
320
|
+
const hashes = new Map(Object.entries(local.recordHashes));
|
|
321
|
+
for (const doc of corpusMetadata(
|
|
322
|
+
local,
|
|
323
|
+
binding.repoId,
|
|
324
|
+
binding.indexId,
|
|
325
|
+
baseline.attemptId,
|
|
326
|
+
))
|
|
327
|
+
hashes.set(doc.id, hash(doc));
|
|
328
|
+
return hashes;
|
|
329
|
+
} catch (error) {
|
|
330
|
+
if ((error as NodeJS.ErrnoException).code !== "ENOENT") throw error;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
// Retain recovery without local files, including explicit same-artifact retries.
|
|
334
|
+
const hashes = new Map<string, string>();
|
|
335
|
+
for await (const doc of store.list(tag(baseline.tagName)))
|
|
336
|
+
hashes.set(doc.id, recordHash(doc, preset));
|
|
337
|
+
return hashes;
|
|
338
|
+
}
|
|
272
339
|
/** Caller holds the per-collection lock for the complete import. */
|
|
273
340
|
export async function publish(args: {
|
|
274
341
|
store: CollectionStore;
|
|
@@ -519,18 +586,22 @@ export async function publish(args: {
|
|
|
519
586
|
const marker = metadata.at(-1)!;
|
|
520
587
|
if (j.phase === "writing") {
|
|
521
588
|
// Reconcile from the immutable old Tag, never from a half-written writer.
|
|
522
|
-
const
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
589
|
+
const oldHashes = j.baseline
|
|
590
|
+
? await baselineHashes(
|
|
591
|
+
store,
|
|
592
|
+
binding,
|
|
593
|
+
b.preset,
|
|
594
|
+
j.baseline,
|
|
595
|
+
state,
|
|
596
|
+
j.gitRef,
|
|
597
|
+
args.baseline?.build,
|
|
598
|
+
)
|
|
599
|
+
: new Map<string, string>();
|
|
529
600
|
const newIds = new Set([
|
|
530
601
|
...Object.keys(b.recordHashes),
|
|
531
602
|
...metadata.map((d) => d.id),
|
|
532
603
|
]);
|
|
533
|
-
const obsolete = [...
|
|
604
|
+
const obsolete = [...oldHashes.keys()].filter((id) => !newIds.has(id));
|
|
534
605
|
const mutate = async (
|
|
535
606
|
operation: string,
|
|
536
607
|
payload: unknown,
|
|
@@ -554,7 +625,8 @@ export async function publish(args: {
|
|
|
554
625
|
async function* changed() {
|
|
555
626
|
for await (const d of records(b.directory))
|
|
556
627
|
if (oldHashes.get(d.id) !== hash(d)) yield d;
|
|
557
|
-
for (const d of metadata.slice(0, -1))
|
|
628
|
+
for (const d of metadata.slice(0, -1))
|
|
629
|
+
if (oldHashes.get(d.id) !== hash(d)) yield d;
|
|
558
630
|
}
|
|
559
631
|
for await (const docs of batches(changed()))
|
|
560
632
|
await mutate("upsert", docs, () => store.upsert(j!.writer, docs));
|
|
@@ -570,6 +642,7 @@ export async function publish(args: {
|
|
|
570
642
|
const deadline = Date.now() + (args.timeoutMs ?? 120_000);
|
|
571
643
|
const pause = args.pollMs ?? 1000;
|
|
572
644
|
let rejectedSnapshot: string | undefined;
|
|
645
|
+
let validatedHere = false;
|
|
573
646
|
while (j.phase === "waiting") {
|
|
574
647
|
invariant(
|
|
575
648
|
Date.now() < deadline,
|
|
@@ -598,16 +671,25 @@ export async function publish(args: {
|
|
|
598
671
|
continue;
|
|
599
672
|
}
|
|
600
673
|
j.candidate = candidate;
|
|
674
|
+
validatedHere = true;
|
|
601
675
|
j.phase = "publishing";
|
|
602
676
|
await save();
|
|
603
677
|
}
|
|
604
678
|
invariant(j.candidate, "Missing validated candidate.");
|
|
679
|
+
// Never persist this shortcut: a resumed journal must revalidate the full corpus.
|
|
680
|
+
if (!validatedHere)
|
|
681
|
+
invariant(
|
|
682
|
+
await validateCandidate(store, j.candidate.name, b, binding, j.attemptId),
|
|
683
|
+
"Validated candidate is missing or changed.",
|
|
684
|
+
);
|
|
685
|
+
const pins = await store.tags();
|
|
605
686
|
invariant(
|
|
606
|
-
|
|
607
|
-
|
|
687
|
+
pins.find((t) => t.name === j!.candidate!.name)?.snapshotId ===
|
|
688
|
+
j.candidate.snapshotId,
|
|
689
|
+
"Validated candidate Tag is missing or changed.",
|
|
608
690
|
);
|
|
609
691
|
const name = versionTag(b.commitOid);
|
|
610
|
-
const found =
|
|
692
|
+
const found = pins.find((t) => t.name === name);
|
|
611
693
|
const final = found ?? (await store.tag(name, tag(j.candidate.name)));
|
|
612
694
|
invariant(
|
|
613
695
|
existing
|