Define semantic artifact lifecycle and persistence gates#1140
Merged
DavidBakerEffendi merged 7 commits intoJul 24, 2026
Conversation
Record the current ownership, identity, invalidation, representation, and evidence boundaries before adding shared promotion tooling. Keep request-local solver state and not-yet-shaped summaries out of SQLite so later milestones begin from explicit measured decisions.
Extract the six predeclared issue 817 persistence gates into a validated benchmark API. Preserve the semantic CFG benchmark report and no-go semantics while making missing or invalid evidence unable to pass future candidates.
Add a release-mode benchmark that isolates every generated, inline, and pinned external dataset in fresh processes so timing and peak-RSS evidence remain attributable. Validate exact structured roots, stable ICFG topology, fixed-point solver work, deterministic results, and the intentionally ephemeral lifecycle classification before aggregation. Keep incomplete external ICFG coverage visible while rejecting incomplete benchmark matrices, unstable provenance, non-fixed-point solves, and fact-domain drift. This establishes evidence for current exploded dataflow state without introducing an invalid serialized candidate ahead of reusable summaries.
Retain all 56 measured timing and RSS samples plus stable median topology, solver-work, completeness, size, and checksum identities from the eight-dataset matrix. Tie the exact clean Bifrost, VS Code, PetClinic, toolchain, and host provenance to the lifecycle decision. Document why request-local exploded state remains persistence-ineligible and why future reusable summaries need an equivalent serialized candidate and their own promotion-gate evidence.
Bind retained solver evidence to canonical typed ICFG topology and derive promotion outcomes from their gate statuses. Harden provenance and benchmark execution after specialist review, correct lifecycle-matrix semantics, and record the reviewed 72-process v2 result.
Record that the live acceptance criteria are satisfied and that compositional summary design and persistence remain owned by dependent issue 823.
Use distinct caller and target owners for class/object-based adapters so the cross-adapter test remains compatible with the uniform same-owner exclusion policy.
DavidBakerEffendi
force-pushed
the
817-engineer-compact-semantic-graph-snapshots-and-lifecycle-aware-persistence
branch
from
July 24, 2026 12:22
7a910d7 to
8c0a992
Compare
DavidBakerEffendi
deleted the
817-engineer-compact-semantic-graph-snapshots-and-lifecycle-aware-persistence
branch
July 24, 2026 12:56
This was referenced Jul 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Closes #817.
Defines and validates Bifrost's lifecycle policy for structural facts, semantic artifacts, CFG/ICFG views, oracle projections, and solver state. The change standardizes the evidence gates required before an artifact may move from request- or generation-local ownership into persistent storage.
The measured recommendation is to keep bounded exploded data-flow state ephemeral. Future reusable procedure, taint, and protocol summaries remain owned by #823 and should begin in memory, then earn SQLite persistence only after an equivalent serialized candidate demonstrates meaningful reuse and safe invalidation.
Key Changes:
Measured Result:
FactIdis introduced.Tradeoffs and Suggested Application:
Validation:
cargo test --features nlp,python— all enabled library, binary, integration, and doc-test targets passed; the library target reported 1,870 passed, zero failed, and five ignored.cargo clippy --locked --all-targets --all-features -- -D warningscargo fmt --all -- --checkTouch Points:
.agents/docs/semantic-artifact-lifecycle-matrix.md.agents/docs/dataflow-lifecycle-benchmark-2026-07-24.md.agents/plans/issue-817-artifact-lifecycle-foundation.mdsrc/benchmark/artifact_lifecycle.rssrc/benchmark/mod.rstests/measure_semantic_cfg_persistence.rstests/measure_dataflow_lifecycle.rstests/code_query_pipelines.rsscripts/run-dataflow-lifecycle-benchmarks.sh