Commit Graph

21 Commits

Author SHA1 Message Date
HAL9000 3577bf95ba feat: implement automation profile precedence chain plan action global
CI / lint (pull_request) Successful in 56s
CI / quality (pull_request) Successful in 55s
CI / typecheck (pull_request) Successful in 1m2s
CI / security (pull_request) Successful in 1m11s
CI / helm (pull_request) Successful in 31s
CI / build (pull_request) Successful in 33s
CI / push-validation (pull_request) Successful in 29s
CI / unit_tests (pull_request) Successful in 6m49s
CI / docker (pull_request) Successful in 1m32s
CI / integration_tests (pull_request) Successful in 9m20s
CI / coverage (pull_request) Successful in 8m1s
CI / status-check (pull_request) Successful in 5s
Implementation of the four-level automation profile precedence chain
(plan > action > project > global) as defined in the v3.5.0 specification.

Core implementation (src/):
  - PrecedenceSource StrEnum with PLAN, ACTION, PROJECT, GLOBAL levels
  - PrecedenceResolution frozen dataclass capturing full resolution state
  - resolve_precedence_chain() with plan > action > project > global logic
  - _resolve_global_profile() with explicit > env var > default fallback
  - Comprehensive debug logging for observability

BDD tests (features/):
  - automation_profile_precedence_chain.feature: 30 scenarios covering all
    16 combinations of plan/action/project/global configurations plus edge
    cases, logging verification, enum values, env var override, and custom registry
  - step definitions with proper log handler cleanup via context._cleanup_handlers

CI compliance fixes (bd8b6748):
  - ruff format applied to step definitions (fixes CI lint gate)
  - CHANGELOG.md updated with accurate 4-level chain description
  - test_reports/ artifacts removed; directory added to .gitignore
  - tdd_a2a_sdk_dependency.feature reverted to use correct Client import

ISSUES CLOSED: #8234
2026-06-02 01:25:33 -04:00
brent.edwards eb46f0ff54 fix(plan): add tier hydration and improve architecture review output (#10938)
CI / push-validation (push) Successful in 40s
CI / helm (push) Successful in 44s
CI / build (push) Successful in 1m14s
CI / lint (push) Successful in 1m18s
CI / quality (push) Successful in 1m36s
CI / e2e_tests (push) Successful in 1m19s
CI / typecheck (push) Successful in 2m22s
CI / security (push) Successful in 2m23s
CI / benchmark-regression (push) Failing after 41s
CI / integration_tests (push) Successful in 4m46s
CI / unit_tests (push) Failing after 20m13s
CI / benchmark-publish (push) Failing after 28m28s
CI / coverage (push) Has been cancelled
CI / docker (push) Has been cancelled
CI / status-check (push) Has been cancelled
## Summary

This PR fixes issue #10878 where architecture reviews were truncated because the regex pattern for parsing file output would stop at the first ``` encountered in the Markdown report.

## Changes

- Change file delimiters from ``` to >>>>>>>/<<<<<<< to avoid Markdown conflicts
- Add tier hydration before strategize phase in plan_executor.py
- Increase max_tokens to 16384 in llm_actors.py for longer outputs
- Increase context_max_tokens_hot from 16000 to 32000 in settings.py
- Fix get_hot_view → get_hot_fragments in strategy_actor.py and plan_executor.py
- Add opencode to skip directories in context_tier_hydrator.py
- Change sandbox output location to plan-output/ directory in plan.py
- Add get_context_summary stub method to acms_service.py

## Testing

Run architecture review action and verify the output report is complete with all sections.

Reviewed-on: #10938
2026-05-19 12:43:34 +00:00
HAL9000 122a9e70a1 chore(ci): remove build artifacts from tracking and add test_reports to .gitignore
Remove test_reports/summary.txt and test_reports/test_results.json from git
tracking as they are build artifacts that should not be committed to the
repository. Add test_reports/ to .gitignore to prevent future accidental
commits of these files.

ISSUES CLOSED: #7503
2026-04-24 19:01:56 +00:00
HAL9000 e261ea5abe fix(decomposition): address review feedback for PR #9437
CI / push-validation (pull_request) Successful in 34s
CI / helm (pull_request) Successful in 36s
CI / lint (pull_request) Successful in 3m55s
CI / typecheck (pull_request) Successful in 4m35s
CI / security (pull_request) Successful in 4m43s
CI / build (pull_request) Successful in 3m57s
CI / quality (pull_request) Successful in 4m26s
CI / e2e_tests (pull_request) Successful in 8m57s
CI / integration_tests (pull_request) Successful in 10m49s
CI / unit_tests (pull_request) Successful in 11m56s
CI / docker (pull_request) Failing after 46s
CI / coverage (pull_request) Successful in 14m47s
CI / status-check (pull_request) Failing after 3s
- Remove committed test_reports/ CI artifacts (summary.txt, test_results.json)
- Add test_reports/ to .gitignore to prevent future commits
- Update CHANGELOG.md with Fixed entry for #9401 under [Unreleased]
- Update CONTRIBUTORS.md with credit for directory clustering fix (#9401)
- Add BDD test scenarios for absolute path clustering in
  features/large_project_decomposition.feature:
  * Directory clustering works correctly with absolute file paths
  * _directory_key returns correct key for absolute path with root
  * Directory clustering does not collapse all absolute paths into one bucket
- Add corresponding step implementations in
  features/steps/large_project_decomposition_coverage_steps.py

All 38 scenarios pass (including 3 new absolute path scenarios).
Lint and typecheck pass.

ISSUES CLOSED: #9401
2026-04-17 22:49:46 +00:00
hamza.khyari 5d0e739e43 fix(acms): wire ACMS indexing pipeline into CLI so ContextTierService is populated during plan execution
CI / push-validation (pull_request) Successful in 23s
CI / helm (pull_request) Successful in 35s
CI / quality (pull_request) Successful in 38s
CI / typecheck (pull_request) Successful in 50s
CI / build (pull_request) Successful in 3m18s
CI / lint (pull_request) Successful in 3m20s
CI / integration_tests (pull_request) Successful in 3m57s
CI / security (pull_request) Successful in 4m4s
CI / e2e_tests (pull_request) Successful in 7m18s
CI / unit_tests (pull_request) Successful in 8m42s
CI / docker (pull_request) Successful in 1m19s
CI / coverage (pull_request) Successful in 13m34s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 56m55s
ContextTierService started empty on every CLI invocation, so the LLM
received zero file context during plan execution (bug #1028).

- Add context_tier_hydrator.py: reads files from linked project resources
  (via git ls-files or os.walk) and stores them as TieredFragment objects
  in the tier service.  Respects max file size (256 KB), total budget
  (10 MB), binary exclusion, and .git/node_modules/__pycache__ skipping.
- Wire hydration into LLMExecuteActor.execute() via lazy import (avoids
  M1 E2E regression from top-level import).
- Inject tier_service, project_repository, resource_registry into
  LLMExecuteActor from the DI container in _get_plan_executor().
- Add tier_service property to ExecutePhaseContextAssembler.
- Suppress exc_info traceback rendering in context warnings to prevent
  false-positive crash detection in M1 E2E tests.
- Add sandbox file-writing support in plan apply (path traversal guards,
  protected directory skipping).
- Add 6 Behave scenarios for context tier hydration.

Closes #1028
2026-04-09 13:00:47 +00:00
freemo 8ea00f5185 fix: restore CI quality tests to passing state (#4175)
CI / unit_tests (push) Has been cancelled
CI / benchmark-publish (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / typecheck (push) Has been cancelled
CI / security (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 / push-validation (push) Has been cancelled
CI / status-check (push) Has been cancelled
CI / docker (push) Has been cancelled
CI / helm (push) Has been cancelled
Co-authored-by: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
Co-committed-by: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
2026-04-08 11:02:14 +00:00
freemo 0be3f85c56 feat(tui): implement Permission Question Widget
CI / lint (push) Successful in 23s
CI / quality (push) Successful in 47s
CI / typecheck (push) Successful in 50s
CI / security (push) Successful in 52s
CI / helm (push) Successful in 28s
CI / build (push) Successful in 42s
CI / unit_tests (push) Failing after 6m55s
CI / docker (push) Has been skipped
CI / coverage (push) Successful in 10m26s
CI / e2e_tests (push) Failing after 13m59s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Failing after 22m11s
CI / status-check (push) Failing after 1s
CI / benchmark-publish (push) Has been cancelled
Implement inline permission question widget for quick allow/reject
decisions within the conversation stream with file diff context.

ISSUES CLOSED: #997
2026-04-03 05:56:27 +00:00
brent.edwards f653c58ebd fix(cleanup): remove ghost acp/ package and orphaned .pyc files
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 21s
CI / helm (pull_request) Successful in 23s
CI / lint (pull_request) Successful in 3m20s
CI / quality (pull_request) Successful in 3m43s
CI / typecheck (pull_request) Successful in 3m58s
CI / security (pull_request) Successful in 4m8s
CI / unit_tests (pull_request) Successful in 5m48s
CI / docker (pull_request) Successful in 11s
CI / coverage (pull_request) Successful in 13m1s
CI / e2e_tests (pull_request) Successful in 19m50s
CI / integration_tests (pull_request) Successful in 22m2s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-regression (pull_request) Successful in 55m19s
The ACP module was properly renamed to A2A in commit ec0b7631 (closing #688),
but the deprecated src/cleveragents/acp/ path was not explicitly excluded from
version control. While __pycache__/ and *.py[cod] are already gitignored
globally, add an explicit .gitignore entry for the deprecated acp/ package path
to prevent accidental re-introduction and document the deprecation per ADR-047.

Verification performed:
- Confirmed src/cleveragents/acp/ does not exist in git (only __pycache__
  artifacts remain on developer machines as untracked build artifacts)
- Confirmed zero tracked .pyc files across the entire repository
- Confirmed zero imports referencing cleveragents.acp in source, test, and
  configuration files
- Confirmed no orphaned .pyc files exist without corresponding .py sources
- All nox sessions pass (coverage: 98.7%)

ISSUES CLOSED: #947
2026-04-02 02:43:54 +00:00
freemo 7b3fcaf466 feat(config): implement three-scope config resolution with local config file support
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 19s
CI / helm (pull_request) Successful in 20s
CI / lint (pull_request) Successful in 3m19s
CI / quality (pull_request) Successful in 3m49s
CI / typecheck (pull_request) Successful in 3m57s
CI / integration_tests (pull_request) Successful in 3m57s
CI / security (pull_request) Successful in 4m6s
CI / unit_tests (pull_request) Successful in 7m19s
CI / docker (pull_request) Successful in 1m18s
CI / coverage (pull_request) Successful in 11m53s
CI / e2e_tests (pull_request) Successful in 21m25s
CI / status-check (pull_request) Successful in 1s
CI / build (push) Successful in 18s
CI / helm (push) Successful in 22s
CI / lint (push) Successful in 3m16s
CI / quality (push) Successful in 3m41s
CI / integration_tests (push) Successful in 3m48s
CI / typecheck (push) Successful in 3m54s
CI / unit_tests (push) Successful in 3m54s
CI / security (push) Successful in 4m4s
CI / docker (push) Successful in 1m19s
CI / benchmark-regression (push) Has been skipped
CI / e2e_tests (push) Successful in 14m58s
CI / coverage (push) Successful in 11m55s
CI / status-check (push) Successful in 1s
CI / benchmark-publish (push) Successful in 28m23s
CI / benchmark-regression (pull_request) Successful in 54m47s
Implement three-scope configuration resolution (local > project > global)
with deep merge. Add ConfigScope enum, project-root discovery, and
config.local.toml file support.

Changes:
- Add LOCAL to ConfigLevel enum and new ConfigScope enum (GLOBAL, PROJECT, LOCAL)
- Implement discover_project_root() walking up from CWD for cleveragents.toml/.cleveragents
- Implement config.local.toml file loading in ConfigService
- Implement three-scope deep merge via _deep_merge() helper
- Add read_project_config(), read_local_config(), read_merged_config() methods
- Add write_scoped_config() for writing to any scope file
- Update set_value() to accept optional scope parameter
- Update resolve() with six-level precedence chain (CLI > env > local > project > global > default)
- Update CLI config set with --scope flag (global/project/local)
- Add config.local.toml to .gitignore and DEFAULT_IGNORE_PATTERNS
- Add Behave BDD scenarios for three-scope resolution, deep merge, and project-root discovery

ISSUES CLOSED: #937
2026-03-30 21:48:01 +00:00
hamza.khyari 2370e19da8 feat(resource): add container infrastructure resource types
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 21s
CI / lint (pull_request) Successful in 27s
CI / helm (pull_request) Successful in 31s
CI / typecheck (pull_request) Successful in 1m9s
CI / quality (pull_request) Successful in 3m43s
CI / security (pull_request) Successful in 4m6s
CI / integration_tests (pull_request) Successful in 6m12s
CI / unit_tests (pull_request) Successful in 7m14s
CI / docker (pull_request) Successful in 2m7s
CI / coverage (pull_request) Successful in 11m52s
CI / e2e_tests (pull_request) Successful in 21m28s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-regression (pull_request) Successful in 56m15s
Add 7 container infrastructure resource types per ADR-039:
container-runtime, container-image, container-mount, container-exec-env,
container-port, container-volume, container-network.

- YAML configs under examples/resource-types/
- Bootstrap registration via _resource_registry_container.py
- Updated container-instance parent_types (container-runtime, container-image)
  and child_types (container-mount, container-exec-env, container-port)
- container-runtime is top-level with auto-discovery rules (scan_depth: 1)
- container-mount/exec-env/port inherit snapshot sandbox from instance
- container-volume is user-addable with snapshot sandbox
- container-network is read-only, no sandbox
- Handler references are forward declarations (ADR-039)
- 33 Behave BDD scenarios, 4 Robot integration tests
- Updated BUILTIN_NAMES, service docstring, CHANGELOG

ISSUES CLOSED: #831
2026-03-30 13:44:54 +00:00
khyari hamza 91f1a3d1eb chore: add worktrees/ to gitignore 2026-02-23 22:20:03 +00:00
freemo 3a0b9ebfc7 tests: Fixed integration and unit tests, found several bugs and missing features 2026-02-07 23:02:50 -05:00
freemo 162b1e35d0 Build: Made Robot integration tests run in parallel 2025-12-20 10:28:51 -05:00
freemo 4f05e8a016 feat(cli): Wrote core CLI commands and tests 2025-11-06 23:51:03 -05:00
freemo 94c97d10f7 feat(discovery): Add implicit runtime behavior extraction and analysis 2025-11-03 21:12:11 -05:00
freemo a54ba3d987 feat(discovery): Add environment variable extraction and migration mapping 2025-11-02 11:44:57 -05:00
freemo b941ef9a1a Significantly revamped the base project to use more robust static checking including benchmarks and integration test support 2025-10-31 16:18:53 -04:00
Your Name bae6665d94 fix: Fixed some of the broken stuff added in the last commit, everything should more or less run now 2025-08-03 20:48:29 -04:00
freemo f7a5d26c41 Modernized build tooling 2025-08-01 18:38:09 -04:00
freemo 8a93f794d6 Updated to latest python versions 2025-04-20 22:21:51 -04:00
freemo 635b100322 Initial commit 2024-01-25 23:10:04 -05:00