chore(ai): add agent self-review and a CI check for agent-assisted PRs

Additional changes
Agents write a task plan to .scratch/<branch>/plan.md and self-review with code-review
Agents fix hard violations, report judgement calls and rerun the self-review before every push
Agents declare the review in a Self-review section of the pull request body
Add the ai-self-review workflow and scripts/check_pr_self_review.py for pull requests into main
Detect agents by Assisted-by or Anthropic Co-Authored-By trailers, body markers or the AI box
Fail only on a missing Self-review section or a missing, malformed or stale Reviewed SHA
Note an unticked AI-assisted box and malformed optional lines without failing
Comment on the pull request how to fix a failure and update that one comment on later runs
Show the same report in the job summary and accept Windows line endings in the body
Skip dependabot and release pull requests
Run on pull_request_target with the base branch's script, never pull request code
Add the pull request template: the pr skill's sections plus Checklist and Self-review
Require always valid optimization parameters in the energy-domain skill
Require datetimeutil for date and time handling in new and changed code in AGENTS.md
Require the Assisted-by trailer on agent commits in the commit-messages skill
Add tests for the check in tests/test_ai.py
Add GLOSSARY.md and the agent tracker docs in docs/agents/
Add decision record docs/adr/0001 with an ADR index in the docs toctree
Document the workflow in docs/develop/ai.md and CONTRIBUTING.md
Exclude docs/agents from Sphinx and PyMarkdown and ignore .scratch/
Document cz check instead of make gitlint for commit messages in docs/develop/ai.md

Assisted-by: Claude Code (claude-opus-5-5)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Bobby Noelte
2026-11-11 15:37:33 +01:00
co-authored by Claude Opus 5.5
parent 62cbf4cf2a
commit dd41e5d57c
18 changed files with 1394 additions and 9 deletions
+52
View File
@@ -0,0 +1,52 @@
# Akkudoktor-EOS
Energy forecasts, optimization and energy management plans for local energy devices, and the
AI-assisted workflow used to develop them. Written for contributors and coding agents; where
user-facing docs use another name, it is listed under _Avoid_.
## Optimization
**Optimization parameters**:
The complete, valid input set handed to one optimizer for one optimization run.
_Avoid_: optimization input, request parameters
**Fallback value**:
A default or heuristic value that replaces an invalid or missing input while the optimization
parameters are prepared, always reported as an error.
_Avoid_: dummy value, demo value
## AI-assisted development
**Host**:
The contributor's own machine, where the repository is checked out and where changes are reviewed,
run and pushed.
**Sandbox**:
The isolated container in which a coding agent works on the repository.
_Avoid_: container, VM
**Task plan**:
The plan the contributor and the agent agreed on for one task; it is the spec the self-review checks
the change against, unless the change references an issue.
_Avoid_: design note, ticket
**Self-review**:
The agent's advisory review of its own change against the project rules and its spec (the
referenced issue, otherwise the task plan), done before it hands the change over and declared in
the pull request.
_Avoid_: AI review, automated review
**Hard violation**:
A self-review finding that breaches a documented project rule; the agent fixes it before handing
the change over.
_Avoid_: error, blocker
**Judgement call**:
A self-review finding based on a heuristic, such as a code smell or possible scope creep; it is
reported and left to the author.
_Avoid_: warning, nit
**Author review**:
The contributor's own review of the complete change on the host; the deciding review before a pull
request is opened or updated.
_Avoid_: human review, manual review