Commit Graph

440 Commits

Author SHA1 Message Date
2861dea613 docs(ORCH-082): staging gate log — SUCCESS (8/10, C9a/C9b infra-waived)
All checks were successful
CI / test (pull_request) Successful in 24s
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 00:56:25 +03:00
50434fc2b1 Merge pull request 'fix(effort): per-role floor for --effort + developer→xhigh (ORCH-081)' (#80) from feature/ORCH-081-orch-52h-env-config into main
Some checks failed
CI / test (push) Has been cancelled
2026-06-08 22:57:11 +03:00
deploy-finalizer
6eb9992585 deploy(ORCH-036): finalize SUCCESS for ORCH-081
All checks were successful
CI / test (push) Successful in 24s
CI / test (pull_request) Successful in 24s
2026-06-08 22:55:37 +03:00
e9b23d3c04 tester(ET): auto-commit from tester run_id=403
All checks were successful
CI / test (push) Successful in 26s
CI / test (pull_request) Successful in 27s
2026-06-08 22:50:47 +03:00
e3c3292ec7 reviewer(ET): auto-commit from reviewer run_id=402 2026-06-08 22:50:47 +03:00
1ada41f272 fix(effort): per-role floor for --effort resolution + developer→xhigh
resolve_agent_effort returned '' for all agents in prod because empty
ORCH_AGENT_EFFORT_*= env vars clobber pydantic class-defaults, leaving no
non-empty floor to fall back to -> --effort never reached the Claude CLI.

Add a level-4 per-role floor in resolve_agent_effort (src/agents/launcher.py):
_agent_effort_floor reads the declared class-default of agent_effort_<agent>
(model_fields[...].default), which a present-but-empty env cannot override.
Floor applies only when levels 1-3 are empty and BEFORE validation, so a typo
(non-empty) still drops to '' (never-break ORCH-41) and explicit env/override
still wins (priority preserved). config.py: agent_effort_developer high->xhigh
(single source of truth; floor follows automatically).

Refs: ORCH-081

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-08 22:50:47 +03:00
62b4d1f7d1 architect(ET): auto-commit from architect run_id=400 2026-06-08 22:50:47 +03:00
c5007e6c90 analyst(ET): auto-commit from analyst run_id=399 2026-06-08 22:50:47 +03:00
10510ac48c docs: init ORCH-081 business request 2026-06-08 22:50:47 +03:00
8ccd17e199 Merge pull request 'docs(ORCH-081): staging gate log — SUCCESS (8/10, C9a/C9b infra-waived)' (#81) from docs/ORCH-081-staging-log into main 2026-06-08 22:50:26 +03:00
30d9effea1 docs(ORCH-081): staging gate log — SUCCESS (8/10, C9a/C9b infra-waived)
All checks were successful
CI / test (pull_request) Successful in 28s
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-08 22:50:14 +03:00
a091a2d999 Merge pull request 'feat(launcher): ORCH-074 drop dead frontmatter model + validate model name (never-break)' (#79) from feature/ORCH-074-orch-52a-frontmatter-routing-e into main
Some checks failed
CI / test (push) Has been cancelled
2026-06-08 22:11:20 +03:00
deploy-finalizer
b371b6d940 deploy(ORCH-036): finalize SUCCESS for ORCH-074
All checks were successful
CI / test (push) Successful in 27s
CI / test (pull_request) Successful in 24s
2026-06-08 22:07:38 +03:00
ea094f5922 tester(ET): auto-commit from tester run_id=397
All checks were successful
CI / test (push) Successful in 29s
2026-06-08 22:00:54 +03:00
17258fb69e reviewer(ET): auto-commit from reviewer run_id=396 2026-06-08 22:00:54 +03:00
0873803faa feat(launcher): drop dead frontmatter model + validate model name (never-break)
G1: remove the dead `model:` line from all 6 .openclaw/agents/*.md prompts —
launcher never read it; config (agent_model_*) is the single source of truth.

G2: add is_valid_model helper (format check ^claude-…$) applied inside
resolve_agent_model's resolution cascade and at the inline --fallback-model
read in _spawn. An invalid name is logged and skipped to the next valid level
(in the limit: no --model flag), never passed to the CLI, never raises. Format
check chosen over an allowlist for forward-compatibility (ADR-001).

G3 (routing) and G4 (fallback) intentionally NOT enabled — all agents stay on
claude-opus-4-8; agent_fallback_model stays "".

Docs (golden source) updated in the same change: README model/effort table +
validation, CLAUDE.md, .env.example (ORCH_AGENT_MODEL_*/EFFORT_*/FALLBACK_MODEL),
CHANGELOG. Tests: test_agent_frontmatter_no_model.py (G1), extended
test_resolve_agent_model.py (G2 never-break).

Refs: ORCH-074
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-08 22:00:54 +03:00
0c240198e4 architect(ET): auto-commit from architect run_id=394 2026-06-08 22:00:54 +03:00
1e1811a4bc analyst(ET): auto-commit from analyst run_id=393 2026-06-08 22:00:54 +03:00
e89f7c7a11 analyst(ET): auto-commit from analyst run_id=392 2026-06-08 22:00:54 +03:00
0f82ebc1a7 docs: init ORCH-074 business request 2026-06-08 22:00:54 +03:00
d04be97c0e docs(ORCH-074): staging gate log — SUCCESS (8/10, C9a/C9b infra-waived)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-08 22:00:34 +03:00
b0e517c76a Merge pull request 'ORCH-026: task dependencies (B waits for A) + single-repo merge serialization' (#78) from feature/ORCH-026-b-a into main
Some checks failed
CI / test (push) Has been cancelled
2026-06-08 19:47:58 +03:00
deploy-finalizer
662d2d6434 deploy(ORCH-036): finalize SUCCESS for ORCH-026
All checks were successful
CI / test (push) Successful in 26s
2026-06-08 19:47:57 +03:00
deploy-finalizer
90a5cae8e6 deploy(ORCH-036): finalize FAILED for ORCH-026
All checks were successful
CI / test (push) Successful in 23s
CI / test (pull_request) Successful in 23s
2026-06-08 19:33:57 +03:00
deploy-finalizer
1d928dab57 deploy(ORCH-036): finalize FAILED for ORCH-026
All checks were successful
CI / test (push) Successful in 23s
CI / test (pull_request) Successful in 22s
2026-06-08 19:28:41 +03:00
9800dc89e3 tester(ET): auto-commit from tester run_id=390
All checks were successful
CI / test (push) Successful in 27s
CI / test (pull_request) Successful in 27s
2026-06-08 19:17:44 +03:00
5b80f8facb reviewer(ET): auto-commit from reviewer run_id=389 2026-06-08 19:17:44 +03:00
a74379f657 feat(ORCH-026): task dependencies (B waits for A) + single-repo merge serialization
Level A — merge/deploy serialization within one repo: reuse the existing
ORCH-043/065 merge-lease (no new mechanism); the only new logic is an
unconditional pre-merge rebase in check_branch_mergeable — under the held
lease, auto_rebase_onto_main is ALWAYS called when premerge_rebase_always
(default True), not just when the branch is behind. No-op on an up-to-date
branch (rebase keeps HEAD, force-with-lease -> "Everything up-to-date", CI
not triggered). Kill-switch off -> ORCH-043 behaviour 1:1.

Level B — declarative task dependencies: additive job_deps table
(CREATE ... IF NOT EXISTS, no live-DB migration); claim_next_job gate
(NOT EXISTS) defers a job whose depends-on tasks are not yet 'done' without
occupying a max_concurrency slot; inert on empty job_deps -> zero regression.
New leaf src/task_deps.py (never-raise): is_task_ready (fail-open), DFS cycle
detection + Blocked/alert, declare/ingest_plane_relations (db source never
hits the network on the hot path), snapshot. Telegram waiting-line, /queue
observability, reconciler skip + cycle backstop, reaper untouched.

Invariants unchanged: STAGE_TRANSITIONS, QG_CHECKS registry (dep gate is a
claim_next_job врезка, not a registered QG), DB schema of existing tables,
HTTP endpoints; non-self repos remain a no-op on empty deps/scope.

Flags: ORCH_PREMERGE_REBASE_ALWAYS, ORCH_TASK_DEPS_ENABLED, ORCH_TASK_DEPS_SOURCE.
Docs: docs/architecture/README.md, CLAUDE.md, .env.example, CHANGELOG.md,
adr-0015. Tests: tests/test_orch026_*.py (64 tests); full suite 991 green.

Refs: ORCH-026

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-08 19:17:44 +03:00
9019e12d98 architect(ET): auto-commit from architect run_id=387 2026-06-08 19:17:44 +03:00
518d7d18c8 analyst(ET): auto-commit from analyst run_id=386 2026-06-08 19:17:44 +03:00
520bcafa73 docs: init ORCH-026 business request 2026-06-08 19:17:44 +03:00
9f7b6edb6d docs(ORCH-026): staging gate log — SUCCESS (8/10, C9a/C9b infra-waived)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-08 19:17:18 +03:00
1c3ecb973e Merge pull request 'ORCH-073: SHA-in-main merge-verify + main regression guard' (#77) from feature/ORCH-073-crit-main-orch-067-069 into main
Some checks failed
CI / test (push) Has been cancelled
2026-06-08 16:54:01 +03:00
deploy-finalizer
1b45fa0008 deploy(ORCH-036): finalize SUCCESS for ORCH-073
All checks were successful
CI / test (push) Successful in 21s
2026-06-08 16:54:00 +03:00
1f0929838a tester(ET): auto-commit from tester run_id=384
All checks were successful
CI / test (push) Successful in 26s
CI / test (pull_request) Successful in 21s
2026-06-08 16:30:46 +03:00
7deb151ce5 reviewer(ET): auto-commit from reviewer run_id=383 2026-06-08 16:30:46 +03:00
aff334e82b fix(merge-gate): SHA-in-main as sole merge-verify criterion + main regression guard
Root-cause fix for main erosion (phantom merge): code of ORCH-067/069 reached
`done` while absent from origin/main (only their auto docs-PRs landed).

- FR-1: verify_merged_to_main confirms merge ONLY by `git merge-base
  --is-ancestor <validated_sha> origin/main`; the OR-branch pr_already_merged is
  removed (a merged PR no longer confirms). Empty SHA / git error -> False.
- FR-2: pr_already_merged demoted to merge_pr idempotency-guard; counts a PR only
  when merged & head.ref==<branch> & base.ref=="main" (explicit in-loop filter).
- FR-3: merge_pr selects the open code-PR by head==<branch> AND base==main.
- FR-5: new deterministic check_main_regression in _handle_merge_verify (after
  confirmed SHA-in-main, before done) verifies MAIN_REGRESSION_MARKERS still in
  origin/main; deterministic count==0 -> alert "main regressed" + HOLD (NOT done,
  no rollback); git error of the grep -> fail-open. Kill-switch
  ORCH_REGRESSION_GUARD_ENABLED; non-self -> no-op.
- FR-4: root .gitattributes `CHANGELOG.md merge=union` so Unreleased edits
  auto-merge on rebase without conflict (branch not rolled back).

Invariants unchanged (STAGE_TRANSITIONS, QG_CHECKS, deploy-status, merge-gate,
image-freshness, DB schema, external HTTP API); non-self repos no-op (INV-5);
never-raise (INV-1); merge only via Gitea PR-API (INV-2).

Docs: CHANGELOG, .env.example (README/ADR updated by architect). Tests:
tests/test_orch073_*.py (TC-01..18); existing merge-gate tests updated for the
new code-PR filter.

Refs: ORCH-073

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-08 16:30:46 +03:00
fa9b96545c architect(ET): auto-commit from architect run_id=381 2026-06-08 16:30:46 +03:00
319b23b4fc analyst(ET): auto-commit from analyst run_id=380 2026-06-08 16:30:46 +03:00
e54d1fc4ac docs: init ORCH-073 business request 2026-06-08 16:30:46 +03:00
77abfb399c docs(ORCH-073): staging gate log — SUCCESS (8/10, C9a/C9b infra-waived)
Canonical run inside orchestrator-staging (ORCH-048): exit 0, all REAL
checks green; C9a/C9b waived as known sandbox-infra (ORCH-061).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-08 16:30:19 +03:00
05bd169b14 Merge pull request 'restore(main): re-merge ORCH-067 + ORCH-069 (ORCH-073)' (#76) from restore/orch-6769-2026-06-08 into main
Some checks failed
CI / test (push) Has been cancelled
2026-06-08 15:04:47 +03:00
stream
183e6d68bc restore: re-merge ORCH-069 qg0_title_max
All checks were successful
CI / test (pull_request) Successful in 21s
# Conflicts:
#	CHANGELOG.md
2026-06-08 14:58:30 +03:00
stream
befa2979ec restore: re-merge ORCH-067 tracker bump+статусы+ссылки 2026-06-08 14:58:03 +03:00
deploy-finalizer
d33e0ded2e deploy(ORCH-036): finalize SUCCESS for ORCH-069
All checks were successful
CI / test (push) Successful in 23s
CI / test (pull_request) Successful in 20s
2026-06-08 11:44:38 +00:00
de70ee811d tester(ET): auto-commit from tester run_id=378
All checks were successful
CI / test (push) Successful in 20s
CI / test (pull_request) Successful in 20s
2026-06-08 11:30:17 +00:00
post-deploy-monitor
41da03470a docs(ORCH-021): post-deploy HEALTHY/NONE for ORCH-067
All checks were successful
CI / test (push) Successful in 22s
CI / test (pull_request) Successful in 21s
2026-06-08 11:28:18 +00:00
e1055861b5 reviewer(ET): auto-commit from reviewer run_id=377
All checks were successful
CI / test (push) Successful in 20s
CI / test (pull_request) Successful in 22s
2026-06-08 11:28:16 +00:00
2e84813c13 developer(ET): auto-commit from developer run_id=376
All checks were successful
CI / test (push) Successful in 20s
CI / test (pull_request) Successful in 20s
2026-06-08 11:25:09 +00:00
18f887c886 tester(ET): auto-commit from tester run_id=374
Some checks failed
CI / test (push) Has been cancelled
CI / test (pull_request) Successful in 21s
2026-06-08 11:24:01 +00:00