Commit Graph

2356 Commits

Author SHA1 Message Date
HAL9000 5b73be9f43 docs: fix quickstart plan/apply command signatures
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 37s
CI / build (pull_request) Successful in 44s
CI / lint (pull_request) Successful in 1m0s
CI / quality (pull_request) Successful in 1m8s
CI / push-validation (pull_request) Successful in 29s
CI / typecheck (pull_request) Successful in 1m19s
CI / benchmark-regression (pull_request) Failing after 51s
CI / security (pull_request) Successful in 1m34s
CI / integration_tests (pull_request) Successful in 4m4s
CI / e2e_tests (pull_request) Successful in 4m12s
CI / unit_tests (pull_request) Successful in 4m40s
CI / docker (pull_request) Successful in 1m28s
CI / coverage (pull_request) Successful in 10m39s
CI / status-check (pull_request) Successful in 3s
Update docs/quickstart.md to use correct CLI command signatures:
- Replace 'cleveragents plan --project' with 'cleveragents plan use <action> --project'
- Replace 'cleveragents apply --project' with 'cleveragents plan list' + 'cleveragents plan apply <plan-id>'

Addresses reviewer non-blocking suggestion to verify CLI commands match
actual signatures before merging.
2026-05-05 14:30:56 +00:00
HAL9000 f179b57e18 docs: add quick start guide (PR #9245)
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 45s
CI / typecheck (pull_request) Successful in 1m6s
CI / quality (pull_request) Successful in 46s
CI / security (pull_request) Successful in 1m15s
CI / build (pull_request) Successful in 31s
CI / helm (pull_request) Successful in 24s
CI / push-validation (pull_request) Successful in 20s
CI / unit_tests (pull_request) Successful in 4m5s
CI / integration_tests (pull_request) Successful in 3m58s
CI / e2e_tests (pull_request) Successful in 4m23s
CI / benchmark-regression (pull_request) Failing after 1m29s
CI / docker (pull_request) Successful in 1m41s
CI / coverage (pull_request) Successful in 11m5s
CI / status-check (pull_request) Successful in 4s
Add docs/quickstart.md with end-to-end quick start guide covering
prerequisites, installation, project creation, resource registration,
plan/apply workflow, and troubleshooting.

Update mkdocs.yml navigation to include Quick Start page and rename
ADR-028 title to Skill/Tool Abstraction Definition.

Update CHANGELOG.md with quick start guide entry.

Closes #9245
2026-05-05 10:14:20 +00:00
HAL9000 90b06e6308 fix(db): remove redundant a5_007 merge migration (m4_004 already merged into m8_002 on master)
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 46s
CI / build (pull_request) Successful in 52s
CI / lint (pull_request) Successful in 1m2s
CI / benchmark-regression (pull_request) Failing after 1m9s
CI / quality (pull_request) Successful in 1m13s
CI / security (pull_request) Successful in 1m31s
CI / typecheck (pull_request) Successful in 1m36s
CI / push-validation (pull_request) Successful in 24s
CI / integration_tests (pull_request) Successful in 3m43s
CI / e2e_tests (pull_request) Successful in 4m29s
CI / unit_tests (pull_request) Successful in 4m42s
CI / docker (pull_request) Successful in 1m52s
CI / coverage (pull_request) Successful in 11m35s
CI / coverage (push) Blocked by required conditions
CI / docker (push) Blocked by required conditions
CI / push-validation (push) Waiting to run
CI / status-check (push) Blocked by required conditions
CI / benchmark-publish (push) Has started running
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Has started running
CI / integration_tests (push) Has started running
CI / e2e_tests (push) Has started running
CI / status-check (pull_request) Successful in 3s
CI / helm (push) Successful in 35s
CI / build (push) Successful in 55s
CI / lint (push) Successful in 1m5s
CI / quality (push) Successful in 1m17s
CI / typecheck (push) Successful in 1m36s
CI / security (push) Successful in 1m43s
2026-05-05 09:37:22 +00:00
HAL9000 beaeac165d fix(db): add merge migration to resolve multiple Alembic heads
m4_004_schema_parity_resource_decision_checkpoint was added to master
after this branch was created, creating a second Alembic head alongside
a5_006_action_invariants_unique_constraint. The CI unit_tests job runs
on the merge commit (PR branch + master), so both migration files are
present, causing create_template_db.py to fail with MultipleHeads.

Add a5_007_merge_m4_004_and_a5_006 no-op merge migration to resolve
the two heads into a single head.
2026-05-05 09:37:22 +00:00
HAL9000 2240a028c8 fix(tests): replace ThreadPoolExecutor with threading.Thread in RLock concurrency steps
ThreadPoolExecutor holds internal locks (e.g. _global_shutdown_lock) that
can be in a locked state after fork(). The behave-parallel runner uses
multiprocessing.Pool with the fork start method, so forked worker processes
inherit these locked states and deadlock when trying to create or shut down
a ThreadPoolExecutor.

Replace both concurrent step implementations with direct threading.Thread
usage, following the pattern established in context_tier_thread_safety_steps.py
and other step files throughout the codebase. This eliminates the fork+lock
deadlock while preserving the deterministic concurrency-counter approach for
proving the RLock is released during transport calls.
2026-05-05 09:37:22 +00:00
HAL9000 236499f086 fix(tests): replace timing-based concurrency assertions with deterministic counter approach 2026-05-05 09:37:22 +00:00
HAL9000 60671306ea fix(tests): fix format and reduce timing thresholds in RLock concurrency tests
Fixed ruff format violation (single quotes to double quotes) in step definitions file.  Reduced SlowMCPTransport delay from 0.3s to 0.15s and tightened the wall-clock assertion from 0.9s to 0.40s to improve CI reliability while still proving concurrent execution.

ISSUES CLOSED: #10512
2026-05-05 09:37:22 +00:00
HAL9000 79ecaea18f fix(tests): use getattr for time._original_sleep fallback in RLock concurrency tests 2026-05-05 09:37:22 +00:00
HAL9000 69b7cd3cb2 fix(mcp): release RLock before transport call in MCPToolAdapter
MCPToolAdapter.invoke() and discover_tools() held the RLock during the
entire transport.call(), blocking all concurrent operations on the adapter.

The fix splits both methods into three phases:
1. Acquire lock — validate connection state and inputs
2. Release lock — make the transport call without holding the lock
3. Re-acquire lock (discover_tools only) — update shared state

Added Behave BDD tests verifying:
- Concurrent invocations complete in parallel (wall-clock < serial time)
- Concurrent discoveries complete in parallel
- Lock is provably not held during transport calls (cross-thread check)
- Validation still occurs under lock before transport call
- Disconnected adapter still raises RuntimeError under lock

ISSUES CLOSED: #10512
2026-05-05 09:37:22 +00:00
HAL9000 908e53ea85 fix(mcp): release RLock before transport call in MCPToolAdapter
MCPToolAdapter.invoke() and discover_tools() held the RLock during the
entire transport.call(), blocking all concurrent operations on the adapter.

The fix splits both methods into three phases:
1. Acquire lock — validate connection state and inputs
2. Release lock — make the transport call without holding the lock
3. Re-acquire lock (discover_tools only) — update shared state

Added Behave BDD tests verifying:
- Concurrent invocations complete in parallel (wall-clock < serial time)
- Concurrent discoveries complete in parallel
- Lock is provably not held during transport calls (cross-thread check)
- Validation still occurs under lock before transport call
- Disconnected adapter still raises RuntimeError under lock

ISSUES CLOSED: #10512
2026-05-05 09:37:22 +00:00
hurui200320 7164b04019 refactor(providers): unify provider factory behind single source of truth
CI / lint (push) Successful in 1m1s
CI / build (push) Successful in 53s
CI / quality (push) Successful in 1m23s
CI / typecheck (push) Successful in 1m24s
CI / benchmark-regression (push) Has been skipped
CI / security (push) Successful in 1m42s
CI / push-validation (push) Successful in 21s
CI / helm (push) Successful in 25s
CI / e2e_tests (push) Successful in 4m6s
CI / integration_tests (push) Successful in 4m12s
CI / unit_tests (push) Successful in 6m39s
CI / docker (push) Successful in 1m44s
CI / coverage (push) Successful in 10m51s
CI / status-check (push) Successful in 2s
CI / benchmark-publish (push) Successful in 1h17m10s
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 33s
CI / build (pull_request) Successful in 50s
CI / lint (pull_request) Successful in 1m7s
CI / quality (pull_request) Successful in 1m9s
CI / typecheck (pull_request) Successful in 1m20s
CI / security (pull_request) Successful in 1m25s
CI / push-validation (pull_request) Successful in 19s
CI / integration_tests (pull_request) Successful in 3m20s
CI / e2e_tests (pull_request) Failing after 5m3s
CI / unit_tests (pull_request) Successful in 6m40s
CI / docker (pull_request) Successful in 1m30s
CI / coverage (pull_request) Successful in 11m9s
CI / status-check (pull_request) Failing after 3s
CI / benchmark-regression (pull_request) Failing after 1m11s
Extract _get_api_key() and _create_provider_instance() as a single internal
factory that handles all provider types, including MOCK. Both create_llm() and
create_ai_provider() now delegate to _create_provider_instance(), eliminating
the duplicated if/elif provider-switching chains and the divergence between the
two code paths. Adding a new provider now requires touching exactly one place.

Key changes:
- New _get_api_key(provider_type) consolidates API key lookup and validation
  that was previously duplicated across create_llm(), _create_provider_llm(),
  and every branch of create_ai_provider().
- New _create_provider_instance() is the unified raw-LLM factory, replacing
  _create_provider_llm() and the specialised adapter constructors in
  create_ai_provider(). MOCK is now handled here via FakeListLLM.
- create_ai_provider() wraps all providers uniformly in LangChainChatProvider
  instead of using specialised adapters (OpenAIChatProvider, AnthropicChatProvider,
  GoogleChatProvider, OpenRouterChatProvider) for the four primary providers.
- create_llm() drops its own API key validation block; validation now happens
  inside _create_provider_instance() via _get_api_key().
- All BDD scenarios updated: _create_provider_llm references become
  _create_provider_instance, and provider-type assertions on create_ai_provider
  results are updated to LangChainChatProvider.

Review fixes (Cycle 2):
- Add _coerce_env_bool() for consistent boolean env-var coercion in
  CLEVERAGENTS_ALLOW_MOCK_PROVIDER checks.
- Introduce _ApiKeyMissing sentinel to distinguish 'not provided' from None
  in provider configuration.
- Set MOCK supports_streaming=False in DEFAULT_CAPABILITIES to align with
  FakeListLLM semantics.
- Make MOCK is_configured conditional on CLEVERAGENTS_ALLOW_MOCK_PROVIDER.
- Use FakeListLLM(responses=['mock response'] * 10) to prevent IndexError
  in multi-step workflows.
- Strip max_retries from kwargs before passing to LangChain constructors.
- Extract _resolve_provider_type() helper shared by create_llm() and
  create_ai_provider() to reduce duplication and improve readability.
- Ensure __api_key_sentinel flows through factory_kwargs even when api_key
  is None, avoiding double _get_api_key() calls.
- Add CHANGELOG env-var documentation and providers.md env-var table.
- Resolve template DB lock issues by persisting in-memory SQLite via
  VACUUM INTO instead of direct file creation on tmpfs.

ISSUES CLOSED: #10949
2026-05-05 06:16:46 +00:00
HAL9000 988a169831 docs: add InvariantReconciliationActor API docs, devcontainer discovery module guide, and mkdocs nav
CI / benchmark-regression (push) Has been skipped
CI / benchmark-publish (push) Failing after 41s
CI / quality (push) Failing after 1m4s
CI / security (push) Failing after 1m4s
CI / unit_tests (push) Failing after 1m3s
CI / build (push) Failing after 45s
CI / push-validation (push) Successful in 47s
CI / helm (push) Successful in 42s
CI / lint (push) Successful in 1m33s
CI / e2e_tests (push) Failing after 45s
CI / integration_tests (push) Failing after 47s
CI / typecheck (push) Successful in 1m43s
CI / docker (push) Has been skipped
CI / coverage (push) Has been skipped
CI / status-check (push) Failing after 6s
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 50s
CI / build (pull_request) Successful in 57s
CI / lint (pull_request) Successful in 1m9s
CI / quality (pull_request) Successful in 1m18s
CI / benchmark-regression (pull_request) Failing after 1m16s
CI / typecheck (pull_request) Successful in 1m30s
CI / security (pull_request) Successful in 1m36s
CI / e2e_tests (pull_request) Successful in 3m52s
CI / integration_tests (pull_request) Successful in 4m30s
CI / push-validation (pull_request) Successful in 20s
CI / unit_tests (pull_request) Successful in 6m31s
CI / docker (pull_request) Successful in 1m36s
CI / coverage (pull_request) Successful in 12m19s
CI / status-check (pull_request) Successful in 4s
- docs/api/actor.md: Add InvariantReconciliationActor section documenting
  the built-in reconciliation actor introduced in v3.8.0, including the
  reconciliation algorithm, ReconciliationResult/ConflictRecord/ScopeInvariants
  data classes, standalone reconcile_invariants() function, DI registration,
  and failure behaviour.

- docs/modules/devcontainer-discovery.md: New module guide for the
  devcontainer auto-discovery system (v3.8.0 fix #2615), covering
  DevcontainerDiscoveryResult, discover_devcontainers(), is_trigger_type(),
  monorepo named-config support, and gotchas.

- mkdocs.yml: Add 'Devcontainer Auto-Discovery' to the Modules nav section,
  alongside shell-safety, uko-provenance, invariant-reconciliation,
  context-hydration, and git-worktree-sandbox module docs.

- robot/coverage_threshold.robot: Add tdd_issue and tdd_issue_4305 tags
  to the Noxfile Contains Coverage Threshold Constant test case.

ISSUES CLOSED: #4485
2026-05-05 06:15:57 +00:00
HAL9000 39175dd284 fix(git_tools): eliminate TOCTOU race in _get_base_env() with double-checked locking
CI / benchmark-publish (push) Has started running
CI / push-validation (push) Successful in 43s
CI / helm (push) Successful in 44s
CI / build (push) Successful in 1m22s
CI / benchmark-regression (push) Has been skipped
CI / lint (push) Successful in 1m49s
CI / quality (push) Successful in 2m2s
CI / typecheck (push) Successful in 2m5s
CI / security (push) Successful in 2m26s
CI / integration_tests (push) Successful in 5m1s
CI / e2e_tests (push) Successful in 6m11s
CI / unit_tests (push) Successful in 11m38s
CI / docker (push) Successful in 2m20s
CI / coverage (push) Successful in 16m24s
CI / status-check (push) Successful in 4s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 1m8s
CI / coverage (pull_request) Successful in 12m53s
CI / unit_tests (pull_request) Successful in 8m11s
CI / quality (pull_request) Successful in 1m35s
CI / e2e_tests (pull_request) Successful in 4m58s
CI / helm (pull_request) Successful in 40s
CI / push-validation (pull_request) Successful in 21s
CI / build (pull_request) Successful in 1m4s
CI / lint (pull_request) Successful in 1m10s
CI / typecheck (pull_request) Successful in 1m35s
CI / security (pull_request) Successful in 2m19s
CI / integration_tests (pull_request) Successful in 4m12s
CI / docker (pull_request) Successful in 2m15s
CI / status-check (pull_request) Successful in 3s
Add module-level _BASE_ENV_LOCK: threading.Lock and replace the bare
if _BASE_ENV is None assignment with double-checked locking. The outer
check keeps the warm-cache path lock-free; the inner check inside
with _BASE_ENV_LOCK prevents duplicate initialisation when two threads
race on the very first call.

Add three BDD scenarios in features/git_tools.feature (step definitions
in features/steps/git_tools_thread_safety_steps.py) verifying caching
identity, content correctness, and thread safety under 20 concurrent
threads using threading.Barrier.

Update CHANGELOG.md and CONTRIBUTORS.md per contribution guidelines.

ISSUES CLOSED: #7619
2026-05-05 05:25:28 +00:00
HAL9000 81935a9cf7 chore(agents): improve ca-test-infra-improver — strengthen duplicate avoidance
CI / coverage (push) Blocked by required conditions
CI / docker (push) Blocked by required conditions
CI / status-check (push) Blocked by required conditions
CI / benchmark-regression (push) Waiting to run
CI / unit_tests (push) Has started running
CI / benchmark-publish (push) Has started running
CI / lint (push) Successful in 1m10s
CI / quality (push) Successful in 1m29s
CI / typecheck (push) Successful in 1m36s
CI / security (push) Successful in 1m39s
CI / helm (push) Successful in 35s
CI / push-validation (push) Successful in 50s
CI / build (push) Successful in 57s
CI / e2e_tests (push) Successful in 4m0s
CI / integration_tests (push) Successful in 4m20s
CI / lint (pull_request) Successful in 1m4s
CI / quality (pull_request) Successful in 1m6s
CI / typecheck (pull_request) Successful in 1m30s
CI / security (pull_request) Successful in 1m31s
CI / push-validation (pull_request) Successful in 37s
CI / helm (pull_request) Successful in 39s
CI / build (pull_request) Successful in 58s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 1m22s
CI / integration_tests (pull_request) Successful in 4m35s
CI / e2e_tests (pull_request) Failing after 5m18s
CI / unit_tests (pull_request) Successful in 7m26s
CI / docker (pull_request) Successful in 3m9s
CI / coverage (pull_request) Successful in 14m19s
CI / status-check (pull_request) Failing after 3s
Expand the Duplicate Avoidance section from a 3-step placeholder into a
comprehensive 6-step process to prevent the 48+ duplicate TEST-INFRA issues
observed across 8 topic clusters.

Key additions:
- CRITICAL blockquote: when in doubt, skip
- Keyword extraction before filing
- Keyword-based search (open AND closed issues, not just TEST-INFRA: prefix)
- Semantic comparison with concrete examples
- Cross-agent prefix checking (TEST-INFRA:, BUG-HUNT:, UAT:)
- Post-filing verification with 5-second delay for race condition handling
- Duplicate Check audit section requirement in every filed issue body

ISSUES CLOSED: #2370
2026-05-05 04:53:48 +00:00
HAL9000 2a0c1413f4 fix(langgraph): guard replace_state() against closed StateManager in execute()
CI / benchmark-publish (push) Has started running
CI / push-validation (push) Successful in 34s
CI / helm (push) Successful in 51s
CI / build (push) Successful in 1m4s
CI / lint (push) Successful in 1m24s
CI / typecheck (push) Successful in 1m39s
CI / quality (push) Successful in 1m42s
CI / security (push) Successful in 2m16s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 4m45s
CI / e2e_tests (push) Failing after 5m33s
CI / unit_tests (push) Successful in 6m45s
CI / docker (push) Successful in 2m21s
CI / coverage (push) Successful in 16m15s
CI / status-check (push) Failing after 4s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 1m0s
CI / status-check (pull_request) Successful in 6s
CI / helm (pull_request) Successful in 28s
CI / unit_tests (pull_request) Successful in 9m57s
CI / push-validation (pull_request) Successful in 24s
CI / typecheck (pull_request) Successful in 2m3s
CI / e2e_tests (pull_request) Successful in 3m32s
CI / security (pull_request) Successful in 2m12s
CI / docker (pull_request) Successful in 1m57s
CI / lint (pull_request) Successful in 46s
CI / quality (pull_request) Successful in 1m37s
CI / build (pull_request) Successful in 30s
CI / integration_tests (pull_request) Successful in 6m57s
CI / coverage (pull_request) Successful in 13m15s
Replace direct state assignment in LangGraph.execute() with
state_manager.replace_state(), which enforces the is_closed guard and
notifies state stream subscribers through the proper StateManager API,
preventing silent state corruption after StateManager.close() is called.

replace_state() is the semantically correct method for this use case:
it atomically replaces the entire state for a fresh execution context,
enforces the is_closed guard, and notifies subscribers. update_state()
is designed for incremental updates with execution_count tracking, not
for resetting state to a fresh execution context.

Closes #9994
2026-05-05 04:04:13 +00:00
HAL9000 6273fcb6e7 style: fix ruff format quote style in tdd_langgraph_execute_closed_state_steps.py
Apply ruff format to fix single-quote vs double-quote inconsistency in
f-string in step assertion, resolving CI lint/format check failure.
2026-05-05 04:04:13 +00:00
HAL9000 331bf343dc fix(langgraph): use update_state() in LangGraph.execute() instead of direct state assignment
Add is_closed guard to StateManager.replace_state() so that LangGraph.execute() — which delegates to replace_state() — raises RuntimeError when the StateManager has been closed. This prevents silent state corruption after StateManager.close() is called.

Add Behave BDD scenarios verifying the guard and the happy path.

ISSUES CLOSED: #9994
2026-05-05 04:04:13 +00:00
HAL9000 9a41a3bcaf fix(deps): upgrade aiohttp to 3.13.4 to remediate CVE-2026-34513 and CVE-2026-34515
CI / lint (push) Successful in 56s
CI / push-validation (push) Successful in 30s
CI / build (push) Successful in 43s
CI / helm (push) Successful in 47s
CI / quality (push) Successful in 1m30s
CI / security (push) Successful in 1m31s
CI / typecheck (push) Successful in 1m40s
CI / integration_tests (push) Successful in 3m51s
CI / e2e_tests (push) Failing after 4m56s
CI / unit_tests (push) Successful in 5m42s
CI / docker (push) Successful in 1m37s
CI / coverage (push) Successful in 12m17s
CI / status-check (push) Failing after 4s
CI / benchmark-publish (push) Has started running
CI / benchmark-regression (push) Has been skipped
CI / status-check (pull_request) Blocked by required conditions
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 1m22s
CI / typecheck (pull_request) Successful in 1m34s
CI / security (pull_request) Successful in 1m33s
CI / push-validation (pull_request) Successful in 35s
CI / quality (pull_request) Successful in 1m26s
CI / helm (pull_request) Successful in 40s
CI / build (pull_request) Successful in 50s
CI / benchmark-regression (pull_request) Failing after 1m20s
CI / integration_tests (pull_request) Successful in 4m23s
CI / e2e_tests (pull_request) Failing after 5m42s
CI / unit_tests (pull_request) Successful in 7m51s
CI / coverage (pull_request) Has started running
CI / docker (pull_request) Successful in 1m33s
Added CHANGELOG entry documenting the aiohttp>=3.13.4 security constraint
that remediates CVE-2026-34513 and CVE-2026-34515 (high-severity open redirect
vulnerabilities). The dependency constraint was already present in pyproject.toml
via commit f0ff4bce on master; this PR documents it in the CHANGELOG and
closes the tracking issues.

ISSUES CLOSED: #1549, #1544
2026-05-05 02:52:22 +00:00
HAL9000 b41efe42f4 docs: revert benchmark changes to make PR atomic (CHANGELOG-only)
CI / lint (pull_request) Successful in 1m2s
CI / quality (pull_request) Successful in 1m18s
CI / typecheck (pull_request) Successful in 1m32s
CI / security (pull_request) Successful in 2m6s
CI / build (pull_request) Successful in 31s
CI / helm (pull_request) Successful in 28s
CI / integration_tests (pull_request) Successful in 3m2s
CI / push-validation (pull_request) Successful in 25s
CI / e2e_tests (pull_request) Successful in 3m49s
CI / unit_tests (pull_request) Successful in 8m17s
CI / docker (pull_request) Successful in 1m32s
CI / benchmark-publish (pull_request) Has been skipped
CI / coverage (pull_request) Successful in 10m58s
CI / benchmark-regression (pull_request) Failing after 1m3s
CI / build (push) Waiting to run
CI / docker (push) Blocked by required conditions
CI / lint (push) Waiting to run
CI / typecheck (push) Waiting to run
CI / security (push) Waiting to run
CI / quality (push) Waiting to run
CI / unit_tests (push) Waiting to run
CI / integration_tests (push) Waiting to run
CI / e2e_tests (push) Waiting to run
CI / coverage (push) Blocked by required conditions
CI / helm (push) Waiting to run
CI / push-validation (push) Waiting to run
CI / status-check (push) Blocked by required conditions
CI / status-check (pull_request) Successful in 3s
Remove benchmarks/a2a_facade_bench.py changes (operation->method rename and
self.current_version caching) from this PR. These benchmark changes are
unrelated to the CHANGELOG documentation update and violate the atomicity
requirement per CONTRIBUTING.md. They will be submitted in a separate PR.
2026-05-05 02:30:56 +00:00
HAL9000 c790ae0647 docs: add [Unreleased] CHANGELOG entries for post-v3.8.0 work
Document recent merged work in the [Unreleased] section:

Added:
- Comprehensive Worker Tracking System (all 16 supervisors with OpenCode API monitoring)
- Centralized Automation Tracking Manager subagent (prevents cycle reuse issues)
- Plan Action Argument Upsert fix (#4174)

Changed:
- Product-Builder Tracking Migration to individual per-cycle tracking issues
- Implementation Orchestrator Scaling to 32 parallel workers

Fixed:
- ACMS Indexing Pipeline CLI Wiring: ContextTierService was empty on CLI invocations, causing LLM to receive zero file context during plan execution (#1028)
- CI Lint: 51 ruff violations in scripts/validate_automation_tracking.py
- CI Integration Tests: stale tdd_expected_fail tag in coverage_threshold.robot removed (#5266)
- Orchestrator Worker Dispatch: verify_worker_started() API response format fix

Also moves the ACMS fix from the incorrect Changed section to the correct Fixed section.

Plus align the A2A ASV benchmark suite with the JSON-RPC 2.0 method rename so CI stays green.

ISSUES CLOSED: #6852
2026-05-05 02:30:56 +00:00
HAL9000 26310a3d30 fix(alembic): replace f-string SQL construction in plan phases migration with safe string concatenation
CI / push-validation (push) Successful in 31s
CI / lint (push) Successful in 1m18s
CI / helm (push) Successful in 40s
CI / build (push) Successful in 1m6s
CI / quality (push) Successful in 1m47s
CI / typecheck (push) Successful in 1m51s
CI / security (push) Successful in 1m56s
CI / integration_tests (push) Successful in 4m41s
CI / e2e_tests (push) Successful in 4m40s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 10m19s
CI / docker (push) Successful in 2m4s
CI / coverage (push) Successful in 10m37s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (push) Successful in 1h17m18s
Bandit B608 flagged f-string SQL construction in the INSERT INTO ... SELECT
statement in a5_005_rebaseline_plan_phases.py. The f-strings interpolated the
module-level constant _ALL_DATA_COLUMNS into a raw SQL statement, which Bandit
classifies as a potential SQL injection risk (even though the constant is
hardcoded and safe at runtime).

Replace the two f-string lines:
  f"INSERT INTO _v3_plans_new ({_ALL_DATA_COLUMNS}) "
  f"SELECT {_ALL_DATA_COLUMNS} FROM v3_plans"

with plain string concatenation:
  "INSERT INTO _v3_plans_new (" + _ALL_DATA_COLUMNS + ") "
  "SELECT " + _ALL_DATA_COLUMNS + " FROM v3_plans"

This eliminates the B608 finding without changing migration behaviour, and
unblocks the planned tightening of the bandit severity gate from HIGH to MEDIUM
(tracked in issue #9945).

ISSUES CLOSED: #10777
2026-05-05 02:24:36 +00:00
CoreRasurae cecca72b8e test(behave): Reduce the coverage level to 96.5%
CI / benchmark-publish (push) Has started running
CI / benchmark-regression (push) Has been skipped
CI / e2e_tests (push) Failing after 14s
CI / helm (push) Failing after 8s
CI / unit_tests (push) Failing after 21s
CI / typecheck (push) Failing after 32s
CI / build (push) Failing after 9s
CI / quality (push) Failing after 24s
CI / integration_tests (push) Failing after 15s
CI / security (push) Failing after 24s
CI / lint (push) Failing after 34s
CI / coverage (push) Has been skipped
CI / docker (push) Has been skipped
CI / push-validation (push) Successful in 20s
CI / status-check (push) Failing after 6s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 1m11s
CI / coverage (pull_request) Successful in 14m34s
CI / push-validation (pull_request) Successful in 36s
CI / typecheck (pull_request) Successful in 1m14s
CI / integration_tests (pull_request) Successful in 3m42s
CI / e2e_tests (pull_request) Successful in 4m26s
CI / unit_tests (pull_request) Successful in 6m29s
CI / build (pull_request) Successful in 59s
CI / lint (pull_request) Successful in 53s
CI / quality (pull_request) Successful in 56s
CI / security (pull_request) Successful in 1m19s
CI / helm (pull_request) Successful in 53s
CI / docker (pull_request) Successful in 1m46s
CI / status-check (pull_request) Successful in 3s
2026-05-05 02:01:49 +00:00
CoreRasurae cc24d8c8ac fix(cli): remove legacy plan commands from help output
Completely removed all legacy plan commands from the CLI:
    - Removed tell, build, new, current, cd, continue CLI commands
    - Removed programmatic wrapper functions (tell_command, build_command, etc.)
    - Removed legacy deprecation message
    - Updated help text to indicate V3 Plan Lifecycle exclusively
    - Removed stale references to tell/build in help output and command validation

    Removes the legacy 'tell' and 'build' CLI shortcuts from main.py:
    - Removed echo lines advertising tell/build commands
    - Removed tell/build from valid_cmds list
    - Removed tell/build from _LIGHTWEIGHT_COMMANDS frozenset
    - These dead entries were preventing helpful error messages

    Test infrastructure improvements:
    - Event bus exception test: Patch the module-level logger during emit() so that
      structlog.testing.capture_logs() can capture the logs. Without patching, the
      module-level logger created at import time is not captured by the context manager.
    - Session create/list commands: Suppress cleveragents.mcp logger to CRITICAL level
      during JSON/YAML output formatting to prevent health check warnings with ANSI codes
      from being written to stdout before JSON output, which breaks JSON parsing.
    - Extended plan_cli_coverage_boost with scenarios for estimation_result,
      invariants, execution_environment, validation_summary, and checkpoint
      coverage in _plan_spec_dict

    Documentation:
    - Created docs/Legacy_to_V3_Guide.md with comprehensive migration instructions
    - Updated CONTRIBUTING.md to document removal of legacy workflow
    - Updated CHANGELOG.md to reference issue #4181 instead of PR #10800

ISSUES CLOSED: #4181
2026-05-05 02:01:49 +00:00
CoreRasurae c7208d8a18 test(behave): Create new tests for coverage increase 2026-05-05 02:01:49 +00:00
CoreRasurae d97f2bbe26 fix: Allow supression of MCP healtcheck for non-rich text output 2026-05-05 02:01:49 +00:00
CoreRasurae cb60593134 fix: Install a2a SDK dependency for the tests 2026-05-05 02:01:49 +00:00
CoreRasurae d4d43862e3 fix: Create fresh DB template and atomically swap it
- Unit tests tend to fail due inconsitent DB file.
- Create a fresh copy on a temporary location and the atomically swap it.
- To always provide a completely initialized and migrated DB.
2026-05-05 02:01:49 +00:00
HAL9000 65f1c40533 fix(cli): resolve review blockers for actor context clear command (#6370)
CI / status-check (push) Blocked by required conditions
CI / benchmark-regression (push) Has been skipped
CI / lint (push) Successful in 48s
CI / typecheck (push) Successful in 1m7s
CI / helm (push) Successful in 32s
CI / push-validation (push) Successful in 34s
CI / quality (push) Successful in 57s
CI / build (push) Successful in 41s
CI / security (push) Successful in 1m15s
CI / integration_tests (push) Successful in 3m41s
CI / e2e_tests (push) Successful in 3m48s
CI / unit_tests (push) Successful in 4m36s
CI / coverage (push) Has started running
CI / docker (push) Successful in 2m18s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 1m21s
CI / benchmark-publish (push) Has been cancelled
CI / build (pull_request) Successful in 47s
CI / unit_tests (pull_request) Successful in 9m25s
CI / e2e_tests (pull_request) Successful in 4m36s
CI / push-validation (pull_request) Successful in 30s
CI / helm (pull_request) Successful in 35s
CI / integration_tests (pull_request) Successful in 3m38s
CI / lint (pull_request) Successful in 45s
CI / typecheck (pull_request) Successful in 1m17s
CI / quality (pull_request) Successful in 1m37s
CI / security (pull_request) Successful in 2m9s
CI / status-check (pull_request) Failing after 4s
CI / coverage (pull_request) Failing after 40s
CI / docker (pull_request) Successful in 1m59s
2026-05-05 01:33:31 +00:00
HAL9000 d567b2e911 feat(cli): add actor context clear command (#6370)
ISSUES CLOSED: #6370
2026-05-05 01:33:31 +00:00
brent.edwards 57930c9fb3 fix(wf10): fixing more of the add/add problems
CI / status-check (push) Blocked by required conditions
CI / benchmark-publish (push) Has started running
CI / benchmark-regression (push) Has been skipped
CI / lint (push) Successful in 41s
CI / push-validation (push) Successful in 29s
CI / e2e_tests (push) Failing after 1m9s
CI / helm (push) Successful in 44s
CI / build (push) Successful in 46s
CI / security (push) Successful in 2m0s
CI / quality (push) Successful in 1m4s
CI / typecheck (push) Successful in 1m13s
CI / integration_tests (push) Successful in 3m13s
CI / unit_tests (push) Successful in 9m25s
CI / coverage (push) Has started running
CI / docker (push) Successful in 1m58s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 1m3s
CI / coverage (pull_request) Successful in 16m0s
CI / build (pull_request) Successful in 47s
CI / docker (pull_request) Successful in 1m44s
CI / lint (pull_request) Successful in 1m15s
CI / typecheck (pull_request) Successful in 1m32s
CI / integration_tests (pull_request) Successful in 5m26s
CI / e2e_tests (pull_request) Successful in 5m8s
CI / unit_tests (pull_request) Successful in 6m14s
CI / helm (pull_request) Successful in 42s
CI / push-validation (pull_request) Successful in 47s
CI / quality (pull_request) Successful in 1m18s
CI / security (pull_request) Successful in 1m45s
CI / status-check (pull_request) Successful in 3s
Closes #10861
2026-05-05 00:38:44 +00:00
brent.edwards 1932bed2a8 fix(forgejo): remove harbor.cleverthis.com from docker:dind
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 41s
CI / push-validation (pull_request) Successful in 30s
CI / build (pull_request) Successful in 52s
CI / lint (pull_request) Successful in 56s
CI / quality (pull_request) Successful in 1m12s
CI / security (pull_request) Successful in 1m26s
CI / typecheck (pull_request) Successful in 1m26s
CI / benchmark-regression (pull_request) Failing after 52s
CI / integration_tests (pull_request) Successful in 3m20s
CI / e2e_tests (pull_request) Failing after 4m17s
CI / unit_tests (pull_request) Successful in 6m55s
CI / docker (pull_request) Failing after 1s
CI / coverage (pull_request) Successful in 14m32s
CI / status-check (pull_request) Failing after 3s
Fixes: #10861
2026-05-04 23:41:51 +00:00
brent.edwards 61d00ef037 fix(forgejo): changing from "uv=0.8.0" to "uv==0.8.0"
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 39s
CI / build (pull_request) Successful in 56s
CI / lint (pull_request) Successful in 1m4s
CI / quality (pull_request) Successful in 1m6s
CI / benchmark-regression (pull_request) Failing after 1m8s
CI / typecheck (pull_request) Successful in 1m32s
CI / security (pull_request) Successful in 1m40s
CI / push-validation (pull_request) Successful in 29s
CI / integration_tests (pull_request) Successful in 3m35s
CI / e2e_tests (pull_request) Successful in 4m17s
CI / unit_tests (pull_request) Successful in 6m49s
CI / docker (pull_request) Failing after 2s
CI / coverage (pull_request) Successful in 11m36s
CI / status-check (pull_request) Failing after 3s
2026-05-04 23:09:47 +00:00
brent.edwards e249afa30e fix(wf10_batch): fix add/add conflict
CI / status-check (pull_request) Blocked by required conditions
CI / benchmark-publish (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 31s
CI / helm (pull_request) Successful in 41s
CI / benchmark-regression (pull_request) Failing after 47s
CI / build (pull_request) Successful in 55s
CI / quality (pull_request) Successful in 1m11s
CI / lint (pull_request) Successful in 1m22s
CI / typecheck (pull_request) Successful in 1m40s
CI / security (pull_request) Successful in 1m55s
CI / integration_tests (pull_request) Successful in 4m31s
CI / unit_tests (pull_request) Successful in 4m34s
CI / coverage (pull_request) Has started running
CI / docker (pull_request) Failing after 0s
CI / e2e_tests (pull_request) Successful in 5m22s
Closes: #10861
2026-05-04 15:54:22 -07:00
brent.edwards b483ee4786 Merge branch 'master' into bugfix/m3-actor-run-response
CI / benchmark-publish (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 43s
CI / benchmark-regression (pull_request) Failing after 55s
CI / helm (pull_request) Successful in 57s
CI / build (pull_request) Successful in 1m2s
CI / lint (pull_request) Successful in 1m27s
CI / quality (pull_request) Successful in 1m31s
CI / typecheck (pull_request) Successful in 1m36s
CI / security (pull_request) Successful in 1m37s
CI / e2e_tests (pull_request) Failing after 4m45s
CI / integration_tests (pull_request) Successful in 5m11s
CI / unit_tests (pull_request) Successful in 6m5s
CI / docker (pull_request) Failing after 0s
CI / coverage (pull_request) Successful in 14m3s
CI / status-check (pull_request) Failing after 4s
2026-05-04 11:39:57 -07:00
HAL9000 6236d6fc4f ci: retrigger CI after infrastructure failure (attempt 2)
CI / benchmark-regression (push) Has been skipped
CI / push-validation (push) Successful in 32s
CI / helm (push) Successful in 51s
CI / build (push) Successful in 56s
CI / lint (push) Successful in 1m32s
CI / quality (push) Successful in 1m41s
CI / typecheck (push) Successful in 1m44s
CI / security (push) Successful in 1m44s
CI / e2e_tests (push) Successful in 3m44s
CI / integration_tests (push) Successful in 7m41s
CI / unit_tests (push) Successful in 8m57s
CI / coverage (push) Successful in 12m34s
CI / benchmark-publish (push) Successful in 1h17m33s
CI / docker (push) Failing after 1s
CI / status-check (push) Failing after 3s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 38s
CI / coverage (pull_request) Successful in 16m41s
CI / build (pull_request) Successful in 40s
CI / docker (pull_request) Successful in 1m31s
CI / typecheck (pull_request) Successful in 1m12s
CI / quality (pull_request) Successful in 1m25s
CI / integration_tests (pull_request) Successful in 3m23s
CI / e2e_tests (pull_request) Successful in 4m21s
CI / unit_tests (pull_request) Successful in 6m27s
CI / helm (pull_request) Successful in 33s
CI / push-validation (pull_request) Successful in 32s
CI / lint (pull_request) Successful in 52s
CI / security (pull_request) Successful in 1m54s
CI / status-check (pull_request) Successful in 3s
2026-05-03 23:11:39 +00:00
HAL9000 b509be5037 ci: retrigger CI for bugfix/m3 branch after infrastructure failure 2026-05-03 23:11:39 +00:00
HAL9000 87146b67b8 fix(test): update a2a SDK TDD test to use Client instead of A2AClient 2026-05-03 23:11:39 +00:00
HAL9000 a998c5a0bf fix(test): add root_plan_id to raw SQL in plan_phase_migration constraint tests
The step_try_insert_plan_with_phase_and_state function was using raw SQL to
insert a plan with an invalid phase value to test the CHECK constraint. However,
the raw SQL was missing the root_plan_id column, which is NOT NULL in the schema.
This caused the insert to fail with a NOT NULL violation instead of the intended
CHECK constraint violation on the phase column.

This fix adds root_plan_id to the raw SQL INSERT statement, setting it to the
same value as plan_id (for a root plan). This allows the test to properly
exercise the CHECK constraint on the phase column, ensuring the test fails for
the correct reason.

ISSUES CLOSED: #9411
2026-05-03 23:11:39 +00:00
hurui200320 9b7a0543d0 fix(providers): add OpenRouter support to _create_provider_llm
CI / lint (push) Successful in 55s
CI / quality (push) Successful in 1m8s
CI / build (push) Successful in 32s
CI / typecheck (push) Successful in 1m31s
CI / security (push) Successful in 1m31s
CI / helm (push) Successful in 26s
CI / push-validation (push) Successful in 19s
CI / integration_tests (push) Successful in 4m14s
CI / e2e_tests (push) Failing after 4m15s
CI / unit_tests (push) Successful in 6m11s
CI / docker (push) Successful in 1m34s
CI / coverage (push) Successful in 11m44s
CI / status-check (push) Failing after 3s
CI / benchmark-regression (push) Has been skipped
CI / benchmark-publish (push) Successful in 1h30m44s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 52s
CI / quality (pull_request) Failing after 1m1s
CI / typecheck (pull_request) Failing after 1m3s
CI / lint (pull_request) Failing after 1m5s
CI / security (pull_request) Failing after 1m3s
CI / integration_tests (pull_request) Failing after 1m1s
CI / e2e_tests (pull_request) Failing after 1m1s
CI / build (pull_request) Failing after 1m1s
CI / push-validation (pull_request) Successful in 1m31s
CI / helm (pull_request) Successful in 1m5s
CI / unit_tests (pull_request) Failing after 1m0s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / status-check (pull_request) Failing after 6s
Add a ProviderType.OPENROUTER branch to ProviderRegistry._create_provider_llm()
so that create_llm("openrouter") returns a configured LangChain BaseLanguageModel
instead of raising ValueError("Unsupported provider type: openrouter").

The new branch creates a ChatOpenAI instance with openai_api_base set to the
OpenRouter gateway URL and openai_api_key from settings, matching the credentials
used by create_ai_provider(). Optional default_headers are sanitized to
dict[str, str] (string-coerced keys and values) via inline dict comprehension.

Also includes review fixes:
- M1: Added openrouter_organization header support (HTTP-Referer, X-Title)
- m1: Added explicit ValueError when openrouter_api_key is empty/missing
- M2: Added openai_api_key assertions to all OpenRouter BDD scenarios
- m2: Added default model fallback scenario for model_id=None
- m4: Added empty default_headers edge case scenario
- m5: Added extra kwargs forwarding scenario (temperature)
- m6: Added empty API key error scenario
- m7: Added negative assertion verifying original integer key 123 is absent
- m8: Added openai_api_key assertion to sanitized headers scenario

ISSUES CLOSED: #10948
2026-05-03 01:37:49 +00:00
HAL9000 dde71cf8e2 docs(milestone): split advanced-concepts and tui docs into sub-documents
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 1m12s
CI / quality (pull_request) Successful in 1m24s
CI / push-validation (pull_request) Successful in 33s
CI / helm (pull_request) Successful in 34s
CI / typecheck (pull_request) Successful in 1m33s
CI / build (pull_request) Successful in 1m13s
CI / benchmark-regression (pull_request) Failing after 37s
CI / security (pull_request) Successful in 2m25s
CI / e2e_tests (pull_request) Successful in 4m31s
CI / unit_tests (pull_request) Successful in 6m25s
CI / integration_tests (pull_request) Successful in 6m24s
CI / docker (pull_request) Successful in 1m36s
CI / coverage (pull_request) Successful in 13m7s
CI / coverage (push) Blocked by required conditions
CI / docker (push) Blocked by required conditions
CI / status-check (push) Blocked by required conditions
CI / benchmark-publish (push) Waiting to run
CI / benchmark-regression (push) Waiting to run
CI / status-check (pull_request) Successful in 5s
CI / push-validation (push) Successful in 31s
CI / quality (push) Successful in 1m22s
CI / lint (push) Successful in 1m28s
CI / helm (push) Successful in 43s
CI / build (push) Successful in 1m0s
CI / security (push) Successful in 1m41s
CI / typecheck (push) Successful in 2m5s
CI / e2e_tests (push) Successful in 4m13s
CI / integration_tests (push) Successful in 4m37s
CI / unit_tests (push) Has been cancelled
Split docs/advanced-concepts.md (554 lines) into four sub-documents under
docs/advanced-concepts/ and docs/tui.md (634 lines) into four sub-documents
under docs/tui/, each under the 500-line limit per CONTRIBUTING.md.

Advanced Concepts sub-documents:
- docs/advanced-concepts/index.md: Overview, context strategies, LLM backends
- docs/advanced-concepts/resource-types.md: Resource types, A2A rename
- docs/advanced-concepts/container-tools.md: Container tools, scope chain, budgets, safety
- docs/advanced-concepts/e2e-tests-and-plugins.md: E2E tests, code review, plugins

TUI sub-documents:
- docs/tui/index.md: Overview, getting started, main screen layout
- docs/tui/sidebar-and-personas.md: Sidebar states, persona system
- docs/tui/input-and-sessions.md: Reference/command input, session management
- docs/tui/configuration-and-integration.md: Config, key bindings, theme, integration

Updated mkdocs.yml navigation to reflect new sub-document structure.
Updated CONTRIBUTORS.md with contribution entry for PR #9903.

ISSUES CLOSED: #10533
2026-05-03 01:11:03 +00:00
HAL9000 e8548ceae2 feat(plans): add plan checkpoint management cli
CI / status-check (push) Blocked by required conditions
CI / benchmark-publish (push) Has started running
CI / benchmark-regression (push) Has been skipped
CI / lint (push) Successful in 49s
CI / quality (push) Successful in 55s
CI / typecheck (push) Successful in 1m17s
CI / helm (push) Successful in 37s
CI / security (push) Successful in 1m23s
CI / push-validation (push) Successful in 46s
CI / build (push) Successful in 1m8s
CI / e2e_tests (push) Successful in 5m19s
CI / integration_tests (push) Successful in 7m1s
CI / unit_tests (push) Successful in 11m5s
CI / coverage (push) Has started running
CI / docker (push) Successful in 1m52s
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 1m13s
CI / build (pull_request) Successful in 50s
CI / typecheck (pull_request) Successful in 1m33s
CI / push-validation (pull_request) Successful in 37s
CI / helm (pull_request) Successful in 58s
CI / quality (pull_request) Successful in 1m31s
CI / benchmark-regression (pull_request) Failing after 55s
CI / security (pull_request) Successful in 1m42s
CI / e2e_tests (pull_request) Successful in 4m52s
CI / unit_tests (pull_request) Successful in 7m54s
CI / integration_tests (pull_request) Successful in 8m10s
CI / docker (pull_request) Successful in 1m30s
CI / coverage (pull_request) Successful in 13m7s
CI / status-check (pull_request) Successful in 3s
2026-05-03 00:39:15 +00:00
HAL9000 7b8bf8c943 feat(plans): add plan checkpoint management cli
- align checkpoint list table headers with spec language and append a
  field summary footer for clarity
- support optional checkpoint IDs in cp delete command to surface a
  custom validation error and reuse confirmation logic
- update CLI BDD coverage and changelog entry for checkpoint
  management tooling

ISSUES CLOSED: #8559
2026-05-03 00:39:15 +00:00
HAL9000 f74393bcd5 style(checkpoint-cli): auto-format checkpoint CLI commands and step definitions
Ruff format was not applied to 2 files added by the checkpoint CLI
implementation commit. This ensures CI format check passes.

ISSUES CLOSED: #8559
2026-05-03 00:39:15 +00:00
HAL9000 c1e5de58d2 feat(plans): implement checkpoint listing and management CLI commands
Implements checkpoint-list and checkpoint-delete CLI commands for the
plans subsystem, enabling users to view and manage checkpoints through
the command-line interface.

- Added checkpoint-list command with --sort, --type, and --format options
- Added checkpoint-delete command with batch deletion and --yes flag
- Added BDD feature file with 17 scenarios covering all acceptance criteria
- Added step definitions for all scenarios
- Updated CHANGELOG.md

ISSUES CLOSED: #8559

# Conflicts:
#	CHANGELOG.md
2026-05-03 00:39:15 +00:00
HAL9000 3d7f576243 style(test): fix ruff format trailing newline in sandbox_create_for_plan_steps.py
CI / benchmark-publish (push) Has started running
CI / lint (push) Successful in 57s
CI / quality (push) Successful in 1m9s
CI / benchmark-regression (push) Has been skipped
CI / helm (push) Successful in 29s
CI / build (push) Successful in 33s
CI / typecheck (push) Successful in 1m23s
CI / security (push) Successful in 1m32s
CI / push-validation (push) Successful in 25s
CI / e2e_tests (push) Failing after 3m40s
CI / integration_tests (push) Successful in 4m55s
CI / unit_tests (push) Successful in 5m51s
CI / docker (push) Successful in 1m43s
CI / coverage (push) Successful in 13m11s
CI / status-check (push) Failing after 6s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 33s
CI / unit_tests (pull_request) Successful in 10m18s
CI / e2e_tests (pull_request) Failing after 3m34s
CI / push-validation (pull_request) Successful in 37s
CI / typecheck (pull_request) Successful in 1m19s
CI / security (pull_request) Successful in 1m10s
CI / quality (pull_request) Successful in 47s
CI / integration_tests (pull_request) Successful in 4m43s
CI / lint (pull_request) Successful in 47s
CI / build (pull_request) Successful in 52s
CI / helm (pull_request) Successful in 53s
CI / docker (pull_request) Successful in 1m46s
CI / coverage (pull_request) Successful in 12m58s
CI / status-check (pull_request) Failing after 3s
2026-05-03 00:17:15 +00:00
HAL9000 cf253c2e01 fix(agent-evolution-pool-supervisor): Fix sandbox step unpacking to match list[_SandboxInfo] return type 2026-05-03 00:17:15 +00:00
HAL9000 05163ec4d3 feat(agent-evolution-pool-supervisor): Add agent definition with PR Metadata Assignment section 2026-05-03 00:17:15 +00:00
HAL9000 5f641f5dc8 chore(attempt): add automated attempt note for PR #8193 — Tier 0 2026-05-03 00:17:15 +00:00
HAL9000 5e118ca636 style(test): apply ruff format to sandbox_create_for_plan_steps.py 2026-05-03 00:17:15 +00:00
HAL9000 cffd6d3923 fix(agent-evolution-pool-supervisor): Add BDD coverage for _create_sandbox_for_plan and _cleanup_sandbox_for_plan
Adds sandbox_create_for_plan.feature and sandbox_create_for_plan_steps.py
to cover the simplified _create_sandbox_for_plan (git worktree and flat
fallback paths) and the _cleanup_sandbox_for_plan cleanup_stale=False path
that were left uncovered after the multi_project_sandbox.feature deletion.
All lint and typecheck gates pass.
2026-05-03 00:17:15 +00:00