ci: restructure workflows to match org ruleset contract#48
Merged
Nelson Spence (Fieldnote-Echo) merged 15 commits intomainfrom Mar 11, 2026
Merged
ci: restructure workflows to match org ruleset contract#48Nelson Spence (Fieldnote-Echo) merged 15 commits intomainfrom
Nelson Spence (Fieldnote-Echo) merged 15 commits intomainfrom
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace hardcoded homelab references (_HOMELAB_URL, _HOMELAB_HOST, _HOMELAB_PORT, _homelab_reachable, skip_no_homelab) with imports from tests.e2e_fixtures (LLM_BASE_URL, LLM_MODEL_ID, PROMPTS_DIR, llm_reachable, skip_no_llm) across all three e2e test files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Split monolithic jobs into discrete required checks matching the Python tier contract: test, lint, typecheck, security, codeql, semgrep, quality-gate. - tests.yml: test matrix → test-run + test aggregator, split lint into lint/typecheck/security, add quality-gate check, remove semgrep name override - codeql.yml: job key analyze → codeql, remove matrix strategy - scorecard.yml: thin caller to centralized Project-Navi/.github - release.yml: use centralized _build-reusable.yml@6c4c2d8f - Delete local _build-reusable.yml (replaced by centralized) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Contributor
❌ Grippy Review — FAILScore: 55/100 | Findings: 3 Commit: d25e5a9 |
- conftest.py: bind loop variable in lambda (B023) - e2e_fixtures.py: remove unused noqa directive (RUF100) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Dismissed: automated review flagging test fixtures and CI workflow permissions (expected)
project-navi-bot
approved these changes
Mar 11, 2026
Collaborator
project-navi-bot
left a comment
There was a problem hiding this comment.
All required CI checks passed. Auto-approved by project-navi-bot.
Dismissed: CI restructuring addresses these findings
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.
Summary
test,lint,typecheck,security,codeql,semgrep,quality-gate_build-reusable.ymlandscorecard.ymlwith thin callers to centralizedProject-Navi/.githubworkflowsanalyzetocodeql(no matrix, no name override)Check name contract (Python tier)
After merge, these exact check names will appear on PRs:
Non-required checks preserved:
test-run (3.12),test-run (3.13),Bump quality gate,Test file parity,Thread safety scanTest plan
testaggregator passes when both matrix jobs passquality-gatecheck runs the ratchet scriptcodeqlcheck name (notAnalyze (python))semgrepcheck name (notSemgrep SAST)🤖 Generated with Claude Code