Skip to content

fix: allow REUSE LICENSES/ dir in root-shape allowlist - #22

Merged
hyperpolymath merged 3 commits into
mainfrom
fix/root-allow-licenses
Jul 27, 2026
Merged

fix: allow REUSE LICENSES/ dir in root-shape allowlist#22
hyperpolymath merged 3 commits into
mainfrom
fix/root-allow-licenses

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

  • check-root-shape.sh was rejecting LICENSES/, the directory REUSE compliance mandates for licence texts.
  • .machine_readable/root-allow.txt never listed it, so a correctly-REUSE-compliant repo was being flagged as root drift.
  • Adds the canonical allowlist entry, copied verbatim from the already-fixed reference at this-ssg.

Test plan

  • bash scripts/check-root-shape.sh . no longer flags LICENSES/
  • Only .machine_readable/root-allow.txt touched (1 line added)

🤖 Generated with Claude Code

check-root-shape.sh was rejecting the REUSE-mandated LICENSES/ directory
as root drift because .machine_readable/root-allow.txt never listed it.
Add the canonical entry (matching the already-fixed this-ssg reference).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@hyperpolymath
hyperpolymath marked this pull request as ready for review July 27, 2026 19:05
@hyperpolymath
hyperpolymath enabled auto-merge (squash) July 27, 2026 19:06
@hyperpolymath
hyperpolymath disabled auto-merge July 27, 2026 19:12
@hyperpolymath
hyperpolymath enabled auto-merge (squash) July 27, 2026 19:13
@hyperpolymath
hyperpolymath disabled auto-merge July 27, 2026 19:59
Measured the gate's actual output rather than guessing: 7 entries at root were
absent from the allowlist -- ARCHITECTURE.md, CODE_OF_CONDUCT.md, Containerfile,
GOVERNANCE.md, MAINTAINERS, mise.toml, flake.nix.

All are legitimate files, so they are allowlisted with justifications rather than
deleted. Two genuine inconsistencies are recorded as TODOs instead of being
silently blessed: the allowlist names GOVERNANCE.adoc / MAINTAINERS.adoc while
this repo carries GOVERNANCE.md / MAINTAINERS, and mise.toml duplicates the
estate-canonical .tool-versions.

flake.nix is marked TOLERATED, NOT BLESSED -- Nix retired 2026-06-01, but its
removal is a policy decision (backlog A), not a CI-unblocking one.

Verified locally: check-root-shape.sh exits 0 clean, exits 1 with a probe file.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

@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 (configure)

@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit 2bd102e into main Jul 27, 2026
37 of 38 checks passed
@hyperpolymath
hyperpolymath deleted the fix/root-allow-licenses branch July 27, 2026 21:00
@gitar-bot

gitar-bot Bot commented Jul 27, 2026

Copy link
Copy Markdown
CI failed: CI failures occurred due to an unfilled placeholder token in an ecosystem config file, K9 contract validation errors in example files, and an unallowed markdown file under the docs directory.

Overview

Multiple CI checks failed across different workflows: the openssf-compliance check failed due to an unfilled placeholder token in .machine_readable/6a2/ECOSYSTEM.a2ml, the K9 contract validation failed due to missing magic numbers and pedigree blocks in example files, and the docs format check failed due to a .md file present in docs/ where AsciiDoc is required.

Failures

OpenSSF Compliance Placeholder Error (confidence: high)

  • Type: build
  • Affected jobs: 90106361075
  • Related to change: yes
  • Root cause: The file .machine_readable/6a2/ECOSYSTEM.a2ml contains an unfilled placeholder token ({{PLACEHOLDER}}) on line 20, which violates OpenSSF best practices.
  • Suggested fix: Edit .machine_readable/6a2/ECOSYSTEM.a2ml to remove or fill in the placeholder token, or run just init locally.

K9 Contract Validation Errors (confidence: high)

  • Type: test
  • Affected jobs: 90106361050
  • Related to change: yes
  • Root cause: Example K9 contract files under .machine_readable/self-validating/examples/ failed validation due to missing 'K9!' magic numbers, missing pedigree blocks, or incorrect metadata fields.
  • Suggested fix: Ensure all scanned K9 contract files include the required 'K9!' magic number and valid pedigree blocks with all necessary fields.

Markdown File in Docs Directory (confidence: high)

  • Type: test
  • Affected jobs: 90106360960, 90106874682
  • Related to change: no
  • Root cause: Found a .md file (docs/tech-debt-2026-05-26.md) under docs/, violating the repository rule requiring AsciiDoc (.adoc) by default unless allowlisted.
  • Suggested fix: Convert docs/tech-debt-2026-05-26.md to .adoc or add it to the allowlist in scripts/check-no-md-in-docs.sh.

Summary

  • Change-related failures: 2 failures (OpenSSF compliance placeholder token and K9 contract validation issues)
  • Infrastructure/flaky failures: 0 failures
  • Recommended action: Fix the placeholder in the ecosystem config file, update the example K9 contracts to include required headers/pedigrees, and either convert docs/tech-debt-2026-05-26.md to AsciiDoc or add it to the docs allowlist.
Code Review ✅ Approved

Adds the canonical LICENSES directory to the root-shape allowlist to prevent REUSE-compliant repositories from being flagged for root drift. No issues found.

Auto-approved: No blocking issues found.
Please see Auto-approve Docs for details on setting custom approval criteria.

Tip

Comment Gitar fix CI or enable auto-apply: gitar auto-apply:on

Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Showing less information.

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

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

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