-
Notifications
You must be signed in to change notification settings - Fork 3
Persist parser source snapshots and reject changed-during-parse results #978
Copy link
Copy link
Closed
Labels
epic:grounding-runtimev0.14.3 stabilization and v0.15 grounding/runtime rewritev0.14.3 stabilization and v0.15 grounding/runtime rewriteepic:security-trustSecurity, trust boundaries, local artifacts, and config mutationSecurity, trust boundaries, local artifacts, and config mutationepic:sidecar-provenanceSidecar provenance, freshness, and manifest workSidecar provenance, freshness, and manifest workphase:next-waveActive next implementation waveActive next implementation wavepriority:p1Release blocker or high-risk reliability/security issueRelease blocker or high-risk reliability/security issuerelease:v0.15.0Planned for the v0.15.0 Grounding Runtime Rewrite releasePlanned for the v0.15.0 Grounding Runtime Rewrite releasesaga:codestory-intelligenceCodeStory product-grade intelligence sagaCodeStory product-grade intelligence sagatype:contractRuntime, CLI, API, or evidence contract workRuntime, CLI, API, or evidence contract work
Milestone
Description
Metadata
Metadata
Assignees
Labels
epic:grounding-runtimev0.14.3 stabilization and v0.15 grounding/runtime rewritev0.14.3 stabilization and v0.15 grounding/runtime rewriteepic:security-trustSecurity, trust boundaries, local artifacts, and config mutationSecurity, trust boundaries, local artifacts, and config mutationepic:sidecar-provenanceSidecar provenance, freshness, and manifest workSidecar provenance, freshness, and manifest workphase:next-waveActive next implementation waveActive next implementation wavepriority:p1Release blocker or high-risk reliability/security issueRelease blocker or high-risk reliability/security issuerelease:v0.15.0Planned for the v0.15.0 Grounding Runtime Rewrite releasePlanned for the v0.15.0 Grounding Runtime Rewrite releasesaga:codestory-intelligenceCodeStory product-grade intelligence sagaCodeStory product-grade intelligence sagatype:contractRuntime, CLI, API, or evidence contract workRuntime, CLI, API, or evidence contract work
Projects
StatusShow more project fields
Done
Parent: #911
Problem
Parser-backed indexing reads source bytes before parsing but records filesystem
metadata later. A concurrent edit can therefore publish graph data from old
bytes while stamping it with the newer modification time, allowing refresh
planning to treat stale graph data as current.
Scope
Persist the identity of the bytes actually parsed and reject results when the
source changes before publication. Keep this slice inside indexer/store source
snapshot integrity; do not alter repository identity, discovery/deletion
semantics, or runtime publication ownership.
Acceptance Criteria
with an additive schema migration that preserves legacy rows.
pre-parse read.
results.
retry error and do not publish graph data from the stale bytes.
without adding content identity to the widely constructed
FileInfo.content identity.
restored same timestamp, projection round-trip/clearing, and migration
from the prior schema.
Non-Goals
Verification
codestory-storemigration/projection testscodestory-indexersource-snapshot and cache testscargo fmt --all -- --checkgit diff --checkRun Cargo commands serially.
Refs #899