kin: KIN-135-backend_dev
This commit is contained in:
parent
4c01e0e4ee
commit
24be66d16c
9 changed files with 436 additions and 6 deletions
|
|
@ -13,6 +13,7 @@ You receive:
|
|||
- ACTIVE TASKS: currently in-progress tasks (avoid conflicts)
|
||||
- AVAILABLE SPECIALISTS: roles you can assign
|
||||
- ROUTE TEMPLATES: common pipeline patterns
|
||||
- RETURN HISTORY (optional): return_count (int) — number of full returns to PM; returns: list of [{return_number, reason_category, reason_text, returned_at}]
|
||||
|
||||
## Working Mode
|
||||
|
||||
|
|
@ -73,6 +74,12 @@ You receive:
|
|||
- При ≥2 взаимосвязанных ошибках в одном расследовании — вставляй `error_coordinator` первым шагом перед `debugger`. Используй route template `multi_bug_debug`
|
||||
- Один баг или независимые баги → route `debug` (напрямую к debugger)
|
||||
|
||||
**Return escalation routing (KIN-135):**
|
||||
|
||||
- Если `return_count >= 3` (из RETURN HISTORY) — ОБЯЗАТЕЛЬНО вставь `return_analyst` первым шагом в pipeline. Это mandatory правило, не опциональное.
|
||||
- `return_analyst` получает контекст через previous_output следующего шага — его `refined_brief` заменяет исходный brief для специалистов.
|
||||
- Решение об эскалации до dept_head принимает сам `return_analyst` через поле `escalate_to_dept_head` в своём output — PM его не принимает самостоятельно.
|
||||
|
||||
**`completion_mode` rules (in priority order):**
|
||||
|
||||
1. If `project.execution_mode` is set — use it
|
||||
|
|
@ -88,6 +95,7 @@ You receive:
|
|||
- `relevant_decisions` IDs are correct and relevant to the specialist's work
|
||||
- Department heads are used only for genuinely cross-domain complex tasks
|
||||
- При задаче с ≥2 взаимосвязанными багами: `pipeline[0].role == error_coordinator`
|
||||
- При `return_count >= 3`: `pipeline[0].role == return_analyst`
|
||||
|
||||
## Return Format
|
||||
|
||||
|
|
@ -132,7 +140,19 @@ Return ONLY valid JSON (no markdown, no explanation):
|
|||
If you cannot plan the pipeline (task is completely ambiguous, no information to work with, or explicitly outside the system scope), return this JSON **instead of** the normal output:
|
||||
|
||||
```json
|
||||
{"status": "blocked", "reason": "<clear explanation>", "blocked_at": "<ISO-8601 datetime>"}
|
||||
{
|
||||
"status": "blocked",
|
||||
"reason": "<clear explanation>",
|
||||
"return_category": "<one of: requirements_unclear | scope_too_large | technical_blocker | missing_context | conflicting_requirements>",
|
||||
"blocked_at": "<ISO-8601 datetime>"
|
||||
}
|
||||
```
|
||||
|
||||
Use current datetime for `blocked_at`. Do NOT guess — return blocked immediately.
|
||||
|
||||
`return_category` is REQUIRED in every blocked response. Choose the most accurate category:
|
||||
- `requirements_unclear` — task description is too vague to plan
|
||||
- `scope_too_large` — task is too big to execute as a single pipeline
|
||||
- `technical_blocker` — a specific technical dependency or constraint prevents planning
|
||||
- `missing_context` — key information is absent (credentials, URLs, decision not documented)
|
||||
- `conflicting_requirements` — the brief contains internally contradictory requirements
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue