Skip to content

Sync local commits to main - #83

Merged
hyperpolymath merged 3 commits into
mainfrom
sync-local-updates-1784832713
Jul 23, 2026
Merged

Sync local commits to main#83
hyperpolymath merged 3 commits into
mainfrom
sync-local-updates-1784832713

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Automated sync of local changes

hyperpolymath and others added 3 commits July 23, 2026 19:51
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
@hyperpolymath
hyperpolymath merged commit 28dcdd0 into main Jul 23, 2026
@hyperpolymath
hyperpolymath deleted the sync-local-updates-1784832713 branch July 23, 2026 18:52
hyperpolymath added a commit that referenced this pull request Jul 27, 2026
)

Closes the two remaining red workflows on `main` and removes a stray
licence
file. Three independent defects, each root-caused against the live runs.

## 1. `comprehensive-quality.yml` — duplicate top-level key (parse-dead)

The file declared `permissions: read-all` **twice**, at lines 4 and 12.
GitHub
Actions rejects a workflow with duplicate top-level keys, so it never
parsed.

The tell: the run reported as the raw path
`.github/workflows/comprehensive-quality.yml`
instead of its `name:` (`Comprehensive Quality Gates`) — GitHub never
read far
enough to find the name — with **zero jobs** and `log not found`.

Removed the second occurrence. Both were `read-all`, so **no semantic
change**.

> **Linting note worth keeping:** `yaml.safe_load` reports this file as
> perfectly valid, because PyYAML applies last-wins on duplicate keys.
Any
> workflow linter built on a stock YAML parser is blind to this entire
class of
> defect. Detection needs a loader with an explicit duplicate-key
constructor.

## 2. `scorecard.yml` — reusable permission escalation
(`startup_failure`)

A job-level `permissions:` block **replaces** the default grant rather
than
extending it. Granting only `security-events: write` + `id-token: write`
therefore
left `contents` at **none**.

The reusable
(`standards/.github/workflows/scorecard-reusable.yml@81dbf2dd`)
declares `permissions: contents: read` at `workflow_call` level, and a
reusable
may not request more permission than its caller holds — so the job never
started.

Added `contents: read`, with an inline comment so it doesn't regress.

This is the estate-wide pattern tracked in standards#527. Note that #75
aimed at
this symptom and did not clear it; this addresses the actual grant.

## 3. `LICENSES/AGPL-3.0-or-later.txt` — removed

Nothing in the repo declares `AGPL-3.0`. The canonical pair is
**MPL-2.0 + CC-BY-SA-4.0**, normalised deliberately in #69, and every
manifest
agrees (`Cargo.toml`, `codemeta.json`, `CITATION.cff`; `LICENSE` is the
MPL-2.0
text). The repo's own machine-readable policy is explicit:

```
.machine_readable/6a2/AGENTIC.a2ml:23
# - Never use AGPL license (use MPL-2.0)
```

Sweep residue from `b9aaa6b`, landed on `main` via #83.

## Verification

- Strict duplicate-key scan passes across **all 19** workflow files (was
1 failing).
- `comprehensive-quality.yml` parses to `Comprehensive Quality Gates`,
11 jobs.
- `scorecard.yml` job `analysis` resolves to
  `{contents: read, security-events: write, id-token: write}`.
- The real test is CI on this PR — please confirm both workflows now
start.

## Out of scope, but found — worth a follow-up

- `RSR_COMPLIANCE.adoc:56` and `RSR_OUTLINE.adoc:74,162` describe the
licensing
as **"LICENSE.txt (AGPL + Palimpsest)"**. That contradicts the repo's
actual
MPL-2.0 licensing *and* its own no-AGPL policy, and `LICENSE.txt` does
not
exist (the file is `LICENSE`). Looks like unedited RSR template
boilerplate.
Left alone deliberately — rewriting compliance docs is a judgement call.
- Three Pages workflows (`pages.yml`, `casket-pages.yml`,
`jekyll-gh-pages.yml`)
all deploy on push to `main` — three deployers racing for one
environment.

Draft pending CI. Context: `dev-notes/betlang-sitrep-2026-07-27.md`.

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

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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant