Skip to content

fix(ledger): drop stale deed-conformance inline-python entry - #1167

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/inline-python-ledger-deed-20261006
Oct 6, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
fix/inline-python-ledger-deed-20261006

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

#1164 moved deed-conformance.yml from python to bun, which removed its inline-python steps. The workflow stayed listed in the shrink-only ledger .machine_readable/inline-python-allow.txt. scripts/tests/check-inline-python-test.sh fails on a stale entry, so Repo self-tests went red on main after #1164. This PR deletes that one ledger line.

No issue. This is a follow-up to #1164.

Type of change

  • 🐛 Bug fix (non-breaking change that fixes an issue). It removes a stale ledger entry.
  • ✨ New feature: does not apply, no new behaviour.
  • 💥 Breaking change: does not apply.
  • 🕳️ Soundness fix: does not apply.
  • 📖 Documentation: does not apply.
  • 🧹 Refactor / tech debt: does not apply.
  • ⚡ Performance: does not apply.
  • 🔧 Build / CI / tooling. It changes a CI ledger.

📌 New pins

Head SHA: 14e7382

This PR adds or changes no pins: no uses: SHAs, no actions.lock entries, no lockfiles, no container digests.

How has this been verified?

  • bash scripts/tests/check-inline-python-test.sh on this branch → 24 passed, 0 failed. On main, the stale entry made this test fail.
  • Repo self-tests will still be red after this PR. Three tests were already failing on main before feat(deed): bun port of deed_lint + reusable deed-conformance gate #1164: build-registry, build-scorecards and kyaml-format. Their failure counts are identical on a clean main worktree. This PR does not touch them, and they are tracked separately.

Checklist

  • My commits are signed: git log --format=%G? shows G on 14e7382.
  • I ran the project's own checks locally. The inline-python ledger test passes; the three pre-existing failures are described above.
  • New files carry SPDX: does not apply. No new files; one line is deleted from an existing ledger.
  • Docs are updated and no claim overstates. No documentation describes this ledger entry.
  • No soundness hole: the ledger only shrinks, and the test still rejects any growth.

Notes for reviewers

This is a one-line deletion. The ledger format is path:count.

🤖 Generated with Claude Code

https://claude.ai/code/session_01P48P9ErT8UFFeDUfEQiYV7

#1164 replaced the python3 steps in deed-conformance.yml with bun, so the
shrink-only inline-python ledger now names a file with no inline Python and
check-inline-python-test.sh fails "repository ledger drifted" on main
(Repo self-tests). Delete the stale line, as the gate itself instructs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P48P9ErT8UFFeDUfEQiYV7
@coderabbitai

coderabbitai Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 55 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: ec647b11-8312-487e-bc87-f8477a4e39ca
📥 Commits

Reviewing files that changed from the base of the PR and between 44a0de4 and 14e7382.

📒 Files selected for processing (1)
  • .machine_readable/inline-python-allow.txt
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

K9 contract conformance

run https://github.com/hyperpolymath/standards/actions/runs/37481515469

K9 normative contract typecheck

k9_contract.ncl typechecks

K9 contract self-test

== the bash mirrors cannot drift from the normative contract ==
ok   leash_levels mirrors k9_contract.ncl
ok   core_capabilities mirrors k9_contract.ncl
ok   contract_version mirrors k9_contract.ncl
ok   schema_major mirrors k9_contract.ncl
== capability arithmetic (§8) ==
ok   capability_ok fs.read accepted
ok   capability_ok rollback.apply accepted
ok   capability_ok x-acme.gpu.alloc accepted
ok   capability_ok x-acme rejected
ok   capability_ok x-.gpu rejected
ok   capability_ok fs.delete rejected
ok   capability_ok  rejected
== the extractor ==
ok   extracts pedigree.security.leash
ok   extracts pedigree.component_type
ok   extracts pedigree.metadata.name
ok   pedigree leash is not reported as top-level leash
ok   required_capabilities for a quiet component
ok   required_capabilities follows allow_network
== the envelope strip keeps line numbers (§3.6) ==
ok   line 1 becomes a comment
ok   line count is preserved
ok   schema_version stays on line 5
== L3: signature presence is not verification (§10) ==
ok   no verifier -> K9-C001 is SKIPPED, never a pass
ok   the skip states presence does not authorise 'Hunt
ok   verifier accepts -> verdict 'Verified, no K9-C001 finding
ok   verifier refuses -> K9-C001 error, verdict 'Rejected
== the fixture runner's attribution cannot be fooled by a filename ==
ok   every extracted finding is well-formed rule+layer
ok   the rule that really fired is attributed
ok   a rule named only in the filename is NOT attributed
ok   K9-C001 is present as a skipped finding
ok   and that same finding is NOT extractable as a rejection
== no Nickel reserved word is used as an identifier ==
ok   the contract and all 27 fixtures avoid Nickel's reserved words

self-test: all assertions passed

K9 conformance fixtures

== positive controls (must pass) ==
ok   extension-capability.k9.ncl
ERROR   K9-N001 [L2] 1-formats/k9/tools/fixtures/valid/extension-fields.k9.ncl: component violates the K9.Component contract: error: contract broken by a value        extra fields `failure_mode_defenses`, `execution`    ┌─ /home/runner/work/standards/standards/1-formats/k9/tools/fixtures/valid/.k9-validate.9077.6664.driver.ncl:3:1    │  3 │ k9_doc | K9.Component 
FAIL extension-fields.k9.ncl should conform (exit 1)
ok   hunt-fully-granted.k9.ncl
ok   kennel-data.k9.ncl
ok   library-base.ncl
ok   yard-typed-config.k9.ncl

== negative controls (must fail, by the named rule) ==
ok   L0-K9-E001-bad-magic.k9.ncl (rejected by K9-E001 at L0)
ok   L0-K9-E002-nul-byte.k9.ncl (rejected by K9-E002 at L0)
ok   L0-K9-E003-crlf.k9.ncl (rejected by K9-E003 at L0)
ok   L0-K9-E004-no-spdx.k9.ncl (rejected by K9-E004 at L0)
ok   L0-K9-E005-unclaimed-body.k9.ncl (rejected by K9-E005 at L0)
ok   L0-K9-S012-library-with-pedigree.ncl (rejected by K9-S012 at L0)
ok   L0-K9-S014-stray-leash.ncl (rejected by K9-S014 at L0)
ok   L1-K9-S001-no-pedigree.k9.ncl (rejected by K9-S001 at L1)
ok   L1-K9-S002-wrong-major.k9.ncl (rejected by K9-S002 at L1)
ok   L1-K9-S003-todo-component-type.k9.ncl (rejected by K9-S003 at L1)
ok   L1-K9-S004-unknown-leash.k9.ncl (rejected by K9-S004 at L1)
ok   L1-K9-S005-missing-name.k9.ncl (rejected by K9-S005 at L1)
ok   L1-K9-S006-unknown-capability.k9.ncl (rejected by K9-S006 at L1)
ok   L1-K9-S007-ungranted-flag.k9.ncl (rejected by K9-S007 at L1)
ok   L1-K9-S008-hunt-signature-not-required.k9.ncl (rejected by K9-S008 at L1)
ok   L1-K9-S009-hunt-no-signature-block.k9.ncl (rejected by K9-S009 at L1)
ok   L1-K9-S010-hunt-empty-side-effects.k9.ncl (rejected by K9-S010 at L1)
ok   L1-K9-S011-recipes-at-yard.k9.ncl (rejected by K9-S011 at L1)
ok   L1-K9-S013-dangling-import.k9.ncl (rejected by K9-S013 at L1)
ok   L2-K9-N001-two-segment-version.k9.ncl (rejected by K9-N001 at L2)
ok   L2-K9-N001-wrong-field-type.k9.ncl (rejected by K9-N001 at L2)

fixtures: 6 positive, 21 negative (0 needing nickel), 1 failure(s)

@sonarqubecloud

sonarqubecloud Bot commented Oct 6, 2026

Copy link
Copy Markdown

@coderabbitai

coderabbitai Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Add Carrot credits or activate Agent usage billing to use Autopilot

@hyperpolymath
hyperpolymath merged commit b935e63 into main Oct 6, 2026
61 of 70 checks passed
@hyperpolymath
hyperpolymath deleted the fix/inline-python-ledger-deed-20261006 branch October 6, 2026 15:14
hyperpolymath added a commit that referenced this pull request Oct 6, 2026
#1169)

<!--
SPDX-License-Identifier: CC-BY-SA-4.0
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
-->
## Summary

`mirror.yml` has been `startup_failure` on every head since 2026-10-05
(8 of 8 latest runs, last at 44a0de4). Two defects in its lock entry:

1. The job-level record `hyperpolymath/standards@571cc73` carries **no
nested `uses:` list**. The working peers key the same kind of record
**with** one: `hyperpolymath/cicd-squabbler` (mirror `success` at
a4cd088) and `metadatastician/burble`.
2. The callee `mirror-reusable.yml@571cc73` pins
`dtolnay/rust-toolchain@6c977a6`, which has **no** record in this lock.

This PR re-pins `mirror.yml` to `b935e63` (current main). There,
`mirror-reusable.yml` pins only already-recorded refs. It then generates
the record with the repair chain, with no hand edits to `actions.lock`.

Relates to #992. It doesn't close it: the gate-text inversion that #992
describes is a separate defect.

## Type of change

- [x] 🐛 Bug fix (non-breaking change that fixes an issue): `mirror.yml`
creates no jobs today.
- [ ] ✨ New feature: no.
- [ ] 💥 Breaking change: no.
- [ ] 🕳️ Soundness fix: no checker logic changes.
- [ ] 📖 Documentation: no.
- [ ] 🧹 Refactor / tech debt: no.
- [ ] ⚡ Performance: no.
- [x] 🔧 Build / CI / tooling

## 📌 New pins

Head SHA: **cb6face02ef10f6e52be566a864f2ddc22ab55dc**

- `mirror.yml` →
**`hyperpolymath/standards/.github/workflows/mirror-reusable.yml@b935e63`**
(main at 2026-10-06, after #1167). It was `@571cc73`.
- `actions.lock` record
**`hyperpolymath/standards@b935e63`**,
with nested uses **`actions/checkout@3d3c42e5…`** (v7.0.1),
**`dtolnay/rust-toolchain@7e38f4b4…`** and
**`webfactory/ssh-agent@e8387483…`** (v0.10.0). All three were already
recorded.
- `actions.lock` record **`actions/setup-python@v2`** (commit
`e9aba2c8…`). close-lock closed this pre-existing dangling transitive
edge: the `asana/push-signed-commits@d615ca88` record (used by
`.github/actions/signed-push`) names it, but it had no record.
- `hyperpolymath/standards@571cc73` is kept, because `ci-pipeline.yml`
still names it. prune-stale confirmed this.

## How has this been verified?

Commands run in the worktree at the head SHA:

- `scripts/complete-job-refs.sh` added 1 ref. `build-dep-records.sh`,
the 09-22 census generator that matched burble's record exactly,
reported "RECORD …@b935e63 (nested uses: 3)". `scripts/close-lock.sh`:
pass 1 found 1 dangling edge, pass 2 found 0. `scripts/prune-stale.sh`:
done, 0 oracle vetoes.
- `.githooks/validate-actions-lock.sh` (`uses ⊆ actions.lock`): rc=0.
- `scripts/check-lock-sync.sh`: rc=0, "in sync … Job-level
reusable-workflow refs included".
- `scripts/check-actions-lock-gate.sh` and `GH_BIN=gh
scripts/update-actions-lock.sh --verify-local`: rc=0.
- `gh actions-lock --no-fix --verify`: rc=1, because
`signed-push-smoke.yml` uses local path actions. This is **identical on
`origin/main`**, measured in a throwaway detached worktree, so this PR
doesn't cause it.

The proof is the `mirror.yml` run on this branch's push. It must create
jobs (not `startup_failure`). It isn't proven until that run reads green
or skipped.

## Checklist

- [x] My commits are **signed** (`git commit -S`): `%G?` = G.
- [x] I ran the project's own checks locally: the four lock gates above
pass, and `gh actions-lock --verify` fails the same way as on main.
- [x] New files carry the correct SPDX identifier: there are no new
files.
- [x] Docs and claims: no docs change. This body says the fix is
unproven until the run.
- [x] No soundness hole: lock data only, and no gate logic touched.

## Notes for reviewers

- Standards main is under Lock-Floor (no bypass), so this has to merge
with `governance / Actions lockfile verify` and `uses ⊆ actions.lock`
green.
- Every `actions.lock` change came from the repair-chain tools. No sed
and no hand edits.

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

https://claude.ai/code/session_012kgrMQRhSmZMBbF9Ui1zBw

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.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