Some checks failed
Deploy Development / deploy (push) Successful in 47s
Test Suite / pytest-backend (push) Failing after 4m15s
Test Suite / k6 /api/health Baseline (push) Has been skipped
Test Suite / playwright-smoke (push) Has been skipped
Test Suite / lint-backend (push) Successful in 2s
Test Suite / compose-smoke (push) Has been skipped
K-Ext-4/P8 deklarative Agent-Slots; P7 tech_debt Read Model und Vokabular; Review-Attention in den Kernel verlagert. Co-authored-by: Cursor <cursoragent@cursor.com>
72 lines
3.2 KiB
Plaintext
72 lines
3.2 KiB
Plaintext
---
|
|
description: Steering Kernel v0.4 — verbindliche Regeln für Read Models, Proposals, Attention, Agent-Slots, Ranker (alle Coding-Agenten)
|
|
globs: backend/steering/**,backend/data_layer/initiative_snapshot.py,frontend/src/components/SteeringProposalsPanel.jsx,frontend/src/components/AgentSlotsPanel.jsx,frontend/src/utils/steeringProposals.js,frontend/src/utils/agentSlots.js,frontend/src/utils/sprintCommitProposal.js,frontend/src/pages/initiative/InitiativeInboxPage.jsx,frontend/src/pages/initiative/InitiativePlanPage.jsx,frontend/src/pages/initiative/InitiativeOverviewPage.jsx,frontend/src/pages/modes/PlanSprintPage.jsx
|
|
alwaysApply: true
|
|
---
|
|
|
|
# Kairo Steering Kernel — Coding Rules (verbindlich)
|
|
|
|
**Primärdokument:** `docs/architecture/ADP_Steering_Kernel_Coding_Rules_v0.1.md`
|
|
**Architektur:** `docs/architecture/ADP_Steering_Kernel_Extension_Model_v0.1.md`
|
|
|
|
## Herzmaschine
|
|
|
|
- Initiative-Steuerung **nur** via `evaluate_steering()` in `backend/steering/kernel/evaluate.py`
|
|
- Snapshot spiegelt `evaluation.read_models` + `evaluation.proposals` + `evaluation.agent_slots` — **kein** Duplikat-Rechnen
|
|
|
|
## Neue Fähigkeit = Provider registrieren
|
|
|
|
| Was | Wo |
|
|
|-----|-----|
|
|
| Read Model | `steering/read_models/registry.py` |
|
|
| Proposal | `steering/proposals/registry.py` |
|
|
| Attention | `steering/attention/contributors/*.py` + Registry |
|
|
| Agent-Slot | `steering/agent_slots/registry.py` |
|
|
| Sprint-Ranker | `register_sprint_commit_ranker()` — weitere Ranker analog |
|
|
|
|
Aktivierung über `steering_elements` / `data_slices` im Methoden-Vertrag — **nicht** über Page-Ifs oder `method_key`-Branches im Kernel.
|
|
|
|
## Proposals
|
|
|
|
- **Kein Auto-Commit** — Accept in UI/API
|
|
- **Keine feste Bug/Story-Policy** — `ranker_key` + `factors[]`; Heuristik = Fallback (`heuristic_v0`)
|
|
- Abhängigkeiten: `dependency_refs`, `dependency_blocked`
|
|
- KI: `agent_v1` Ranker + Actor-Slot — **keine** hardcodierten Prompts (Principle Gate)
|
|
|
|
## Agent-Slots
|
|
|
|
- Deklarative Fenster für Actors — **kein** Prompt, **keine** Auto-Ausführung
|
|
- Config: `operatingContext.agent_slot_config` (`enabled_slots`, `guardrail_pack`, `stale_debt_days`)
|
|
- UI: `AgentSlotsPanel` + Snapshot `steering_kernel.agent_slots`
|
|
|
|
## Frontend
|
|
|
|
- `SteeringProposalsPanel` + `PROPOSAL_UI_CONFIG` in `utils/steeringProposals.js`
|
|
- Daten aus `steeringSnapshot.steering_kernel.proposals`
|
|
- Keine neue Proposal-Page pro Methode
|
|
|
|
## Methoden-Parität (Ist)
|
|
|
|
| Provider | Element-Gate |
|
|
|----------|--------------|
|
|
| `sprint_commit` | `work_cycle_scope` |
|
|
| `gate_next_actions` | `gate_fulfillment` |
|
|
| `intake_triage` | `backlog` slice, **excludes** `work_cycle_scope` |
|
|
| `epic_rollup` | `backlog_epic_hierarchy` |
|
|
| `planning_debt` / `execution_graph` | `gate_fulfillment` / `critical_path` |
|
|
| `tech_debt_summary` | `backlog` + `actions` slices |
|
|
| `review.due` / `recurring.due` / `review.guardrail` | Agent-Slots (data_slices + elements) |
|
|
|
|
## Verboten
|
|
|
|
- Steuerungslogik außerhalb `backend/steering/`
|
|
- Archetyp-Ifs für Steuerungs-UI
|
|
- `evaluate_next_work` für Commit-Vorschläge (Plan ≠ Ist)
|
|
- OM-Tabellen für Vorschläge
|
|
|
|
## Tests
|
|
|
|
- Unit-Test pro Provider/Ranker
|
|
- Snapshot-Integration wenn DB-Test verfügbar
|
|
- Truth Table aktualisieren
|