Repository navigation
Conversation
Encode the quality rules from spec section 9 and the dependency rules from ADR-0001. - ruff targets py311 with a line length of 100 and the rule sets E, F, W, I, B, UP, SIM, RUF and D (Google docstrings). Docstring rules are relaxed under tests. - mypy runs in strict mode on packages/. - pytest measures coverage for both packages, with an 80% floor. - import-linter enforces three contracts: - types and ports never import adapters; - the engine never imports agentic_rag_code; - the engine follows the layer order from the spec. - Skeleton engine subpackages exist so that the contracts resolve. The middle layer lists ingest, retrieval, generation, agent and eval as non-independent siblings (`:`), because the agent runtime and the eval runner have to call retrieval. Refs #3
Every pull request and every push to main runs four jobs: - lint: ruff check and format; - typecheck: mypy; - import-contracts: import-linter; - test: pytest with coverage, plus a markdown coverage summary. The quality-gate job aggregates them and fails if any of them did not succeed. It is meant to be the only required status check. Dependabot updates uv dependencies and GitHub Actions weekly on Mondays (Europe/Rome). Minor and patch updates are grouped, and major updates arrive as separate PRs. Refs #4
Collaborator
Author
|
Gate verification:
|
This was referenced Oct 16, 2026
Collaborator
Author
|
Merged without an approving review by maintainer decision, to unblock contributors: this is the foundation chain everything else depends on. Verified locally on the combined chain (#1, #45, #46, #47, #49, #50 merged together, no conflicts): |
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.
What
.github/workflows/ci.yml:pull_request(any base branch, so stacked PRs are checked too) andpushtomain.linttypecheckimport-contractstest, which writes a coverage summaryquality-gate, which runs withif: always()and fails when any required job failed, was cancelled or was skipped.github/dependabot.yml:uvandgithub-actions.services/qvac-workercomes with E3.Why
M0-3 of the backlog. The single gate is what M0-6 (#7) will mark as the only required check on
main.Closes #4
How verified
check-jsonschema).quality-gatefails. The result is linked in a comment below.Reviewer notes
actions/checkout@v5,astral-sh/setup-uv@v6). Dependabot keeps them current.