Repository navigation
fix(watch): the workflow list query iterates .workflows[] - #1781
Merged
Merged
Conversation
The first live run failed in one second: the workflows endpoint returns an
object {total_count: 80, workflows: [...]}, and .[] handed jq the number 80
first -- 'expected an object but got: number (80)'. One word; the rules in the
card are untouched.
Summary by t27-beesThe fix changes the jq query to iterate Worth a look
Read: 1 files, +1 -1, the whole diff. Head |
Contributor
X Brain Health CheckScore: 100.0/100 X Brain is above merge threshold |
Contributor
🧪 Brain Stress Test ResultsTests: 261/261 passed, 0 leaked |
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.
Follow-up to #1779 (issue #1778): the first live run of the red watch failed in one second —
gh api .../actions/workflows -q '.[] | ...'iterated the response OBJECT, and jq met{total_count: 80, ...}'s number first:expected an object but got: number (80). The fix is one word:.workflows[]. The rules in the t27 card are untouched; dispatch will be re-run as the proof after merge.Owner approval (foreign edit): the owner's standing instruction of 2026-10-27, verbatim: "да все три и сделай сам автономно и в конце три варианта ускорения по правилу парето и писать все на .t27".
{ "version": 1, "head_sha": "8715405dcd2403ebb0980ccc77efddc7422c5da4", "summary": "One-word fix to the red watch's workflow-list jq query: iterate .workflows[] instead of the whole response object, which put the number 80 in jq's path and failed the first live run in one second.", "changes": [ ".github/workflows/main-red-watch.yml: the workflow-list query becomes .workflows[] | [.id, .name, .path] | @tsv; nothing else moves, the card's rules are untouched." ], "tests": [ { "command": "the first live dispatch of the watch (run 40448754580)", "result": "failed with 'expected an object but got: number (80)' -- the defect reproduced from the real endpoint's shape, not guessed", "status": "passed", "evidence": "The run's own log line, 2026-10-27T04:15:57Z; the fix targets exactly that input." }, { "command": "python3 -c \"import yaml; yaml.safe_load(open('.github/workflows/main-red-watch.yml'))\"", "result": "the workflow still parses as valid YAML", "status": "passed", "evidence": "Run on this tree after the fix, 2026-10-27." } ], "limitations": [ "The watch has not yet completed a green run; the dispatch after this merge is the proof, and the next scheduled run is 05:47 UTC." ], "tags": ["Ci", "Crons"], "blog": { "title": "One word in the watch's first eyeblink", "summary": "The red watch's first live run died in one second on a number where an object was expected; the endpoint wraps its list, and the query now unwraps it.", "outline": [ "What the first dispatch measured: a one-second death with 'expected an object but got: number (80)', and why that number is the list's own total_count walked by the wrong iterator.", "The one-word fix and why the rules in the cron card never moved while the host learned the endpoint's shape.", "What the proof run owes: a green dispatch after merge, and the 05:47 UTC schedule carrying it from there." ] } }