chore(standards): align repo with OpsMill standards (mechanical drift) - #360
Merged
Conversation
There was a problem hiding this comment.
2 issues found across 7 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name=".github/workflows/update-infrahub.yml">
<violation number="1" location=".github/workflows/update-infrahub.yml:11">
P3: The manual input `run` is exposed to users but never used, so toggling it has no effect and can mislead operators. Consider removing it or wiring it into a step condition to control integration-test behavior.</violation>
<violation number="2" location=".github/workflows/update-infrahub.yml:53">
P1: Dependency update can execute unexpected shell tokens or fail on malformed version input because the version variable is unquoted in the `uv add` command. Quoting the full requirement string keeps input as data and makes updates deterministic.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
| # (kept separate from `dev` due to a cachetools transitive-pin conflict). | ||
| - name: Update testcontainers to workflow version ${{ env.INFRAHUB_VERSION }} | ||
| run: | | ||
| uv add --group integration infrahub-testcontainers==${INFRAHUB_VERSION} |
There was a problem hiding this comment.
P1: Dependency update can execute unexpected shell tokens or fail on malformed version input because the version variable is unquoted in the uv add command. Quoting the full requirement string keeps input as data and makes updates deterministic.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/update-infrahub.yml, line 53:
<comment>Dependency update can execute unexpected shell tokens or fail on malformed version input because the version variable is unquoted in the `uv add` command. Quoting the full requirement string keeps input as data and makes updates deterministic.</comment>
<file context>
@@ -0,0 +1,87 @@
+ # (kept separate from `dev` due to a cachetools transitive-pin conflict).
+ - name: Update testcontainers to workflow version ${{ env.INFRAHUB_VERSION }}
+ run: |
+ uv add --group integration infrahub-testcontainers==${INFRAHUB_VERSION}
+
+ - name: Prepare the branch for the update
</file context>
| version: | ||
| description: "Infrahub version to test" | ||
| required: true | ||
| run: |
There was a problem hiding this comment.
P3: The manual input run is exposed to users but never used, so toggling it has no effect and can mislead operators. Consider removing it or wiring it into a step condition to control integration-test behavior.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/update-infrahub.yml, line 11:
<comment>The manual input `run` is exposed to users but never used, so toggling it has no effect and can mislead operators. Consider removing it or wiring it into a step condition to control integration-test behavior.</comment>
<file context>
@@ -0,0 +1,87 @@
+ version:
+ description: "Infrahub version to test"
+ required: true
+ run:
+ description: "Whether to run integration tests"
+ required: false
</file context>
Mechanical fixes from the auditing-repo-standards audit: - gitignore: add secret patterns (.env, .env.local, *.pem, *.key, credentials.json, secrets.yaml) [common-gitignore] - pyproject: add readme = "README.md" [python-project-metadata] - pyproject: drop unused asyncio_mode (collection is synchronous; pytest-asyncio not installed) [python-testing-pytest] - pyproject: adopt rumdl config; remove legacy .markdownlint.yaml [markdown-linting-markdownlint] - AGENTS.md: sync tech-stack table with pyproject (Python/ansible-core/infrahub-sdk) [doc drift] - ci: add infrahub-sdk + infrahub instance auto-bump workflows [ci-infrahub-sdk-auto-bump, ci-infrahub-auto-bump] Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… docs - .yamllint.yml: set truthy.check-keys=false (avoids false positives on GHA `on:` keys) [yaml-linting-yamllint] - dev docs: drop asyncio_mode from illustrative pytest snippets to match pyproject [python-testing-pytest follow-up] Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- pyproject: scope [tool.rumdl] to repo-owned markdown — exclude docs/ (Vale-owned MDX), .agents/ (vendored skills/commands), .specify/templates (vendored spec-kit) - uv.lock: lock rumdl (added to dev deps in an earlier commit without re-locking) - rumdl fmt: auto-fix 34 issues across dev/, tests/, plugins/, root - dev/README.md: fix broken relative links (commands/ -> ../.agents/commands/) - CI: add markdown-lint job (uv run rumdl check .) + markdown filter output [markdown-linting-markdownlint] - tasks: add linter.lint-markdown, include it in `invoke lint` - docs: reconcile stale markdownlint references -> rumdl; fix false "Poetry" -> uv in constitution Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- docs/pnpm-lock.yaml: generated, replaces package-lock.json - docs/pnpm-workspace.yaml: security overrides (webpack/postcss/js-yaml/ws/... pins) + core-js build decline — pnpm 11 reads overrides here, not from package.json's "pnpm" field - docs/package.json: add packageManager pnpm@11.6.0; drop the now-ignored overrides block - .github/build-docs.sh, workflow-linter.yml, workflow-changelog-and-docs.yml: pnpm/action-setup@v4 + pnpm install --frozen-lockfile (was npm) - .github/file-filters.yml: package-lock.json -> pnpm-lock.yaml - .gitignore: ignore node_modules + docs build output - .yamllint.yml: ignore generated docs/pnpm-lock.yaml Verified locally: frozen install + docusaurus build both succeed; security override pins confirmed present in pnpm-lock.yaml. [js-package-manager-pnpm] Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
pnpm 11 requires Node >= 22.13; the documentation-lint job (and the changelog-and-docs docs build) were still pinned to Node 20 after the npm -> pnpm migration, so pnpm crashed with `ERR_UNKNOWN_BUILTIN_MODULE: node:sqlite`. Bumps both docs workflows to Node 22, matching the canonical infrahub-mcp/styrmin config. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The rebase onto develop pulled in vendored spec-kit content authored after this branch adopted rumdl: `.specify/extensions/**` and the `.github/agents/speckit.*.agent.md` definitions (added verbatim from infrahub). Those 269 formatting deviations belong to upstream, not this collection, and would fail the new `rumdl check .` CI job. Broaden the rumdl `exclude` to keep it scoped to repo-owned markdown: `.specify/templates` -> all of `.specify`, plus `.github/agents`. This mirrors the existing `.agents`/`docs` exclusions and develop's own `.yamllint.yml` `.specify/**` ignore. `rumdl check .` is clean (47 files). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
BeArchiTek
force-pushed
the
bot/repo-drift
branch
from
July 3, 2026 08:56
7355adb to
f3ec15f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Repository standards alignment
Comprehensive remediation of the
auditing-repo-standardsfindings. Four commits, each aself-contained concern:
1. Baseline mechanical fixes (
b2f243a)common-gitignore— secret patterns (.env,.env.local,*.pem,*.key,credentials.json,secrets.yaml)python-project-metadata—readme = "README.md"python-testing-pytest— dropped unusedasyncio_mode = "auto"markdown-linting-markdownlint—[tool.rumdl]config; removed legacy.markdownlint.yamlAGENTS.mdtech-stack synced topyproject.tomlci-infrahub-sdk-auto-bump/ci-infrahub-auto-bump—update-infrahub-sdk.yml,update-infrahub.yml(targetdevelop; testcontainers via theintegrationgroup). Org secretGH_UPDATE_PACKAGE_OTTOis configured. ✓2. yamllint + asyncio docs (
37f7c45)yaml-linting-yamllint—truthy.check-keys: falseasyncio_modefrom two dev-doc snippets3. rumdl full adoption (
1213d47)rumdl fmtapplied (34 fixes);rumdl checkcleanmarkdown-lintjob +markdownfilter output;invoke linter.lint-markdowndev/README.mdlinks; reconciled stalemarkdownlintdoc refs → rumdl; fixed a false "Poetry"→uv ref in the constitutiondocs/[Vale-owned], vendored.agents/,.specify/templates)4. npm → pnpm docs toolchain (
31944f4)js-package-manager-pnpm—pnpm-lock.yamlreplacespackage-lock.json;pnpm/action-setup+--frozen-lockfilein all three docs entry points;file-filters.ymlupdateddocs/pnpm-workspace.yaml(pnpm 11's home) and confirmed present in the lock (webpack 5.104.1, postcss 8.5.10, js-yaml 4.2.0, …).gitignorenow ignoresnode_modules+ docs build outputVerified locally:
pnpm install --frozen-lockfile+docusaurus buildsucceed;rumdl check,yamllint, andruff checkall clean.Notes for the reviewer
0.2.xignores the rule doc'sMD013 = falseform — this uses the workingdisable = [...]schema.11no longer readspackage.json'spnpmfield — overrides/build-approval live inpnpm-workspace.yaml.Still needs a human decision (not in this PR)
github-branch-protectiononstable— currently 0 required reviews + force-push enabled. Astraight "require 1 review +
enforce_admins+restrictions:null" would break the directpushes to
stableinworkflow-changelog-and-docs.ymlandtrigger-push-stable.yml. Needs aconfig that keeps the release bot able to push (allowlist) — applied deliberately by an admin.
python-changelog-towncrier— this is an Ansible collection with a bundledCHANGELOG.rst;towncrier (
CHANGELOG.md) would compete with it. Pick: keep RST / adopt antsibull-changelog / switch to towncrier.Generated with assistance from the detecting-repo-drift skill. Review before merging.