Commit Graph

94 Commits

Author SHA1 Message Date
HAL9000 f7ce8f0093 fix: update pr-review-pool-supervisor tracking prefix from AUTO-REV-POOL to AUTO-REV-SUP
- Updated pr-review-pool-supervisor.md tracking prefix from AUTO-REV-POOL to AUTO-REV-SUP
- Updated automation-tracking.md table and search query to use AUTO-REV-SUP
- Updated agent-system-specification.md all references from AUTO-REV-POOL to AUTO-REV-SUP
- Aligns documentation with actual production tracking prefix

ISSUES CLOSED: #7891
2026-06-02 00:58:16 -04:00
HAL9000 518c40be21 docs: document 2026-04-06 to 2026-04-08 improvements
CI / build (pull_request) Successful in 39s
CI / helm (pull_request) Successful in 24s
CI / lint (pull_request) Successful in 1m3s
CI / push-validation (pull_request) Successful in 38s
CI / typecheck (pull_request) Successful in 1m17s
CI / quality (pull_request) Successful in 1m37s
CI / security (pull_request) Successful in 1m49s
CI / unit_tests (pull_request) Successful in 8m23s
CI / docker (pull_request) Successful in 1m41s
CI / integration_tests (pull_request) Successful in 25m16s
CI / coverage (pull_request) Successful in 14m28s
CI / status-check (pull_request) Successful in 3s
- add changelog entries summarizing watchdog supervision and documentation updates\n- add ci-log-fetcher module guide detailing interface contract and usage\n- refresh system-watchdog doc with CI-blocker escalation and struggling PR detection\n- normalize coverage threshold robot test by dropping temporary tdd_expected_fail tags\n\nISSUES CLOSED: #7987
2026-05-31 09:38:17 -04:00
HAL9000 2cba7d41bc chore(agents): fix bug-hunt-pool-supervisor tracking prefix AUTO-BUG-POOL to AUTO-BUG-SUP (complete fix)
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) Has been skipped
CI / helm (push) Successful in 48s
CI / push-validation (push) Successful in 35s
CI / build (push) Successful in 1m4s
CI / lint (push) Successful in 1m18s
CI / quality (push) Successful in 1m22s
CI / typecheck (push) Successful in 1m46s
CI / e2e_tests (push) Successful in 4m42s
CI / integration_tests (push) Successful in 7m51s
CI / unit_tests (push) Successful in 12m20s
CI / security (push) Failing after 13m26s
CI / benchmark-publish (push) Successful in 1h31m13s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 1m27s
CI / status-check (pull_request) Successful in 3s
CI / integration_tests (pull_request) Successful in 4m32s
CI / unit_tests (pull_request) Successful in 9m46s
CI / helm (pull_request) Successful in 54s
CI / build (pull_request) Successful in 1m4s
CI / push-validation (pull_request) Successful in 22s
CI / docker (pull_request) Successful in 1m48s
CI / lint (pull_request) Successful in 1m10s
CI / quality (pull_request) Successful in 1m27s
CI / typecheck (pull_request) Successful in 1m42s
CI / e2e_tests (pull_request) Successful in 5m24s
CI / security (pull_request) Successful in 2m10s
CI / coverage (pull_request) Successful in 12m19s
Replace all remaining AUTO-BUG-POOL references with correct AUTO-BUG-SUP in agent-system-specification.md, automation-tracking.md documentation and agent-system-specification.md spec document, replaced with correct `AUTO-BUG-SUP` prefix used by the bug-hunt-pool-supervisor agent (#7875).

ISSUES CLOSED: #7875
2026-05-09 00:05:17 +00:00
HAL9000 afc17b22c5 feat(architecture-pool-supervisor): add milestone assignment to spec PRs
Restore original permission structure and model configuration while adding
only the changes needed for issue #7521: forgejo_update_pull_request
permission and PR Workflow for Major Changes documentation section.

Fixes addressed:
- Restore flat permission format (was incorrectly restructured to nested)
- Restore model to claude-haiku-4-5 with reasoningEffort max
- Restore removed critical rules (6: label delegation, 7: pagination)
- Restore removed permission denials (*, doom_loop, question, etc.)
- Add CHANGELOG.md entry for this feature
- Restore CONTRIBUTORS.md to master (remove unrelated changes)

ISSUES CLOSED: #7521

# Conflicts:
#	CONTRIBUTORS.md
2026-04-24 02:04:54 +00:00
HAL9000 44fc7411f9 ci: move benchmark regression job out of default PR workflow
CI / helm (pull_request) Successful in 31s
CI / push-validation (pull_request) Successful in 32s
CI / build (pull_request) Successful in 1m2s
CI / lint (pull_request) Successful in 1m7s
CI / quality (pull_request) Successful in 1m21s
CI / typecheck (pull_request) Successful in 1m29s
CI / security (pull_request) Successful in 1m36s
CI / integration_tests (pull_request) Successful in 3m55s
CI / e2e_tests (pull_request) Successful in 4m26s
CI / unit_tests (pull_request) Successful in 5m56s
CI / docker (pull_request) Successful in 1m32s
CI / coverage (pull_request) Successful in 11m8s
CI / status-check (pull_request) Successful in 3s
CI / push-validation (push) Successful in 25s
CI / helm (push) Successful in 30s
CI / build (push) Successful in 51s
CI / lint (push) Successful in 55s
CI / quality (push) Successful in 1m10s
CI / typecheck (push) Successful in 1m31s
CI / security (push) Successful in 1m36s
CI / e2e_tests (push) Successful in 4m10s
CI / integration_tests (push) Successful in 4m20s
CI / unit_tests (push) Successful in 4m28s
CI / docker (push) Successful in 1m42s
CI / coverage (push) Successful in 11m23s
CI / status-check (push) Successful in 4s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (push) Has been skipped
CI / benchmark-publish (push) Failing after 21m14s
CI / benchmark-regression (pull_request) Failing after 31m46s
Extract the benchmark-regression job from the default PR CI workflow
into a dedicated scheduled workflow (.forgejo/workflows/benchmark-scheduled.yml).

The benchmark job was blocking PR feedback for 99-132 minutes even when
lint/typecheck/tests passed in under 20 minutes. The new workflow runs:
- Nightly regression tests (2 AM UTC) comparing HEAD against master
- Weekly full benchmark suite (3 AM UTC Sundays) for trend analysis
- Manual dispatch trigger for ad-hoc benchmark validation

AWS S3 integration stores benchmark results for historical trend analysis.
Documentation updated in docs/development/ci-cd.md.
CONTRIBUTORS.md updated with benchmark workflow separation contribution.

ISSUES CLOSED: #9040

# Conflicts:
#	CONTRIBUTORS.md

# Conflicts:
#	CONTRIBUTORS.md
2026-04-23 14:24:09 +00:00
CoreRasurae 0c5b140d29 fix(database): include alembic files in package distribution
CI / push-validation (pull_request) Successful in 18s
CI / lint (pull_request) Successful in 26s
CI / helm (pull_request) Successful in 38s
CI / build (pull_request) Successful in 48s
CI / quality (pull_request) Successful in 54s
CI / security (pull_request) Successful in 55s
CI / typecheck (pull_request) Successful in 57s
CI / e2e_tests (pull_request) Successful in 4m48s
CI / unit_tests (pull_request) Successful in 8m5s
CI / integration_tests (pull_request) Successful in 9m23s
CI / docker (pull_request) Successful in 1m23s
CI / coverage (pull_request) Successful in 12m29s
CI / benchmark-regression (push) Failing after 0s
CI / benchmark-publish (push) Failing after 0s
CI / status-check (pull_request) Successful in 1s
CI / push-validation (push) Successful in 12s
CI / helm (push) Successful in 29s
CI / build (push) Successful in 3m23s
CI / lint (push) Successful in 3m38s
CI / quality (push) Successful in 3m40s
CI / security (push) Successful in 4m3s
CI / typecheck (push) Successful in 4m5s
CI / e2e_tests (push) Successful in 6m42s
CI / unit_tests (push) Successful in 10m7s
CI / integration_tests (push) Successful in 10m13s
CI / docker (push) Successful in 1m46s
CI / coverage (push) Successful in 10m58s
CI / status-check (push) Successful in 2s
Move alembic configuration and migration files from repository root into the
Python package structure to ensure they are included in the wheel distribution.

This fix resolves the FileNotFoundError when running `agents init` in Docker
containers or any environment using the built wheel distribution.

Changes:
- Move alembic/ directory from repo root to
  src/cleveragents/infrastructure/database/migrations/
- Move alembic.ini to the same new location and update script_location setting
- Update MigrationRunner._find_alembic_ini() to search from the new canonical
  location within the package
- Update create_template_db.py to point to the new alembic.ini location
- Update documentation references to reflect new migration file locations
- Create __init__.py for migrations package

- The env.py file is imported when running tests that verify all modules can be
  imported without errors. However, context.config is only available when alembic
  is actually running migrations, not during normal module imports. This caused
  an AttributeError when the test tried to import the migrations.env module.

- Fix by using getattr() with a default value to safely access context.config,
  and guard all code that uses config with None checks. This allows the module
  to be safely imported while still functioning correctly during migrations.

Testing:
- Verified MigrationRunner can locate alembic.ini in new location
- Tested agents init succeeds in creating project with database
- Template database creation works correctly
- All migration tests should pass without changes

Alembic files now follow standard Python packaging conventions, making them
automatically included in wheel distributions without special configuration.

ISSUES CLOSED: #4180
2026-04-17 17:40:00 +00:00
HAL9000 6559a0e9df docs: integrate docs-writer automation tracking workflows
CI / lint (pull_request) Successful in 51s
CI / quality (pull_request) Successful in 49s
CI / typecheck (pull_request) Successful in 58s
CI / security (pull_request) Successful in 53s
CI / build (pull_request) Successful in 24s
CI / push-validation (pull_request) Successful in 20s
CI / helm (pull_request) Successful in 23s
CI / e2e_tests (pull_request) Successful in 4m3s
CI / integration_tests (pull_request) Successful in 8m37s
CI / unit_tests (pull_request) Successful in 11m26s
CI / coverage (pull_request) Successful in 14m48s
CI / docker (pull_request) Successful in 11s
CI / status-check (pull_request) Successful in 1s
CI / lint (push) Successful in 19s
CI / quality (push) Successful in 45s
CI / security (push) Successful in 1m0s
CI / typecheck (push) Successful in 1m29s
CI / build (push) Successful in 39s
CI / helm (push) Successful in 25s
CI / push-validation (push) Successful in 18s
CI / e2e_tests (push) Successful in 4m42s
CI / integration_tests (push) Successful in 7m12s
CI / unit_tests (push) Successful in 8m52s
CI / coverage (push) Successful in 13m35s
CI / docker (push) Successful in 16s
CI / status-check (push) Successful in 1s
- 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-14 14:11:47 +00: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 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
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
clever-agent b89b781881 docs(spec): add Section 22 — Division of Responsibilities and Redundancy Model
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
Add comprehensive responsibility-first analysis of the entire agent system
covering 144 named responsibilities (R-01 through R-144) organized into 8
categories with 29 sub-categories and complete bidirectional cross-references.

Key additions:
- Section 22.0: Categorized Responsibility Index with navigation guide
- Section 7.9: Universal Supervisor Responsibilities (13 shared baseline)
- Section 22.145: Redundancy Analysis Summary with depth distribution,
  highest-redundancy items, most cross-referenced agents, and 5 named
  redundancy patterns
- 30 agent back-reference tables covering ~50 individual agents
- Category introductions explaining scope and significance
- 6th foundational principle (Defense-in-Depth) added to Section 1.1

Categories: A (Development Lifecycle, 50 items), B (Quality Assurance),
C (Ticket Hygiene), D (Architecture), E (Operational Health),
F (Human Interaction), G (Strategic Governance), H (Project Standards).

ISSUES CLOSED: N/A
2026-04-11 23:03:56 -04:00
HAL9000 c76433f756 docs(tracking): document automation-tracking-manager centralization
CI / lint (pull_request) Successful in 39s
CI / push-validation (pull_request) Successful in 29s
CI / build (pull_request) Successful in 35s
CI / helm (pull_request) Successful in 34s
CI / quality (pull_request) Successful in 45s
CI / security (pull_request) Successful in 57s
CI / typecheck (pull_request) Successful in 1m4s
CI / e2e_tests (pull_request) Successful in 3m19s
CI / integration_tests (pull_request) Successful in 4m12s
CI / unit_tests (pull_request) Successful in 5m20s
CI / docker (pull_request) Successful in 11s
CI / coverage (pull_request) Successful in 13m7s
CI / status-check (pull_request) Successful in 9s
CI / benchmark-publish (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
2026-04-11 00:40:19 +00:00
clever-agent 7e66e57c21 docs(spec): final pass — structural integrity audit
CI / benchmark-publish (push) Waiting to run
CI / helm (push) Successful in 23s
CI / lint (push) Successful in 28s
CI / build (push) Successful in 32s
CI / push-validation (push) Successful in 35s
CI / quality (push) Successful in 40s
CI / security (push) Successful in 59s
CI / typecheck (push) Successful in 1m0s
CI / benchmark-regression (push) Waiting to run
CI / e2e_tests (push) Successful in 3m18s
CI / integration_tests (push) Successful in 4m14s
CI / unit_tests (push) Successful in 5m41s
CI / docker (push) Successful in 10s
CI / coverage (push) Successful in 11m28s
CI / status-check (push) Successful in 1s
- Fixed duplicate section number: two §2.4 -> renamed first to §2.3.1
- Verified all section cross-references valid
- Verified Appendix A model/mode data matches frontmatter (10 samples)
- Verified mkdocs.yml navigation entry
- Comprehensive stale-name sweep: zero hits across all files
- Added v1.36.0 revision entry with final statistics
2026-04-10 21:07:30 +00:00
clever-agent 3a69aef505 docs(spec): twentieth pass achieving spec-wide dual-account coherence
- Fixed Glossary: HAL9000 definition updated for dual-account architecture
- Fixed Section 6.17.2: "two-step" -> "dual-account" in protocol text
- Fixed Section 12.1.2: PR Reviewer table, description, and permissions
  rationale all updated for curl-based dual-account review protocol
- Fixed Section 19.5: Security Model rewritten from "single bot account"
  to dual-account with separate permission scopes per account
- Fixed 2 remaining "Two-Step Review Protocol" references
- Added v1.35.0 revision entry
2026-04-10 20:59:08 +00:00
clever-agent 05e5b26f2a docs(spec): nineteenth pass fixing diagram, MCP tool refs, and edit:deny count
- Fixed Section 6.17.2 diagram: removed orphaned single-account nodes,
  updated to show curl with FORGEJO_REVIEWER_PAT
- Fixed Section 6.17.2 step text: forgejo_create_pull_review -> curl
- Fixed edit:deny count from 41 to 42
- Added missing separator after diagram
- Added v1.34.0 revision entry
2026-04-10 20:51:37 +00:00
clever-agent edbb3471b0 docs(spec): eighteenth pass fixing review template gaps and credential completeness
- Updated Section 6.17 introduction to include FORGEJO_REVIEWER_PASSWORD
- Updated Section 6.17 env table descriptions for clarity
- Added v1.33.0 revision entry for template and credential fixes
2026-04-10 20:43:55 +00:00
clever-agent 5dda3a2c43 docs(spec): seventeenth pass documenting MCP token limitation and curl workaround
- Added Section 6.17.0: MCP Token Limitation — single server-level token,
  no per-call override, PR Reviewer must use curl for writes
- Rewrote Section 21.22: "Total Bash Lockdown" -> "Restricted Bash with curl"
- Added READ-via-MCP/WRITE-via-curl operation table
- Added v1.32.0 revision entry
2026-04-10 20:37:33 +00:00
clever-agent 6baf921b52 docs(spec): sixteenth pass adding FORGEJO_REVIEWER_PASSWORD and purging stale language
- Added FORGEJO_REVIEWER_PASSWORD to Section 6.17 env table and Appendix C
- Purged all remaining "self-approval"/"shared bot account" language from spec
- Updated Sections 8.3.2 and 8.3.3 for dual-account architecture
- Added v1.31.0 revision entry
2026-04-10 20:31:25 +00:00
clever-agent fcff61e1b5 docs(spec): fifteenth pass introducing dual-account architecture
- Rewrote Section 6.17: "Shared Bot Account Problem" -> "Dual-Account Architecture"
- New env vars: FORGEJO_REVIEWER_PAT, FORGEJO_REVIEWER_USERNAME
- Formal APPROVED reviews are now the primary approval path
- Updated Section 6.17.2: "Two-Step" -> "Dual-Account Review Protocol"
- Updated Appendix C environment variable table
- Added v1.30.0 revision entry
2026-04-10 20:23:55 +00:00
clever-agent 4029a3331a docs(spec): fourteenth pass adding subagent specialization principle
CI / benchmark-publish (push) Waiting to run
CI / lint (push) Successful in 32s
CI / push-validation (push) Successful in 23s
CI / helm (push) Successful in 34s
CI / quality (push) Successful in 36s
CI / build (push) Successful in 36s
CI / security (push) Successful in 1m4s
CI / typecheck (push) Successful in 1m8s
CI / benchmark-regression (push) Waiting to run
CI / integration_tests (push) Successful in 4m7s
CI / e2e_tests (push) Successful in 4m15s
CI / unit_tests (push) Successful in 5m21s
CI / docker (push) Successful in 1m20s
CI / coverage (push) Successful in 11m8s
CI / status-check (push) Successful in 2s
- Added Section 6.0: Subagent Specialization Principle (centralize, dont duplicate)
- Updated Section 5.3.4: interval calculation now ATM-centralized
- Updated Section 5.4: 11 operations (added CYCLE_ANNOUNCEMENT_REVIEW)
- Added v1.29.0 revision entry: 17 duplicated blocks removed
2026-04-10 16:15:44 -04:00
clever-agent c29975de8f docs(spec): thirteenth pass documenting body template field enforcement
- Added v1.28.0: all 18 status-creating agents now have Estimated Cycle Interval
  in their actual body templates, not just in reference notes
2026-04-10 16:15:44 -04:00
clever-agent c70adfbbe5 docs(spec): twelfth pass documenting tracking reference reorder across all agents
- Added v1.27.0 entry: all 17 agents fixed with correct READ-before-CREATE order
- All agents now include rolling average interval defaults and Estimated Cycle Interval requirement
2026-04-10 16:15:44 -04:00
clever-agent 8443facae2 docs(spec): eleventh pass adding cycle interval, dual cleanup, and continuity
- Added Section 5.3.4: Estimated Cycle Interval (rolling average 90/10)
- Added Section 5.3.5: Dual Status Issue Cleanup (agent-side + groomer-side)
- Added Section 5.3.6: Cycle Number Continuity Across Sessions
- Updated Section 5.6 body template with mandatory Estimated Cycle Interval field
- Added v1.26.0 revision entry
2026-04-10 16:15:44 -04:00
clever-agent 276ce39908 docs(spec): tenth pass adding startup state recovery protocol
- Added Section 5.3.3: Startup State Recovery Protocol with mandatory
  read-then-delete-then-create sequence
- Agent-specific recovery table for IPS, PR pools, watchdog, product-builder
- Offline duration behavior rules (5min = normal, 2h+ = full re-scan)
- Enhanced READ_TRACKING_STATE return schema in Section 5.4
- Added v1.25.0 revision entry
2026-04-10 16:15:44 -04:00
clever-agent 5615468303 docs(spec): ninth pass completing tracking protocol rollout documentation
- Added v1.24.0 entry documenting 12 agent fixes across 13 files
- All 19 supervisor/orchestrator agents now have complete tracking protocol
2026-04-10 16:15:43 -04:00
clever-agent d3165fcb37 docs(spec): eighth pass comprehensive automation tracking system rewrite
- Rewrote Section 5.2 (Status Issues): one-at-a-time invariant, close-ALL-then-create protocol
- Added Section 5.3.1 (Announcement Lifecycle): mandatory self-review every 3 cycles
- Added Section 5.3.2 (Consumption Protocol): per-agent triage table with 3 read depth levels
- Status issues now use explicit "Status:" prefix to distinguish from announcements
- Announcements require Priority/* labels for triage
- Added v1.23.0 revision entry
2026-04-10 16:15:43 -04:00
clever-agent 93eb5d8e95 docs(spec): seventh pass adding directory layout and subsystem verification
- Added Section 2.4 (Directory Layout) documenting full .opencode/ structure
- Verified 3-Tier Approval Detection matches implementation exactly
- Verified Mandatory Merge Verification matches merge_safety.md exactly
- Confirmed zero remaining stale names/labels/prefixes across all files
- Added v1.22.0 revision entry
2026-04-10 16:15:43 -04:00
clever-agent dd68f47b0e docs(spec): sixth pass documenting universal label deny rule and permission audit
- Expanded Section 6.19 to document universal forgejo_add_issue_labels deny rule with 2 exceptions
- Added v1.21.0 revision entry documenting 6 agent fixes
- Verified 41 edit:deny and 3 webfetch:allow match spec claims exactly
2026-04-10 16:15:43 -04:00
clever-agent d4bf789989 docs(spec): fifth pass adding permission audit results to revision history
- Added v1.20.0 documenting 3 agent permission bugs fixed
- All 79 agents task permissions verified against spec subagent claims
2026-04-10 16:15:43 -04:00
clever-agent dbd90975c0 docs(spec): fourth pass fixing broken cross-references and stale work types
- Fixed broken Section 20.4 reference (section was removed in v1.16.0)
- Fixed wrong Section 13.2 reference (should be Section 11.2 for escalation)
- Replaced stale stale-check work type with awaiting-review in Section 10.1
- Added v1.19.0 revision entry
2026-04-10 16:15:43 -04:00
clever-agent 0902a4508d docs(spec): third pass fixing Appendix A model and adding revision history
- Fixed build-opencode model in Appendix A from (not specified) to claude-sonnet-4-6
- Added v1.18.0 revision entry documenting 6 functional bugs fixed in agent definitions
2026-04-10 16:15:43 -04:00
clever-agent 2488a34bc8 docs(spec): second pass adding pagination, PR ownership, and reviewer lockdown
- Added Section 6.20: Forgejo API Pagination Requirement
- Added Section 6.21: PR Ownership Detection rules
- Expanded Section 8.1.2: three mandatory PR dispatch rules, updated scoring table
- Added Section 21.22: PR Reviewer total bash lockdown permissions
- Fixed Appendix A note: ASV Benchmarker is subagent not primary
- Added revision history entry v1.17.0
2026-04-10 16:15:43 -04:00
clever-agent d8a31527f3 feat(docs): create agent system specification
CI / push-validation (push) Successful in 17s
CI / helm (push) Successful in 23s
CI / build (push) Successful in 28s
CI / lint (push) Successful in 32s
CI / quality (push) Successful in 33s
CI / typecheck (push) Successful in 54s
CI / security (push) Successful in 1m11s
CI / benchmark-regression (push) Has been skipped
CI / e2e_tests (push) Successful in 3m20s
CI / integration_tests (push) Successful in 4m1s
CI / unit_tests (push) Successful in 5m16s
CI / docker (push) Successful in 1m55s
CI / coverage (push) Successful in 10m19s
CI / status-check (push) Successful in 1s
CI / benchmark-publish (push) Successful in 1h13m44s
- Adds a comprehensive specification for the autonomous agent system.
- Details the intended behavior, interactions, and design of all agents.
- Includes Kroki-based diagrams for workflows and interactions.
- Serves as the source of truth for agent implementation.
2026-04-10 14:28:41 -04:00
HAL9000 79359baff3 docs: update CHANGELOG and automation-tracking for recent agent changes
CI / push-validation (pull_request) Successful in 17s
CI / build (pull_request) Successful in 21s
CI / helm (pull_request) Successful in 22s
CI / lint (pull_request) Successful in 33s
CI / quality (pull_request) Successful in 41s
CI / typecheck (pull_request) Successful in 50s
CI / security (pull_request) Successful in 1m12s
CI / e2e_tests (pull_request) Successful in 3m2s
CI / benchmark-publish (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 4m2s
CI / unit_tests (pull_request) Successful in 5m10s
CI / docker (pull_request) Successful in 21s
CI / coverage (pull_request) Successful in 10m26s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-regression (pull_request) Successful in 58m15s
ISSUES CLOSED: #7116
2026-04-10 10:32:00 +00:00
clever-agent 97c45ab780 chore(policy): reduce PR review requirement from 2 approvals to 1
CI / helm (push) Successful in 23s
CI / build (push) Successful in 24s
CI / push-validation (push) Successful in 30s
CI / lint (push) Successful in 35s
CI / quality (push) Successful in 42s
CI / typecheck (push) Successful in 53s
CI / security (push) Successful in 59s
CI / e2e_tests (push) Successful in 3m11s
CI / integration_tests (push) Successful in 4m1s
CI / unit_tests (push) Successful in 5m12s
CI / docker (push) Successful in 1m18s
CI / coverage (push) Successful in 11m2s
CI / status-check (push) Successful in 9s
CI / benchmark-publish (push) Has been cancelled
CI / benchmark-regression (push) Has been cancelled
- Update CONTRIBUTING.md to require only 1 approving review instead of 2
- Allow self-approval including for automated bot PRs (HAL9000)
- Approval can be formal review OR approval comment (LGTM, Approved, )
- Remove distinction between human and bot PRs in review requirements
- Update agent definitions to reflect new policy
- Update system watchdog and documentation to match new requirements

This change unblocks PR merges while maintaining quality through CI checks
and still requiring at least one approval before merge.
2026-04-10 03:28:26 +00:00
clever-agent 8109091bc3 docs: update remaining references to renamed agents
CI / lint (push) Successful in 28s
CI / quality (push) Successful in 33s
CI / push-validation (push) Successful in 21s
CI / build (push) Successful in 23s
CI / helm (push) Successful in 23s
CI / typecheck (push) Successful in 53s
CI / security (push) Successful in 1m12s
CI / benchmark-regression (push) Has been skipped
CI / e2e_tests (push) Successful in 3m0s
CI / integration_tests (push) Successful in 3m58s
CI / unit_tests (push) Successful in 5m3s
CI / docker (push) Successful in 1m20s
CI / coverage (push) Successful in 10m18s
CI / status-check (push) Successful in 1s
CI / benchmark-publish (push) Successful in 1h13m36s
- Fix automation-tracking.md to use new pool supervisor names
- Update session_state.md to reference implementation-pool-supervisor
- Fix pr-status-analyzer.md to reference pr-ci-test-fixer
2026-04-09 21:39:32 -04:00
HAL9000 a3762a4cc2 docs: add invariant-reconciliation module guide, extend automation tracking docs, update mkdocs nav
CI / lint (push) Successful in 25s
CI / security (push) Successful in 59s
CI / quality (push) Successful in 45s
CI / typecheck (push) Successful in 1m9s
CI / push-validation (push) Successful in 26s
CI / build (push) Successful in 49s
CI / helm (push) Successful in 42s
CI / e2e_tests (push) Successful in 4m18s
CI / integration_tests (push) Successful in 4m28s
CI / unit_tests (push) Successful in 5m47s
CI / docker (push) Successful in 11s
CI / coverage (push) Successful in 11m48s
CI / status-check (push) Successful in 1s
CI / benchmark-regression (push) Has been skipped
CI / benchmark-publish (push) Has been cancelled
docs: add invariant-reconciliation module guide, extend automation tracking docs, update mkdocs nav

- Add docs/modules/invariant-reconciliation.md: module guide for InvariantReconciliationActor (v3.8.0)
- Extend docs/development/automation-tracking.md: all 16 supervisors, centralized tracking manager
- Update mkdocs.yml: add Modules nav section, Custom Sandbox Strategy to Development

ISSUES CLOSED: #5700

Co-authored-by: CleverThis <hal9000@cleverthis.com>
Co-committed-by: CleverThis <hal9000@cleverthis.com>
2026-04-09 09:22:43 +00:00
freemo 014033eed9 feat: enhance automation tracking with health monitoring and recovery
CI / build (push) Successful in 19s
CI / helm (push) Successful in 32s
CI / push-validation (push) Successful in 17s
CI / lint (push) Failing after 40s
CI / quality (push) Successful in 40s
CI / typecheck (push) Successful in 50s
CI / security (push) Successful in 1m1s
CI / coverage (push) Has been skipped
CI / benchmark-regression (push) Has been skipped
CI / e2e_tests (push) Successful in 3m8s
CI / integration_tests (push) Failing after 4m2s
CI / unit_tests (push) Successful in 5m13s
CI / docker (push) Has been skipped
CI / status-check (push) Failing after 1s
CI / benchmark-publish (push) Has been cancelled
Add comprehensive automated health monitoring and recovery capabilities
to the automation tracking system for proactive agent management.

**Major Enhancements:**

1. **Standardized Interval Reporting**
   - Mandatory interval declaration in all tracking issues
   - Format: 'Reporting Interval: <interval> (Next report expected: <timestamp>)'
   - Enables precise staleness detection and recovery triggering

2. **Automated Health Monitoring (system-watchdog)**
   - New audit_automation_tracking_health() function runs every 5 minutes
   - Monitors all issues with 'Automation Tracking' label
   - Detects stalled agents when >20% overdue from expected interval
   - Calculates staleness ratios and time overdue metrics

3. **Automated Recovery System**
   - Kills stalled agent sessions via OpenCode Server API (port 4096)
   - Performs root cause analysis of session messages and agent definitions
   - Creates high-priority diagnostic issues with detailed findings
   - Automatically closes stale tracking issues with recovery notes
   - Provides human-readable remediation recommendations

**Agent Updates with Standardized Format:**

- **implementation-orchestrator**: Status updates (5 cycles) + health reports (10 cycles)
- **backlog-groomer**: Grooming reports (5 min) + health reports (50 min)
- **human-liaison**: Status updates (20 min monitoring cycles)
- **session-persister**: Event-driven checkpoints with standardized format
- **system-watchdog**: Enhanced with comprehensive recovery capabilities

**Template Standardization:**
- Unified header format across all tracking issues
- Health indicators and next actions sections
- Consistent metadata and automation signatures
- Support for active/warning/error status indicators

**Documentation Updates:**
- Comprehensive automated recovery process documentation
- Agent interval reference table with all timing details
- Recovery issue format and diagnostic workflow
- Health check algorithm and staleness threshold explanation

**Benefits:**
- Proactive detection of crashed or stuck agents (20% staleness threshold)
- Automated recovery reduces manual intervention requirements
- Root cause analysis provides actionable diagnostic information
- Standardized format improves searchability and monitoring
- Comprehensive health metrics enable system-wide visibility

This enhancement transforms the automation tracking system from passive
logging to active health monitoring with automated recovery capabilities.
2026-04-08 22:34:23 +00:00
freemo a323f07783 feat: implement new automation tracking system for agent supervision
CI / push-validation (push) Successful in 16s
CI / build (push) Successful in 19s
CI / helm (push) Successful in 23s
CI / lint (push) Failing after 35s
CI / quality (push) Successful in 43s
CI / security (push) Successful in 52s
CI / typecheck (push) Successful in 1m3s
CI / coverage (push) Has been skipped
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Failing after 4m4s
CI / unit_tests (push) Successful in 4m58s
CI / docker (push) Has been skipped
CI / e2e_tests (push) Successful in 6m24s
CI / status-check (push) Failing after 1s
CI / benchmark-publish (push) Has been cancelled
Replace shared session state issue tracking with individual tracking issues
per agent to reduce noise and improve searchability.

**Agent Updates:**
- session-persister: [AUTO-SESSION] prefix with cycle management
- implementation-orchestrator: [AUTO-IMP-POOL] prefix for health reports
- system-watchdog: [AUTO-WATCHDOG] prefix for system health
- backlog-groomer: [AUTO-GROOMER] prefix + backup cleanup functionality
- human-liaison: [AUTO-LIAISON] prefix for status updates

**New Features:**
- Standardized issue title format: [AUTO-<PREFIX>] <TYPE> (Cycle <N>)
- Announcement format: [AUTO-<PREFIX>] Announce: <message>
- Automatic cleanup to prevent issue accumulation
- Required 'Automation Tracking' label for filtering
- Validation script for format compliance

**Documentation:**
- Complete system documentation at docs/development/automation-tracking.md
- Added to mkdocs.yml navigation
- Validation script at scripts/validate_automation_tracking.py

**Benefits:**
- Reduced noise from shared tracking issue
- Better searchability with agent-specific prefixes
- Cleaner history per agent type
- Easier debugging with focused issue threads
- Automatic cleanup prevents accumulation

Closes automation tracking system implementation requirements.
2026-04-08 21:28:46 +00:00
freemo 194c830f98 fix(ci): resolve repository push failure in CI pipeline
ci.yml / fix(ci): resolve repository push failure in CI pipeline (push) Failing after 0s
Reviewed and APPROVED. Closes CI push failure issue.
2026-04-05 21:25:11 +00:00
freemo c14f2d0a54 docs(development): add system watchdog architecture and audit reference
CI / typecheck (pull_request) Successful in 47s
CI / quality (pull_request) Successful in 34s
CI / security (pull_request) Successful in 58s
CI / lint (pull_request) Successful in 3m24s
CI / build (pull_request) Successful in 19s
CI / helm (pull_request) Successful in 23s
CI / unit_tests (pull_request) Successful in 6m34s
CI / docker (pull_request) Successful in 11s
CI / e2e_tests (pull_request) Successful in 17m49s
CI / coverage (pull_request) Successful in 11m9s
CI / integration_tests (pull_request) Successful in 22m29s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 56m7s
Document the ca-system-watchdog continuous monitoring agent:
- All 12 audit descriptions with severity levels and detection patterns
- Session introspection via OpenCode Server API (Audits 6, 11, 12)
- Finding severity table and action dispatch table
- Health reporting format and configuration parameters
- Constraints and related documentation links

Add System Watchdog entry to mkdocs.yml Development nav section.

Covers commits 8c13e63c and 77427bd7 (system watchdog introduction
and deep session introspection enhancement).
2026-04-05 02:41:16 +00:00
freemo 8c81f13758 fix(infra): resolve TLS handshake failure on git.dev.cleveragents.com
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 18s
CI / helm (pull_request) Successful in 24s
CI / lint (pull_request) Failing after 28s
CI / quality (pull_request) Successful in 35s
CI / security (pull_request) Failing after 48s
CI / typecheck (pull_request) Failing after 50s
CI / coverage (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
CI / unit_tests (pull_request) Failing after 1m46s
CI / docker (pull_request) Has been skipped
CI / e2e_tests (pull_request) Failing after 13m19s
CI / integration_tests (pull_request) Failing after 21m9s
CI / status-check (pull_request) Failing after 1s
The TLS handshake failure on git.dev.cleveragents.com was caused by the
hostname being absent from the certificate's Subject Alternative Names
(SANs), or by SNI virtual-host misconfiguration on the server side.

This commit delivers the repository-side remediation:

- scripts/check-tls-cert.py: New TLS certificate health-check script.
  Connects to a hostname, verifies the certificate's SANs include the
  target hostname, checks expiry, and reports errors/warnings.  Accepts
  an injectable SSLContext for unit testing without real network access.
  Supports wildcard SAN matching and configurable expiry warning threshold.

- docs/development/ops-runbook.md: New ops runbook documenting the full
  certificate renewal procedure (Let's Encrypt/certbot and manual CA),
  SNI misconfiguration diagnosis steps, expiry monitoring with cron, and
  recommended alert thresholds (30/14/7/0 days).

- features/tls_certificate_check.feature: 14 Behave scenarios tagged
  @tdd_issue @tdd_issue_1543 covering: missing SAN detection, valid SAN
  acceptance, expired certificate detection, expiry warning threshold,
  TLS handshake errors, connection timeouts, connection refused, wildcard
  SAN matching, and _hostname_matches_san unit tests.

- features/steps/tls_certificate_check_steps.py: Step definitions for
  the above feature, using unittest.mock to inject SSL contexts and
  socket connections so no real network calls are made.

- mkdocs.yml: Added Ops Runbook to the Development section navigation.

The actual server-side certificate renewal (adding git.dev.cleveragents.com
as a SAN and reloading the web server) must be performed by the server
administrator following the procedure in docs/development/ops-runbook.md.

Closes #1543

ISSUES CLOSED: #1543
2026-04-02 23:59:37 +00:00
freemo 33f1978bd0 fix(ci): resolve repository push failure in CI pipeline
ci.yml / fix(ci): resolve repository push failure in CI pipeline (push) Failing after 0s
ci.yml / fix(ci): resolve repository push failure in CI pipeline (pull_request) Failing after 0s
Root cause: actions/checkout@v4 was not configured with explicit write
credentials (token + persist-credentials), and no git user identity
(user.name/user.email) was set. Both are required for any git push
operation in Forgejo Actions.

Changes:
- release.yml create-release job: add token: secrets.FORGEJO_TOKEN and
  fetch-depth: 0 to checkout; add 'Configure git identity for push
  operations' step using HTTPS credential store; add 'Smoke-test push
  access' step that validates write permission via Forgejo API before
  any push attempt
- ci.yml: add push-validation job that validates push credentials on
  every CI run using FORGEJO_TOKEN, including credential helper
  verification and API-based write permission check; add push-validation
  to status-check needs and result reporting
- docs/development/ci-cd.md: add FORGEJO_TOKEN, FORGEJO_URL, and
  CONTAINER_REGISTRY* secrets to the secrets table; add 'Repository
  Push Authentication' section documenting root cause, fix pattern,
  smoke-test step, setup instructions, and security notes; add
  push-validation to CI job dependency graph and quality gates table

Design decisions:
- HTTPS token authentication (not SSH deploy keys) -- simpler to manage
- ~/.git-credentials with chmod 600 for ephemeral, secure storage
- Smoke-test validates write permission via API before push attempts
- push-validation job is independent (no needs) -- runs in parallel
- No hardcoded credentials -- all secrets via Forgejo Secrets

ISSUES CLOSED: #1541
2026-04-02 23:54:52 +00:00
freemo 48cff5cfe0 refactor(cli): rename plan lifecycle-list and lifecycle-apply to match specification
CI / build (push) Successful in 18s
CI / lint (push) Failing after 31s
CI / helm (push) Successful in 33s
CI / typecheck (push) Successful in 50s
CI / security (push) Failing after 51s
CI / coverage (push) Has been skipped
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Failing after 1m50s
CI / docker (push) Has been skipped
CI / quality (push) Successful in 3m43s
CI / integration_tests (push) Has been cancelled
CI / e2e_tests (push) Has been cancelled
CI / benchmark-publish (push) Has been cancelled
CI / status-check (push) Has been cancelled
Renames `plan lifecycle-list` to `plan list` and `plan lifecycle-apply` to `plan apply` to align with the specification's canonical command names. Removes legacy V2 plan commands that occupied those names.

- Renamed CLI command registrations from lifecycle-list/lifecycle-apply to list/apply
- Removed legacy V2 apply and list commands (~200 lines)
- Updated apply shortcut in main.py to delegate to v3 lifecycle
- Added defensive null check for plan existence in apply command
- Updated 63+ test, doc, and benchmark files for consistency

Closes #881

Co-authored-by: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
Co-committed-by: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
2026-04-02 19:09:04 +00:00
freemo 0c301ac581 fix(test): update facade operation count from 11 to 42
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 44s
CI / lint (pull_request) Successful in 3m19s
CI / unit_tests (pull_request) Failing after 3m42s
CI / quality (pull_request) Successful in 3m48s
CI / typecheck (pull_request) Successful in 4m55s
CI / security (pull_request) Successful in 5m6s
CI / docker (pull_request) Has been skipped
CI / e2e_tests (pull_request) Successful in 5m9s
CI / integration_tests (pull_request) Successful in 6m52s
CI / coverage (pull_request) Failing after 19m27s
CI / benchmark-regression (pull_request) Successful in 48m13s
CI / status-check (pull_request) Failing after 1s
The A2A facade now exposes 42 operations (31 extension + 11 legacy)
after the spec-aligned _cleveragents/ extension methods were added.
Update the BDD assertion and docs to match the actual count.
2026-03-22 03:23:42 +00:00
freemo 2688c85769 feat(extensibility): implement Custom Sandbox Strategy Registration via SandboxStrategy Protocol
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 19s
CI / lint (pull_request) Successful in 23s
CI / quality (pull_request) Successful in 28s
CI / security (pull_request) Successful in 54s
CI / typecheck (pull_request) Successful in 1m25s
CI / e2e_tests (pull_request) Successful in 2m33s
CI / unit_tests (pull_request) Successful in 3m4s
CI / integration_tests (pull_request) Successful in 3m33s
CI / docker (pull_request) Successful in 1m7s
CI / coverage (pull_request) Successful in 5m50s
CI / lint (push) Successful in 18s
CI / build (push) Successful in 33s
CI / quality (push) Successful in 47s
CI / typecheck (push) Successful in 49s
CI / benchmark-regression (push) Has been skipped
CI / security (push) Successful in 52s
CI / e2e_tests (push) Successful in 2m9s
CI / unit_tests (push) Successful in 3m32s
CI / integration_tests (push) Successful in 3m41s
CI / docker (push) Successful in 56s
CI / coverage (push) Successful in 6m10s
CI / benchmark-publish (push) Has been cancelled
CI / benchmark-regression (pull_request) Successful in 40m21s
Implement SandboxStrategyProtocol, a 9-method @runtime_checkable Protocol enabling
third-party sandbox strategy registration. Includes:

- SandboxStrategyProtocol with create/read/write/diff/commit/rollback/checkpoint/
  restore_checkpoint/cleanup methods
- SandboxRef (frozen dataclass) and DiffView/DiffEntry (Pydantic models)
- SandboxStrategyRegistry with config-driven registration, Protocol validation,
  thread safety, and clear/list/has operations
- BuiltInSandboxStrategyAdapter wrapping existing Sandbox implementations to conform
  to the new Protocol
- CustomStrategyConfig for YAML/dict-based strategy registration
- SandboxFactory integration with custom_registry parameter,
  has_custom_strategy() and get_custom_strategy_class()
- 25 Behave BDD scenarios (85 steps) covering protocol, registry, adapter, config,
  and factory integration
- 8 Robot Framework integration tests with real filesystem operations
- ASV benchmarks for registry and adapter operations
- Developer documentation

ISSUES CLOSED: #586
2026-03-16 22:50:27 +00:00
freemo ce722ed0ea ops(ci): configure LLM API keys in Forgejo CI for integration test execution
CI / lint (pull_request) Successful in 20s
CI / benchmark-publish (pull_request) Has been skipped
CI / quality (pull_request) Successful in 36s
CI / typecheck (pull_request) Successful in 40s
CI / e2e_tests (pull_request) Successful in 36s
CI / build (pull_request) Successful in 36s
CI / security (pull_request) Successful in 1m3s
CI / unit_tests (pull_request) Successful in 3m14s
CI / docker (pull_request) Successful in 9s
CI / integration_tests (pull_request) Successful in 3m49s
CI / coverage (pull_request) Successful in 5m54s
CI / lint (push) Successful in 32s
CI / quality (push) Successful in 33s
CI / typecheck (push) Successful in 45s
CI / benchmark-regression (push) Has been skipped
CI / build (push) Successful in 23s
CI / e2e_tests (push) Successful in 1m0s
CI / security (push) Successful in 1m12s
CI / unit_tests (push) Successful in 3m23s
CI / integration_tests (push) Successful in 3m41s
CI / docker (push) Successful in 1m6s
CI / coverage (push) Successful in 6m15s
CI / benchmark-publish (push) Successful in 20m11s
CI / benchmark-regression (pull_request) Successful in 38m40s
Updated CI pipeline to inject ANTHROPIC_API_KEY and OPENAI_API_KEY
secrets as environment variables during Robot Framework integration
test execution. Added CI setup documentation.

ISSUES CLOSED: #701
2026-03-14 22:34:18 +00:00
freemo d5b122d4a3 Docs: Updated to A2A and integrating rest standard
CI / lint (push) Successful in 14s
CI / quality (push) Successful in 21s
CI / security (push) Successful in 36s
CI / build (push) Successful in 36s
CI / typecheck (push) Successful in 39s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 2m57s
CI / integration_tests (push) Successful in 3m23s
CI / docker (push) Successful in 53s
CI / coverage (push) Successful in 5m58s
CI / benchmark-publish (push) Successful in 19m27s
2026-03-11 13:19:55 -04:00
Brent E. Edwards d88dad94f6 fix(test): resolve race condition in M4 validation integration test
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 25s
CI / quality (pull_request) Successful in 25s
CI / build (pull_request) Successful in 26s
CI / typecheck (pull_request) Successful in 1m9s
CI / security (pull_request) Successful in 1m18s
CI / integration_tests (pull_request) Successful in 3m43s
CI / unit_tests (pull_request) Successful in 4m8s
CI / docker (pull_request) Successful in 43s
CI / coverage (pull_request) Successful in 5m35s
CI / benchmark-regression (pull_request) Successful in 32m44s
Three-pronged fix for intermittent pabot-parallel race condition in
M4 validation integration tests:

1. Composable Setup Database Isolation keyword in common.resource
   gives each suite a unique CLEVERAGENTS_DATABASE_URL so concurrent
   pabot workers never contend on the same SQLite file.

2. Per-suite CLEVERAGENTS_HOME directories prevent shared temp
   directory cleanup from racing between workers.

3. Centralised reset_global_state() in robot/helpers_common.py clears
   Settings singleton, DI container, provider registry, and engine
   cache between chained CLI invocations in helper processes.

Also:
- Setup Test Environment now accepts optional mock_ai and
  auto_apply_migrations arguments (default TRUE) for backward
  compatibility while allowing suites to opt out.
- Added Suite Teardown to cli_plan_context_commands.robot.
- Fixed _COMMANDS typing in two helpers to eliminate type: ignore.
- Updated docs/development/testing.md to reflect helpers_common
  delegation pattern.
- Added timeout=30s to all Run Process calls in
  m4_e2e_verification.robot.

Fixes: #563
2026-03-10 19:04:57 +00:00
freemo 74772280e6 perf(tests): optimize coverage instrumentation and reporting pipeline
Replace coverage.py (sys.settrace-based) with slipcover (bytecode-based
instrumentation) for significantly faster coverage collection:

- Each behave-parallel worker runs under slipcover, producing per-feature
  JSON coverage files with unique UUIDs to avoid write contention.
- After all workers finish, slipcover --merge combines per-worker data
  into a single build/coverage.json report.
- XML report generated via slipcover --merge --xml for CI tooling.
- Terminal report with --fail-under=97 threshold enforcement.
- Robust JSON key-fallback logic handles both slipcover and coverage.py
  output formats.
- CI workflow (ci.yml, nightly-quality.yml) updated with defensive key
  lookup instead of hardcoded coverage.py format.
- Documentation updated to reflect slipcover as the coverage tool.
- CHANGELOG.md updated.

ISSUES CLOSED: #482
2026-03-02 02:01:27 +00:00