Commit Graph

1937 Commits

Author SHA1 Message Date
CleverAgents Build Agent 00c844d149 Build: Refined some of the wording in the supervisors to get more reliable performance out of them. Made permissions stricter so we will get less circumvention of intended permissions 2026-04-17 09:00:15 +00:00
CleverAgents Build Agent ae521a96da Build: Improved merge, review, and implementor logic to have better and more clear priorities 2026-04-17 08:59:41 +00:00
HAL9000 4d22c1c534 docs(spec): add v3.8.0 Server Implementation milestone plan and update status table (#7701)
Co-authored-by: CleverThis <hal9000@cleverthis.com>
Co-committed-by: CleverThis <hal9000@cleverthis.com>
2026-04-17 08:59:41 +00:00
HAL9000 3c59cf049a docs: integrate docs-writer automation tracking workflows
- document docs-writer responsibilities and automation tracking requirements\n- enforce automation tracking label validation and clean coverage regression tags\n\nISSUES CLOSED: #7616

# Conflicts:
#	CHANGELOG.md
#	docs/development/automation-tracking.md
#	docs/development/docs-writer.md
#	mkdocs.yml
2026-04-17 08:56:36 +00:00
HAL9000 a007ef0644 docs(changelog): add plan action-arguments UNIQUE constraint fix (#4197)
Documents the fix for sqlite3.IntegrityError when agents plan use is called on an action that already has arguments registered via action create.

ISSUES CLOSED: #6856
2026-04-17 08:56:36 +00:00
CleverAgents Build Agent 9ac46a7c7d Build: improve grooming worker permissions, milestone enforcement, and PR merge throughput
- Fix grooming-worker Forgejo permissions (deny → allow) to unblock direct API calls
- Route PR label fetching through forgejo-label-manager subagent
- Replace priority-alignment check with milestone enforcement (every issue must have a milestone)
- Add step 11: address non-code review remarks (labels, description, milestone) during grooming
- Clarify grooming-pool-supervisor stale threshold to explicit 24-hour window
- Refactor pr-merge-pool-supervisor main loop into explicit numbered steps
- Add triage strategy section emphasising parallel review checks and immediate worker dispatch
- Tighten merge criteria: explicit APPROVED state, no unresolved REQUEST_CHANGES on current head
- Dispatch workers for all PR processing, not only rebase operations
- Add rule to batch forgejo_list_pull_reviews calls instead of checking serially
2026-04-17 08:56:36 +00:00
HAL9000 e87b757d65 docs(contributors): add HAL 9000 concurrency-fix contribution detail
Add a Details entry for HAL 9000 describing the plan lifecycle
concurrency race-condition fix (#7989) — wiring LockService into
execute_plan/apply_plan with unique per-invocation owner identities.

ISSUES CLOSED: #7989
2026-04-17 08:56:36 +00:00
HAL9000 5feca1abba fix(concurrency): fix lock owner identity to prevent re-entrant acquisition
The original implementation used plan_id as the owner_id when acquiring
the advisory lock. Because LockService treats owner_id as the caller
identity and allows re-entrant acquisition for the same owner, concurrent
sessions attempting to lock the same plan would all present the same
owner_id and thus silently renew the lock instead of raising
LockConflictError.

This fix generates a unique UUID for each invocation as the owner_id,
ensuring that concurrent sessions present different owners and thus
trigger LockConflictError when attempting to acquire the same plan lock.
The lock is still acquired before the phase transition and released in
a finally block to ensure cleanup even on error.

ISSUES CLOSED: #8067
2026-04-17 08:56:36 +00:00
HAL9000 b51358830e fix(concurrency): wire LockService into plan lifecycle — guard execute_plan and apply_plan
LockService was implemented but never integrated into the plan execution
path, leaving execute_plan() and apply_plan() unprotected against
concurrent calls on the same plan_id (race condition, issue #7989).

Changes:
- container.py: add _build_lock_service() factory and register
  LockService as a Singleton provider; inject it into
  PlanLifecycleService via the DI container.
- plan_lifecycle_service.py: accept optional lock_service parameter in
  __init__; in execute_plan() and apply_plan() acquire a plan-level
  advisory lock before the critical section and release it in a finally
  block so the lock is always freed even when exceptions occur.

When lock_service is None (existing tests without DI wiring) the
behaviour is unchanged — locking is silently skipped for backward
compatibility.

Closes #7989
2026-04-17 08:56:36 +00:00
HAL9000 14223dbc25 docs: update mkdocs nav and CHANGELOG for v3.2.0/v3.3.0 API docs 2026-04-14 20:04:01 +00:00
HAL9000 4167f7371a docs(api): add decision tree, invariant, checkpoint, and plan correction references (v3.2.0/v3.3.0) 2026-04-14 20:04:01 +00:00
CleverAgents Build Agent 8e0fa1733f Build: Better protection against agents editing the main working directory 2026-04-14 20:04:01 +00:00
HAL9000 f10ec45c75 docs(changelog): add v3.3.0 changelog entry for #7582 fail_fast fix 2026-04-14 20:04:01 +00:00
HAL9000 415785a358 fix(concurrency): fix SubplanExecutionService._execute_parallel() #7582
Ensure fail_fast cancels in-flight futures and reports them as CANCELLED.

Add Behave coverage that reproduces the concurrency regression.

ISSUES CLOSED: #7582
2026-04-14 20:04:01 +00:00
CleverAgents Build Agent 143538c200 Build: Made conflict resolution a more explicit part of the pr-merge agents 2026-04-14 20:04:01 +00:00
HAL9000 dafe37da7a fix(plan-lifecycle): record prompt_definition as root decision during Strategize
Fixes a bug where the root decision was recorded as 'strategy_choice' instead of
the correct 'prompt_definition' type during the Strategize phase. The decision tree
now correctly records the plan's prompt/description as the root decision, ensuring
proper decision tree structure and downstream decision evaluation.

Changes:
- Modified start_strategize() to record prompt_definition as the root decision
- Updated decision question to 'What is the plan prompt?'
- Set chosen_option to plan.description with fallback to action_name or plan_id
- Added test scenario to verify root decision type is prompt_definition

Closes #9061
2026-04-14 20:04:00 +00:00
HAL9000 b47f9440ba [AUTO-TIME-1] Update timeline: 2026-04-14 milestone status 2026-04-14 20:03:34 +00:00
HAL9000 e75db02f2c test(benchmarks): add ASV benchmarks for LangGraph and TUI 2026-04-14 12:42:25 +00:00
HAL9000 64d7b22620 docs(timeline): update milestone status and schedule adherence 2026-04-14 [AUTO-TIME-1] 2026-04-14 01:17:22 +00:00
CleverAgents Build Agent a0664ad662 Build: enforce pagination with agents
CI / status-check (push) Blocked by required conditions
CI / push-validation (push) Successful in 17s
CI / helm (push) Successful in 31s
CI / quality (push) Successful in 43s
CI / typecheck (push) Successful in 55s
CI / lint (push) Successful in 3m20s
CI / build (push) Successful in 3m23s
CI / security (push) Successful in 4m5s
CI / integration_tests (push) Successful in 4m14s
CI / e2e_tests (push) Successful in 7m21s
CI / unit_tests (push) Successful in 8m22s
CI / docker (push) Successful in 10s
CI / coverage (push) Failing after 21m53s
2026-04-13 20:47:32 -04:00
CleverAgents Build Agent ad069c2012 Build: Fixed forgejo tool permissions in the agents and fixed the label manager so it reliably works with org level labels
CI / push-validation (push) Successful in 20s
CI / helm (push) Successful in 22s
CI / build (push) Successful in 3m18s
CI / lint (push) Successful in 3m21s
CI / quality (push) Successful in 3m40s
CI / typecheck (push) Successful in 3m59s
CI / security (push) Successful in 4m5s
CI / e2e_tests (push) Successful in 6m10s
CI / integration_tests (push) Successful in 6m12s
CI / unit_tests (push) Successful in 7m31s
CI / docker (push) Successful in 1m32s
CI / coverage (push) Successful in 13m52s
CI / status-check (push) Successful in 1s
2026-04-13 19:45:22 -04:00
clever-agent fd68b85c7b Revert "Build: Removed unnessecary status-check target as well"
CI / push-validation (push) Successful in 16s
CI / helm (push) Successful in 35s
CI / lint (push) Successful in 3m21s
CI / build (push) Successful in 3m21s
CI / quality (push) Successful in 3m41s
CI / integration_tests (push) Successful in 3m52s
CI / typecheck (push) Successful in 3m59s
CI / security (push) Successful in 4m5s
CI / e2e_tests (push) Successful in 6m25s
CI / unit_tests (push) Successful in 8m12s
CI / docker (push) Successful in 21s
CI / coverage (push) Successful in 13m51s
CI / status-check (push) Successful in 1s
This reverts commit 9998b4f9ad.
2026-04-13 19:15:55 -04:00
clever-agent 9998b4f9ad Build: Removed unnessecary status-check target as well
CI / lint (push) Successful in 46s
CI / quality (push) Successful in 43s
CI / typecheck (push) Successful in 1m9s
CI / security (push) Successful in 1m5s
CI / push-validation (push) Successful in 20s
CI / helm (push) Successful in 22s
CI / unit_tests (push) Failing after 7m42s
CI / docker (push) Has been skipped
CI / integration_tests (push) Failing after 9m34s
CI / build (push) Failing after 10m58s
CI / e2e_tests (push) Failing after 10m59s
CI / docker (pull_request) Has been skipped
CI / coverage (push) Successful in 22m29s
CI / coverage (pull_request) Successful in 14m42s
CI / security (pull_request) Successful in 10m42s
CI / integration_tests (pull_request) Failing after 9m42s
CI / unit_tests (pull_request) Failing after 10m35s
CI / e2e_tests (pull_request) Successful in 11m9s
CI / helm (pull_request) Successful in 46s
CI / push-validation (pull_request) Successful in 1m4s
CI / quality (pull_request) Successful in 8m59s
CI / build (pull_request) Successful in 7m35s
CI / lint (pull_request) Successful in 9m0s
CI / typecheck (pull_request) Successful in 9m39s
2026-04-13 17:55:41 -04:00
HAL9000 836b0e19c3 docs: confirm HAL 9000 contributor entry in CONTRIBUTORS.md
CI / lint (pull_request) Successful in 38s
CI / typecheck (pull_request) Successful in 53s
CI / quality (pull_request) Successful in 34s
CI / security (pull_request) Successful in 1m30s
CI / build (pull_request) Successful in 37s
CI / helm (pull_request) Successful in 39s
CI / push-validation (pull_request) Successful in 25s
CI / e2e_tests (pull_request) Successful in 3m8s
CI / integration_tests (pull_request) Successful in 6m51s
CI / unit_tests (pull_request) Successful in 8m11s
CI / docker (pull_request) Successful in 1m24s
CI / coverage (pull_request) Successful in 13m12s
CI / status-check (pull_request) Successful in 2s
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 / build (push) Waiting to run
CI / docker (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
HAL 9000 was already listed in the Contributors section.  This commit

adds a detail entry in the Details section to explicitly document the

nature of HAL 9000's contributions (automated implementation, bug fixes,

and feature development), satisfying the CONTRIBUTING.md requirement to

update CONTRIBUTORS.md when making a change.

ISSUES CLOSED: #8232
2026-04-13 21:16:55 +00:00
HAL9000 c0d631b6cc fix: custom automation profiles silently fall back to manual
_resolve_profile_for_plan in PlanLifecycleService now raises a clear
ValidationError when a plan's automation profile name is not a known
built-in profile, instead of silently falling back to 'manual'.

Users who configured custom automation profiles (e.g. 'semi-auto',
'acme/strict') will now receive an actionable error message listing
available built-in profiles. The resolved profile name is also logged
at debug level for observability.

Added BDD regression tests (8 scenarios) covering:
- Built-in profiles resolve correctly
- Plans with no profile set resolve to 'manual'
- Custom/unknown profile names raise ValidationError
- Error message mentions the unknown profile name
- Error message lists available built-in profiles
- Debug log records the resolved profile name

ISSUES CLOSED: #8232
2026-04-13 21:16:55 +00:00
clever-agent 5438540803 build: Removed benchmark stage from CI, moving this to its own workflow
CI / lint (push) Successful in 22s
CI / typecheck (push) Successful in 49s
CI / quality (push) Successful in 37s
CI / security (push) Successful in 57s
CI / build (push) Successful in 26s
CI / push-validation (push) Successful in 16s
CI / helm (push) Successful in 39s
CI / e2e_tests (push) Successful in 3m7s
CI / integration_tests (push) Successful in 6m26s
CI / unit_tests (push) Successful in 7m46s
CI / docker (push) Successful in 20s
CI / coverage (push) Successful in 14m50s
CI / status-check (push) Successful in 1s
CI / typecheck (pull_request) Failing after 55s
CI / quality (pull_request) Successful in 48s
CI / security (pull_request) Successful in 53s
CI / build (pull_request) Successful in 28s
CI / helm (pull_request) Successful in 24s
CI / push-validation (pull_request) Successful in 27s
CI / lint (pull_request) Failing after 11m48s
CI / unit_tests (pull_request) Failing after 12m26s
CI / coverage (pull_request) Has been skipped
CI / docker (pull_request) Has been skipped
CI / e2e_tests (pull_request) Failing after 17m45s
CI / integration_tests (pull_request) Failing after 19m36s
CI / status-check (pull_request) Has been cancelled
2026-04-13 17:16:41 -04:00
clever-agent c5afe1f3a7 Build: Made the prompts coming from the product builder to the async subagent more clear to avoid issues in the future
CI / benchmark-publish (push) Waiting to run
CI / lint (push) Successful in 29s
CI / security (push) Successful in 55s
CI / quality (push) Successful in 34s
CI / typecheck (push) Successful in 1m26s
CI / benchmark-regression (push) Waiting to run
CI / build (push) Successful in 39s
CI / helm (push) Successful in 38s
CI / push-validation (push) Successful in 26s
CI / e2e_tests (push) Successful in 3m16s
CI / integration_tests (push) Successful in 6m52s
CI / unit_tests (push) Successful in 8m17s
CI / docker (push) Successful in 1m34s
CI / coverage (push) Successful in 13m52s
CI / status-check (push) Successful in 1s
2026-04-13 16:14:24 -04:00
clever-agent c5820266fd Build: improced merge agent logic to ensure faster and more effective merging into master
CI / benchmark-publish (push) Waiting to run
CI / lint (push) Successful in 29s
CI / typecheck (push) Successful in 1m10s
CI / security (push) Successful in 1m6s
CI / quality (push) Successful in 31s
CI / benchmark-regression (push) Waiting to run
CI / build (push) Successful in 32s
CI / helm (push) Successful in 37s
CI / push-validation (push) Successful in 29s
CI / e2e_tests (push) Successful in 3m11s
CI / integration_tests (push) Successful in 4m22s
CI / unit_tests (push) Successful in 6m2s
CI / docker (push) Successful in 1m39s
CI / coverage (push) Successful in 11m15s
CI / status-check (push) Successful in 1s
2026-04-13 15:30:00 -04:00
clever-agent 5a9aaa79ed Build: Reinforced label enforcement, and ensure implementation workers dont continue work on a mergable PR.
CI / lint (push) Successful in 39s
CI / quality (push) Successful in 41s
CI / typecheck (push) Successful in 52s
CI / build (push) Successful in 36s
CI / helm (push) Successful in 27s
CI / push-validation (push) Successful in 18s
CI / security (push) Successful in 4m5s
CI / e2e_tests (push) Successful in 3m43s
CI / integration_tests (push) Successful in 4m2s
CI / unit_tests (push) Successful in 5m37s
CI / docker (push) Successful in 22s
CI / coverage (push) Successful in 11m0s
CI / status-check (push) Successful in 1s
CI / benchmark-publish (push) Has been cancelled
CI / benchmark-regression (push) Has been cancelled
2026-04-13 13:54:43 -04:00
clever-agent 16883859b1 Build: some fixes to the automation tracking tickets ensuring they get cleaned up and handled more correctly, and announcements read in a more useful way
CI / lint (push) Successful in 3m23s
CI / helm (push) Successful in 24s
CI / build (push) Successful in 3m47s
CI / push-validation (push) Successful in 24s
CI / quality (push) Successful in 3m58s
CI / typecheck (push) Successful in 4m0s
CI / security (push) Successful in 4m46s
CI / benchmark-regression (push) Has been skipped
CI / e2e_tests (push) Successful in 7m50s
CI / integration_tests (push) Successful in 7m59s
CI / unit_tests (push) Successful in 9m17s
CI / docker (push) Successful in 1m31s
CI / coverage (push) Successful in 10m52s
CI / status-check (push) Successful in 1s
CI / benchmark-publish (push) Has been cancelled
2026-04-13 13:00:23 -04:00
HAL9000 978849412d docs(reference): align A2A facade API with implementation
CI / push-validation (push) Successful in 18s
CI / lint (push) Successful in 19s
CI / build (push) Successful in 37s
CI / helm (push) Successful in 37s
CI / quality (push) Successful in 46s
CI / typecheck (push) Successful in 53s
CI / e2e_tests (push) Successful in 4m10s
CI / integration_tests (push) Successful in 4m15s
CI / security (push) Successful in 4m16s
CI / unit_tests (push) Successful in 5m28s
CI / docker (push) Successful in 10s
CI / coverage (push) Successful in 11m7s
CI / status-check (push) Successful in 1s
CI / benchmark-regression (push) Has been skipped
CI / benchmark-publish (push) Successful in 1h13m43s
Fixes docs/reference/a2a.md Local Facade section. Issues #6620 and #6624.

Fixes #6620
Fixes #6624

Automatically merged by PR Merge Pool Supervisor [AUTO-PRMRG-SUP]

---
**Automated by CleverAgents Bot**
Supervisor: PR Merge | Agent: pr-merge-pool-supervisor
Co-authored-by: CleverThis <hal9000@cleverthis.com>
Co-committed-by: CleverThis <hal9000@cleverthis.com>
2026-04-13 08:10:03 +00:00
hurui200320 2005b8ef82 feat(tests): replace all @skip tags with proper @tdd_expected_fail tags or remove them across the entire codebase (#7221)
CI / push-validation (push) Successful in 18s
CI / build (push) Successful in 19s
CI / helm (push) Successful in 24s
CI / lint (push) Successful in 29s
CI / security (push) Successful in 1m11s
CI / e2e_tests (push) Successful in 2m56s
CI / quality (push) Successful in 3m40s
CI / typecheck (push) Successful in 3m59s
CI / integration_tests (push) Successful in 4m3s
CI / unit_tests (push) Successful in 4m55s
CI / docker (push) Successful in 10s
CI / coverage (push) Successful in 10m44s
CI / status-check (push) Successful in 1s
CI / benchmark-regression (push) Has been skipped
CI / benchmark-publish (push) Successful in 1h13m28s
## Summary

Replaces all 234 bare `@skip` occurrences across 82 Behave feature files with the correct TDD issue-capture tagging system described in CONTRIBUTING.md § Bug Fix Workflow.

Previously, the noxfile ran Behave with `--tags=not @skip`, silently excluding all `@skip`-tagged scenarios from every CI run. These tests never ran, never inverted results via the `@tdd_expected_fail` mechanism, and never contributed to coverage — defeating the purpose of TDD issue-capture testing. Every `@skip` occurrence had a commented-out hint line immediately above it showing the intended proper tags (e.g., `# @tdd_issue @tdd_issue_4272 @tdd_expected_fail @skip`), confirming they were all intended for conversion.

## Changes

### Mechanical conversion (234 replacements across 82 files)
- Extracted the proper TDD tags from the comment hint above each `@skip` line, removed `@skip` from the tag set, and replaced the `@skip` line with those tags.
- Removed the now-redundant comment hint lines alongside each replacement.

### Bug-fixed scenarios — `@tdd_expected_fail` removed (84 scenarios)
- After conversion, ran `nox -s unit_tests` to identify which newly-enabled `@tdd_expected_fail` scenarios now **pass** (their referenced bugs have already been fixed). Removed `@tdd_expected_fail` from those 84 scenarios and their corresponding feature-level tags, leaving only the permanent `@tdd_issue @tdd_issue_<N>` regression-guard tags.
- Affected features include: `tdd_tool_runner_env_precedence`, `tdd_automation_profile_session_leak`, `tls_certificate_check`, `project_create_persist`, `resource_type_bootstrap_*`, and 18 others.

### Noxfile cleanup
- Removed all four `--tags=not @skip` arguments from `noxfile.py` (unit_tests and coverage sessions). With zero `@skip` tags remaining in the codebase, this filter was dead code and its presence would mislead future maintainers into thinking `@skip` is still a supported escape mechanism.

### Regression guard files
- Split the regression guards into two focused files:
  - `tdd_regression_guards_exec_env.feature` for bug #4281 (exec-env precedence)
  - `tdd_regression_guards_session_list.feature` for bug #4271 (session list summary)
- Each file carries only its own `@tdd_issue` tags at the feature level, avoiding cross-contamination via Behave tag inheritance. The `Background` step (`session-list-summary mock`) only appears in the session-list file where it is actually needed.

### Duplicate tag cleanup
- Removed duplicate `@tdd_issue @tdd_issue_4287` tag lines in `tdd_skill_add_regression.feature` (lines 20 and 29).

### Inline comment for retained `@tdd_expected_fail`
- Added inline comment in `ci_workflow_validation.feature:134` explaining why this specific #4227 scenario retains `@tdd_expected_fail` despite #4227 being closed (CI YAML does not encode threshold as a machine-readable value).

### Known edge cases — `@tdd_expected_fail` retained (closed issues, fix on master, scenarios still fail)
The following issues are **closed** and their fixes **are on master**, but the specific test assertions still fail because the fixes address other aspects of the bugs. The `@tdd_expected_fail` tags are functionally correct and must remain until the specific scenario assertions pass:
- `tdd_exec_env_resolution_precedence.feature` — bug #1080 (closed 2026-03-31). The precedence-level-2-vs-4 scenario still fails.
- `session_list_summary_dedup.feature` — bug #3046 (closed 2026-04-05). The dedup-consistency scenarios still fail.
- `actor_add_update_enforcement.feature` — bug #2609 (closed 2026-04-05). The enforcement scenarios still fail.
- `ci_workflow_validation.feature:134` — #4227 (closed 2026-04-08). The CI YAML threshold assertion still fails.

## Verification

- `grep -r "@skip" features/ --include="*.feature"` → **zero results** ✓
- `grep -n "tags=not @skip" noxfile.py` → **zero results** ✓
- `nox -s unit_tests` → **629 features passed, 0 failed** ✓ (up from ~545 before this PR)
- CI all green (coverage ≥ 97%) ✓
- Integration tests (Robot Framework) do not use `@skip` — confirmed no action needed ✓
- E2E tests (Robot Framework) do not use `@skip` — confirmed no action needed ✓
- `CHANGELOG.md` updated with entry for this change ✓
- `CONTRIBUTORS.md` — Rui Hu already listed ✓

## Issues Addressed

Closes #7025

Co-authored-by: CleverThis <hal9000@cleverthis.com>
Reviewed-on: #7221
Reviewed-by: HAL 9000 <HAL9000@cleverthis.com>
Reviewed-by: HAL9001 <hal9001@cleverthis.com>
Co-authored-by: Rui Hu <rui.hu@cleverthis.com>
Co-committed-by: Rui Hu <rui.hu@cleverthis.com>
2026-04-13 04:56:01 +00:00
clever-agent 96ff9d0ff8 build:added some excplict priorities
CI / push-validation (push) Successful in 18s
CI / lint (push) Successful in 19s
CI / helm (push) Successful in 24s
CI / quality (push) Successful in 32s
CI / typecheck (push) Successful in 52s
CI / security (push) Successful in 58s
CI / benchmark-regression (push) Has been skipped
CI / build (push) Successful in 3m18s
CI / integration_tests (push) Successful in 3m56s
CI / unit_tests (push) Successful in 5m27s
CI / docker (push) Successful in 10s
CI / e2e_tests (push) Successful in 7m6s
CI / coverage (push) Successful in 13m23s
CI / status-check (push) Successful in 1s
CI / benchmark-publish (push) Has been cancelled
CI / status-check (pull_request) Successful in 1s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 57m1s
CI / push-validation (pull_request) Successful in 16s
CI / build (pull_request) Successful in 18s
CI / helm (pull_request) Successful in 23s
CI / lint (pull_request) Successful in 33s
CI / quality (pull_request) Successful in 42s
CI / typecheck (pull_request) Successful in 49s
CI / e2e_tests (pull_request) Successful in 2m59s
CI / integration_tests (pull_request) Successful in 3m56s
CI / security (pull_request) Successful in 4m4s
CI / unit_tests (pull_request) Successful in 8m18s
CI / docker (pull_request) Successful in 12s
CI / coverage (pull_request) Successful in 16m41s
2026-04-12 23:45:01 -04:00
clever-agent d5446081e3 build: improved the way the project rules are disseminated
CI / push-validation (push) Successful in 18s
CI / helm (push) Successful in 24s
CI / lint (push) Successful in 26s
CI / quality (push) Successful in 33s
CI / typecheck (push) Successful in 50s
CI / security (push) Successful in 1m0s
CI / benchmark-regression (push) Has been skipped
CI / e2e_tests (push) Successful in 2m59s
CI / build (push) Successful in 3m20s
CI / integration_tests (push) Successful in 6m22s
CI / unit_tests (push) Successful in 10m40s
CI / coverage (push) Successful in 10m21s
CI / docker (push) Successful in 1m18s
CI / status-check (push) Successful in 2s
CI / benchmark-publish (push) Has been cancelled
2026-04-12 22:33:40 -04:00
clever-agent 56a430d31f refactor(agents): rename backlog-grooming to grooming, fix tier selector dispatch
Renamed backlog-grooming-pool-supervisor to grooming-pool-supervisor and
backlog-grooming-worker to grooming-worker. The grooming agents now analyze
all open issues AND pull requests (not just the backlog). Workers perform a
full 10-point quality analysis on a single item instead of processing
batches. PRs with unaddressed reviews are prioritized. PR labels are synced
from linked issues. Workers post [GROOMED] markers for tracking.

Fixed critical issue: implementation-pool-supervisor now correctly dispatches
workers through tier selectors (tier-haiku/codex/sonnet/opus) instead of
launching implementation-worker directly, ensuring the escalation model
actually sets the correct model tier. Added implementation-worker to all
four tier selector task permissions.

Updated session tags from AUTO-BLOG to AUTO-GROOM. Updated specification
sections 4.2.1, 5.5, 5.5.1, 9.7, and architecture diagram.

ISSUES CLOSED: n/a
2026-04-12 22:33:40 -04:00
HAL9000 a3094dea2b docs(spec): clarify path containment, datetime, and plugin security contracts
CI / benchmark-publish (pull_request) Has been skipped
CI / push-validation (pull_request) Successful in 17s
CI / build (pull_request) Successful in 23s
CI / typecheck (pull_request) Successful in 48s
CI / helm (pull_request) Successful in 53s
CI / lint (pull_request) Successful in 3m21s
CI / quality (pull_request) Successful in 3m42s
CI / integration_tests (pull_request) Successful in 4m3s
CI / e2e_tests (pull_request) Successful in 4m5s
CI / security (pull_request) Successful in 4m6s
CI / unit_tests (pull_request) Successful in 5m41s
CI / docker (pull_request) Successful in 1m33s
CI / coverage (pull_request) Successful in 10m22s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-regression (pull_request) Successful in 57m14s
CI / push-validation (push) Successful in 20s
CI / helm (push) Successful in 21s
CI / quality (push) Successful in 41s
CI / typecheck (push) Successful in 48s
CI / security (push) Successful in 51s
CI / build (push) Successful in 1m0s
CI / lint (push) Successful in 3m18s
CI / benchmark-regression (push) Has been skipped
CI / e2e_tests (push) Successful in 3m40s
CI / unit_tests (push) Successful in 7m26s
CI / docker (push) Successful in 1m37s
CI / integration_tests (push) Successful in 9m33s
CI / coverage (push) Successful in 10m27s
CI / status-check (push) Successful in 2s
CI / benchmark-publish (push) Has been cancelled
Three implementation contracts clarified in response to security/correctness
bugs surfaced by the bug hunt pool:

1. Path containment: Sandbox path validation MUST use Path.is_relative_to()
   not string prefix comparison. String prefix allows /tmp/sandboxmalicious
   to pass a /tmp/sandbox root check. Canonical implementation provided.

2. Datetime handling: All stored ISO timestamp comparisons MUST parse back
   to timezone-aware datetime objects before comparing. String comparison
   of ISO timestamps is incorrect when timezone offsets differ in format.
   Canonical parse_utc_ts() pattern provided.

3. Plugin protocol validation: Protocol compliance MUST be checked
   structurally via issubclass() — never by instantiating the plugin class.
   Instantiation runs __init__ side effects before the plugin is approved.

These are minor clarifications (implementation contracts, not architectural
changes) added to the existing Security and Extensibility sections.

Refs: BUG-HUNT issues #7336 (path traversal), #7341 (datetime comparison),
      #7331 (plugin instantiation)
2026-04-13 00:44:44 +00:00
clever-agent 1ba4d1a0b3 build: improved the product verifier to make it a bit more effecient
CI / push-validation (push) Successful in 17s
CI / helm (push) Successful in 33s
CI / security (push) Successful in 1m0s
CI / build (push) Successful in 3m20s
CI / lint (push) Successful in 3m21s
CI / quality (push) Successful in 3m41s
CI / integration_tests (push) Successful in 3m57s
CI / typecheck (push) Successful in 3m58s
CI / e2e_tests (push) Successful in 6m22s
CI / unit_tests (push) Successful in 8m29s
CI / docker (push) Successful in 11s
CI / coverage (push) Successful in 10m3s
CI / status-check (push) Successful in 1s
CI / benchmark-regression (push) Has been skipped
CI / benchmark-publish (push) Successful in 1h15m59s
2026-04-12 19:58:05 -04:00
clever-agent 8692bb46e5 build: Refactored agent definitions to be simpler and less contention
CI / benchmark-publish (push) Waiting to run
CI / push-validation (push) Successful in 18s
CI / helm (push) Successful in 25s
CI / lint (push) Successful in 28s
CI / quality (push) Successful in 55s
CI / e2e_tests (push) Successful in 3m4s
CI / build (push) Successful in 3m20s
CI / typecheck (push) Successful in 3m59s
CI / security (push) Successful in 4m5s
CI / benchmark-regression (push) Waiting to run
CI / unit_tests (push) Successful in 7m44s
CI / docker (push) Successful in 1m19s
CI / integration_tests (push) Successful in 9m56s
CI / coverage (push) Successful in 11m47s
CI / status-check (push) Successful in 1s
2026-04-12 19:24:50 -04:00
HAL9000 48532de1cd docs: add context hydration and git worktree sandbox module docs
CI / helm (pull_request) Successful in 22s
CI / push-validation (pull_request) Successful in 26s
CI / typecheck (pull_request) Successful in 52s
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 3m20s
CI / e2e_tests (pull_request) Successful in 3m12s
CI / build (pull_request) Successful in 3m22s
CI / quality (pull_request) Successful in 3m42s
CI / security (pull_request) Successful in 4m15s
CI / integration_tests (pull_request) Successful in 8m53s
CI / unit_tests (pull_request) Successful in 8m58s
CI / docker (pull_request) Successful in 1m22s
CI / coverage (pull_request) Successful in 11m5s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-publish (push) Waiting to run
CI / push-validation (push) Successful in 18s
CI / helm (push) Successful in 24s
CI / lint (push) Successful in 27s
CI / build (push) Successful in 33s
CI / security (push) Successful in 1m7s
CI / quality (push) Successful in 3m39s
CI / typecheck (push) Successful in 3m56s
CI / benchmark-regression (push) Waiting to run
CI / integration_tests (push) Successful in 4m8s
CI / e2e_tests (push) Successful in 6m15s
CI / unit_tests (push) Successful in 8m10s
CI / docker (push) Successful in 10s
CI / coverage (push) Successful in 10m10s
CI / status-check (push) Successful in 1s
CI / benchmark-regression (pull_request) Successful in 56m36s
- Add docs/modules/context-hydration.md: documents the ACMS context
  hydration pipeline (context_tier_hydrator) that fixes the empty
  ContextTierService bug (#1028). Covers hydrate_tiers_from_project,
  hydrate_tiers_for_plan, file listing strategies, limits, and
  fragment metadata.

- Add docs/modules/git-worktree-sandbox.md: documents the
  GitWorktreeSandbox class that isolates plan apply changes in a
  dedicated git branch/worktree and merges back on commit (#4454).
  Covers full lifecycle, error types, branch naming, and fallback
  for non-git projects.

- Update docs/architecture.md: add Git Worktree Sandbox Apply section
  and extend ACMS section with context hydration note.

- Update mkdocs.yml: add both new module pages to the Modules nav.

ISSUES CLOSED: #6841
2026-04-12 16:42:19 +00:00
HAL9000 8b7bdb5edf Merge pull request 'docs(changelog): move ACMS fix to [Fixed] section and add sandbox root wiring' (#6052) from docs/changelog-acms-fix-4219 into master
CI / helm (push) Successful in 23s
CI / push-validation (push) Successful in 27s
CI / lint (push) Successful in 3m28s
CI / build (push) Successful in 3m16s
CI / typecheck (push) Successful in 4m2s
CI / quality (push) Successful in 3m57s
CI / security (push) Successful in 4m4s
CI / benchmark-regression (push) Waiting to run
CI / e2e_tests (push) Successful in 6m33s
CI / integration_tests (push) Successful in 7m19s
CI / unit_tests (push) Successful in 9m8s
CI / docker (push) Successful in 1m39s
CI / coverage (push) Successful in 11m40s
CI / status-check (push) Successful in 1s
CI / benchmark-publish (push) Successful in 1h15m4s
2026-04-12 16:34:24 +00:00
HAL9000 c08187f336 docs(changelog): move ACMS fix to [Fixed] section and add sandbox root wiring
CI / push-validation (pull_request) Successful in 16s
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 34s
CI / typecheck (pull_request) Successful in 1m21s
CI / lint (pull_request) Successful in 3m32s
CI / build (pull_request) Successful in 3m23s
CI / quality (pull_request) Successful in 3m52s
CI / security (pull_request) Successful in 4m37s
CI / e2e_tests (pull_request) Successful in 6m31s
CI / unit_tests (pull_request) Successful in 9m38s
CI / integration_tests (pull_request) Successful in 10m21s
CI / docker (pull_request) Successful in 1m24s
CI / coverage (pull_request) Successful in 10m36s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-regression (pull_request) Successful in 56m44s
Reclassify the ACMS context tier hydration entry as a bug fix and add the sandbox root wiring item so the changelog matches the behavior shipped in PR #4219 while preserving newer [Unreleased] additions.

ISSUES CLOSED: #7628
2026-04-12 16:20:21 +00:00
HAL9000 8dceb2ad02 Merge pull request 'fix(data-integrity): guard validation gate for empty runs' (#7786) from fix/issue-7508-validation-apply-required-fields into master
CI / benchmark-publish (push) Has been cancelled
CI / typecheck (push) Has been cancelled
CI / quality (push) Has been cancelled
CI / integration_tests (push) Has been cancelled
CI / e2e_tests (push) Has been cancelled
CI / coverage (push) Has been cancelled
CI / benchmark-regression (push) Has been cancelled
CI / build (push) Has been cancelled
CI / docker (push) Has been cancelled
CI / push-validation (push) Has been cancelled
CI / status-check (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CI / unit_tests (push) Has been cancelled
CI / helm (push) Has been cancelled
2026-04-12 08:16:06 +00:00
HAL9000 251759c9b1 chore: add changelog entry and contributor for #7508 validation gate fix
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Failing after 9s
CI / push-validation (pull_request) Successful in 43s
CI / build (pull_request) Successful in 7m41s
CI / quality (pull_request) Successful in 8m12s
CI / lint (pull_request) Successful in 8m35s
CI / typecheck (pull_request) Successful in 8m55s
CI / security (pull_request) Successful in 9m0s
CI / e2e_tests (pull_request) Successful in 11m22s
CI / integration_tests (pull_request) Successful in 17m29s
CI / unit_tests (pull_request) Successful in 19m48s
CI / docker (pull_request) Successful in 1m45s
CI / coverage (pull_request) Successful in 16m45s
CI / status-check (pull_request) Failing after 1s
CI / benchmark-regression (pull_request) Successful in 56m32s
- Add CHANGELOG.md entry under [Unreleased] ### Fixed for the empty-run
  guard added to ApplyValidationSummary.all_required_passed
- Add HAL 9000 to CONTRIBUTORS.md per CONTRIBUTING.md §PR Process Rule 8
2026-04-12 08:15:49 +00:00
HAL9000 8402279596 fix(data-integrity): fix validation_apply.py all_required_ fields #7508
ISSUES CLOSED: #7508
2026-04-12 08:15:49 +00:00
clever-agent f20fed2173 fix(agents): always launch all 18 supervisors fresh, stop existing sessions first
CI / unit_tests (push) Waiting to run
CI / integration_tests (push) Waiting to run
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 / e2e_tests (push) Waiting to run
CI / coverage (push) Blocked by required conditions
CI / benchmark-regression (push) Blocked by required conditions
CI / benchmark-publish (push) Waiting to run
CI / build (push) Waiting to run
CI / docker (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
Previously the product-builder would adopt existing supervisor sessions
from prior runs and skip launching those already running. This caused
stale sessions to persist with outdated configuration and context.

Now Phase C.0 discovers and gracefully stops all existing supervisor
sessions before Phase C.2 unconditionally launches all 18 fresh.
2026-04-12 06:17:57 +00:00
clever-agent ba416ba25d build: force reviewers to not use forgejo mcp
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 / benchmark-regression (push) Blocked by required conditions
CI / benchmark-publish (push) Waiting to run
CI / build (push) Waiting to run
CI / docker (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
2026-04-12 01:47:55 -04:00
clever-agent 27f3a57927 build: removed unused files 2026-04-12 01:29:15 -04:00
clever-agent 35ff97a641 fix(agents): force pr-reviewer to use curl exclusively, block all Forgejo MCP tools
CI / status-check (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 / benchmark-regression (push) Blocked by required conditions
CI / benchmark-publish (push) Waiting to run
CI / build (push) Waiting to run
CI / docker (push) Blocked by required conditions
CI / helm (push) Waiting to run
CI / push-validation (push) Waiting to run
The pr-reviewer agent was falling back to Forgejo MCP tools for reads
instead of using curl, causing actions to be attributed to the wrong
user account. This change:

- Blocks ALL Forgejo MCP tools (forgejo: '*': deny) instead of only
  specific write tools
- Adds explicit curl-only mandate section with clear explanation
- Adds tested curl command reference covering every API operation
  the reviewer needs (PR details, diffs, issues, CI status, reviews,
  file contents, posting reviews, posting comments, dismissals)
- Adds robots.txt override instruction for our self-hosted instance
- Updates all review process steps to reference curl instead of MCP
2026-04-12 04:59:51 +00:00
clever-agent 52c35c8182 fix: pass reviewer-only credentials through the PR review agent chain
CI / status-check (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 / benchmark-regression (push) Blocked by required conditions
CI / benchmark-publish (push) Waiting to run
CI / build (push) Waiting to run
CI / docker (push) Blocked by required conditions
CI / helm (push) Waiting to run
CI / push-validation (push) Waiting to run
The product-builder now reads FORGEJO_REVIEWER_* env vars and passes them
as the sole credentials to pr-review-pool-supervisor, which passes them
through to pr-reviewer workers. No agent in the review chain receives the
primary bot credentials, preventing accidental self-approvals. Simplifies
the reviewer instructions to require formal PR reviews (not just comments)
and removes contradictory references to denied MCP write tools.
2026-04-12 04:24:23 +00:00
HAL9000 ca2eaab02d build: Made PR rule first more explicit for agents
CI / helm (push) Waiting to run
CI / lint (push) Waiting to run
CI / typecheck (push) Waiting to run
CI / push-validation (push) Waiting to run
CI / status-check (push) Blocked by required conditions
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 / benchmark-regression (push) Blocked by required conditions
CI / benchmark-publish (push) Waiting to run
CI / build (push) Waiting to run
CI / docker (push) Blocked by required conditions
2026-04-11 23:33:52 -04:00