Commit Graph

178 Commits

Author SHA1 Message Date
28d019a1e2 fix(staging_check): B6 reads registry from running staging instance env
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 16s
B6 false-FAILed because it built the project registry from the
launcher process-env via a host-path hack (sys.path.insert +
importlib.reload), not from the running staging instance. Run from the
host, ORCH_PROJECTS_JSON is unset -> default ET+ORCH registry -> false
FAIL -> spurious deploy-staging -> development rollback.

Variant (v) per ADR-001: remove the host-path hack; canonically run the
suite INSIDE orchestrator-staging via docker exec so src.projects
resolves from /app (PYTHONPATH) with .env.staging. Verdict logic
extracted into pure _evaluate_b6(known) -> (passed, detail) +
_known_project_ids_from_registry() / _run_b6() with deterministic FAIL on
source unavailability. deployer.md and STAGING_CHECK.md updated to the
docker exec command. src/projects.py, .env* and checks A/B4/B5/C
untouched.

Refs: ORCH-048

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-06 07:03:31 +00:00
d6744c3c05 architect(ET): auto-commit from architect run_id=151
All checks were successful
CI / test (push) Successful in 15s
CI / test (pull_request) Successful in 14s
2026-06-06 06:59:56 +00:00
stream
7a6c7a0151 docs(ORCH-048): owner decision — pin variant (v), reject (a) HTTP-endpoint (chicken-egg)
All checks were successful
CI / test (push) Successful in 13s
CI / test (pull_request) Successful in 13s
2026-06-06 06:56:09 +00:00
8b5b1f0056 analyst(ET): auto-commit from analyst run_id=145
All checks were successful
CI / test (push) Successful in 13s
CI / test (pull_request) Successful in 13s
2026-06-06 05:06:33 +00:00
9538103eff docs: init ORCH-048 business request
All checks were successful
CI / test (push) Successful in 13s
2026-06-06 08:03:16 +03:00
0bc2398462 feat(stage_engine): ORCH-046 embed reviewer/tester findings in task_desc (#43)
Some checks failed
CI / test (push) Has been cancelled
Manual merge (Slava trust, variant A). Findings text embedded into developer task_desc (not just link). New src/review_parse.py, graceful fallback. 50 tests pass. Reviewer APPROVED, CI green. Staging FAIL = B6/ORCH-48 (infra, unrelated).
2026-06-06 07:54:03 +03:00
13b7df06b1 deployer(ET): auto-commit from deployer run_id=144
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 12s
2026-06-06 04:49:37 +00:00
b5f4eb6f2f Merge pull request 'docs(ORCH-046): staging gate log — FAILED (9/10, B6 registry isolation)' (#44) from staging-log/ORCH-046-20260606T044841 into main 2026-06-06 07:49:22 +03:00
75c2b814d8 docs(ORCH-046): staging gate log — FAILED (9/10, B6 registry isolation)
All checks were successful
CI / test (pull_request) Successful in 12s
Staging suite ran end-to-end against staging (8501, stub mode): 9/10 PASS,
exit 1. Failure is B6 — staging project registry not isolated (sees prod
ET/ORCH, sandbox absent), violating the INFRA isolation invariant. Gate is
authoritative and red → staging_status: FAILED (rollback to development).
Note: this is a staging .env/ORCH_PROJECTS_JSON misconfig, not an ORCH-046
code regression (same B6 as ORCH-047).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-06 04:48:47 +00:00
be10becae2 tester(ET): auto-commit from tester run_id=143
All checks were successful
CI / test (push) Successful in 16s
CI / test (pull_request) Successful in 12s
2026-06-06 04:46:28 +00:00
4cd55063b4 reviewer(ET): auto-commit from reviewer run_id=142
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 11s
2026-06-06 04:44:57 +00:00
03c3d77cac feat(stage-engine): embed verbatim reviewer/tester findings in rollback task_desc
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 11s
При заворотах на development task_desc теперь несёт дословный must-fix текст
(P0/P1 ревьюера, причина FAIL тестера) вместо одной ссылки на файл — developer-
агент видит суть претензий сразу и не повторяет ту же ошибку, экономя retry-
бюджет и токены общего инстанса.

- Новый defensive-модуль src/review_parse.py (never-raise): extract_review_findings
  (P0/P1 из 12-review.md ## Findings), extract_test_failures (фрагмент тела
  13-test-report.md: pytest output / FAIL-строки / Итог), усечение по лимиту.
- Две rollback-ветки stage_engine: встраивают текст + сохраняют ссылку на полный
  файл; graceful-фоллбэк на ссылку-строку при битом/пустом артефакте.
- Последовательность отката, retry-счётчик, поля AdvanceResult, реестр QG_CHECKS
  не менялись.
- Доки: README (Stage Engine / Откаты), CHANGELOG.
- Тесты: tests/test_review_parse.py, test_stage_engine.py::TestRollbackTaskDescEmbedding.

Refs: ORCH-046

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-06 04:42:11 +00:00
29e83341b5 architect(ET): auto-commit from architect run_id=140
All checks were successful
CI / test (push) Successful in 11s
2026-06-06 04:36:40 +00:00
c7bca51d4b analyst(ET): auto-commit from analyst run_id=139
All checks were successful
CI / test (push) Successful in 12s
2026-06-06 04:09:41 +00:00
50a3c60b0e docs: init ORCH-046 business request
All checks were successful
CI / test (push) Successful in 13s
2026-06-06 07:06:44 +03:00
615a778d20 docs: lessons 2026-06-05 (#42)
Some checks failed
CI / test (push) Has been cancelled
2026-06-06 00:42:14 +03:00
stream
58116f93bd docs(history): сводные уроки вечера 05.06 — ORCH-17/45/47, деплой прода, грабли auth/git/Gitea
All checks were successful
CI / test (pull_request) Successful in 11s
2026-06-05 21:41:52 +00:00
941eec248e Merge pull request 'docs(ORCH-047): staging gate log — FAILED' (#41) from staging-log/ORCH-047-20260605213215 into main 2026-06-06 00:32:38 +03:00
b061354a8f docs(ORCH-047): staging gate log — FAILED (9/10, B6 registry isolation)
All checks were successful
CI / test (pull_request) Successful in 11s
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-05 21:32:15 +00:00
5d04de9eb6 fix(qg): ORCH-047 read result in tests gate (#40)
Manual merge by Owner. check_tests_passed reads result as equal-rank field. APPROVED reviewer v3, 68 tests pass.
2026-06-06 00:25:40 +03:00
edff0484c9 reviewer(ET): auto-commit from reviewer run_id=134
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 11s
2026-06-05 21:18:33 +00:00
2f396452e8 tester(ET): auto-commit from tester run_id=132
All checks were successful
CI / test (push) Successful in 15s
CI / test (pull_request) Successful in 12s
2026-06-05 21:14:05 +00:00
185eb3f6cf reviewer(ET): auto-commit from reviewer run_id=131
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 12s
2026-06-05 21:12:23 +00:00
58fc0a8b94 tester(ET): auto-commit from tester run_id=129
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 12s
2026-06-05 21:07:30 +00:00
c1abfb7436 reviewer(ET): auto-commit from reviewer run_id=128
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 12s
2026-06-05 21:06:01 +00:00
51a76e8169 fix(qg): read result: alongside verdict:/status: in tests gate
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 11s
_parse_tests_verdict now accepts three equal-rank machine-readable
frontmatter fields in 13-test-report.md — result: (canonical tester
output), verdict: and status: (legacy/enduro-trails). Any one non-empty
field suffices; a negative token in any field stays authoritative.

Fixes the producer/consumer contract mismatch where the tester emits
`result: PASS` (per .openclaw/agents/tester.md) but the gate only read
verdict:/status:, causing a testing->development rollback loop until
MAX_DEVELOPER_RETRIES (observed on ORCH-17). Token sets frozen and gate
signature/QG_CHECKS unchanged for full backward compatibility.

Refs: ORCH-047
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-05 21:03:32 +00:00
75fb4069a4 architect(ET): auto-commit from architect run_id=126
All checks were successful
CI / test (push) Successful in 11s
2026-06-05 21:00:57 +00:00
c3879f2b80 analyst(ET): auto-commit from analyst run_id=125
All checks were successful
CI / test (push) Successful in 12s
2026-06-05 20:44:58 +00:00
974d4f94db docs: init ORCH-047 business request
All checks were successful
CI / test (push) Successful in 13s
2026-06-05 23:42:29 +03:00
982698c4e3 feat(qg): ORCH-045 CI poll-retry (#39)
Some checks failed
CI / test (push) Has been cancelled
Manual merge by Owner (Slava). check_ci_green polling with retry to fix CI race.
2026-06-05 23:08:15 +03:00
stream
0eff781d13 feat(qg): ORCH-045 — poll check_ci_green with retry to fix CI race (pending->success)
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 12s
2026-06-05 19:59:06 +00:00
b9c61fc1f1 Merge pull request 'docs: uroki ORCH-017 (deadlock shared-gate, isporchennyy telefon, otkat)' (#38) from docs/lessons-orch-017 into main 2026-06-05 22:50:17 +03:00
stream
53c76cb539 docs(history): уроки ORCH-017 — дедлок shared-гейта, испорченный телефон, неполный откат
All checks were successful
CI / test (pull_request) Successful in 13s
2026-06-05 19:49:50 +00:00
26c6f2676f ORCH-017: Telegram approve-ping links to BRD & Plane (#37)
Manual merge by Owner (Слава). Только ссылки в уведомлениях; правка shared gate вынесена в ORCH-47.
2026-06-05 22:45:11 +03:00
stream
43ef160f40 docs(ORCH-017): drop check_tests_passed/result gate notes (belong to ORCH-47); keep only approve-ping link docs
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 12s
2026-06-05 19:35:28 +00:00
9c28431167 reviewer(ET): auto-commit from reviewer run_id=124
All checks were successful
CI / test (push) Successful in 15s
CI / test (pull_request) Successful in 13s
2026-06-05 19:32:33 +00:00
stream
d615747d53 revert(ORCH-017): drop shared check_tests_passed gate change — moved to ORCH-47 (own ADR); keep only approve-ping links
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 11s
2026-06-05 19:28:27 +00:00
c91eb7f82b reviewer(ET): auto-commit from reviewer run_id=123
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 12s
2026-06-05 18:40:52 +00:00
e62d51aa77 fix(qg): testing gate reads documented tester result: frontmatter key (ORCH-017)
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 11s
check_tests_passed/_parse_tests_verdict gated the testing -> deploy-staging
transition on `verdict:`/`status:` in 13-test-report.md, but the tester agent
prompt (.openclaw/agents/tester*) documents `result: PASS | FAIL` as THE
machine-readable field. A report that followed the contract literally
(ORCH-017: only `result: PASS`, no verdict:/status:) was bounced back to
development with a misleading "Tests FAILED". ORCH-016 only passed because its
report redundantly carried both `verdict:` and `result:`.

Treat `result:` as a first-class machine field alongside verdict/status; a
negative token in any field stays authoritative (ET-013 contract preserved).
Self-hosting QG fix: unblocks every project whose tester emits only `result:`.

Docs updated in-PR: CHANGELOG, architecture README machine-keys note.
Tests: test_qg.py::TestCheckTestsPassed::test_result_pass_only_passes / _fail_only_fails.

Refs: ORCH-017
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-05 18:34:25 +00:00
0e999d289d reviewer(ET): auto-commit from reviewer run_id=120
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 11s
2026-06-05 18:25:02 +00:00
950a86e4d8 tester(ET): auto-commit from tester run_id=118
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 17s
2026-06-05 18:20:16 +00:00
6509891f74 reviewer(ET): auto-commit from reviewer run_id=117
All checks were successful
CI / test (push) Successful in 13s
CI / test (pull_request) Successful in 11s
2026-06-05 18:18:42 +00:00
69a4aaab99 feat(notifications): direct BRD + Plane links in approve ping (ORCH-017)
All checks were successful
CI / test (push) Successful in 12s
CI / test (pull_request) Successful in 12s
notify_approve_requested now embeds two HTML <a> links into the single
notifying approve-gate message: a Gitea branch-view link to 01-brd.md and a
Plane issue browser link. Adds ORCH_PLANE_WEB_URL (external Plane web URL,
fallback to plane_api_url) with a loopback-guard that omits the Plane link
when the resolved base is localhost/empty (no broken localhost URLs in prod).

Each link is built independently and omitted on missing data; the message and
the "flip to Approved" call to action are always sent as exactly one ping. The
shared send_telegram helper is left untouched (min blast radius for the
self-hosting prod container). Dynamic labels are html.escaped; parse_mode=HTML
preserved. QG registry / stages / approve handler unchanged.

Docs updated in-PR: CHANGELOG, .env.example, INFRA env map.
Tests: test_notify_approve_links.py, test_analysis_approve_flow_links.py.

Refs: ORCH-017
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-05 17:58:00 +00:00
c9b1195c0b architect(ET): auto-commit from architect run_id=115
All checks were successful
CI / test (push) Successful in 12s
2026-06-05 17:50:28 +00:00
08528b655e analyst(ET): auto-commit from analyst run_id=112
All checks were successful
CI / test (push) Successful in 12s
2026-06-05 17:39:34 +00:00
7f31d62a4d docs: init ORCH-017 business request
All checks were successful
CI / test (push) Successful in 13s
2026-06-05 19:59:55 +03:00
401bf66fe0 feat(agents): configurable LLM model + effort per-agent and per-project (ORCH-41) (#36)
Some checks failed
CI / test (push) Has been cancelled
2026-06-05 19:45:19 +03:00
8da571de86 feat(plane): unified status-comment format with duration line (ORCH-016) (#34) 2026-06-05 17:50:47 +03:00
f375be249f fix(tests): per-project Plane states in webhook tests + close CI hole (ORCH-39) (#35) 2026-06-05 17:36:40 +03:00
053ea3b1c5 docs(ORCH-016): merge staging-log into main (staging_status: SUCCESS)
Mirrors the deploy-log pattern: deployer writes 15-staging-log.md on the
feature branch, then merges the artifact into origin/main so the
check_staging_status quality gate can read it via _staging_log_from_main()
(see src/qg/checks.py:489).

Verdict from the staging run on http://localhost:8501 (mode=stub):
  staging_status: SUCCESS  (10/10 checks PASS)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-05 12:49:59 +00:00