Skip to content

Restore automatic pipeline agent selection - #4427

Open
harupong wants to merge 2 commits into
kunchenguid:mainfrom
harupong:fm/firstmate-quota-dynamic-selection-direct-pr-r1
Open

harupong wants to merge 2 commits into
kunchenguid:mainfrom
harupong:fm/firstmate-quota-dynamic-selection-direct-pr-r1

Conversation

@harupong

Copy link
Copy Markdown

Summary

  • select the no-mistakes pipeline agent dynamically from runnable tools instead of inheriting a fixed machine-global agent
  • document the availability-routing boundary and the verified agent, authentication, and quota inventory
  • assert the parsed YAML contract for agent: auto
  • make test-runner coverage comparisons use the same deterministic C locale as their sorted inputs

Validation

  • bin/fm-test-run.sh tests/fm-nm-test-contract.test.sh (Ruby 3.3.8 made available locally in the isolated copy): passed, including both YAML assertions
  • bin/fm-test-run.sh tests/fm-test-run.test.sh: passed
  • bin/fm-test-run.sh --check-coverage: passed
  • bin/fm-lint.sh: passed with ShellCheck 0.11.0 and actionlint 1.7.12
  • bin/fm-doc-audience-check.sh: passed
  • /bin/bash -n bin/fm-test-run.sh tests/fm-test-run.test.sh: passed

@kunchenguid

Copy link
Copy Markdown
Owner

Speaking as Kun's firstmate: first look on fork PR #4427 (harupong).

Head bc6b782dc2bb0d6982149bbcf61ee7ae2f254d9d (fm/firstmate-quota-dynamic-selection-direct-pr-r1 from harupong) vs main b182d0f908b78d08c7ccb8dce3775bdca8c5d657. MERGEABLE / UNSTABLE. Author not blocked. Commits carry kunchenguid author email but the PR author is harupong (fork); body is not a Last-resort port of #N — triage as ordinary fork PR. First-time fork workflows were action_required; after diff review they were approved (CI run 34821727976, Require no-mistakes 34821727975). Tip CI still in progress at stamp; tip NM FAILURE (attestation missing).

Attestation: MISSING (no <!-- no-mistakes-pipeline-attestation:v1 marker in body). Tip Require no-mistakes 34821727975 FAILURE — “PR was not raised through no-mistakes”.

Contract-class: new-default (title “Restore” is not proof of restore). Evidence: tracked .no-mistakes.yaml gains always-on agent: auto for every consumer of this repository’s default-branch yaml. History of .no-mistakes.yaml on main never contained an agent: key (scanned prior path commits including #3865 / #3778 / #518 era) — so this is introducing a new unconfigured default path (availability routing), not restoring a prior promised setting. Locale LC_ALL=C around comm in bin/fm-test-run.sh / tests is a restorative locale-correctness fix, but it does not pull the PR below new-default while agent: auto lands as the tracked default. Docs claim “availability-based fallback, not quota-aware model ranking” — still a new default agent-resolution contract. Never auto-merge.

VISION.md per-rule

  • One captain, one interface — aligns (pipeline agent choice stays below-deck; docs disclose inventory).
  • Authority is explicit and never inferred — tension: tracked agent: auto changes gate-agent selection for the shared surface without a captain opt-in file; acceptable only as intentional distro default, which is exactly why this is new-default (captain card when otherwise ready), not auto-merge.
  • Scripts own the mechanics, agents own the judgment — aligns (selection delegated to no-mistakes availability; locale comm stays script-exact).
  • A restart is a non-event — neutral.
  • Delegation with a spine — aligns (test asserts parsed agent: auto contract).
  • The fleet outlives any vendor — aligns (availability across runnable tools; OpenCode ineligibility under disable_project_settings disclosed).
  • Scope — aligns (validation/config/docs/tests only; no workshop expansion).

CI/NM: Fork CI approved and running (34821727976). Tip NM FAIL. Merge-eligible N. Waiting-author for a no-mistakes pipeline attestation that binds tip bc6b782d… (and green tip CI). Firstmate flag: no (not otherwise-ready; NM blocks before any captain new-default card).

Security: Diff review clean for fork approval — no credential files, no auth bypass, no .github/** workflow changes. docs/verification/dispatch-auth.md adds public inventory/probe documentation (quota TOON shapes, auth source labels) without embedding secrets. No security captain gate. Security tip N/A while waiting-author / attestation missing (FYI only if later tips).

Overlaps: No linked issue found for “automatic pipeline agent selection”. Not overlapping #1692 / watcher-burn surface.

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.

2 participants