Commit Graph

4 Commits

Author SHA1 Message Date
brent.edwards 998aaf25f8 fix(infra): ensure E2E suite setup initializes database before CLI commands
Centralize E2E initialization in common suite setup so DB-dependent CLI commands no longer rely on per-suite or per-test init workarounds. This also sanitizes suite-home names to prevent invalid path-derived initialization failures in isolated Robot runs.

ISSUES CLOSED: #1023
2026-04-03 01:43:27 +00:00
freemo a9465c4865 fix(cli): derive actor name from config file instead of positional argument
Remove the <NAME> positional argument from `actor add` command. The actor
name is now derived from the `name` field inside the config YAML file, per
the specification: `agents actor add (--config|-c) <FILE> [--update]`.
Updated all BDD and integration tests to pass name via config file.

ISSUES CLOSED: #914
2026-03-30 18:27:59 +00:00
CoreRasurae 007af498b8 refactor(autonomy): rename automation profile task flags to spec names
Renamed all 11 task-type confidence threshold fields in AutomationProfile
from phase-transition semantics to spec-defined task-type semantics.
Updated all 8 built-in profiles, CLI formatting, YAML schema, services,
and all Behave/Robot tests referencing the old field names.

Post-review fixes:
- Fixed 24 stale old field names in M6 fixture files
  (automation_profiles.json, autonomy_guardrails.json)
- Added model_validator(mode='before') to detect legacy field names
  and raise actionable ValueError with rename mapping
- Added semantic bridge comments in PlanLifecycleService mapping
  task-type thresholds to phase-transition gates
- Added threshold_field to structured log messages for observability
- Restored categorised CLI automation-profile show output to match
  spec (Phase Transitions / Decision Automation / Self-Repair /
  Execution Controls) instead of flat list
- Added missing access_network field to spec show output examples
  (Rich, Plain, JSON, YAML variants)
- Aligned ADR-017 profile fields table to all 11 fields with
  descriptions matching spec Automatable Tasks table
- Aligned automation_profiles.md threshold descriptions with spec
- Added spec section references in phase_reversion.md, error_recovery.md,
  and plan_execute.md for field naming context
- Extended repository roundtrip test to assert all 11 threshold fields
- Fixed benchmark _make_profile() passing safety fields as top-level
  kwargs instead of via SafetyProfile sub-model (incompatible with
  extra="forbid")
- Aligned CLI JSON/YAML output structure for automation-profile show
  with the specification grouped format (phase_transitions,
  decision_automation, self_repair, execution_controls)
- Moved safety boolean fields into the Execution Controls section
  of Rich output per spec examples
- Reverted auto profile description to "Fully automatic except apply"
  per specification (line 16703, line 28406)
- Improved bridge comments in test steps with semantic context for
  threshold-to-gate mappings

ISSUES CLOSED: #902
2026-03-30 13:18:07 +01:00
CoreRasurae d2c70bd489 test(e2e): workflow example 14 — server mode team collaboration (supervised profile)
Implemented Robot Framework E2E test suite validating Specification
Workflow Example 14 (Server Mode Team Collaboration). Tests exercise
the real CleverAgents CLI with zero mocking, covering server mode
configuration (server.url, server.token, core.namespace), diagnostics,
action publishing to team namespace with namespace-scoped listing,
actor registration, plan list graceful handling, and supervised
automation profile verification.

Review fixes applied:
- Added WF14 Suite Setup with agents init and uuid4 suffix generation
- Added WF14 Suite Teardown to reset config state (server.url,
  server.token, core.namespace)
- Added server.token config round-trip per spec Example 14 Step 1
- Changed action name to myteam/ namespace prefix per spec Step 2
- Added action list --namespace myteam test per issue AC
- Replaced epoch-based name uniqueness with uuid4 for CI safety
- Updated diagnostics test documentation (no server connectivity check)
- Changed to Force Tags E2E at suite level for consistency
- Added description field to actor YAML configuration
- Updated plan list test documentation to reflect actual behavior
- Reverted unrelated cls->klass rename from strategy_registry.py
  (CONTRIBUTING.md: do not mix cosmetic changes with functional changes)
- Updated CHANGELOG to accurately reflect test coverage

ISSUES CLOSED: #760
2026-03-26 18:56:16 +00:00