[UC-3697] Bootstrap python-quality-control for agentic development across four agent harnesses - #23
Draft
Jelle Spijker (jellespijker) wants to merge 3 commits into
Draft
[UC-3697] Bootstrap python-quality-control for agentic development across four agent harnesses#23Jelle Spijker (jellespijker) wants to merge 3 commits into
Jelle Spijker (jellespijker) wants to merge 3 commits into
Conversation
6 tasks
Jelle Spijker (jellespijker)
force-pushed
the
UC-3697_AI_DF
branch
from
August 14, 2026 19:04
49cbdca to
20ad71d
Compare
Add the hooks the agentic bootstrap generates, and the configuration that runs them. - .agents/hooks/ holds the gate scripts. - .pre-commit-config.yaml runs the gates. The two mutating hooks are limited to the files this change adds, so they cannot reformat the runner scripts this repository ships. - .aiignore is the one source for AI context exclusion. The compiler writes .ignore and .github/copilot-content-exclusion.yml.
Add the rules and link them into every agent tool. - .agents/rules/ holds the rules in numbered load-tier bands. - .agents/rules/15-shipped-runner-and-consumer-rules.md is hand written. It records that this repository ships the run_*.sh scripts as its product and has no test suite of its own. - .claude/, .opencode/, .github/ and AGENTS.md link the same rule files. - .agents/agents/ holds the review and investigation subagents.
- scripts/verify_and_create_pr.sh runs the gates before a pull request. - scripts/sync_agentic_configs.sh rebuilds the per-harness links. - scripts/get_github_token.sh reads the token from the system keyring. - scripts/create_boyscout_branch_and_pr.sh isolates unrelated fixes. - .github/PULL_REQUEST_TEMPLATE.md sets the required sections.
Jelle Spijker (jellespijker)
force-pushed
the
UC-3697_AI_DF
branch
from
August 15, 2026 12:04
20ad71d to
0cb5a77
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.
Jira ticket: UC-3697
Why
AI coding agents work on this repository. Each agent reads a different
configuration file. The rules were not written down, so every agent guessed.
This change writes the rules down once and links them to all four agent tools.
This repository is the shared CI configuration. Firmware repositories and cloud
repositories mount it as the
cisubmodule. An agent that assumes one consumertype writes a rule that breaks the other. The rules therefore assume no
consumer.
Merge order
Merge this pull request first.
cisubmodule pointer to the head of this branch.cisubmodule pointer to the head of this branch.
The Python linters in okuda pass only with the revision this branch points at.
That revision lets
references.shreadlinting_excluded_files.txtfrom theconsumer root. Both pull requests fail if this branch does not merge first.
What
Three commits add generated configuration. No runner script changes.
.agents/rules/— 14 rule files in numbered load-tier bands..agents/hooks/— commit-time gates and agent hooks..claude/,.opencode/,.github/,AGENTS.md— links to the same rules..aiignore— the one source for AI context exclusion.scripts/— token retrieval, config sync, and pre-pull-request checks..github/PULL_REQUEST_TEMPLATE.md— the required description sections..pre-commit-config.yaml,.talismanrc— commit-time gates..gitignore— new. It ignores__pycache__from the hook scripts.How
The rules load in three tiers.
01-jira-commit-standards.md.Example:
34-library-consumer-contract-rules.mdloads for**/*.py.relevant. Example:
40-skill-discovery-index-rules.md.Four tools read the output. Each tool reads a different path, so the generator
writes symbolic links to one set of rule files.
CLAUDE.mdand.claude/.AGENTS.mdand.ignore..github/copilot-instructions.md.opencode.jsonand.opencode/.Two rules come from evidence in this repository.
34-library-consumer-contract-rules.mdis generated. It states that thisrepository has no process boundary of its own, and that a rename in the
published surface is a breaking change for every consumer.
15-shipped-runner-and-consumer-rules.mdis hand written. The generatorlisted
pytest -x -q cfgand./run_pytest.shas test commands for thisrepository. Both are wrong. The repository has no test file.
./run_pytest.shis the product, and it needs
./ci/cfg/pytest.inifrom a consumer. Rule 15records this, names the real consumers, and forbids any rule that assumes a
cloud service or a printer.
The mutating pre-commit hooks (
end-of-file-fixer,trailing-whitespace) arelimited to the files this change adds. They cannot rewrite the runner scripts.
This is support for agentic development. The rules will change as we learn.
This is not product code.
Verification & Validation (V&V)
pre-commit run --all-files— 18 hooks, all pass, no file changed:The repository has no test suite.
bash -nparses every shell script in theroot and in
local/without error.Other checks:
git diff -w origin/master...HEADchanges no.sh,.iniorcfg/file.All 39 symbolic links resolve.
All hook scripts compile with
python3 -m compileall.Automated unit/integration tests pass (no test suite; shell parse instead)
Pre-commit static checks pass cleanly on this branch's diff
Visual evidence attached for UI changes (not applicable)
PR Checklist
Related pull requests — this change is one part of the agentic-bootstrap roll-out
The bootstrap skill and its rules are in UltiCortex. The repository pull requests
apply that skill. Read the UltiCortex stack first if you want the reasoning.
UltiCortex — the skills (16 stacked layers, one per skill, read top down)
Firmware
Cloud