You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
yq -i is not idempotent: a second run moves a comment block (tag-ruleset-canon.yml) #1068
Original (lines 46–63): two comment paragraphs separated by a blank line, both before the Mint… step:
- uses: actions/checkout@3d3c42e5… # v7.0.1# WHICH App's credentials belong in vars.APP_ID / secrets.APP_PRIVATE_KEY:# … (10 lines, the R-14 App-identity rationale)# An App installation token is scoped to ONE owner …
- name: Mint an App installation token for hyperpolymathid: tok-user
Pass 1 keeps both before the step (comment-clean). Pass 2 moves the R-14 block inside the step, between name: and id::
The same drift occurs under a realistic edit (yq -i pin bump). yq -o kyaml does not drift on this file (56/56 idempotent).
Candidate cause, not investigated: go-yaml v3 head/foot comment reattribution around blank lines.
Acceptance criteria
bun prove.js .github/workflows/*.yml (tools/yaml-comment-proof) reports pass-2 drift 0 and idempotent 56/56 for the identity and pin-bump arms — by a yq version, flag, or wrapper that achieves it; or
Y-2 stays NOT IN FORCE, with this issue cited in YAML-POLICY §4 as the reason.
Either way the harness still passes its own controls (calibration + both mutants) in the same run.
Activity