Initial commit: a0_software_orchestrator v1.0

- Auto-Registration-Bug behoben (register_project/get_project_id/resolve_project Trennung)
- 25 Tests gruen (Pytest)
- block_compactor-Tool refactored (Option B: Soft-Check statt Hard-Block)
- 4 Restbaustellen gefixt
- DB-Schema: plugin_settings-Tabelle hinzugefuegt
- 3 Schattenprojekte aus DB geloescht
- Plan v3 + Refactor-Plan + Worklog dokumentiert
This commit is contained in:
Software Orchestrator
2026-06-16 22:13:06 +00:00
commit 5769c1cd22
236 changed files with 17825 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
# AGENTS.md
## Project Overview
Brief description of the project.
## Tech Stack
- Language:
- Framework:
- Database:
- Deployment:
## Development Setup
Instructions to set up the development environment.
## Build & Test
Commands to build and test the project.
## Deployment
Basic deployment instructions.
## Conventions
- Code style
- Commit message format
- Branch naming
+10
View File
@@ -0,0 +1,10 @@
# Project Name
## Description
What this project does.
## Quick Start
How to get started quickly.
## Documentation
Links to key documentation files.
@@ -0,0 +1,18 @@
# Architecture
## Stack
## Module Structure
## Data Flow
## API Design
## Deployment Architecture
## ADR (Architecture Decision Records)
### ADR-001: (example)
- **Decision**: ...
- **Rationale**: ...
- **Alternatives Considered**: ...
@@ -0,0 +1,15 @@
# Current Status
## Phase: init
## Last Completed
- (none yet)
## In Progress
- Initializing project
## Blockers
- None
## Summary
Project has been initialized. Awaiting intake.
+13
View File
@@ -0,0 +1,13 @@
# Design
## Architecture Overview
## Module Boundaries
## Data Flow
## API Design
## Deployment Implications
## Technology Decisions
+25
View File
@@ -0,0 +1,25 @@
# Environment Variables — Template Only
This file documents required variable names, scopes, defaults, and safe placeholder examples.
## Hard Boundary
Do not store real secret values here. Do not copy this file into a live `.env` with secrets inside the repository. Live secrets must be configured in Coolify or the selected secret manager by the user/operator.
## Safe Template
```text
APP_URL=https://example.invalid
PORT=3000
DATABASE_URL=<configured-in-runtime-secret-store>
APP_SECRET=<configured-in-runtime-secret-store>
```
## Status Matrix
| name | required | scope | secret | source | status |
|---|---:|---|---:|---|---|
| APP_URL | yes | runtime | no | config/docs | documented |
| PORT | yes | runtime | no | app config | documented |
| DATABASE_URL | yes | runtime | yes | Coolify/secret manager | user-side configuration required |
| APP_SECRET | yes | runtime | yes | Coolify/secret manager | user-side configuration required |
@@ -0,0 +1,12 @@
# Healthcheck
## Endpoint
## Expected Response
## How to Check
```bash
curl http://localhost:PORT/health
```
## Troubleshooting
@@ -0,0 +1,20 @@
# Known Errors
## Open Errors
- (none)
## Resolved Errors
- (none)
## Won't Fix
- (none)
## Error Log Format
```
### Error: <title>
- Status: open | in_progress | resolved | wont_fix
- Discovered: <timestamp>
- Severity: critical | high | medium | low
- Context: <description>
- Resolution: <how it was fixed or workaround>
```
@@ -0,0 +1,14 @@
# Next Steps
## Current Step
Initialize project and start software intake.
## Recommended
1. Run software-intake skill
2. Define requirements with user
3. Move to architecture after approval
## Pending
- Requirements gathering
- Architecture design
- Task breakdown
@@ -0,0 +1,21 @@
{
"mode": "planning_only",
"allowed_actions": [
"read",
"analyze",
"write_specs",
"write_plan",
"ask_user"
],
"blocked_actions": [
"edit_source_code",
"install_dependency",
"run_deploy",
"push",
"delete"
],
"requires_user_approval_to_enter": [
"implementation_allowed",
"deployment_allowed"
]
}
@@ -0,0 +1,122 @@
# Software Project Phase Gates MANDATORY RULES
## ⚠️ Diese Regeln sind VERBINDLICH. Verstöße werden nicht toleriert.
---
## Phase-Gate System
Jede Phase hat einen "Gate" (Torschluss). Ein Gate ist erst dann offen wenn ALLE Prerequisites erfüllt sind.
**Kein Gate = Kein Weiterkommen.**
---
## Gate 1: INTAKE → ARCHITECTURE
**Vorraussetzungen:**
- [ ] Projekt in `project_registry` registriert
- [ ] `requirements.md` erstellt mit alle Features + Akzeptanzkriterien
- [ ] User hat Requirements bestätigt
**Was zu tun ist:**
1. `project_registry action=register` mit name, git_url="local", description, tech_stack
2. `.a0/<project>/requirements.md` erstellen
3. User um Bestätigung bitten
---
## Gate 2: ARCHITECTURE → IMPLEMENTATION
**Vorraussetzungen:**
- [ ] `design.md` erstellt (API, DB-Schema, Folder-Struktur, Komponenten)
- [ ] **DEPLOY_AGENT konsultiert** für Deployment-Planung
- [ ] `.a0/<project>/deployment.md` existiert (von deploy_agent erstellt)
- [ ] Coolify-kompatible Config vorhanden (docker-compose, Dockerfile)
- [ ] User hat Design bestätigt
**⚠️ KRITISCH: deploy_agent MUSS aufgerufen werden BEVOR implementation_engineer**
**Was zu tun ist:**
1. `design.md` erstellen
2. `call_subordinate profile=deploy_agent` für Deployment-Plan
3. Warten bis deployment.md + docker-compose.coolify.yml + Dockerfile existieren
4. User um Bestätigung bitten
---
## Gate 3: IMPLEMENTATION → DEPLOY
**Vorraussetzungen:**
- [ ] Backend implementiert + läuft (Health-Check OK)
- [ ] Frontend implementiert + Build erfolgreich
- [ ] **Code auf Forgejo** (Repo existiert + alle Files committed)
- [ ] Registry mit git_url aktualisiert
- [ ] Alle Tests bestanden
**⚠️ KRITISCH: DEPLOY_AGENT MUSS erneut aufgerufen werden für tatsächliches Deployment**
**Was zu tun ist:**
1. Backend testen: `python run.py` + Health-Check
2. Frontend build: `npm run build`
3. **NUR `forgejo` Tool verwenden für Repo-Operationen:**
- `forgejo action=repos_create` → Repo erstellen
- `forgejo action=files_create` → Dateien hochladen (NICHT terminal git)
- `forgejo action=files_update` → Dateien aktualisieren
4. `project_registry update` mit korrekter git_url
5. **deploy_agent aufrufen für Deployment:**
- `call_subordinate profile=deploy_agent` mit "Deploy auf Coolify"
- **MUSS `coolify` Tool nutzen** für Deployment (nicht terminal commands)
- Coolify API konfigurieren, Applikation erstellen, deployen
**Workdir-Regel:**
- Projekt-Code geh&#246;rt auf Forgejo, NICHT in workdir
- Workdir nur in Ausnahmef&#228;llen nutzen (z.B. wenn forgejo-Tool nicht m&#246;glich)
- Falls workdir genutzt: Kopie SOFORT nach Push l&#246;schen (`rm -rf /a0/usr/workdir/<project>`)
---
## Checklisten-Pflicht
**Vor jedem `call_subordinate implementation_engineer`:**
```
[ ] Registry aktualisiert?
[ ] deploy_agent konsultiert?
[ ] deployment.md existiert?
[ ] docker-compose.coolify.yml existiert?
[ ] Dockerfile existiert?
[ ] Forgejo Repo erstellt + Code gepusht?
```
**Wenn nicht alle ✅ → STOP → "Prerequisites nicht erfüllt. Erst erledigen."**
---
## Subagent-Auswahl-Regeln
| Task | Subagent |
|------|----------|
| Deployment planen | **deploy_agent** |
| Backend implementieren | implementation_engineer |
| Frontend implementieren | implementation_engineer |
| Tests schreiben | test_debug_engineer |
| Security prüfen | security_data_engineer |
**Reihenfolge:**
1. deploy_agent (Deployment-Plan) → ZUERST
2. implementation_engineer (Code) → NACH deploy_agent
---
## Registry-Sync Pflicht
**Nach jedem Work-Block:**
```
project_registry update name=<project> phase=<current> status=active
.a0/<project>/project_state.json sync
```
**Bei Projekt-Ende:**
```
project_registry snapshot name=<project> trigger="Phase abgeschlossen"
```
@@ -0,0 +1,41 @@
{
"project": {
"name": "",
"root": "",
"git_provider": "local",
"repo_url": "",
"default_branch": "main",
"active_branch": "",
"deployment_target": ""
},
"phase": {
"current": "init",
"previous": null,
"next": "intake",
"blocked": false,
"blocker": null
},
"progress": {
"requirements_done": false,
"design_done": false,
"tasks_done": false,
"implementation_started": false,
"tests_run": false,
"runtime_verified": false,
"deployment_docs_ready": false,
"release_ready": false
},
"quality": {
"open_errors": 0,
"open_risks": 0,
"last_test_result": "not_run",
"last_runtime_result": "not_run",
"last_artifact_check": "not_run",
"score": 0
},
"next_action": {
"summary": "Initialize project structure and intake.",
"owner_agent": "a0_software_orchestrator",
"required_skill": "software-intake"
}
}
@@ -0,0 +1,17 @@
# Requirements
## Goal
## Users
## Core Features
## Acceptance Criteria
## Assumptions
## Non-Goals
## Open Questions
## Deployment Expectations
+21
View File
@@ -0,0 +1,21 @@
# Resume
## Last Safe State
Project initialized. No work completed yet.
## Current Phase
init
## Open Errors
None
## Open Risks
None
## Next Step
Start software intake.
## Do Not Do
- Skip planning
- Code before approval
- Deploy before runtime verification
@@ -0,0 +1,9 @@
# Rollback
## Pre-requisites
## Procedure
## Verification
## Emergency Contacts
+13
View File
@@ -0,0 +1,13 @@
# Runbook
## Start
## Stop
## Restart
## Logs
## Common Issues
## Monitoring
@@ -0,0 +1,15 @@
# Runtime Report
## Date
## Application Status
## Logs Summary
## Healthcheck
## Browser Smoke Test
## Errors Found
## Recommendations
@@ -0,0 +1,10 @@
{
"tasks": [],
"dependencies": {},
"metadata": {
"total_tasks": 0,
"completed": 0,
"in_progress": 0,
"pending": 0
}
}
+14
View File
@@ -0,0 +1,14 @@
# Tasks
## Task List
| ID | Name | Complexity | Dependencies | Status |
|---|---|---|---|---|
## Task Details
### TASK-001: (example)
- **Complexity**: S
- **Dependencies**: none
- **Description**: ...
- **Definition of Done**: ...
@@ -0,0 +1,13 @@
# Test Report
## Date
## Test Commands
## Results
## Failures
## Coverage
## Known Issues
+18
View File
@@ -0,0 +1,18 @@
# Todo
## Open
- [ ] Complete software intake (requirements)
- [ ] Create architecture and design
- [ ] Break down into tasks
- [ ] Get plan approval
- [ ] Implement features
- [ ] Test and validate
- [ ] Verify runtime
- [ ] Prepare deployment
- [ ] Release audit
## In Progress
- (none)
## Done
- Project initialization
@@ -0,0 +1,29 @@
{
"forgejo": {
"available": false,
"can_create_repo": false,
"can_push": false,
"fallback": "document git steps and continue locally"
},
"coolify": {
"available": false,
"can_deploy": false,
"fallback": "prepare deploy/coolify.md and manual handoff"
},
"terminal": {
"available": true,
"can_run_tests": true
},
"browser": {
"available": false,
"fallback": "write manual browser QA checklist"
},
"git": {
"available": true,
"can_commit": true
},
"docker": {
"available": false,
"can_run_containers": false
}
}
@@ -0,0 +1,8 @@
# Worklog
## Log
| Timestamp | Phase | Work Block | Agent | Summary | Status |
|---|---|---|---|---|---|
| - | init | 0 | a0_software_orchestrator | Project initialized | completed |
@@ -0,0 +1,4 @@
# Assumptions
| ID | Assumption | Validation | Status |
|---|---|---|---|
@@ -0,0 +1,7 @@
# Backup
## What to Backup
## Schedule
## Procedure
## Verification
## Retention
@@ -0,0 +1,4 @@
# Change Requests
| ID | Date | Request | Impact | Status |
|---|---|---|---|---|
@@ -0,0 +1,31 @@
{
"manager": {
"always_read": [
".a0/project_state.json",
".a0/current_status.md",
".a0/next_steps.md",
".a0/task_graph.json",
".a0/tool_capabilities.json",
".a0/resume.md"
],
"avoid_raw_files": [
"logs/",
"node_modules/",
"dist/",
"build/",
".git/",
"coverage/"
],
"max_subagent_result_lines": 80,
"max_user_status_lines": 30
},
"raw_output_policy": {
"long_logs_to_file": true,
"long_diffs_to_file": true,
"subagent_summaries_only": true
},
"thresholds": {
"warning": 0.7,
"hard_compact": 0.9
}
}
@@ -0,0 +1,7 @@
# Data Model
## Entities
## Relationships
## Migrations
## Backup Strategy
## Restore Strategy
@@ -0,0 +1,4 @@
# Decisions Log
| ID | Date | Decision | Rationale | Impact |
|---|---|---|---|---|
@@ -0,0 +1,8 @@
# Definition of Done
A task is done when:
- [ ] Code implemented
- [ ] Tests pass
- [ ] Code reviewed
- [ ] State files updated
- [ ] No open errors
@@ -0,0 +1,7 @@
# Definition of Ready
A task is ready for implementation when:
- [ ] Clear description
- [ ] Acceptance criteria defined
- [ ] Dependencies resolved
- [ ] Estimated complexity assigned
@@ -0,0 +1,7 @@
# Deployment Report
## Target
## Configuration
## Verification
## Issues
## Rollback Test
@@ -0,0 +1,4 @@
# Deviations
| ID | Date | Deviation | Reason | Impact | Approved |
|---|---|---|---|---|---|
@@ -0,0 +1,9 @@
{
"gates": {
"gate_1_implementation": "pending",
"gate_2_runtime": "pending",
"gate_3_deployment": "pending",
"gate_4_release": "pending",
"gate_5_production": "pending"
}
}
@@ -0,0 +1,15 @@
# Handoff
## Project Summary
## Current State
## Architecture
## Deployment
## Known Issues
## Next Steps
## Contacts
@@ -0,0 +1,7 @@
# Migration Plan
## Current State
## Target State
## Steps
## Rollback
## Risks
@@ -0,0 +1,7 @@
# Observability
## Metrics
## Logs
## Traces
## Dashboards
## Alerts
@@ -0,0 +1,8 @@
# Operations Review
## Logging
## Monitoring
## Alerting
## Backup
## Recovery
## Scaling
@@ -0,0 +1,23 @@
# Permissions
allow:
- "read:source"
- "read:docs"
- "read:templates"
- "read:non_secret_config"
- "git:status"
- "git:diff"
ask:
- "git:commit"
- "git:push"
- "deploy:*"
- "read:large_logs_for_runtime_errors"
restricted:
- "live_secret_files"
- "runtime_environment_dumps"
- "credential_stores"
- "shell_history"
- "credential_value_searches"
- "credential_discovery_commands"
- "destructive_terminal_commands"
@@ -0,0 +1,13 @@
# Project Scorecard
| Category | Score | Max |
|---|---|---|
| Requirements | 0 | 100 |
| Architecture | 0 | 100 |
| Implementation | 0 | 100 |
| Testing | 0 | 100 |
| Runtime | 0 | 100 |
| Security | 0 | 100 |
| Deployment | 0 | 100 |
| Operations | 0 | 100 |
| **Overall** | **0** | **100** |
@@ -0,0 +1,7 @@
# Quality Gates
## Gate 1: Ready for Implementation
## Gate 2: Ready for Runtime Verification
## Gate 3: Ready for Deployment Preparation
## Gate 4: Ready for Release Handoff
## Gate 5: Ready for Production Handoff
@@ -0,0 +1,13 @@
# Release Notes
## Version
## New Features
## Bug Fixes
## Breaking Changes
## Migration Guide
## Known Issues
@@ -0,0 +1,6 @@
# Restore
## Pre-requisites
## Procedure
## Verification
## Emergency
@@ -0,0 +1,4 @@
# Risks
| ID | Risk | Severity | Probability | Mitigation | Status |
|---|---|---|---|---|---|
@@ -0,0 +1,12 @@
# Security Review
## Secrets Handling
## Authentication
## Authorization
## Input Validation
## Dependency Risks
## Exposed Ports
## CORS
## File Uploads
## Docker Security
## Findings
@@ -0,0 +1,11 @@
# Subagent Policy
profiles:
codebase_explorer:
enabled: true
max_per_session: 3
implementation_engineer:
enabled: true
max_per_session: 5
release_auditor:
enabled: true
max_per_session: 2
@@ -0,0 +1,4 @@
{
"tools": {},
"last_updated": ""
}
@@ -0,0 +1,4 @@
# Traceability Matrix
| Requirement | Task(s) | Test(s) | Status |
|---|---|---|---|
@@ -0,0 +1,7 @@
# Troubleshooting
## Common Issues
| Symptom | Cause | Solution |
|---|---|---|
## Diagnostic Commands
@@ -0,0 +1,6 @@
# Update Procedure
## Pre-update
## Update Steps
## Post-update Verification
## Rollback