fix: create the first persistent artifact on the incremental path - #1163
fix: create the first persistent artifact on the incremental path#1163mvanhorn wants to merge 2 commits into
Conversation
|
Thanks for covering both changed-file and no-op incremental paths and for propagating export failure rather than reporting a false success. This is classified with #434 as a 0.9.1-rc bug fix. Review will verify explicit persistence versus automatic refresh semantics, first-export quality selection, artifact failure behavior, and compatibility with the existing incremental artifact stack. |
|
Thanks for this, and apologies for the slow acknowledgement. Queued for review. Currently CONFLICTING against |
…is created Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
e8472f9 to
a5e040a
Compare
|
The Windows job failure looks like a timing flake in an unrelated test rather than anything from this PR. The run is 3669 passed / 1 failed, and the one failure is:
This PR touches If it's worth hardening, raising that poll budget or waiting on the lock rather than sampling it would make the test deterministic -- happy to send that separately. |
What does this PR do?
Fixes #434: enabling
persistence=truedid not create the first persistent artifact on the incremental indexing path.dump_and_persistinpipeline_incremental.conly refreshed an artifact that already existed and never created one on first run, so apersistence=truerequest was silently a no-op until an artifact happened to exist.git ai stats-style consumers saw the index reported as successful with no persistent artifact written.This threads a new
cbm_pipeline_persistence()accessor into the incremental path (mirroring the existingcbm_pipeline_repo_path/cbm_pipeline_project_nameaccessors) so it exports the first artifact withCBM_ARTIFACT_BESTwhen persistence is requested and none exists, matching the full pipeline. Existing artifacts keep refreshing withCBM_ARTIFACT_FAST. It covers changed-file, deleted-file, and no-op incremental runs, and it now propagates a failedcbm_artifact_exportas a run error instead of reporting a successful index when the artifact could not be written.Checklist
git commit -s) — required, CI rejects unsigned commits (DCO, see CONTRIBUTING.md)make -f Makefile.cbm test)make -f Makefile.cbm lint-ci)