Skip to content

Worktree maa ci repair - #147

Merged
hyperpolymath merged 6 commits into
mainfrom
worktree-maa-ci-repair
Aug 2, 2026
Merged

hyperpolymath merged 6 commits into
mainfrom
worktree-maa-ci-repair

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Closes #

Type of change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (would change existing behaviour)
  • 🕳️ Soundness fix (fixes a checker/proof false-negative)
  • 📖 Documentation
  • 🧹 Refactor / tech debt (behaviour-preserving)
  • ⚡ Performance
  • 🔧 Build / CI / tooling

How has this been verified?

Checklist

  • My commits are signed (git commit -S).
  • I ran the project's own checks/tests locally and they pass.
  • New files carry the correct SPDX-License-Identifier (code/config MPL-2.0,
    prose CC-BY-SA-4.0); I did not relicense existing files.
  • Docs are updated, and no public claim now overstates what the code does.
  • I have not introduced a soundness hole (or I have flagged where I might have).

Notes for reviewers

hyperpolymath and others added 5 commits July 21, 2026 07:12
…e 2026-06-17

`Config::load_config` opened three blocks on one collapsed line but closed only
two, so `cargo build` failed with "this file contains an unclosed delimiter".

Introduced by b5322c2 ("security: remediate Track C and Track E findings"), which
correctly added a 1 MiB read cap to stop a hostile `.aletheia.toml` exhausting
memory, but collapsed the block onto a single line and dropped a brace. The crate
has therefore not built for over a month.

Nothing caught it because nothing ever built this code: `aletheia/` is vendored as
plain files, so its 16 nested workflows never execute, and no root workflow
referenced cargo. A root Rust CI gate lands separately in this branch.

The security intent is preserved exactly — the 1 MiB `take()` cap is retained and
now commented. `mut` is dropped from the binding because `Read::take` consumes
`self`, so it was an unused-mut warning waiting to happen.

Verified: cargo build clean; 26/26 unit tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Mechanical `cargo fmt` across the crate; no behavioural change. This makes the
`cargo fmt --check` gate added in this branch pass from the outset rather than
landing pre-broken.

Note: `rustfmt.toml` sets 18 nightly-only options (wrap_comments, imports_granularity,
group_imports, brace_style, …) which stable rustfmt silently ignores. The formatting
here is therefore stable-rustfmt's, not the configured intent.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Two independent CI defects.

1. aletheia had no CI anywhere.
   `aletheia/` is vendored as plain tracked files (mode 100644), not a submodule.
   GitHub Actions only reads `.github/workflows/` at the repository root, so the 16
   workflow files under `aletheia/.github/workflows/` — rust-ci, codeql, cflite,
   SLSA3 provenance, ghcr-publish — have never executed. No standalone
   `hyperpolymath/aletheia` repo runs them either; it was removed from GitHub in
   early 2026. No root workflow mentioned cargo or rust, and root codeql.yml's
   language matrix excludes Rust, so ~962 lines went entirely ungated. The
   consequence is the month-long compile break fixed earlier in this branch.

   Adds `.github/workflows/rust-ci.yml` at the root: debug + release build, the 26
   unit tests, `cargo fmt --check`, and an explicit zero-dependency check enforcing
   the RSR Bronze constraint from aletheia/CLAUDE.md. It uses the runner's
   preinstalled Rust rather than a third-party toolchain action, so it adds no new
   supply-chain surface.

   Deliberately NOT gated, because both are genuinely red and a hollow green job is
   worse than none: the 27/29 failing integration tests (they exercise a CLI surface
   src/main.rs does not implement) and `clippy -D warnings` (25 findings, mostly
   dead code from modules main.rs never wires up). Both are filed as issues and
   documented in the workflow header. Neither is masked with continue-on-error.

   Adds `aletheia/.github/workflows/README.md` so the next person does not edit an
   inert workflow and wonder why nothing happens.

2. Governance was red on main.
   `.github/workflows/pages.yml` was missing its SPDX header — a real gate catching
   a real defect. Header added to match every other workflow in the directory.

All commands verified locally before committing: build, unit tests, fmt check and
the zero-dependency check all pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The gitlink pointed at ad085baa7d25de23fd9cf4de3e88e5896e35c708, which does not
exist in hyperpolymath/absolute-zero (GitHub API returns 422) and is absent from
the GitLab and Codeberg mirrors. It was orphaned by an upstream history rewrite
during the estate-wide Ddraig SSG rollout.

Consequences: Dependabot has failed since 2026-07-20 with "upload-pack: not our
ref ad085baa…"; any `submodules: recursive` checkout fails; the local submodule
could not be initialised; and the CNO reference implementation was unreachable.

Re-pinned to current upstream main, 87902bb770e767c10e065d9ac75d111e80a01be1.

NOTE FOR REVIEW: this is a semantic bump, not a restore. The content of the old
pin is unrecoverable, so it cannot be verified that 87902bb7 is the intended CNO
state — please confirm. Per .gitmodules, pointer bumps are a deliberate act.

Re-pinning may also not be durable on its own: the pin was orphaned by an upstream
force-push, so the next sweep can re-orphan it. This repo has already oscillated
three times (#89 convert to submodule, bef4c92 remove it, #117 restore .gitmodules).
Worth settling submodule-vs-vendor, or barring force-push on absolute-zero main.

Verified: `git submodule update --init absolute-zero` now succeeds and checks out
87902bb7 cleanly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fixing the missing SPDX header earlier in this branch advanced the Governance
workflow-security linter *past* its first gate — it `exit 1`s immediately after the
SPDX/permissions block — which uncovered a second defect in the same file that had
been masked all along:

    ERROR: Found unpinned actions:
    .github/workflows/pages.yml:25  actions/checkout@v4
    .github/workflows/pages.yml:27  actions/checkout@v4
    .github/workflows/pages.yml:44  actions/upload-pages-artifact@v3
    .github/workflows/pages.yml:57  actions/deploy-pages@v4

Same root cause as the missing header: pages.yml was dropped in by the Ddraig SSG
mass-rollout (#121) without this repo's SPDX + SHA-pinning conventions.

Pins are copied verbatim from .github/workflows/casket-pages.yml — the active,
already-compliant Pages workflow in this repo — rather than newly chosen, so the two
Pages workflows now agree. That also moves upload-pages-artifact v3 -> v5.0.0 and
deploy-pages v4 -> v5.0.0, which is what makes them consistent.

No runtime risk today: "GitHub Pages (Ddraig SSG)" is disabled_manually, so this
unblocks a linter on a workflow that does not currently run.

Verified: every action under .github/workflows/ is now SHA-pinned (no @vN/@main/@master
remains), and both modified workflows parse as valid YAML.

Note: `governance / Check Workflow Staleness` remains red and is NOT addressed here.
It was already failing on main before this branch existed (run 29688088909) — the
standards reusable pins d7c2271 are 59 commits/24d behind HEAD 8813ecf. That refresh
is shared across all callers and is being coordinated centrally, so it is deliberately
left alone.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@gitar-bot

gitar-bot Bot commented Jul 29, 2026 •

Copy link
Copy Markdown

Note

Automatic reviews are paused because your trial's included automatic processing has been used for this period. Upgrade now, or comment "Gitar review" to run a review anytime.
Learn more

Code Review ✅ Approved

Repairs broken compilation and missing Rust CI for aletheia, SHA-pins GitHub Actions in pages.yml, and re-pins the absolute-zero submodule. No issues found.

Auto-approved and auto-merge armed: No blocking issues found.
Please see Auto-approve Docs for details on setting custom approval criteria. — merges when pipeline and required approvals pass.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

@gitar-bot

gitar-bot Bot commented Jul 29, 2026

Copy link
Copy Markdown

⚠️ Gitar auto-approved this PR but could not enable auto-merge: auto-merge is disabled for this repository — enable "Allow auto-merge" in the repository settings.

@gitar-bot gitar-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gitar has auto-approved this PR and enabled auto-merge (configure)

@gitar-bot gitar-bot Bot added the gitar-approved Added by Gitar label Jul 29, 2026
@hyperpolymath
hyperpolymath merged commit 2bf7a13 into main Aug 2, 2026
22 checks passed
@hyperpolymath
hyperpolymath deleted the worktree-maa-ci-repair branch August 2, 2026 11:38
hyperpolymath added a commit that referenced this pull request Aug 3, 2026
Rebased onto current main and brought the two documents back into agreement
with reality. All figures re-checked; none needed changing.

  - OSSF Scorecard is now PASS. It was dying at checkout on the stray gitlink;
    #145 merged and it has been green on main since. Recorded, with the reason
    it could not be proven on the PR: scorecard.yml triggers only on
    push-to-main / schedule / workflow_dispatch, never on pull_request.
  - #145 marked MERGED rather than open.

New landmine, found while re-baselining: **a merged PR can change nothing.**
Both #146 ("ci(codeql): cron weekly→monthly") and #147 ("Worktree maa ci
repair") are empty — `git diff` between their parents and merge commits is
completely blank. #146's stated change was already present; codeql.yml has read
`cron: '0 6 1 * *'` (monthly) since before it merged.

This is the sibling of the landmine already recorded above it. That one says a
merged PR may not contain the work you pushed; this one says a merged PR may not
contain any work at all. A PR title is not evidence the change happened —
check `git diff --stat <parent> <merge>`.

Verified: asciidoctor renders clean; `yq -p toml` parses STATE.a2ml in full.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gitar-approved Added by Gitar

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant