fix(analysis): activate analyst open-questions -> Needs Input flow (ORCH-120) #146

Merged
admin merged 10 commits from feature/ORCH-120-bug-analyst-open-questions-mus into main 2026-06-17 13:50:32 +03:00
Owner

Активирует и достраивает ранее мёртвый путь «аналитик задаёт блокирующие вопросы -> 01-questions.md -> Needs Input» (ORCH-120, bug -> escalate full-cycle).

Аддитивно, под kill-switch, скоуп self-hosting, never-raise; STAGE_TRANSITIONS/QG_CHECKS/check_*/machine-verdict/схема БД — байт-в-байт не тронуты (поток — pre-gate-ветка движка, не QG; 01-questions.md — сигнальный артефакт).

Изменения (D1-D5):

  • D1 контракт+канон: analyst.md (канал вопросов, не фабриковать deliverables) + скелет docs/_templates/01-questions.md + строка манифеста PIPELINE_DOCS.md.
  • D2 freshness-supersede (offline mtime) в leaf src/analyst_questions.py.
  • D3 приоритет «вопросы > файлы готовы» в _handle_analysis_approved_flow (_decide_analysis_outcome/_emit_analysis_*); off/out-of-scope -> байт-в-байт.
  • D4 авто-park (set_task_paused) на Needs Input через ось паузы ORCH-124; D5 resume+unpark (clear_task_paused) в handle_status_start.

Флаги: analyst_questions_gate_enabled / analyst_questions_gate_repos (пусто -> self-hosting only) / analyst_needs_input_autopause_enabled.

Тесты: test_orch120_analyst_needs_input.py (TC-01 регресс + TC-02/03/06/09/10), test_orch120_serial_gate_needs_input.py (TC-04), test_orch120_resume_unpark.py (TC-05), test_orch120_questions_artifact_canon.py (TC-08), assert в test_agent_prompts_canon.py (TC-07). Полный регресс — 2205 passed.

ADR: docs/work-items/ORCH-120/06-adr/ADR-001-analyst-open-questions-needs-input.md, сквозной docs/architecture/adr/adr-0053-analyst-open-questions-needs-input-flow.md.

Refs: ORCH-120

🤖 Generated with Claude Code

Активирует и достраивает ранее **мёртвый** путь «аналитик задаёт блокирующие вопросы -> `01-questions.md` -> Needs Input» (ORCH-120, bug -> escalate full-cycle). Аддитивно, под kill-switch, скоуп self-hosting, never-raise; `STAGE_TRANSITIONS`/`QG_CHECKS`/`check_*`/machine-verdict/схема БД — байт-в-байт не тронуты (поток — pre-gate-ветка движка, не QG; `01-questions.md` — сигнальный артефакт). **Изменения (D1-D5):** - D1 контракт+канон: `analyst.md` (канал вопросов, не фабриковать deliverables) + скелет `docs/_templates/01-questions.md` + строка манифеста `PIPELINE_DOCS.md`. - D2 freshness-supersede (offline mtime) в leaf `src/analyst_questions.py`. - D3 приоритет «вопросы > файлы готовы» в `_handle_analysis_approved_flow` (`_decide_analysis_outcome`/`_emit_analysis_*`); off/out-of-scope -> байт-в-байт. - D4 авто-park (`set_task_paused`) на Needs Input через ось паузы ORCH-124; D5 resume+unpark (`clear_task_paused`) в `handle_status_start`. **Флаги:** `analyst_questions_gate_enabled` / `analyst_questions_gate_repos` (пусто -> self-hosting only) / `analyst_needs_input_autopause_enabled`. **Тесты:** `test_orch120_analyst_needs_input.py` (TC-01 регресс + TC-02/03/06/09/10), `test_orch120_serial_gate_needs_input.py` (TC-04), `test_orch120_resume_unpark.py` (TC-05), `test_orch120_questions_artifact_canon.py` (TC-08), assert в `test_agent_prompts_canon.py` (TC-07). Полный регресс — 2205 passed. ADR: `docs/work-items/ORCH-120/06-adr/ADR-001-analyst-open-questions-needs-input.md`, сквозной `docs/architecture/adr/adr-0053-analyst-open-questions-needs-input-flow.md`. Refs: ORCH-120 🤖 Generated with [Claude Code](https://claude.com/claude-code)
admin added 4 commits 2026-06-17 13:16:07 +03:00
docs: init ORCH-120 business request
All checks were successful
CI / test (push) Successful in 1m12s
a4625df97c
analyst(ET): auto-commit from analyst run_id=777
All checks were successful
CI / test (push) Successful in 1m13s
432da2c4ed
architect(ET): auto-commit from architect run_id=778
All checks were successful
CI / test (push) Successful in 1m13s
1fcbe06df5
fix(analysis): activate analyst open-questions -> Needs Input flow (ORCH-120)
All checks were successful
CI / test (push) Successful in 1m14s
CI / test (pull_request) Successful in 1m11s
d6b495f156
Activates and completes the previously dead "analyst asks BLOCKING questions ->
01-questions.md -> Needs Input" path. Four coordinated changes, additive, under
kill-switch, self-hosting scope, never-raise; STAGE_TRANSITIONS / QG_CHECKS /
check_* / machine-verdict keys / DB schema are byte-for-byte UNCHANGED (the flow
is a pre-gate engine branch, NOT a Quality Gate; 01-questions.md is a SIGNAL
artifact, NOT a machine-verdict).

- D1 contract + canon: analyst.md documents the 01-questions.md channel (blocking
  questions -> Needs Input, do NOT fabricate deliverables) + resume behaviour; new
  skeleton docs/_templates/01-questions.md; PIPELINE_DOCS.md manifest row + 01-
  prefix note.
- D2 freshness-supersede (DQ-2): pure offline mtime predicate questions_active in
  the new leaf src/analyst_questions.py (a full FRESH package supersedes a stale
  untouched 01-questions.md -> no Needs-Input loop, AC-6).
- D3 priority: questions take priority over "files ready" in
  _handle_analysis_approved_flow (_decide_analysis_outcome + _emit_analysis_*);
  off/out-of-scope runs the ORIGINAL byte-for-byte order (AC-9).
- D4 auto-park: set_task_paused on Needs Input via the ORCH-124 pause axis so the
  repo serial-gate FIFO is not wedged while waiting for a human (AC-4); D5 resume +
  unpark (clear_task_paused) in handle_status_start (analysis branch).

Flags (config.py, safe defaults): analyst_questions_gate_enabled /
analyst_questions_gate_repos (empty -> self-hosting only) /
analyst_needs_input_autopause_enabled.

Tests: test_orch120_analyst_needs_input.py (TC-01 regress + TC-02/03/06/09/10),
test_orch120_serial_gate_needs_input.py (TC-04), test_orch120_resume_unpark.py
(TC-05), test_orch120_questions_artifact_canon.py (TC-08), assert in
test_agent_prompts_canon.py (TC-07). Full suite green (2205 passed).

Refs: ORCH-120

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
admin added 1 commit 2026-06-17 13:24:23 +03:00
reviewer(ET): auto-commit from reviewer run_id=780
All checks were successful
CI / test (push) Successful in 1m14s
CI / test (pull_request) Successful in 1m14s
452df7aedf
admin added 1 commit 2026-06-17 13:28:10 +03:00
docs(overview): sync system showcase with analyst open-questions auto-park (ORCH-120)
All checks were successful
CI / test (push) Successful in 1m15s
CI / test (pull_request) Successful in 1m14s
19c31778b2
Address reviewer P1 (ось ORCH-011/ORCH-079, правило агентов №6): витрина
описывала паузу serial-gate как исключительно операторскую, но ORCH-120
добавил движковый авто-park/unpark на analyst Needs Input.

- tech-pipeline.md: абзац пауз теперь называет два источника (оператор +
  авто-park движком на Needs Input, флаг analyst_needs_input_autopause_enabled,
  скоуп self-hosting, симметричный unpark на resume).
- tech-observability.md: пункт пауз в GET /queue — оба источника.
- tech-agents.md: when-applicable сигнальный канал 01-questions.md у analyst
  (строка таблицы + поясняющая врезка; не machine-verdict, не deliverable).
- CHANGELOG: запись ORCH-120 дополнена строкой про обновление витрины.

tests/test_system_docs.py зелёный (29 passed). src/STAGE_TRANSITIONS/QG_CHECKS
не тронуты — docs-only.

Refs: ORCH-120
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
admin added 1 commit 2026-06-17 13:41:19 +03:00
reviewer(ET): auto-commit from reviewer run_id=782
All checks were successful
CI / test (push) Successful in 1m22s
CI / test (pull_request) Successful in 1m16s
e3be810e80
admin added 1 commit 2026-06-17 13:43:06 +03:00
test(ORCH-116): test gate PASS for ORCH-120
Some checks failed
CI / test (push) Has been cancelled
CI / test (pull_request) Successful in 1m26s
8cda3a2eb5
admin added 1 commit 2026-06-17 13:44:41 +03:00
staging(ORCH-115): staging gate SUCCESS for ORCH-120
All checks were successful
CI / test (push) Successful in 1m21s
CI / test (pull_request) Successful in 1m17s
6c95e2d689
admin added 1 commit 2026-06-17 13:50:29 +03:00
deploy(ORCH-036): finalize SUCCESS for ORCH-120
All checks were successful
CI / test (push) Successful in 1m15s
CI / test (pull_request) Successful in 1m12s
a1a044315b
admin merged commit f50f61c5f5 into main 2026-06-17 13:50:32 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/orchestrator#146