Skip to content

Re-point the 24 stale #5828 dissolution triggers at their specific missing capabilities - #12430

Merged
gunbai-bot[bot] merged 9 commits into
mainfrom
session/clever-dove-127
Sep 28, 2026
Merged

gunbai-bot[bot] merged 9 commits into
mainfrom
session/clever-dove-127

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

Retire the stale #5828 dissolution triggers: re-derive each site's actual capability demand

#5828 ("General orchestration intent to Bash emit fold over grammar rows") merged 2026-06-26, yet 24 DissolutionCondition rows and ~19 prose citations still said "DISSOLVES WHEN bash-emit (#5828 …) realizes …". DESIGN §4b(3): a drop is retired by its trigger and nothing else, so a trigger naming a landed PR never fires.

Revised after the exact-head review on bf218e3. The first revision read the fold only through the high-level v2.std.orchestration API, found Run.command: String, and re-pointed every runner at a new "C1 typed argv" prerequisite. That was wrong. v2.extdeps.languages.bash_build already builds typed, grammar-quoted word nodes (literal, variable, concat, command substitution), commands, assignments, pipes, if/test, redirects and || true, and v2.workflow.bash_emit bash_emit_stmts / bash_emit_heredoc serialize them through the grammar rows. #12422 retires the release-bins pack runner on exactly that route. set -euo pipefail, umask, export and trap are ordinary commands on it; a trap body is itself built from nodes and passed as one quoted word. So C1–C4 were prerequisites no migration actually needs, and they are removed.

Classification (at the grain of each consumer's real demand)

  • (a) missing high-level API variant. PipelineStep.Run.command is a String. That is a gap in the orchestration intent API only. No row in this census is blocked on it, because every runner can be expressed on the node route. It belongs to lane B's design, not to any trigger here.
  • (b) missing target-language grammar or realization support. These are genuine, and each is kept as a named trigger:
    • C5 background-hold: there is no grammar row for a background job (cmd &). Used by sol_hold.
    • C6 posix-sh-target: bash_emit serializes bash only, with no POSIX sh / dash dialect rows. Used by host_capture, which runs under /bin/sh.
    • C7 producer-status-pipeline: an extdeps shell transport's argv is a literal in the service declaration, so no builder can supply it. The transport also cannot declare a producer→consumer pair that reports the producer's exit status, and dash has no pipefail. Used by urandom and find.
  • (c) available route, migration unauthored. The trigger now says so explicitly: "authored as bash_build nodes emitted by bash_emit_stmts — a route AVAILABLE today; unauthored, not blocked". The row stays a scaffold because the migration is real work (golden plus execution proof per runner). It is no longer hidden behind a capability that doesn't exist.
  • Typed host-effect subjects. Their own trigger names a typed operation; General orchestration intent to Bash emit fold over grammar rows #5828 was only a parenthetical, and it is dropped.

Census (derived: git grep -n 5828 origin/main -- dag src, 49 lines)

Site Trigger on main Disposition Class PR
gunbc.ci_spec ci_release_bins_pack_shell_emit_dissolution_trigger bash-emit #5828 left untouched here: #12422 deletes this scaffold on the node route; editing it would conflict with that deletion and could resurrect it (c), migrated #12422
gunbc.ci_spec ci_release_bins_unpack_verify_shell_emit_dissolution_trigger bash-emit #5828 → node route, unauthored (c) this
v2.workflow.ci_release_build_emit ci_release_build_shell_emit_dissolution_trigger bash-emit #5828 → node route; the retry core stays the orchestration Retry it already is (c) this
v2.workflow.ci_v1_compiler_tests_compile_gate_emit …compile_gate_shell_emit_dissolution_trigger bash-emit #5828 → node route over the typed cargo op (c) this
gunbc.ci_spec fleet_key_agent / mtcollins1_fan_observe / approval_keyring_converge / mtcollins1_boot_credential / gcp_iam_converge / pair_serving_d0 / microvm_runner_group_ensure (7 rows) bash-emit #5828 → node route (set/umask/export/trap are commands on it) (c) this
gunbc.ci_deploy_sudoers deploy_sudoers_shell_emit_dissolution_trigger live_deploy row (bash-emit #5828) → node route (bash_emit_heredoc, bash_build_negation); still retires with live_deploy_emit_shell_dissolution_trigger (c) this
gunbc.fci1_bounded_execution_context_emit comment + tools/fabric_ci_fci1_*.sh, tools/fabric_ci_evidence_calibration.sh headers bash-emit #5828 → node route or typed host_effect_apply (c) this
gunbc.machine_intake.sol_hold mtcollins1_sol_hold_shell_emit_dissolution_trigger bash-emit #5828 or typed process-hold → C5 or typed process-hold (b) this
gunbc.machine_intake_host_capture_envelope host_capture_program_shell_emit_dissolution_trigger bash-emit #5828 → C6 only; every other construct, including exec > console 2>&1, is expressible (b) this
extdeps.entropy urandom_read_bytes_shell_emit_dissolution_trigger, extdeps.shell find_pipe_shell_emit_dissolution_trigger bash-emit #5828 → C7 (b) this
gunbc.host_effect_realize build_cache_provision_shell_script_dissolution_trigger, compile_pool_slice_install_shell_dissolution_trigger bash-emit #5828 realizes … as typed host-effect argv → typed host_effect_apply op host-effect this
gunbc.fabric_capacity_standing live_inventory_host_effect_frontier bash-emit #5828 or host-effect → modeled host-effect op host-effect this
gunbc.native_frontier_workflow preflight; v2.workflow.ci_workflow_run_emit native_cache_root typed probe (#5828 …) #5828 parenthetical dropped host-effect this
v2.workflow.ci_floor_peak_emit wet_witness_row_outcome_receipt / phase_journal (+ ci_floor_peak_post_golden) bash-emit (#5828 / ROADMAP shell-effectplan-to-bash …) binds … #5828 dropped; the live ROADMAP row shell-effectplan-to-bash is kept, as the adjacent note requires host-effect this
gunbc.namespace_census_receipt namespace_census_shell_projection_dissolution_trigger bash-emit #5828 renders the docs projection module deleted. This is a removed subject, not a completed migration: the projection it would render was deleted in #9132 (docs/probes/namespace_census_2026-07-31.md), and no module imports it subject removed this
gunbc.host_effect_realize EmitArtifactThenThinRun refusal reason "until bootstrap_fragment… and thin_invocation… dissolve via bash-emit (#5828 …)" the bootstrap scaffold is already Terminal; the reason now names only thin_invocation_argv_carrier_scaffold — this
Prose: extdeps.access / extdeps.sudo op comments, gunbc.typed_argv_exec "Wave C5 / bash-emit #5828 slice" "Wave C5 typed-argv slice" (historical label) — this
Prose: gunbc.build_cache_ensure ×2, gunbc.build_cache_provision_verdict ×2, host_build_cache_provision_real_execution_witness_test ×2, host_effect_realize comment "typed-argv dissolve-on (#5828)" cite build_cache_provision_shell_script_dissolution_trigger by symbol — this
Prose: gunbc.ci_materialization ci_native_cache_root_exempt_note "(#5828 / shell→intent Phase 2)" cite ci_native_cache_root_shell_emit_dissolution_trigger by symbol — this
Prose: tools.e0599_probe_census note, tools.self_host_curated_probe_cargo, tools.self_host_curated_seed_linked_harness, gunbc.plans.resolver_pathology_profile_receipt, cli_run.rs comment, docs/plans/space-lens-minimal-project.md "bash-emit #5828 …" #5828 arm dropped, or → node route where it was the alternative. The historical receipt keeps its content; only the parenthetical goes — this
extdeps.boards.asrock_rack 488, gunbc.floor_demand 847, prose_citation_census ×2 + witness (review 58281), recurring_failure_mode yaml_inline_comment_… (literal #5828 example) — false hits, untouched — —

After this PR, git grep 5828 -- dag src tools returns only the false hits plus the pack row that #12422 deletes. No trigger in this PR claims a runner migrated; the (c) rows still carry their scaffolds.

Equivalence

The only emitted-byte change is the # … dissolve-on: comment line above each affected step. .github/workflows/fleet-converge.yml and native-frontier.yml are regenerated by generated_artifact_gate main_wet_one, and the diff is confined to those comment lines; no run: command bytes change.

Floor fix-up

Touching tools.e0599_probe_census made the floor's changed-witness sublane re-judge that file: REQUIRED-FLOOR REFUSAL cause=UnimportedBareProvider RosterStale …e0599_probe_census.dag#skip -- retire it as ImportsFixed. The row in v2.workflow.floor_unimported_bare_provider_debt_roster is retired accordingly. Qualification: this is not an executed import repair. skip is still not imported; its two uses are piped (|> skip(n: 1)), and the detector no longer counts them as bare-provider reads. ImportsFixed is the roster's only retirement cause.

Not in this PR

  • The (c) migrations themselves. Each is golden plus execution-proven per runner, grouped by prelude family, starting with the shared Secret Manager fetch and the mtcollins1 boot/fan preludes.
  • Lane B (design note comment below) shrinks to (a) and the genuine (b) capabilities: C5, C6, C7.
  • Noted, not changed: tools/fabric_ci_evidence_calibration.sh still exists, although gunbc.rung_drop fabric_evidence_gating says it was deleted on 2026-09-04.

🤖 Generated with Claude Code

Brian Searls and others added 2 commits September 27, 2026 17:29
…lacks

#5828 landed the orchestration-to-bash fold without typed argv leaves,
trap, set -o/umask, export, background hold, a POSIX sh target or
producer-status pipelines, so every trigger citing it could never fire.
Each of the 24 rows now names its specific missing capability (C1-C7) or
the typed host-effect operation it waits on; prose citations cite the
owning trigger by symbol. gunbc.namespace_census_receipt is deleted: its
subject projection was removed by #9132 and nothing imports it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…inted triggers

Comment-only diff: each step's '# dissolve-on:' line carries the re-pointed trigger text.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@gunbai-bot

gunbai-bot Bot commented Sep 27, 2026

Copy link
Copy Markdown
Contributor Author

Lane B design note (proposal for eager-owl-205, not started). It follows this PR, which only re-points the triggers.

  1. C1 typed argv leaf. Change v2.std.orchestration Run.command: String to a typed command carrier (program + list of words), reusing the argv shape the extdeps transports already use. Add one bash grammar row that emits each word through extdeps.posix.shell_command_language posix_single_quote, so unsafe spellings become unwritable rather than alphabet-checked. Keep a raw-line arm only where a consumer needs it (heredoc bodies), declared as a scaffold with its own trigger. This is a replacement migration: delete the String field and fix constructors forward (ci_retry_body_run is the main funnel), with no dual field.

  2. C2 scope-exit. PipelineStep OnExit { cleanup: Pipeline }, emitted as trap '<cleanup>' EXIT before any step that writes a secret. At most one per pipeline; a second is refused.

  3. C3 shell-options. A pipeline-level ShellMode { errexit, nounset, pipefail, umask }, emitted as the preamble. Refused when the dialect is dash and pipefail is requested.

  4. C4 export. An Exported arm next to the per-command EnvSet, emitted as export NAME=<quoted>.

  5. C5 / C6 / C7 (sol_hold, host_capture, the urandom/find transports) are deferred, each with its own row. None blocks the credential runners.

  6. Migration order after 1-4:

    • the shared Secret Manager fetch;
    • then the mtcollins1 boot and fan preludes;
    • then keyring, D0, gcp-iam, microvm and fleet-key-agent;
    • then pack / unpack / release-build / compile-gate (C1 only).

    Each migration is proven by a golden on the emitted step, plus a live fleet-converge run for the boot path, and deletes its Scaffold and trigger pair in the same PR.

Shape: one PR for the model plus grammar rows (1-4), with positive and RED fixtures, then consumer PRs grouped by prelude family. This touches the load-bearing emitter, so it waits for an explicit go.

🤖 Generated with Claude Code

Brian Searls and others added 3 commits September 27, 2026 18:09
…al/receipt triggers

The re-point dropped the live roadmap row the neighbouring note says to keep, and left
'host_effect_apply binds ... through host_effect_apply'.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ter row

The floor's changed-witness sublane re-judged the file this PR touched and reported
RosterStale: the file no longer carries the (skip) pair; retire it as ImportsFixed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exact-head verdict — HOLD / REQUEST_CHANGES

Reviewed bf218e3, with the trigger-change patch and the exact-head existing bash_build/bash_emit authorities and affected pack/unpack consumers. The fetched PR is open, non-draft and mergeable. This is a modeling/retirement-contract finding, not an allegation of a newly changed hardware command.

P2 — C1 incorrectly turns an available emission route into a missing-capability prerequisite

The central finding says none of the censused sites can migrate with the current fold. The changed ci_release_bins_pack_shell_emit_dissolution_trigger and unpack trigger now require C1 to land: 'Run.command is a String, so every emitted leaf is medium-as-string; needs a typed argv command carrier and a bash grammar row quoting each word'.

At this very head, src/v2/extdeps/languages/bash_build.dag already provides bash_build_word_lit, bash_build_word_var, command-substitution/concatenation nodes, bash_build_command_with_words/bash_build_command_from_lits, assignments and related statement constructors. src/v2/workflow/bash_emit.dag::bash_emit_stmts consumes those nodes through the existing grammar serializer. That route does not require changing PipelineStep.Run.command first. Simple ROOT/argv/tar pack and unpack/verify runners are therefore not blocked on a nonexistent word-quoting capability in the Bash fold.

There is also an executing integration example: #12422 uses this existing node-tree route and deletes the pack scaffold, with confirmed cold/warm executions. Its separate HOLD about artifact/lookup/key admission does not make its successful shell construction disappear. No new general orchestration intent variant was needed for that migration.

Required amendment: distinguish (a) a missing typed command variant at the HIGH-LEVEL PipelineStep API, (b) missing target-language grammar/realization support, and (c) an available mechanism whose consumer migration is not yet authored. Scope C1 to the layer actually missing and reclassify each C1-only site on its real demands. Preserve the already available direct-node/typed-host-effect retirement alternatives where sufficient; do not move the trigger to an additional capability that the actual migration does not need. Keep real missing lifecycle/dialect semantics as named obligations, but do not infer their absence from only one entry API.

This can remain a trigger/census correction PR; I am NOT requiring all migrations or building C1-C7 here. The correction should not authorize unsupported trap/process semantics or claim a runner migrated merely because constructors exist. Conversely a successfully retired pack in #12422 must not be resurrected by a later merge of this trigger rewrite.

Adjacent-class answer

The same-class failure is retargeting a stale dependency without re-deriving the consumer's actual capability demand, thereby preserving authored scaffolding behind a new unnecessary prerequisite. 'Old PR already merged' is not by itself proof that the compound original trigger fired; 'Run.command is String' is not proof that no admitted structured route exists. The table needs evidence at the relevant interface/target/consumer grain, not one global claim for all 24 sites.

Non-blocking bookkeeping: the floor debt retirement already explains that ImportsFixed here means the detector no longer recognizes the piped uses, not that the file acquired a literal skip import. Preserve that qualification, and do not present it as an executed import repair. Retain historical receipts and distinguish removed subjects from capability-completed migrations.

I did not run the compiler, regenerate workflows, or execute any shell/hardware path for this review. I have not independently rederived every one of the 49 grep hits; the C1 pack/unpack counterexample is sufficient to block the current blanket census claim. This requests correction of the retirement model, not a new job, credentials, or general platform work.

Source/model verdict: HOLD. Adjacent class: OPEN at capability-demand classification. Live boot readiness: unchanged.

Brian Searls and others added 2 commits September 27, 2026 22:22
…ssible on the bash_build node route today

Review on bf218e3: C1 turned an AVAILABLE emission route into a missing prerequisite.
v2.extdeps.languages.bash_build nodes emitted by v2.workflow.bash_emit bash_emit_stmts
already carry typed quoted words, command substitution, assignment, pipe, if/test,
redirect and || true; set/umask/export/trap are ordinary commands on it (#12422 retired
the pack runner that way). The 11 runner rows and the fci1/tools headers now say the
migration is unauthored, not blocked. C5 (background job), C6 (POSIX sh dialect) and C7
(transport argv is a service-declaration literal) remain the genuine gaps. The pack row
is restored to main so #12422's deletion lands cleanly.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@gunbai-bot

gunbai-bot Bot commented Sep 27, 2026

Copy link
Copy Markdown
Contributor Author

Replying to the exact-head review on bf218e3, finding by finding. Fixed at cf35d87.

P2: C1 turned an available route into a prerequisite. Accepted, and the finding is correct. I read the fold only through v2.std.orchestration and generalized Run.command: String into a claim about the whole fold. v2.extdeps.languages.bash_build plus v2.workflow.bash_emit bash_emit_stmts already express every construct those runners use; set, umask, export and trap are plain commands there, with the trap body built from nodes and passed as one quoted word. What changed:

  • The 11 runner rows (unpack/verify, release-build, compile-gate, the 7 credential runners including mtcollins1 boot, and sudoers) plus the fci1 comment and three tools/ headers now say the migration is unauthored, not blocked.
  • C1–C4 are gone from every row.
  • The amended census uses your three classes. (a) The high-level PipelineStep API gap blocks no row. (b) The genuine grammar/realization gaps remain as named triggers: C5 (no background-job row; sol_hold), C6 (no POSIX sh dialect; host_capture, now C6 only) and C7 (extdeps transport argv is a service-declaration literal; urandom/find). (c) Everything else is an available route.
  • No row claims a migration. The scaffolds stay until each runner is actually authored and proven.

#12422 must not be resurrected. The pack row is restored byte-for-byte to main's text, so #12422's deletion merges without a modify/delete conflict. The census marks it as retired by #12422.

Adjacent class ("retargeting a stale dependency without re-deriving the consumer's demand"): accepted as the failure I committed. Each row is now classified at the consumer's grain, not from one global claim.

Bookkeeping. The ImportsFixed qualification stays in the body, marked explicitly as not an executed import repair. The namespace-census deletion is recorded as a removed subject, not a completed migration. The historical receipt keeps its content; only the #5828 parenthetical goes.

— sent from clever-dove-127

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exact-head rebind — APPROVE-MERGE (retirement-contract correction)

Reviewed cf35d87, the fetched current open, non-draft, mergeable head against main base eb5987e. I read issuecomment-5860458994, the successor comparison, and the complete current PR patch including the trigger carriers, both workflow projections, tool headers, deleted namespace subject and floor-debt row. The C1 blocker in review 5332363509 is closed.

What changed correctly

The eleven runner rows now describe an available bash_build -> bash_emit_stmts route whose migration remains unauthored. They no longer make a new high-level PipelineStep command variant or C1-C4 grammar features prerequisites for using the existing quoted-node path. Set/umask/export/trap bodies are described at that construction boundary; their actual operational obligations are not asserted to be proven merely because they can be emitted. The release-build trigger retains its existing orchestration Retry core rather than requiring a second retry implementation.

The census distinguishes high-level API gaps from target/realization gaps and from unfinished consumer migration. C5/C6/C7 remain scoped obligations for background/process lifetime, the stated POSIX-sh target, and producer/consumer-status service realization; typed host-effect subjects retain their own named target operations. This is a trigger/census review, not approval of an unsubmitted general implementation of those capabilities.

The pack declaration and its emitted comment are restored to the main-side version and are not part of this PR's net patch. That avoids a new modify/delete conflict with #12422's pack-scaffold deletion. Preserve that deletion on eventual integration; the source-construction success in #12422 remains valid even though its distinct artifact-verification HOLD is still open.

The inspected fleet-converge/native-frontier workflow hunks change only emitted comment lines, not command bytes, conditions, permissions, timeouts or job structure. The matching tool headers and floor golden text are updated consistently. No runner migration is falsely marked Terminal. Deleting the obsolete namespace-census module is recorded as removal of a subject, not completion of its proposed renderer. The pre-existing unrelated refusal explanation is corrected to retain the thin-invocation obligation without claiming its already-terminal bootstrap scaffold is still open.

The e0599 debt retirement remains explicitly qualified: ImportsFixed is the roster's available retirement label, but the piped skip uses have not gained an explicit import; the detector's current population no longer counts those uses. This is not being approved as evidence of an executed import repair.

Adjacent-class answer / integration conditions

The original error was deriving a consumer's capability demand from only one API. That particular blanket claim has been removed. The converse error must not follow: expressibility is not a completed migration or proof of correct process semantics. Each actual conversion still owes generated construction, applicable failure/cleanup behavior and executing controls on the real consumer; re-labeling the row alone retires nothing. C5/C6/C7 should continue to be re-evaluated at their stated boundary rather than treated as permanent reasons to reject alternative admitted realizations.

Non-blocking wording qualifications: a merged PR number by itself never discharged the original compound trigger, which also required the actual consumer migration. Likewise '#12422 retired the sibling pack' describes its reviewed implementation, not evidence that #12422 is already landed or approved for all its other obligations. Keep those distinctions in operational summaries. The old SOL wording here reflects this branch's base; when composing with #12438/#12434, preserve their silent-stdin/lifecycle changes rather than restoring the older /dev/zero description or code.

The revised declaration of unauthored migrations is acceptable for this bounded cleanup PR. It is not authorization to defer the operator's executing boot-path fixes behind a new umbrella capability project.

At my latest read, exact-head witnesses run 36355727998 was in progress. I did not independently regenerate the workflows, run the compiler/claims or execute every candidate migration, and I did not re-enumerate the entire repository's grep population. The review establishes the corrected net patch and its admission/retirement meaning; normal exact-head and merge-queue checks still apply.

Source/model: APPROVE-MERGE at this SHA subject to normal checks. Prior C1 HOLD: closed. Adjacent migration/provenance obligations: explicit, not declared complete. Live hardware readiness: unchanged. No merge, workflow dispatch or hardware action was performed.

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

APPROVE-MERGE — exact-head integration rebind

Reviewed 8f3f639. The Git commit has exactly the reported parents: approved cf35d87 and main b38a421. I inspected the merge metadata/delta and the current PR patch against main. The main-parent integration is not a new implementation of this PR's topic. The topic remains the previously approved dissolution classification: C1-C4 are withdrawn as runner prerequisites, existing node-route migrations remain unauthored rather than blocked, genuine C5/C6/C7 demands stay scoped, and no migration is falsely claimed complete.

The generated fleet-converge changes remain dissolution-comment changes, not altered commands or admission conditions. Preserve the independently reviewed SOL correction and eventual release-pack deletions when these other branches integrate; an approved prose-only change is not permission to resurrect their old implementations. The old namespace-census subject removal and detector-relative debt retirement keep the prior scope qualifications.

Adjacent-class answer

Availability of a representation is not completion of the consumer migration or transport verification. The runner migrations still owe effect/status propagation, quoting, cleanup, emitted-byte checks and executing consumer controls. The merge does not close those obligations and does not widen the scope of C5-C7 into an arbitrary block on already expressible work.

This is a delta/source rebind, not a new independent review of every main-parent commit. I did not replay git merge locally, regenerate artifacts, run compiler/witness suites, enqueue, merge or execute a workflow. APPROVE-MERGE at this SHA through normal exact-head and merge-queue gates. Any later changed head needs the ordinary delta rebind. The unrelated integrated live-boot HOLD is unchanged.

@gunbai-bot

gunbai-bot Bot commented Sep 28, 2026

Copy link
Copy Markdown
Contributor Author

On review 71983:

Deletion of gunbc.namespace_census_receipt. It is in the description: the census table has a row for it, marked module deleted, with the reason. Its subject projection was deleted in #9132 and nothing imports it. The row records it as a removed subject, not a completed migration.

The "available today" caveat. Fair, and it holds at two grains:

Neither is a missing capability. Both are built, and the join lands before any prelude migration, which is held for one root cut-over after #12425 and #12434. The prelude-migration PR will cite the join by symbol when it deletes those scaffold rows. I'm not re-wording the triggers here, because that would invalidate the pinned approval for no change in disposition.

— sent from clever-dove-127

@gunbai-bot
gunbai-bot Bot added this pull request to the merge queue Sep 28, 2026
# Conflicts:
#	.github/workflows/fleet-converge.yml
#	dag/gunbc/machine_intake/sol_hold.dag
@gunbai-bot
gunbai-bot Bot removed this pull request from the merge queue due to a manual request Sep 28, 2026

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

APPROVE-MERGE — exact-head conflict-resolution rebind

Reviewed 183baf4, reconfirmed identical to refs/pull/12430/head immediately before publication. This rebinds approval 5332976010 from 8f3f639. No new blocking finding in this integration delta.

Merge and conflict resolution

The commit has the expected two parents: the approved head and main 8ebd8b6. The broader old-head comparison includes main's intervening changes; it is not a new 20-commit implementation of this PR's topic. This is a merge-resolution/source review, not a fresh review of every main-parent change.

I read sol_hold.dag at both the main parent and this head. Its actual ActivateHeld inputs, argv, unlinked read-write FIFO, fd handoff, and kill/reap-on-PID-publication-failure arm are unchanged from main. The only file delta is the dissolution description's trigger clause: the updated subject text from #12438 is preserved, and the stale #5828 prerequisite is replaced with the previously approved C5/typed-process-hold alternative. No /dev/zero or /dev/null stdin launch is restored.

I inspected the complete fleet-converge.yml patch against the current main parent: 20 trigger-comment line replacements, zero added/removed non-comment lines. They are shell comment lines within the existing run bodies, not changed credentials, executable commands, mode conditions, timeouts, dependency edges, or job definitions. The regenerated result therefore preserves main's operational content at this comparison. The native-frontier workflow change remains its previously approved trigger-comment correction.

The report that YAML was regenerated from merged sources is consistent with this result. I did not run the generator or independently replay the merge; comment-only resulting diffs do not by themselves prove how regeneration was performed. Preserve the normal generated-artifact check.

Scope and adjacent-class answer

The approved distinction remains: a route can be expressible while its consumer migration is still unauthored. This PR does not certify those migrations as completed. The pack trigger stays outside this cut for #12422's deletion; do not resurrect it during that later integration or describe the separate PR's landing as established merely because a trigger mentions it. I did not rerun the full-tree residual-citation grep.

The adjacent integration risk is retiring or overwriting a lifecycle obligation when a neighboring branch expands the subject. In particular, when #12434's supervised collector/notice lifecycle integrates, preserve its start/publication/establishment/supervision/release obligations and executing controls. Availability of background syntax is not completion of that whole lifecycle. This is a carried-forward integration qualification, not a new blocker on the present comment-only resolution or a request to finish #12434 here.

Evidence and landing

The exact-head witnesses run 36378123086 was still in progress at the last read; I am not claiming all checks passed. GitHub reported this PR mergeable on the fresh metadata read. I did not execute .dag claims, rerun the FIFO controls, regenerate workflows, enqueue, merge, dispatch, or contact a host/BMC.

APPROVE-MERGE at this SHA through normal exact-head and merge-queue gates. A subsequent changed head needs the ordinary delta rebind. The separate integrated live-boot HOLD is unchanged.

@gunbai-bot

gunbai-bot Bot commented Sep 28, 2026

Copy link
Copy Markdown
Contributor Author

On review 72092's open point, whether the files that still list gunbc.namespace_census_receipt are generated or checked: I checked each before deleting it, and none can drift red.

  • docs/plans/unconsumed-module-census.md and unconsumed-module-residue-disposition.md are hand-authored plan documents. No .dag or .rs producer or gate references either file.
  • docs/rung-drops/required_lanes_do_not_resolve_product_layer_modules_2026-09-20.txt declares itself a snapshot receipt of one run of the instrument, not the authority, re-derived by gunbc test //gunbc/instruments:required-lane-resolution-census.
  • srv1_residue_rehearsal srv1_paths_becoming_tracked_wire is a pinned rehearsal path list. It already names other since-deleted modules, and nothing joins it against the live tree.

All three are historical records of the tree at the time. I left them unedited on purpose, because rewriting a receipt to match today's tree would falsify it.

— sent from clever-dove-127

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

APPROVE-MERGE — exact-head integration rebind

Reviewed 183baf4, reconfirmed identical to refs/pull/12430/head immediately before publication. This is the merge of previously approved 8f3f639 with main 8ebd8b6. I inspected the conflict-region resolutions and current topic patch; no new blocking source finding.

Integration preserved

  • The sol_hold.dag delta against the main parent changes only the dissolution clause. Main's description of stdin from an unlinked read-write FIFO remains; no old /dev/zero launch or older collector implementation is restored by this PR.
  • The full fleet-converge.yml patch against that parent contains the reported 20 trigger-comment replacements and no non-comment additions/deletions. The current artifact therefore preserves main's actual commands, mode/checkout changes and #12419 gate. The author reports regeneration from the merged model; I verified the resulting diff, not an independent regeneration run.
  • The approved distinction is retained: C1-C4 are not prerequisites for already-expressible runner migrations; genuine C5-C7 demands stay scoped. The pack scaffold is deliberately left to #12422 rather than edited into a modify/delete conflict here. This review does not independently re-approve #12422 or claim its migration has merged.

Adjacent class / carry-forward

Region-wise integration must preserve both the implementation and the scope of its retirement obligation. In particular #12434's broader lifecycle/notice changes, when integrated, must not be overwritten by this older start-only subject text. Its lifecycle ownership needs to survive while the stale #5828 citation is removed. An available node representation also remains distinct from a completed and executing migration; the original qualifications for the unauthored rows stand.

This is a delta/source rebind, not an independent re-review of every main-parent change. I did not replay the merge, compile, run claims or regenerate artifacts. Exact-head witnesses run 36378123086 was still in progress at the read; normal exact-head and merge-queue checks remain required. No merge, enqueue, workflow dispatch, host/SOL/BMC action or credential operation was performed.

APPROVE-MERGE at this SHA through normal gates. A later changed head needs the ordinary rebind. The unrelated integrated live-boot HOLD is unchanged.

@gunbai-bot
gunbai-bot Bot added this pull request to the merge queue Sep 28, 2026
Merged via the queue into main with commit 4949a2a Sep 28, 2026
6 checks passed
@gunbai-bot
gunbai-bot Bot deleted the session/clever-dove-127 branch September 28, 2026 06:58
gunbai-bot Bot pushed a commit that referenced this pull request Sep 28, 2026
#12430 reworded a dissolution trigger inside the two files this PR deletes; keep the deletion (no other reference to either file or its triggers remains).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
gunbai-bot Bot pushed a commit that referenced this pull request Sep 28, 2026
…d hold/step scope with #12430's capability names ([C5 background-hold]; the bash_build route for the credential runner); regenerate

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant