Skip to content

fix(lane-transcripts): list the mutation lane's transcript job-ids - #13642

Merged
kyle-sexton merged 1 commit into
mainfrom
fix/lane-transcripts-mutation-uploader
Nov 6, 2026
Merged

kyle-sexton merged 1 commit into
mainfrom
fix/lane-transcripts-mutation-uploader

Conversation

@kyle-sexton

Copy link
Copy Markdown
Member

No related issue: red-main fix for the #13632/#13637 semantic conflict.

Summary

Main at 50dc172 fails test-node (run 42150021514): scripts/lane-transcripts/pull.test.mjs:212 requires every workflow that calls upload-lane-transcript to be in the puller's TRANSCRIPT_JOB_IDS. #13637 added that sync test; #13632 then added post-merge-test-mutation.yml, which uploads transcripts and is not in the list.

Fix

  • scripts/lane-transcripts/pull.mjs: list post-merge-test-mutation.yml with its six upload job-ids, generate and triage on the key, subscription and fallback legs (legs("generate"), legs("triage")). Each upload step passes job-id: ${{ github.job }} (post-merge-test-mutation.yml lines 421, 749, 1035, 1510, 1867, 2182, in jobs generate, generate-subscription, generate-fallback, triage, triage-subscription, triage-fallback).

Verification

  • node --test scripts/lane-transcripts/pull.test.mjs: 32 of 32 pass, including the sync test that fails on main.

Related

Follow-ups

session: github-support

🤖 Generated with Claude Code

post-merge-test-mutation.yml (#13632) uploads lane transcripts from its
generate and triage jobs on all three legs, but the puller's
TRANSCRIPT_JOB_IDS did not list it, so pull.test.mjs's sync test failed
on main at 50dc172 (run 42150021514).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kyle-sexton
kyle-sexton marked this pull request as ready for review November 6, 2026 02:36
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-11-06T02:36:44.180225Z
We couldn’t complete this review. Comment @codex review to try again.
8532693 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@github-actions

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

claude-security-review reviewed 8532693fc09d9caf9c00d795412e2bea238f83f0: read 1 of 1 changed file(s); 0 finding(s), 0 as inline comments.

Security review: PR #13642

No security issues found.

This PR adds one line to scripts/lane-transcripts/pull.mjs. It puts post-merge-test-mutation.yml in TRANSCRIPT_JOB_IDS, with job-ids built by the existing legs() helper (pull.mjs#L57), so it lists generate and triage on each leg.

What I checked:

  • Fixed names only. The job-ids are hard-coded strings. They are only used to build the fixed artifact names lane-transcript-<id>-<n> in TRANSCRIPT_NAMES (pull.mjs#L83). No input from a pull request, issue or comment reaches them, so nothing new can be injected through a path, a command or a template.
  • No trust control touched. The file matches none of the trusted-path globs and is none of the trust controls: trusted-trigger, token broker or token scope, kill switch, merge holds or the .github/actions/* gates. No workflow permissions: block, plugin manifest or standing instruction changes.
  • Throughput-phase exemption. It removes no friction hold, so nothing needed to be named under it.
  • Embedded text. The PR context contains no instructions aimed at this lane.

Spend: the six added names raise the puller's MAX_LIST_CALLS slightly. Those listing calls come out of the operator's GitHub REST rate limit, which costs nothing.

No CRITICAL findings, so no adversarial refute pass was needed. I read the whole diff: 1 of 1 files, so the review is complete.

critical-findings: 0

@github-actions

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

claude-review reviewed 8532693fc09d9caf9c00d795412e2bea238f83f0: read 1 of 1 changed file(s); 0 finding(s), 0 as inline comments.

Code review: no findings. I read the full diff: one changed file, scripts/lane-transcripts/pull.mjs.

The new TRANSCRIPT_JOB_IDS entry, "post-merge-test-mutation.yml": [...legs("generate"), ...legs("triage")], expands to six job ids: generate, generate-subscription, generate-fallback, triage, triage-subscription and triage-fallback. I checked these against the workflow at head. Its jobs with those names each have an upload-lane-transcript step that passes job-id: ${{ github.job }} (lines 425, 753, 1039, 1514, 1871 and 2186). No other job in that workflow uploads a transcript, so the list is complete and correct. The entry also keeps the map in alphabetical order.

  • Closing issue: none. The PR is a fix for a red main branch with no linked issue, so there are no acceptance criteria to check.
  • Verification: the PR says node --test scripts/lane-transcripts/pull.test.mjs passes 32 of 32. That is the author's claim and I did not confirm it, because this lane has no shell.
  • Trusted paths: the changed file does not match any trusted-path glob.
  • Prior findings: none. This is the first review, not blocking only.
  • Embedded instructions: the PR context contains none.

@kyle-sexton
kyle-sexton added this pull request to the merge queue Nov 6, 2026
Merged via the queue into main with commit 6eb29c4 Nov 6, 2026
67 checks passed
@kyle-sexton
kyle-sexton deleted the fix/lane-transcripts-mutation-uploader branch November 6, 2026 02:49
github-merge-queue Bot pushed a commit that referenced this pull request Nov 7, 2026
… a workflow change (#13925)

No related issue: ledger L377 (test selection misses suites that read
every workflow), left from #13642, #13645 and #11154

## Summary

`scripts/plan-test-lanes.sh` selected a test package on a workflow
change only when one of its suites named that workflow file. Six
packages have suites that list `.github/workflows/` and check every
workflow, so a change to a workflow no suite names skipped them. For
example, `-- .github/workflows/maintenance-delete-stale-branches.yml`
selected only branch-cleanup and lane-transcripts on main.

## Fix

- `.github/workflows/` is added to resolve-config's SUBPROJECTS line,
and OUTSIDE_TRIGGERS rows are added for check-signed-commits,
check-wip-cap, log-api-budget, `.github/scripts/lib` and pr-merge. This
is the selector's existing mechanism for the same gap (#13658).
- A generic scan was not used: a suite that lists the directory names no
workflow, and the listing calls vary (a `readdirSync` grep missed
`pull.test.mjs`).

## Verification

- `scripts/plan-test-lanes.test.sh`: 60 of 60 pass. Against the old
planner the extended suite gives 58 pass and 2 fail: "a workflow no
suite names runs every package whose suites read every workflow", and
the pr-verify.yml case.
- Probe after the fix: `--
.github/workflows/maintenance-delete-stale-branches.yml` selects all
eight packages.
- `selection-audit.test.sh` 20 of 20; the three Node suites that mention
the planner 256 of 256; shellcheck clean.

## Related

- #13658 added the trigger table rows for the lane-transcripts case of
this gap.

## Follow-ups

- Pre-existing (advisory): the fix is per package, so a new suite that
lists the workflows directory will be missed again, the second time
after #13658. A `// test-scope:` declaration for Node suites
(affected-tests.sh R8 accepts only `#` comments today) would close it
for good.
- Pre-existing (advisory): every workflow change now also runs these six
packages, including resolve-config's large callers.test.mjs; the added
wall time is not measured.

session: automation-lanes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: melodic-automation-lanes[bot] <337595936+melodic-automation-lanes[bot]@users.noreply.github.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