Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)
Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
42 lines
1.0 KiB
Markdown
42 lines
1.0 KiB
Markdown
---
|
|
inclusion: auto
|
|
---
|
|
|
|
# AI-Orchestrator Standards
|
|
|
|
## Quality Gates (before every commit)
|
|
|
|
1. `gitleaks detect --source . --no-git` — no secrets in code
|
|
2. `ruff check .` — linting passes
|
|
3. `pytest` — all tests pass, 80%+ coverage target
|
|
4. `mypy src/` — type checking passes
|
|
|
|
## Conventional Commits
|
|
|
|
```
|
|
feat(orchestrator): add retry backoff
|
|
fix(tracker): handle timeout on OrgMyLife API
|
|
test(alerter): add property test for deduplication
|
|
docs(spec): update current state section
|
|
```
|
|
|
|
## Testing
|
|
|
|
- pytest + hypothesis for property-based testing
|
|
- Property test files: `test_<module>_properties.py`
|
|
- Given-When-Then structure in all tests
|
|
- 80% coverage minimum, critical paths 95%+
|
|
|
|
## Autonomous Mode
|
|
|
|
- Never push directly to main — use feature branches
|
|
- Create PRs targeting the current base branch
|
|
- If stuck after 3 attempts: stop and document
|
|
- Report: `PROGRESS: X%` / `HELP: description`
|
|
|
|
## Security
|
|
|
|
- Secrets via env vars or `.secrets` file (gitignored)
|
|
- No tokens in source code
|
|
- PAT registry tracks token expiry
|