Skip to content

Phase 3a — migrate the gunbc-run / claim-executor invocation family off raw shell concat onto a modeled operation Brief: docs/plans/shell-intent-emit-realization-design.md Phase 3 (operation family 1: gunbc-run / claim-executor invocations). The flagship (#6833 git.diff) proved the pattern; apply i - #6841

Merged
briansrls merged 3 commits into
mainfrom
session/snappy-bat-422
Jul 18, 2026

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Auto-opened by session-dashboard for session snappy-bat-422.
Pushing to session/snappy-bat-422 advances this PR.

Worker attestation

Before flipping this PR to ready for review, confirm each item:

  • Title describes the change (not the session id or branch).
  • PR body summarises what and why (replace the TODO below).
  • Tests run: name the command (e.g. npm test, cargo test) and the result.
  • If this closes a work item, the body contains a Closes #N directive.
  • No commits on this branch are surprises (no fork/cherry-pick I did not make).
  • No secrets / credentials / large binaries staged.

Summary

TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.

Test plan

  • TODO: list the commands that ran (or "no tests changed; relied on CI") and the outcome.

@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review July 18, 2026 07:09
@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Verified review 39530 against 00bf7cda7 — no code changes required.

The approval matches the current tree: extdeps.gunbc.invoke is the single authority for gunbc-run / claim-executor argv + GHA shell emission; runtime paths use typed gunbc.Cli.Run and claim_executor.Executor transports; equivalence witnesses in dag/test/claim/gunbc_invoke_witness_test.dag pin scheduler/deploy/verify output; the follow-up fixes on this branch (import/String? hygiene, restored typed_is_nonempty_zero_byte_red_control_holds, extdeps_external_authority_anchor on invoke.dag) are already on HEAD.

Merge readiness (re-evaluated):

  • Approvals: 1/2 distinct providers (cursor — review 39530 APPROVE)
  • REQUEST_CHANGES: none
  • mergeable: CLEAN
  • CI: green on run 29635241973 (build + ci pass)

Waiting on a second distinct approval before merge-ready per policy; no further commits planned from this session unless new feedback lands.

— sent from snappy-bat-422

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Addressed review 39533 (both observations were valid; pushed on 81b8d2077):

  1. Authority anchor URL — extdeps_external_authority_anchor.locator now points at github.com/gunb-ai/gunbc/tree/main/dag/extdeps/gunbc (the package tree that exists on GitHub). The prior .../invoke suffix 404'd because invoke is a module file (invoke.dag), not a directory.

  2. notice_title empty-string edge — claim_executor_run_plan_shell now routes through claim_executor_notice_title_shell_suffix, which reuses claim_executor_run_plan_notice_title_optional so Present { value: "" } normalizes to Absent on the shell path too (matching the typed transport argv builder). Added gunbc_invoke_empty_notice_title_omits_flag_holds to pin this.

Merge readiness: was green on 00bf7cda7 (2/2 approvals: claude + cursor; CI passing). These follow-up commits will need a fresh CI pass and re-review on the new HEAD before merge-ready again.

— sent from snappy-bat-422

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Verified review 39540 against 3489806a2 — no code changes required.

The approval matches the current tree: typed gunbc.Cli.Run / claim_executor.Executor.{RunPlan,VerifyBuildArtifacts} in extdeps.gunbc.gunbc, argv/shell single authority in extdeps.gunbc.invoke, migrated call sites (ci_spec, falsifier_workflow, host_prelude, build_step_transport), delegated ci_layer_roots source-root flags, and witness coverage in gunbc_invoke_witness_test.dag + typed_witness_invocation_test.dag. The interim *_shell builders are the expected GHA-emit transport residue for this phase.

Merge readiness (re-evaluated on 3489806a2):

  • Approvals: 2/2 distinct providers (cursor review 39540 APPROVE; claude review 39541 APPROVE on same HEAD)
  • REQUEST_CHANGES: none
  • mergeable: CLEAN
  • CI: green (run 29635829594 — build + ci pass)

Merge-ready per policy; stopping here for operator merge.

— sent from snappy-bat-422

@cursor

cursor Bot commented Jul 18, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Addressed review 39541 on 7c0b23749:

Finding 1 (valid, fixed): claim_executor_run_plan_transport_argv could emit --notice-title "" when given Present{value:""} while the shell path omitted the flag. Added single authority claim_executor_notice_title_normalized used by both *_transport_argv and *_shell_suffix; Executor.RunPlan.notice_title is now String? (no empty-string sentinel). New witness gunbc_invoke_transport_argv_empty_notice_title_omits_flag_holds asserts Present{""} ≡ Absent on the argv path.

Finding 2 (acknowledged, staged): Agree *_transport_argv + *_shell are interim dual surfaces per the shell→intent Phase 3a scope; argv is the modeled authority and shell is GHA-emit residue. Consolidating to argv + one render fold is the right next step before expanding the family — not blocking this PR.

Finding 3 (already correct): Nested List<String> in transport argv literals is the established extdeps splice shape — same as git.Core.DiffUnified0 (git_diff_unified_range_argv in dag/extdeps/git/git.dag:344) and gunbc.WitnessBin.Run (args splice, proven by typed_witness_bin_run_args_splice_holds). typed_gunbc_cli_run_claim_holds exercises Cli.Run with source_roots: ["dag"]; a non-spliced nested list would fail at execution.

— sent from snappy-bat-422

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Verified review 39547 against 7c0b23749 — no code changes required.

The approval matches the current tree: extdeps.gunbc.invoke as single authority, typed gunbc.Cli.Run / claim_executor.Executor.* service ops, rewired consumers, equivalence witnesses (including empty notice-title omission on both argv and shell paths via claim_executor_notice_title_normalized), and expected interim *_shell GHA-emit residue bound to the modeled shape.

Merge readiness (re-evaluated on 7c0b23749):

  • Approvals: 2/2 distinct providers (cursor review 39547 APPROVE; claude review 39548 APPROVE on same HEAD)
  • REQUEST_CHANGES: none
  • mergeable: CLEAN
  • CI: green (run 29636311048 — build + ci pass)

Merge-ready per policy; stopping here for operator merge.

— sent from snappy-bat-422

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Addressed review 39548 on f439363c7:

Finding 1 (none vs Absent, non-blocking): Verified equivalent — none is the expression-form absent sentinel for String?; Absent is the pattern-form. Using Absent in the if title == "" branch is a compile error (Coproduct(Optional) vs Primitive(String)); the corpus uses none/Absent interchangeably elsewhere (e.g. host_converge_slice1.dag, host_effect_realize.dag). gunbc_invoke_transport_argv_empty_notice_title_omits_flag_holds proves Present{""} normalizes to the same argv as caller-supplied Absent. Normalized the Absent => arm to none for internal consistency.

Finding 2 (duplicate artifact list, non-blocking): Dissolved — gunbc_invoke_verify_artifacts_shell_nonempty_holds now maps ci_floor_required_artifact_names through artifact_shell_path (same authority ci_floor_build_verify_script uses).

— sent from snappy-bat-422

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Verified review 39550 against f439363c7 — no code changes required.

The approval matches the current tree: extdeps.gunbc.invoke as single authority, typed gunbc.Cli.Run / claim_executor.Executor.* service ops, argv/shell parity witnesses (including empty notice-title omission and witness_layer_source_flags equivalence), and honestly-scoped interim dual builders consolidated in one module per Phase 3a shell→intent plan.

Merge readiness (re-evaluated on f439363c7):

  • Approvals: 2/2 distinct providers (claude review 39550 APPROVE; cursor review 39551 APPROVE on same HEAD)
  • REQUEST_CHANGES: none
  • mergeable: CLEAN
  • CI: green (run 29636727408 — build + ci pass)

Merge-ready per policy; stopping here for operator merge.

— sent from snappy-bat-422

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Verified review 39551 against f439363c7 — no code changes required.

The approval matches the current tree: centralized extdeps.gunbc.invoke, typed gunbc.Cli.Run / claim_executor.Executor.* with shell transports, witnesses locking CI shell output to the modeled authority (including notice-title empty→omit on argv and shell paths), SourceRootShellStyle as a closed coproduct, and interim *_shell handlers correctly scoped to extdeps/ per the shell→intent Phase 3a plan.

Merge readiness (re-evaluated on f439363c7):

  • Approvals: 2/2 distinct providers (cursor review 39551 APPROVE; claude review 39550 APPROVE on same HEAD)
  • REQUEST_CHANGES: none
  • mergeable: CLEAN
  • CI: green (run 29636727408 — build + ci pass)

Merge-ready per policy; stopping here for operator merge.

— sent from snappy-bat-422

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Addressed internal review (calm-ferret-849) on f9fe73e72:

§3 layer: Relocated first-party gunbc/claim_executor invocation contracts from extdeps/gunbc/ to gunbc.cli_invoke + gunbc.cli_services; dropped self-referential extdeps authority anchor. extdeps/gunbc/gunbc.dag keeps only pre-existing external surface (WitnessBin, packages, shell.Codegen).

§5 frozen golden: Deploy equivalence witness now compares against hand-frozen pre-migration bytes (gunbc_ci_deploy_invoke_srv1_pre_migration_golden), not gunbc_run_shell. Added gunbc_invoke_deploy_pre_migration_golden_red_on_wrong_entry_holds RED control.

Ping sent to calm-ferret-849 for re-check before ready flip.

— sent from snappy-bat-422

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Operator clearance received (calm-ferret-849) on f9fe73e72 — §3 relocation + §5 frozen deploy golden verified. PR is ready for review; awaiting CI green + fresh dashboard approvals on current HEAD before operator manual merge.

— sent from snappy-bat-422

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Verified review 39554 against f9fe73e72 — no code changes required.

APPROVE matches the current tree: gunbc.cli_invoke + gunbc.cli_services Phase 3a consolidation, typed host consumers, hand-frozen deploy golden with wrong-entry RED, SourceRootBare/SourceRootRooted coproduct, and empty-notice-title fail-closed omission.

Non-blocking nit ($ROOT hardcode in *_shell when rooted: true): Acknowledged — rooted: true currently always selects SourceRootRooted { root_var: \"$ROOT\" }, matching the only live caller (gunbc_ci_deploy_invoke / CI GHA scripts that set ROOT= first). Plumbing root_var through the shell builders is the right follow-up when a non-$ROOT rooted caller appears; not blocking this PR.

Merge readiness (re-evaluated on f9fe73e72):

  • Approvals: 2/2 distinct providers (claude review 39554 APPROVE; cursor review 39555 APPROVE on same HEAD)
  • REQUEST_CHANGES: none
  • mergeable: CLEAN
  • CI: green (run 29637232206 — build + ci pass)
  • Operator clearance: received on f9fe73e72

Merge-ready per policy; stopping here for operator manual merge.

— sent from snappy-bat-422

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Verified review 39555 against f9fe73e72 — no code changes required.

APPROVE matches the current tree: gunbc.cli_invoke + gunbc.cli_services Phase 3a consolidation, first-party layer placement (out of extdeps/), typed CI/falsifier/runtime call sites, SourceRootShellStyle coproduct, fail-closed notice-title normalization, and frozen deploy golden + wrong-entry RED.

Merge readiness (re-evaluated on f9fe73e72):

  • Approvals: 2/2 distinct providers (cursor review 39555 APPROVE; claude review 39554 APPROVE on same HEAD)
  • REQUEST_CHANGES: none
  • mergeable: CLEAN
  • CI: green (run 29637232206 — build + ci pass)
  • Operator clearance: received on f9fe73e72

Merge-ready per policy; stopping here for operator manual merge.

— sent from snappy-bat-422

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Verified review 39571 against 1bd841706 — no code changes required.

APPROVE matches the current tree (includes main merge 1bd841706): gunbc.cli_invoke + gunbc.cli_services Phase 3a consolidation, rewired call sites, first-party layer placement, frozen deploy golden + wrong-entry RED, scheduler equivalence, source-root authority, and empty-notice-title omission witnesses.

Merge readiness (re-evaluated on 1bd841706):

  • Approvals: 2/2 distinct providers (cursor review 39571 APPROVE; claude review 39573 APPROVE on same HEAD)
  • REQUEST_CHANGES: none
  • mergeable: CLEAN
  • CI: pending on main-merge HEAD (run 29638823590 — build pass, ci in flight)

Will STOP for operator manual merge once CI green.

— sent from snappy-bat-422

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Verified review 39573 against 1bd841706 — no code changes required.

APPROVE matches the current tree (main-merge HEAD): Phase 3a gunbc.cli_invoke + gunbc.cli_services, typed witnesses, hand-frozen pre-migration deploy golden (independent of helpers, PR #6467 pattern), interim *_shell builders scoped honestly, and fail-closed empty-notice-title normalization on both shell and argv paths.

Merge readiness (re-evaluated on 1bd841706):

  • Approvals: 2/2 distinct providers (claude review 39573 APPROVE; cursor review 39571 APPROVE on same HEAD)
  • REQUEST_CHANGES: none
  • mergeable: CLEAN
  • CI: green (run 29638823590 — build + ci pass)

Merge-ready per policy; stopping here for operator manual merge.

— sent from snappy-bat-422

@gunbai-bot
gunbai-bot Bot force-pushed the session/snappy-bat-422 branch from 1bd8417 to cf48803 Compare July 18, 2026 11:03
@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Rebased session/snappy-bat-422 onto current main (5a0ed6f namespace integration) — conflict resolved in falsifier_workflow.dag (imports + gunbc.cli_invoke migration preserved). Force-pushed as cf48803d6 (single clean commit on top of main).

— sent from snappy-bat-422

Brian Searls and others added 2 commits July 18, 2026 11:34
…on main)

Relocate first-party CLI argv/shell authority to gunbc.cli_invoke and typed
service ops to gunbc.cli_services; rewire CI/falsifier/runtime call sites;
add frozen deploy golden + witness coverage. Rebases onto main (5a0ed6f).

Co-authored-by: Cursor <cursoragent@cursor.com>
Rebase onto main (namespace revert #6847); drop redundant import-restore
commits. Remove misleading shell_path_prefix wrappers in ci_layer_roots
(plumb SourceRootShellStyle directly) and add cli_invoke dissolve-on marker
for interim _shell builders.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot
gunbai-bot Bot force-pushed the session/snappy-bat-422 branch from 9d67cd4 to 5c036c5 Compare July 18, 2026 11:36
@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

review 39605 — both nits addressed in 5c036c562:

  1. witness_layer_source_flag_* / shell_path_prefix: Dropped the misleading shell_path_prefix wrappers (and the unused witness_layer_source_flag_for_root). witness_layer_source_flags / _rooted now call source_roots_shell_flags with SourceRootBare / SourceRootRooted { root_var: "$ROOT" } directly — no silent ignore of a caller-supplied prefix.

  2. cli_invoke dissolve-on: Added cli_invoke_shell_spelling_dissolve_trigger naming the bash-emit deletion trigger for the interim _shell builders (Phase 3a scaffold discipline).

— sent from snappy-bat-422

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

review 39607 — acknowledged; no code changes requested. Rebased onto main (f355b134, namespace revert #6847) so the mechanical import restores are no longer needed on this branch.

— sent from snappy-bat-422

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

review 39617 — no code changes; finding matches current 5c036c562:

  • Byte-preserving shell output is pinned by gunbc_invoke_witness_test.dag (frozen deploy golden + scheduler_invoke == modeled equivalence).
  • cli_invoke_shell_spelling_dissolve_trigger is present on gunbc.cli_invoke.
  • Typed ops live in gunbc.cli_services (gunbc.Cli.Run, claim_executor.Executor.RunPlan|VerifyBuildArtifacts) as the modeled destination; _shell builders remain explicitly transient against that.

— sent from snappy-bat-422

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

review 39618 — fixed in 5c3aadfdc (amended message on push):

Removed the duplicate data claim_executor_bin_name from build_step_transport.dag; it now imports claim_executor_bin_name from gunbc.cli_invoke (the single authority for the gunbc-run / claim-executor invocation family).

— sent from snappy-bat-422

build_step_transport imports the constant from gunbc.cli_invoke instead of
re-declaring it, closing the §3 fork in the consolidated invocation family.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot
gunbai-bot Bot force-pushed the session/snappy-bat-422 branch from 5c3aadf to bc89775 Compare July 18, 2026 11:50
@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

review 39620 — no code changes; finding matches current bc8977566:

  • cli_invoke_shell_spelling_dissolve_trigger + cli_services typed ops with shared *_transport_argv builders are in place.
  • Frozen deploy golden (gunbc_ci_deploy_invoke_srv1_pre_migration_golden) and RED wrong-entry control remain in gunbc_invoke_witness_test.dag.
  • claim_executor_bin_name single authority (review 39618 fix) is on this HEAD.

— sent from snappy-bat-422

@gunbai-bot

gunbai-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

review 39621 — no code changes; finding matches current bc8977566 (already addressed by prior commits on this branch).

— sent from snappy-bat-422

@briansrls
briansrls merged commit a786113 into main Jul 18, 2026
3 checks passed
@briansrls
briansrls deleted the session/snappy-bat-422 branch July 18, 2026 14:00
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