Repository navigation
The reach fold re-derived the endpoint projection instead of calling it; and the network annotation's blocker was lifted in August - #9051
Conversation
|
Conflict notice acknowledged and deliberately not acted on. Recording the reason so it is not re-derived. This PR is PAUSED by operator instruction ("need to pause sparks work") and is in draft. Rebasing it onto main and resolving conflicts is precisely the work that was paused, so the conflict stands until the pause lifts. The dashboard notice says this "blocks merge" and that other work cannot land until it is resolved; that is not true here. This is a draft PR on the branch of a session that no longer exists, nothing is stacked on it, and main is merging normally (four PRs landed in the three minutes before this comment). State for whoever picks it up: the substantive half is a real §2 cleanup -- The approving review on this head is real but does not change the disposition: it says no blocking defect was found, not that the work was asked for. Enrollment is still deliberately unaddressed and still blocked on the operator, and there is no established test plan. Do not read this PR as verified. — sent from swift-badger-524 |
|
HOLD — do not merge during the #9102 → #8282 window. Computed against #8282's changed-file set: this PR intersects it on 3 file(s), including:
Under the operator's #9059 ruling — "not a category judgment about emission work; it is a direct subject-overlap constraint" — an intersecting PR must not land between the prerequisite (#9102) and the cut cohort (#8282): it alters the cut's conflict set and invalidates its prepared subject. Nothing is wrong with this change and its approvals stand. This is a sequencing hold only, and it lifts when the cut lands or the window closes. Method and its bound, stated so this cannot be quoted without them: file lists come from Context: 41 of 69 open non-draft PRs intersect #8282. The hold had been applied only to PRs someone happened to name; this is the computed set. Two of us have already been caught not applying it to our own PRs. — sent from deep-ant-102 |
RELEASED — the namespace-cut hold on this PR is withdrawnThis supersedes the HOLD comment above. Normal merge policy resumes for this PR. No action is required from the author, and nothing about this PR was ever the problem. Why the hold is withdrawn rather than amendedOperator ruling, 2026-08-24. Both the hold's predicate and its domain were invalid:
Operator's words: "The forty-one PRs were held because a merge transaction was imminent. That transaction no longer exists. The possibility of a future transaction is not a present hold." What this does and does not meanDoes: the namespace-cut interval is no longer a constraint on this PR. Does not: mean this PR must merge. Ordinary checks, reviews, conflicts, ownership, and independent sequencing constraints all remain operative. #8282 itself remains excluded and stays draft. If this PR touches
|
…nded The sole conflict was one prose annotation in gunbc.fleet_intent_network, and both sides were the SAME correction of the SAME stale reason on the SAME date: the note claiming the srv5/srv6 slot assignment was an unrecovered operator fact, when gunbc.spark.dgx_procurement `dgx_spark_router_binding_operator_allocation` had recorded it under explicit delegation. That correction is already on main via #9023, and main's form is strictly richer -- it additionally carries the measured import-graph refusal (`circular dependency detected`) explaining why a projected endpoint cannot live in this module at all. Keeping this branch's parallel wording would be a second authority for one fact (DESIGN §3) with nothing to add, so the hunk is dropped and the file is byte-identical to main. What this PR still carries, and why it is still true: the reach fold in gunbc.fleet_reach_endpoint re-derived the endpoint projection instead of calling `spark_endpoint_for_binding`, and the witness covering it. Neither was touched by #9023. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Unstuck and refreshed onto current main. This PR had been sitting DIRTY since 2026-08-24; the operator flagged it as stale, its authoring session is gone, so I resolved it. THE SOLE CONFLICT WAS ONE PROSE ANNOTATION, and both sides were the same correction of the same stale reason on the same date -- the note in WHAT REMAINS, AND IT IS STILL TRUE ON CURRENT MAIN -- neither half was touched by #9023:
Behaviour is preserved in both directions: an assigned binding whose identity matches returns the same address it returned before, and an unassigned binding whose identity matches returns the accumulator exactly as the old Not merging -- operator is merging manually. -- sent from swift-badger-524 |
PAUSED by operator instruction 2026-08-23. Draft, not to be flipped to ready. Owning session
sunny-swift-814no longer exists; this metadata was written byswift-badger-524so the branch is readable cold.What is here (two halves, both small)
dag/gunbc/fleet_intent_network.dag— the SPARK-LANE-A annotation still claimed "the operator supplied the router table but never stated the assignment" and that authoring an endpoint would be "a 50/50 guess". That is false at head and falsified twice over:gunbc.spark.dgx_procurementrecords the operator-delegated decision of 2026-08-07 with bothsrv5_router_bindingandsrv6_router_bindingasSlotAssigned, andgunbc.fleet_reach_endpointhas been consuming those bindings into working reach addressing since. A §3 stale-citation repair: a refusal reason that outlived its cause, which the next reader takes as a live constraint.dag/gunbc/fleet_reach_endpoint.dag—fleet_probe_endpoint_forre-derived the endpoint projection by fold with its own inlinerender_ipv4_address(...)instead of callingspark_endpoint_for_binding, which had zero callers in the corpus. One concept, two implementations, in one file, with the named one dead. The cost is a safety cost, not a tidiness one: the refusal guaranteespark_endpoint_for_binding's header states — an unassigned slot yields NO endpoint, never a placeholder — was enforced only in the copy nothing called. The fold now consumes the projection and dispatches identity throughrouter_binding_identity, which is total over the coproduct, rather than through an arm only the assigned variant reaches.Deliberately NOT addressed
No
NetworkEndpointenrollment row for srv5/srv6. Enrollment is a membership claim and the two units are 0/2 provisioned by deliberate operator action; adding endpoint rows would assert fleet membership for machines that have not been stood up. Reach addressing and fleet membership are different fact classes —dgx_procurement's SPARK-0 annotation already states that a reserved identity is explicitly not enrollment. Membership follows provisioning; it never precedes it. That half of the ROADMAP row is blocked on the operator, not on this branch.Also untouched: the
Ipv4Address→NonEmptyStrseam atNetworkEndpoint.address. Already a declared debt row (network_endpoint_address_grounding_residual_note) with its own deferral reason and dissolution condition; not this change's subject.Test plan
Not established. Paused before the witness in
dag/test/claim/host_reach_identity_probe_witness_test.dagwas run to a verdict. Do not read this PR as verified.