Commit Graph

2 Commits

Author SHA1 Message Date
freemo 1d36449a98 fix(cli): remove extra --mode flag from validation attach
Remove the --mode/-m CLI flag from the validation attach command to align
with the specification, which defines validation mode as an inherent
property of the validation definition set at registration time via
validation add, not as a per-attachment override.

The service layer (ToolRegistryService.attach_validation) no longer
accepts mode as a parameter; instead it reads the mode from the
validation's registered definition. The ToolRegistryRepository
_to_legacy_domain now exposes the mode field so the service can access it.

All tests that passed --mode to the CLI or service have been updated or
removed. The invalid-mode validation scenarios were removed since the
mode is no longer caller-supplied. Coverage remains at 98.7%.

ISSUES CLOSED: #913

Co-authored-by: Jeffrey Phillips Freeman <jeffrey.freeman@cleverthis.com>
Co-committed-by: Jeffrey Phillips Freeman <jeffrey.freeman@cleverthis.com>
2026-04-02 17:07:26 +00:00
hamza.khyari 0569aaa51c test(integration): workflow example 4 — multi-project dependency update (supervised profile)
Robot Framework integration test suite for Specification Workflow Example 4:
Multi-Project Dependency Update.  Exercises the supervised automation profile
with 4 projects (common-lib + 3 microservices), child plan spawning,
dependency-ordered execution, and coordinated apply.

- 8 test cases covering: project registration, action creation, plan use
  with supervised profile, strategize with DEPENDENCY_ORDERED config,
  child plan spawning (4 children), dependency-ordered execution
  (common-lib first), coordinated apply, and full end-to-end lifecycle
- Multi-project scope initialization, changeset recording, and
  cross-project validation via MultiProjectService
- Shared validation (local/pytest-mypy) registered and attached to all
  4 projects per spec §Workflow Example 4
- Uses mocked LLM providers (CLEVERAGENTS_TESTING_USE_MOCK_AI=true)
- All Run Process calls have timeout=60s on_timeout=kill
  (120s for full lifecycle)
- _NoClose wrapper calls rollback() to match established _SafeSession
  pattern; child IDs generated via ULID() instead of hardcoded

ISSUES CLOSED: #768
2026-03-27 14:50:11 +00:00