Repository navigation
refactor(sofi): the genesis row has no separate writer - #958
Merged
Merged
Conversation
`record_genesis_with_conn` has exactly one occurrence in the tree: its own definition. No caller, not even a test. It also has no distinct responsibility. `record_resolved_with_conn` already writes generation zero, as the pre-side of the first resolved chain link (`write_root(tx, v, post.pre_generation, &post.pre_root)`), and a vault's evidence AT its genesis is served by `vault_leaves_at_genesis` from the accepted genesis object rather than from this store. So the doc comment's claim — "without it the first trade's parent has no status" — was false as written. That makes it exactly the shape #956 removed the dark trader tree store for: a capability that reads as live, is reachable from nothing, and would be mistaken for the thing that establishes a fact something else already establishes. The gate did not catch it and structurally could not: `sofi_reachability` scans `CORE_SOFI = "/dsm/src/sofi/"`, so an SDK producer with no production caller is invisible to it. Closing that blind spot belongs with the production facade, where the SDK surface gets its callers.
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.
record_genesis_with_connlanded in #957 with exactly one occurrence in the tree: its own definition. No caller, not even a test.It also has no distinct responsibility.
record_resolved_with_connalready writes generation zero, as the pre-side of the first resolved chain link —write_root(tx, v, post.pre_generation, &post.pre_root)— and a vault's evidence at its genesis is served byvault_leaves_at_genesisfrom the accepted genesis object rather than from this store. So the doc comment's claim, "without it the first trade's parent has no status", was false as written.That makes it the same shape #956 removed the dark trader tree store for: a capability that reads as live, is reachable from nothing, and would be mistaken for the thing that establishes a fact something else already establishes. The owner ruled it goes rather than waits for a caller.
Why no gate caught it
ci/sofi_reachability.pysetsCORE_SOFI = "/dsm/src/sofi/". G1 proves Core production reachability, not SDK production reachability — every SDK SoFi producer is the subject of no gate at all, so a green G1 coexists with dead SDK capability.The blind spot is currently wide. As of this PR the entire SDK SoFi producer surface has no production caller: all 21
TraderCore::new/DlvCore::newsites are tests or thecfg(test)fixture, plusfulfill,complete_pending_fulfillment,resolve_pending_position,relay_fulfillment,draft_trade,draft_route,draft_close,build_setup,build_vault_createandResolver::walk_parent. None of that moves G1.Closing it is ruled into the production-facade work (spec §44.6): extend G1 to the SDK SoFi surface, or add a companion gate for it. A
sofi_routes.rsthat exists and compiles but calls nothing would otherwise discharge the facade requirement on paper while moving no gate.Provenance
This deletion was written and gated while #957 was still open, but #957 merged first, so the commit was stranded on a branch that no longer had a PR (
fb0199e2e1a72776798517c5c25c8654a47106ac, recorded). This branch re-applies it onto2f5a6365(the #957 squash). The resulting tree is byte-identical to that stranded commit, verified withgit diff --quiet.Gates
storage::client_db388/0 re-run on the new base. The tree being byte-identical to the already-gated one, the rest carry over from that run:sdk::sofi_*53/0,make lintexit 0,ci/production_safety_checks.shexit 0. Core and G1 cannot change — onlydsm_sdk/is touched, and G1 scans/dsm/src/sofi/.