Repository navigation
CliTool carries its ProgramIdentity (program-install lane PR 2) - #12630
Merged
Merged
Conversation
…Tool/ResolveResult Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…h stale .name / resolve citations Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…a pin subject's program through a CliTool-typed helper Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Sep 30, 2026
#12738 is orphaned WIP whose first three commits already landed on main as #12630, and whose raw argv builders were since dissolved by #12751. Resolution: - dag/extdeps/{bmc/webui/nbd_proxy_serve,exec/program,tools/nbdkit,tools/websocat}.dag and the nbd_proxy_serve_transport / srv3_host_effect_apply witnesses: ours (main after #12751). The theirs side is the pre-#12751 shape of the same change. - tool_pin / tool_readiness witnesses: theirs adds only the WORKAROUND annotation on the tool_invocation helper both sides already carry; kept, with the failure-mode row it cites. - dag/zz_scratch_typecheck/{repro,evalrepro}.dag (the WIP commit): dropped. They are unenrolled scratch probes with no consumer. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
PR 2 of the uniform program installation/access lane (node adhoc-573df38a-4f7; PR 1 was #12602).
What changes
extdeps.toolsCliToolcarriesprogram: ProgramIdentityinstead ofname: NonEmptyStr. The catalog row and the argv builders now name one declaration: the program the fleet probes for is the program it runs. This is the ruling from the lane manager: identity is a lower fact than acquisition, soCliToolis a row that carries the identity together with itsinstallable_via.fn <tool>_program() -> ProgramIdentity = cataloged_program(...)in its own module and an entry incataloged_program's admit list.CliTool.namemove to.program.invocation, in extdeps, gunbc and the witnesses. No destructuring existed.extdeps.toolsresolve,ResolvedToolandResolveResulthad no caller (the old note said so). Delete-first, because PR 3's host-program standing replaces what they would have been.host_cli_dependency_wet_witness_test's always-present probe row is now coreutilstrue(true_cli_tool), since no echo identity exists. Its witness function keeps its name becauselocal_repo_wet_terminalandfloor_route_gapenroll it by name.Evidence
Every module that references
CliTool, a*_cli_toolrow or an identity function (4 chunks) was typechecked locally with the branch'sgunbc. They are clean except for one refusal ingunbc.srv3_host_effect_apply(effect summary incomplete: calls intoos_install_actuator_selection/nbd_proxy_virtual_media_installname no registry row). That refusal reproduces identically on a clean export of main, so it predates this PR.Workaround, recorded
test.claim.tool_pin_witnessandtest.claim.tool_readiness_witnessread a pin subject's program through aCliTool-typed helper,tool_invocation. Readingsubj.program.invocationdirectly through thePinRefused { subject }binder typechecks and then fails at evaluation witherror type cascade. The reduced shape is a generic fn whose type argument is inferred from its argument, then a two-level field read through the pattern binder; it reproduces with local types. It is filed asgunbc.recurring_failure_modenested_field_read_through_a_binder_of_an_inferred_generic_result, and the helpers delete when that row climbs. neat-pike-685 confirmed it is not the optional-cardinality fix they are landing: their fixed build still fails on the reduction.Residue and next
cataloged_programstill admits identity rows, not theCliToolrows themselves, so nothing forces a catalog row to exist for a cataloged identity. The module comment now states the two blockers:CliToolrows aredata(gunbc.recurring_failure_modeadmit_callers_names_no_caller_for_a_data_declaration), andextdeps.exec.command's builders sit belowextdeps.tools.EnsureProgramtogether with their consumers:gunbc.host_cli_dependency's local probe andsrv3_ensure_apt_tool's remote probe and apt install, under a subject-neutral name. The lane manager was told of this resequencing. PR 4 is verified artifacts; PR 5 is ntfy.🤖 Generated with Claude Code