00c844d149164cbd1cd5beb8a2eefcfb07f864ef
1937 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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 | ||
|
|
ae521a96da | Build: Improved merge, review, and implementor logic to have better and more clear priorities | ||
|
|
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> |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
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 |
||
|
|
14223dbc25 | docs: update mkdocs nav and CHANGELOG for v3.2.0/v3.3.0 API docs | ||
|
|
4167f7371a | docs(api): add decision tree, invariant, checkpoint, and plan correction references (v3.2.0/v3.3.0) | ||
|
|
8e0fa1733f | Build: Better protection against agents editing the main working directory | ||
|
|
f10ec45c75 | docs(changelog): add v3.3.0 changelog entry for #7582 fail_fast fix | ||
|
|
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 |
||
|
|
143538c200 | Build: Made conflict resolution a more explicit part of the pr-merge agents | ||
|
|
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 |
||
|
|
b47f9440ba | [AUTO-TIME-1] Update timeline: 2026-04-14 milestone status | ||
|
|
e75db02f2c | test(benchmarks): add ASV benchmarks for LangGraph and TUI | ||
|
|
64d7b22620 | docs(timeline): update milestone status and schedule adherence 2026-04-14 [AUTO-TIME-1] | ||
|
|
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
|
||
|
|
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
|
||
|
|
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 |
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
|
||
|
|
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 |
||
|
|
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 |
||
|
|
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
|
||
|
|
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
|
||
|
|
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
|
||
|
|
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
|
||
|
|
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
|
||
|
|
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> |
||
|
|
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> |
||
|
|
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
|
||
|
|
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
|
||
|
|
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 |
||
|
|
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) |
||
|
|
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
|
||
|
|
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
|
||
|
|
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 |
||
|
|
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
|
||
|
|
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 |
||
|
|
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
|
||
|
|
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 |
||
|
|
8402279596 |
fix(data-integrity): fix validation_apply.py all_required_ fields #7508
ISSUES CLOSED: #7508 |
||
|
|
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. |
||
|
|
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
|
||
|
|
27f3a57927 | build: removed unused files | ||
|
|
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 |
||
|
|
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. |
||
|
|
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
|