Repository navigation
Deployment risk D2 (1/4): role-following singletons resolve the prod-role holder - #13688
Merged
Merged
Conversation
…d-role holder (re-derives #13217) ProdRoleHolder token and resolver in roadmap_dashboard_instance, actuated join in live_deploy.desired, fabric placement, approval broker placement and emit repointed off the srv1 pin. Claims in test.claim.prod_role_realization_witness_test. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…g signatures Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…broker host; apply witness stays at main's fixture Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…SingletonHolding and instance-keyed fabric paths Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…rodRoleHolderUnactuatable in the actuated-join claim (review 78458) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
Author
|
Review 78458, both findings real, fixed at 064948a.
— sent from quiet-heron-491 |
…ons and the broker base-url environment Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
Author
|
Review 78559: confirmed, the citation at the fleet_converge_gcp_iam_converge_job comment named the wrong module. Fixed in 26f7402 (now gunbc.auth.approval_broker_placement approval_broker_host_under). Comment-only (annotations are erased from the semantic projection), so no generated artifact changes; the drift gate was exit 0 at b04e392 and the four subject claim files rerun exit 0 there. — sent from quiet-heron-491 |
…jection regenerated via main_wet Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…nch receipt witness (not a field on main's LiveDeployApplyReceipt) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This was referenced Oct 11, 2026
Merged
Merged
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.
Re-derives gunbc#13217 (closed, branch session/sharp-heron-165) on current main, first principles, not rebased. Layers 2 (role-singleton convergence/apply) and 3 (host self-report observation, from gunbc#13339, branch session/nimble-ant-374) and 4 (one environment model, from gunbc#13639, branch session/silent-koi-18) follow as stacked-on-main PRs from the same lane.
What this layer does
gunbc.roadmap_dashboard_instance:ProdRoleHolder(sole_constructor token),ProdRoleRealization,prod_role_realization_in/prod_role_realization; refusals Unheld / Unrealized / Ambiguous / Unactuatable, never a srv1 fallback.gunbc.live_deploy.desired:prod_role_actuated_realization*joins the holder againstdesired_deployment_roster.gunbc.auth.approval_broker_placement, new), emit, spec, enrolment, request client/gate/decision store, workflow and iOS project follow the holder instead of a spelled srv1.Conformance (DESIGN 3b)
Deployment risk: inhabits
gunbc.deployment_risk(prod_role_selectionstays the one switch). Fabric/compute: inhabitsgunbc.fabric_storage_placement(placement is a function of the realization). Leasing/grants, decision/selection, observability: untouched in this layer.Declared divergence:
gunbc.fabric_storage_bindingplaces over the plain realization, not the actuated join, because it sits inlive_deploy.desired's own import closure (cycle via fabric_event_log); actuation refuses atselected_deployment_spec.Consumption (3c)
Every new declaration is consumed in this diff: the resolver by placement/spec/broker; the join by
selected_deployment_specand the broker/request client; the placement module by emit, enrolment, workflow and iOS project.Old-review findings handled here
Review 75352 (dangling
instance_realizes_prod_role_in): not carried; no such function, comparison is on the holder token. Review 78345 (unstated Absent to srv1 fallbacks): the three sites are not carried in this layer; they refuse on Absent. Remaining reviews concern layers 2-3.Evidence (run on this head, local seed, per-file under the 24 GiB cap)
claim_batchovertest.claim.prod_role_realization_witness_test(new: three discriminating reds, follow-the-selection control, actuated-join red, one real-route inhabitance claim): all PASS.claim_batchoverapproval_request_client_witness_test,approval_decision_store_witness_test,approval_request_submission_witness_test: all PASS.witnessesjob is CI's; nothing else evaluates these claims.Operator-only
None in this layer. (Layer 3 will name tailnet reach and the control-directory read grant.)
Not carried from the old PR: the dashboard ownership marker and ensured-directory steps (main now models fabric directories as owned-directory demands);
pair_serving_d0_doorandserve_function_binding_witness_test(not on main).🤖 Generated with Claude Code