Skip to content

fix(tri gates shell): a step whose run: key comes first is a step - #5894

Merged
gHashTag merged 1 commit into
masterfrom
fix/shell-census-inline-run-steps
Oct 4, 2026
Merged

gHashTag merged 1 commit into
masterfrom
fix/shell-census-inline-run-steps

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 4, 2026

Copy link
Copy Markdown
Owner

Closes #5882

tri gates shell matched trim_start().starts_with("run:"), so a step written - run: echo one (run: the first key of its list item) was not counted: a one-step workflow printed run: steps 0, and the same step under - name: one printed 1. run_block (shared with tri gates quiet) walked up past such a key to the previous step's run: and scoped its subject search there.

  • cli/tri/src/gates.rs: new step_key takes a list-item dash off and returns the key's column. shell_steps is split from the printer so step shapes are testable without a checkout. It uses step_key for run: and shell:. run_block measures the block from the key column, so shell: / working-directory: / env: after - run: | are the step's keys, not its script. - uses: items are not counted.
  • docs/now/2026-10-04-...md: the NOW entry.

Measured on 846ba27 (rebased on master c8afc32):

  • cargo test -- shell run_block step_key first_key quiet: 31 passed
  • negative control: step detection in shell_steps reverted to trim_start() -> 6 shell tests FAILED; file restored byte-identical
  • tri census pin --gate: the 3 pinned readings unchanged. No t27 workflow uses the - run: shape today, so nothing moves.
  • rustfmt --check src/gates.rs: clean

Not changed: a shell: anywhere in a job still declares every step of that job; a workflow-level defaults.run.shell is not read.

Provenance: the owner asked for this mid-tick 21 of the queen-board loop (cron 8782e5f8). A background agent wrote it and its session ended before it committed. Tick 22 re-ran the tests, ran its own negative control, rebased and opened this PR. The agent's further controls (block measured from the dash column, first-key - shell: reverted) are described in the NOW entry and were not re-run here.

🤖 Generated with Claude Code

`- run: echo one` puts run: first in its list item; the census matched
trim_start().starts_with("run:") and so counted 0 steps for it, and
run_block walked up past it to the previous step's run:. New step_key
takes the list dash off and returns the key's column; shell_steps (split
from the printer, testable) and run_block both use it, so shell: and
working-directory: after a first-key run: are the step's keys, not script.

Controls: step detection reverted -> 6 shell tests red. No t27 workflow
uses the shape today, so the pinned census is unchanged.

Closes #5882

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-04 04:05:33 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 43
PRs with All Checks Green 7
READY 5
FAILING 43
PENDING 0
NO CHECKS YET 0

These columns do not partition: 5 + 43 + 0 + 0 = 48, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=b45a356c2eb6 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

This was referenced Oct 4, 2026
@gHashTag
gHashTag merged commit 89ea865 into master Oct 4, 2026
42 of 43 checks passed
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.

tri gates shell: a step whose run: key is first in its list item (- run: ...) is not counted

1 participant