Commit Graph

1928 Commits

Author SHA1 Message Date
CoreRasurae 66b9a4279f feat(security): add safety profile model and enforcement stubs
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 17s
CI / security (pull_request) Successful in 32s
CI / typecheck (pull_request) Successful in 35s
CI / unit_tests (pull_request) Successful in 1m55s
CI / docker (pull_request) Successful in 39s
CI / integration_tests (pull_request) Successful in 2m50s
CI / coverage (pull_request) Successful in 4m13s
CI / benchmark-regression (pull_request) Successful in 23m10s
CI / lint (push) Successful in 12s
CI / quality (push) Successful in 15s
CI / build (push) Successful in 15s
CI / security (push) Successful in 29s
CI / typecheck (push) Successful in 32s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 3m10s
CI / docker (push) Successful in 38s
CI / integration_tests (push) Successful in 4m1s
CI / coverage (push) Successful in 3m58s
CI / benchmark-publish (push) Successful in 13m21s
Add SafetyProfile domain model with configurable safety constraints
(checkpoint, human approval, cost limits, retry limits, skill
categories, sandbox requirement).  Integrate into Action model with
from_config/as_cli_dict support, and persist via LifecycleActionModel
safety_profile_json column.

Include resolve_safety_profile() stub that raises NotImplementedError
for local mode, signalling that real enforcement is deferred.

Add comprehensive test coverage:
- 20 BDD scenarios in features/safety_profile.feature
- 6 Robot Framework smoke tests
- 5 ASV benchmark suites (11 timing functions)

Add docs/reference/safety_profile.md reference documentation.

ISSUES CLOSED: #332
2026-03-02 17:44:18 +00:00
freemo 656b8552f8 Docs: Updated daily timeline documentation
CI / lint (push) Successful in 15s
CI / build (push) Successful in 17s
CI / quality (push) Successful in 19s
CI / security (push) Successful in 35s
CI / typecheck (push) Successful in 36s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 1m58s
CI / docker (push) Successful in 38s
CI / integration_tests (push) Successful in 3m0s
CI / coverage (push) Successful in 4m1s
CI / benchmark-publish (push) Successful in 13m11s
2026-03-02 11:40:17 -05:00
freemo 7190b282c7 Docs: Updated daily timeline documentation
CI / lint (push) Successful in 15s
CI / build (push) Successful in 16s
CI / quality (push) Successful in 21s
CI / typecheck (push) Successful in 39s
CI / security (push) Successful in 39s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 2m11s
CI / docker (push) Successful in 43s
CI / integration_tests (push) Successful in 3m9s
CI / coverage (push) Successful in 3m51s
CI / benchmark-publish (push) Successful in 13m38s
2026-03-02 10:39:18 -05:00
freemo 7d74be68aa feat(config): add project-scoped config overrides
CI / lint (pull_request) Successful in 14s
CI / benchmark-publish (pull_request) Has been skipped
CI / quality (pull_request) Successful in 28s
CI / typecheck (pull_request) Successful in 33s
CI / build (pull_request) Successful in 14s
CI / security (pull_request) Successful in 35s
CI / unit_tests (pull_request) Successful in 2m52s
CI / docker (pull_request) Successful in 39s
CI / integration_tests (pull_request) Successful in 3m53s
CI / coverage (pull_request) Successful in 3m42s
CI / lint (push) Successful in 13s
CI / quality (push) Successful in 16s
CI / build (push) Successful in 16s
CI / security (push) Successful in 29s
CI / typecheck (push) Successful in 32s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 1m53s
CI / docker (push) Successful in 53s
CI / integration_tests (push) Successful in 2m49s
CI / coverage (push) Successful in 3m50s
CI / benchmark-publish (push) Successful in 13m7s
CI / benchmark-regression (pull_request) Successful in 28m12s
Add --project flag to config set, config get, and config list CLI
commands, enabling per-project configuration overrides stored under
[project."<name>"] TOML tables in the global config file.

Project-scoped resolution slots between environment variable and global
levels in the ConfigService resolution chain. config list --project
shows only overrides for the named project with source annotations.

Implementation:
- ConfigService: add set_project_value() and get_project_overrides()
  methods for TOML-backed project-scoped persistence and retrieval
- CLI config commands: wire --project flag through set, get, and list
  subcommands; project-scoped list filters to overrides only
- Database persistence: project-scoped config stored as alternative
  backend for projects not using TOML
- Documentation: update docs/reference/config_resolution.md with
  project-scopable key lists, CLI examples, precedence diagram, and
  non-scopable key rejection behavior

Tests:
- Behave: 12 BDD scenarios in features/config_project_scope.feature
  covering set/get/list, precedence over global defaults, and
  non-scopable key rejection
- Robot: 5 integration smoke tests in robot/config_project_scope.robot
  for end-to-end project-scoped round-trip verification
- ASV: benchmarks/config_project_scope_bench.py measuring resolution
  overhead with project scope active

All nox quality gates pass: lint, typecheck, unit_tests (7522 scenarios),
integration_tests (Config Project Scope suite passed), and coverage at
98% line rate (threshold 97%).

Closes #259
2026-03-02 15:05:20 +00:00
freemo b2e923173f perf(tests): consolidate 141 trivially small feature files into 34 domain groups
CI / lint (pull_request) Successful in 18s
CI / typecheck (pull_request) Successful in 32s
CI / quality (pull_request) Successful in 19s
CI / security (pull_request) Successful in 33s
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 16s
CI / unit_tests (pull_request) Successful in 2m5s
CI / integration_tests (pull_request) Successful in 2m50s
CI / docker (pull_request) Successful in 15s
CI / coverage (pull_request) Successful in 4m19s
CI / lint (push) Successful in 12s
CI / quality (push) Successful in 18s
CI / security (push) Successful in 30s
CI / build (push) Successful in 22s
CI / typecheck (push) Successful in 58s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 2m6s
CI / docker (push) Successful in 50s
CI / integration_tests (push) Successful in 3m21s
CI / coverage (push) Successful in 4m12s
CI / benchmark-publish (push) Has been cancelled
CI / benchmark-regression (pull_request) Successful in 24m46s
Consolidate 141 BDD feature files that each complete in under 0.1 seconds
into 25 domain-grouped feature files, reducing subprocess count from 339
to ~223. Each consolidated file groups scenarios from the same domain/module
that share step definitions and fixtures. All scenarios are preserved with
clear comment headers indicating their original source file.

This reduces subprocess overhead by ~116 invocations (141 original files
replaced by 25 consolidated files), targeting the 42% of subprocess count
that contributed only 0.2% of actual test runtime.

ISSUES CLOSED: #485
2026-03-02 14:56:13 +00:00
freemo c781848cb6 feat(interfaces): add server client stubs
CI / lint (pull_request) Successful in 18s
CI / benchmark-publish (pull_request) Has been skipped
CI / quality (pull_request) Successful in 20s
CI / typecheck (pull_request) Successful in 30s
CI / build (pull_request) Successful in 15s
CI / security (pull_request) Successful in 29s
CI / unit_tests (pull_request) Successful in 1m59s
CI / integration_tests (pull_request) Successful in 3m35s
CI / docker (pull_request) Successful in 39s
CI / coverage (pull_request) Successful in 3m39s
CI / lint (push) Successful in 24s
CI / security (push) Successful in 29s
CI / typecheck (push) Successful in 38s
CI / quality (push) Successful in 32s
CI / build (push) Successful in 15s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 2m5s
CI / integration_tests (push) Successful in 4m42s
CI / docker (push) Successful in 42s
CI / coverage (push) Successful in 6m53s
CI / benchmark-publish (push) Has been cancelled
CI / benchmark-regression (pull_request) Successful in 24m12s
Add protocol stubs for remote server communication infrastructure:
- ServerClient: Health check and version negotiation protocol
- RemoteExecutionClient: Remote plan execution and status protocol
- AuthClient: Authentication and token management protocol
- StubServerClient/StubRemoteExecutionClient/StubAuthClient: Stub
  implementations raising NotImplementedError for all methods
- ServerConnectionConfig: Validated config model (server_url, namespace,
  auth_token_ref, tls_verify)
- Config keys: core.server_url, core.server_namespace, core.server_tls_verify
- CLI: agents connect <url> stub command with explicit warning
- CLI: agents info shows Server Mode (disabled/stubbed)

ISSUES CLOSED: #201
2026-03-02 09:47:40 -05:00
freemo c43e1f8260 feat(service): add subplan service and spawn workflow
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / quality (pull_request) Successful in 19s
CI / build (pull_request) Successful in 14s
CI / typecheck (pull_request) Successful in 31s
CI / security (pull_request) Successful in 32s
CI / unit_tests (pull_request) Successful in 1m52s
CI / docker (pull_request) Successful in 42s
CI / integration_tests (pull_request) Successful in 2m59s
CI / coverage (pull_request) Successful in 4m14s
CI / lint (push) Successful in 15s
CI / quality (push) Successful in 16s
CI / security (push) Successful in 30s
CI / typecheck (push) Successful in 1m3s
CI / build (push) Successful in 18s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 2m27s
CI / integration_tests (push) Successful in 3m0s
CI / docker (push) Successful in 50s
CI / coverage (push) Successful in 5m8s
CI / benchmark-publish (push) Has been cancelled
CI / benchmark-regression (pull_request) Successful in 29m24s
Add SubplanService for building child plans from DecisionService spawn
entries and SubplanConfig. The service validates resource scopes, merge
strategies, and max_parallel bounds before spawning.

Key additions:
- SubplanService: Orchestrates child plan creation from spawn entries
- SpawnMetadata: Persisted metadata (spawn_decision_id, parent/root
  plan IDs, execution mode) for status output
- Spawn validation: Checks resource scopes, merge strategy, and
  parallelism bounds before spawning
- Documentation: subplan_service.md with spawn workflow and lifecycle

ISSUES CLOSED: #197
2026-03-02 09:41:25 -05:00
freemo d3b182e10e feat(acms): add context request protocol models
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 14s
CI / quality (pull_request) Successful in 19s
CI / security (pull_request) Successful in 30s
CI / typecheck (pull_request) Successful in 35s
CI / unit_tests (pull_request) Successful in 2m58s
CI / integration_tests (pull_request) Successful in 3m8s
CI / docker (pull_request) Successful in 41s
CI / coverage (pull_request) Successful in 4m19s
CI / lint (push) Successful in 17s
CI / quality (push) Successful in 18s
CI / security (push) Successful in 31s
CI / typecheck (push) Successful in 38s
CI / build (push) Successful in 21s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 2m28s
CI / docker (push) Successful in 38s
CI / integration_tests (push) Successful in 3m13s
CI / coverage (push) Successful in 3m38s
CI / benchmark-publish (push) Has been cancelled
CI / benchmark-regression (pull_request) Successful in 26m30s
Add CRP domain models for the Advanced Context Management System:
- ContextRequest: Focus-driven context retrieval with breadth, depth,
  strategy, temporal_scope, and skeleton_ratio parameters
- ContextFragment: Retrieved context with UKO URI, provenance,
  relevance score, token count, and detail level metadata
- ContextBudget: Token budget management with reservation support
- DetailLevel: Five-tier enum (skeleton through full)
- DetailLevelMap: Name-to-integer resolution registry with inheritance

Add builtin/context skill with stubbed tools (request_context,
query_history, get_context_budget) wired to future ACMS pipeline.

ISSUES CLOSED: #190
2026-03-02 14:32:31 +00:00
freemo 69f5b2e3e6 perf(tests): add ASV benchmarks for test suite runtime regression tracking
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / quality (pull_request) Successful in 16s
CI / build (pull_request) Successful in 16s
CI / typecheck (pull_request) Successful in 33s
CI / security (pull_request) Successful in 45s
CI / unit_tests (pull_request) Successful in 1m52s
CI / docker (pull_request) Successful in 9s
CI / integration_tests (pull_request) Successful in 2m57s
CI / coverage (pull_request) Successful in 3m31s
CI / benchmark-regression (pull_request) Successful in 23m16s
CI / lint (push) Successful in 13s
CI / quality (push) Successful in 16s
CI / build (push) Successful in 19s
CI / security (push) Successful in 29s
CI / typecheck (push) Successful in 34s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 1m49s
CI / docker (push) Successful in 38s
CI / integration_tests (push) Successful in 2m46s
CI / coverage (push) Successful in 3m38s
CI / benchmark-publish (push) Has been cancelled
Add ASV benchmark modules to track test suite performance over time:
- bench_unit_tests.py: Feature discovery, step module loading, parallel
  chunk computation, behave config parsing, and test suite metrics
- bench_coverage_report.py: Coverage collection pipeline timing and
  report generation overhead
- bench_subprocess_overhead.py: Subprocess count tracking and per-feature
  startup cost measurement

These benchmarks establish baselines for the post-optimization state
and enable CI-driven regression detection.

ISSUES CLOSED: #486
2026-03-02 14:06:05 +00:00
aditya d2f9e4a43b Merge branch 'master' into feature/m5-subplan-actor
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 23s
CI / security (pull_request) Successful in 35s
CI / typecheck (pull_request) Successful in 36s
CI / unit_tests (pull_request) Successful in 2m17s
CI / integration_tests (pull_request) Successful in 2m50s
CI / docker (pull_request) Successful in 38s
CI / coverage (pull_request) Successful in 3m35s
CI / benchmark-regression (pull_request) Successful in 23m2s
2026-03-02 12:31:06 +00:00
aditya 69efec9a65 Merge branch 'master' into feature/m6plus-event-bus
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 17s
CI / security (pull_request) Successful in 31s
CI / typecheck (pull_request) Successful in 32s
CI / unit_tests (pull_request) Successful in 1m45s
CI / docker (pull_request) Successful in 38s
CI / integration_tests (pull_request) Successful in 2m45s
CI / coverage (pull_request) Successful in 3m40s
CI / benchmark-regression (pull_request) Successful in 22m31s
2026-03-02 12:00:13 +00:00
aditya d17895dae2 feat(events): add EventBus protocol and ReactiveEventBus implementation
- Add EventType StrEnum with 38 typed domain event identifiers across 8
  domains (plan lifecycle, decision, actor, tool, resource, sandbox,
  validation, session, budget)
- Add frozen DomainEvent Pydantic model with event_type, auto-UTC
  timestamp, auto-ULID correlation_id, plan_id, root_plan_id,
  session_id, actor_name, project_name, and details fields
- Add @runtime_checkable EventBus Protocol with emit() and subscribe()
- Add ReactiveEventBus backed by RxPY Subject for in-process reactive
  streaming with synchronous handler dispatch and raw Observable stream
- Add LoggingEventBus using structlog for audit-trail-only environments
- Wire DecisionService to emit DECISION_CREATED on record_decision()
- Wire PlanLifecycleService to emit PLAN_CREATED and PLAN_PHASE_CHANGED
  on use_action() and execute_plan() respectively
- Register ReactiveEventBus as Singleton in DI container and inject into
  DecisionService and PlanLifecycleService providers
- Add Behave BDD unit tests: 27 scenarios, 75 steps, 100% branch coverage
- Add Robot Framework integration tests: 9 smoke cases
- Add ASV performance benchmarks: 5 suites covering emit throughput and
  subscriber fan-out
- Add reference documentation at docs/reference/event_bus.md

ISSUES CLOSED: #473
2026-03-02 11:54:53 +00:00
CoreRasurae 86e245c585 feat(checkpoint): add checkpointing and rollback
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 19s
CI / security (pull_request) Successful in 35s
CI / typecheck (pull_request) Successful in 37s
CI / unit_tests (pull_request) Successful in 2m22s
CI / integration_tests (pull_request) Successful in 2m51s
CI / docker (pull_request) Successful in 38s
CI / coverage (pull_request) Successful in 3m34s
CI / benchmark-regression (pull_request) Successful in 22m10s
CI / lint (push) Successful in 12s
CI / build (push) Successful in 14s
CI / quality (push) Successful in 18s
CI / security (push) Successful in 32s
CI / typecheck (push) Successful in 34s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 1m55s
CI / docker (push) Successful in 38s
CI / integration_tests (push) Successful in 2m52s
CI / coverage (push) Successful in 4m4s
CI / benchmark-publish (push) Successful in 13m13s
fix Alembic migration down_revision to chain after
  m4_002_skill_flattened_tools (was pointing to stale
  c3_001_actor_registry)

BDD coverage: 33 scenarios (7 new), 129 steps, all passing.

ISSUES CLOSED: #206
2026-03-02 10:18:14 +00:00
aditya eb4e6f59d9 Merge branch 'master' into feature/m5-subplan-actor
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 17s
CI / build (pull_request) Successful in 16s
CI / security (pull_request) Successful in 30s
CI / typecheck (pull_request) Successful in 42s
CI / unit_tests (pull_request) Successful in 1m52s
CI / docker (pull_request) Successful in 38s
CI / integration_tests (pull_request) Successful in 2m52s
CI / coverage (pull_request) Successful in 3m29s
CI / benchmark-regression (pull_request) Successful in 22m40s
2026-03-02 09:02:40 +00:00
aditya da21881c0c Merge branch 'master' into feature/m5-subplan-actor 2026-03-02 08:22:39 +00:00
aditya 6ca7712585 Merge branch 'master' into feature/m5-subplan-actor 2026-03-02 08:21:38 +00:00
aditya ef65996ca2 fix(actor): address code review findings on plan_subplan tool
- Return parent_decision_id in handler result dict and add meaningful
  assertion to the corresponding Behave scenario (B1)
- Add ULID format validators to SubplanPayload for plan_id, dependencies,
  and parent_decision_id, consistent with Decision model validation (S1)
- Add non-empty string validator for resource_scopes items (S2)
- Narrow broad except Exception to except (ValidationError, ValueError)
  so programming errors surface as real failures (S3)
- Document strategy_with_subplan.yaml in actors_examples.md and assert
  it is referenced in the "Verify all examples are documented" scenario (B2)

ISSUES CLOSED: #198
2026-03-02 08:17:21 +00:00
freemo ccc1617adf Docs: Updated daily timeline documentation
CI / lint (push) Successful in 15s
CI / build (push) Successful in 18s
CI / quality (push) Successful in 20s
CI / typecheck (push) Successful in 36s
CI / benchmark-regression (push) Has been skipped
CI / security (push) Successful in 46s
CI / unit_tests (push) Successful in 2m15s
CI / integration_tests (push) Successful in 2m52s
CI / docker (push) Successful in 39s
CI / coverage (push) Successful in 3m26s
CI / benchmark-publish (push) Successful in 12m25s
2026-03-02 00:02:42 -05:00
freemo f26fcfc44e perf(tests): replace behave-parallel subprocess model with in-process parallelism
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 18s
CI / security (pull_request) Successful in 31s
CI / typecheck (pull_request) Successful in 33s
CI / unit_tests (pull_request) Successful in 2m11s
CI / integration_tests (pull_request) Successful in 2m48s
CI / docker (pull_request) Successful in 40s
CI / coverage (pull_request) Successful in 3m33s
CI / benchmark-regression (pull_request) Successful in 22m39s
CI / lint (push) Successful in 12s
CI / build (push) Successful in 14s
CI / quality (push) Successful in 17s
CI / security (push) Successful in 29s
CI / typecheck (push) Successful in 30s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 2m16s
CI / integration_tests (push) Successful in 2m50s
CI / docker (push) Successful in 39s
CI / coverage (push) Successful in 4m22s
CI / benchmark-publish (push) Successful in 13m2s
Replace the subprocess-per-feature execution model (342 Python interpreter
startups) with direct use of behave's Runner API for in-process
execution.

Sequential mode (--processes 1 or BEHAVE_PARALLEL_COVERAGE=1): All
features run in a single Runner.run() call. Steps and hooks load once.

Parallel mode (--processes N, N>1): Features split into N chunks,
dispatched via multiprocessing.Pool with fork. Heavy modules shared
copy-on-write.

Proper format defaulting (mirrors behave.__main__.run_behave() logic
for -q flag). Summary extracted from runner.features status attributes
instead of regex-parsing stdout.

Simplified coverage pipeline: single slipcover invocation wraps the
entire behave-parallel process. No per-worker UUID files, no --merge
step needed. Coverage data produced in one build/coverage.json file.

Removed: behave-parallel tarball download from PyPI, tarfile and
urllib.request imports, per-worker subprocess.run() calls,
__SLIPCOVER_OUT__ placeholder mechanism, _build_base_args(),
_parse_summary(), regex-based summary parsing.

Results: nox -s unit_tests 24m21s -> 2m05s (91%); nox -s coverage_report
75m20s -> 3m00s (96%). Coverage: 98% (above 97% threshold).

ISSUES CLOSED: #481
2026-03-02 02:01:27 +00:00
freemo 4ad51561fc perf(tests): optimize medium-slow BDD features (10-100s tier)
Cap time.sleep and asyncio.sleep globally at 10ms in before_all to
eliminate retry/backoff waits (tenacity wait_fixed, retry_auto_debug
exponential backoff). Save originals as time._original_sleep and
asyncio._original_sleep for tests that need real wall-clock delays
(CircuitBreaker recovery, debounce timers, validation timeouts).

Enhance template-DB patch: add "db." prefix to _SCENARIO_DB_PREFIXES
and check db_path.stat().st_size > 0 so 0-byte auto-created SQLite
files receive the template copy instead of falling through to real
migrations.

Replace subprocess.run CLI invocations with typer.testing.CliRunner
in module_coverage, main_coverage_complete, and coverage_extras step
files, eliminating ~6s Python cold-start overhead per call.

Switch plan_persistence and action_persistence to in-memory SQLite by
default; only cross-restart scenarios use file-based via an explicit
Given step.

Replace MigrationRunner.run_migrations with Base.metadata.create_all
in plan_service_steps for freshly created in-memory engines.

Removed leftover debug comment in environment.py.

Total tier runtime: 565s -> 21s (96% reduction), 20 features all
under 5s behave-internal time.

ISSUES CLOSED: #480
2026-03-02 02:01:27 +00:00
freemo 0bbec4b77e perf(tests): optimize the 8 slowest BDD feature files
Optimized the 8 features accounting for 64% of total BDD test runtime
(1,505s of 2,352s):

- features/environment.py: Added _ensure_template_db() for direct behave
  invocations, expanded _SCENARIO_DB_PREFIXES to include "test_" for
  step-file-created DBs, added @mock_only tag support to skip
  unnecessary DB setup.
- features/plan_commands_coverage.feature: Added @mock_only tag (fully
  mocked, no DB needed).
- features/plan_service.feature: 14 actor-resolution scenarios now use
  lightweight in-memory plan service instead of heavyweight file-based
  DB + project init.
- features/steps/plan_service_steps.py: New
  step_create_lightweight_plan_service for actor-resolution tests.
- features/steps/services_coverage_steps.py: Extracted 3 helper functions
  to consolidate 8 near-identical Given steps (~200 lines of duplicated
  boilerplate removed).

Per-feature results: services_coverage 245s->2.8s (99%), context_service
215s->2.1s (99%), project_service 140s->0.7s (99%), plan_service
215s->4.6s (98%), core_cli_commands 113s->4.2s (96%), cli_streaming
213s->6.4s (97%), plan_commands_coverage 116s->20s (83%),
cli_plan_context_commands 248s->31.6s (87%).

ISSUES CLOSED: #479
2026-03-02 02:01:27 +00:00
freemo a8f7ed57cb perf(tests): reduce per-feature startup cost with shared fixtures and lazy imports
Created scripts/create_template_db.py that builds a pre-migrated SQLite
template database using Base.metadata.create_all() + alembic stamp
(~5ms for 34 tables, vs ~0.5-3s x 25 Alembic migrations per scenario).

Nox unit_tests and coverage_report sessions generate the template before
test execution and propagate CLEVERAGENTS_TEMPLATE_DB env var to all
workers.

features/environment.py before_all() installs a monkey-patch on
MigrationRunner.init_or_upgrade that copies the template for fresh
scenario temp DBs, falling through to real migrations for :memory:,
existing files, and migration-runner unit tests.

Quick wins: sleep(0.5) -> sleep(0.05) in cli_streaming wait step;
removed redundant Background re-declaration in cli_streaming.feature
scenario 7.

ISSUES CLOSED: #483
2026-03-02 02:01:27 +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
freemo 5f96255f2d Docs: Fixed contradiction in CONTRIBUTING.md
CI / lint (push) Successful in 16s
CI / build (push) Successful in 16s
CI / quality (push) Successful in 17s
CI / security (push) Successful in 32s
CI / typecheck (push) Successful in 34s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 2m43s
CI / benchmark-publish (push) Successful in 12m38s
CI / unit_tests (push) Successful in 25m49s
CI / docker (push) Successful in 39s
CI / coverage (push) Has been cancelled
2026-03-01 20:54:00 -05:00
freemo 05310391c1 docs(spec): add devcontainer integration and resource type inheritance
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 17s
CI / security (pull_request) Successful in 30s
CI / typecheck (pull_request) Successful in 33s
CI / integration_tests (pull_request) Successful in 2m46s
CI / unit_tests (pull_request) Successful in 12m45s
CI / docker (pull_request) Successful in 9s
CI / benchmark-regression (pull_request) Successful in 21m45s
CI / coverage (pull_request) Successful in 48m39s
CI / lint (push) Successful in 14s
CI / build (push) Successful in 14s
CI / quality (push) Successful in 15s
CI / security (push) Successful in 30s
CI / typecheck (push) Successful in 38s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 2m44s
CI / benchmark-publish (push) Successful in 12m32s
CI / unit_tests (push) Successful in 12m43s
CI / docker (push) Successful in 38s
CI / coverage (push) Successful in 47m56s
Created ADR-042 (Resource Type Inheritance) defining single-inheritance
`inherits` field on resource type definitions with field resolution,
collection merging, handler inheritance, polymorphic tool binding,
auto-discovery, and DAG query matching. Max depth 5, single inheritance.

Created ADR-043 (Devcontainer Integration) defining devcontainer-instance
as a subtype of container-instance with lazy activation lifecycle,
devcontainer.json parsing, three container-project association patterns
(auto-detect, explicit mount, clone-into), and execution environment
routing with a 6-level precedence chain.

Specification updates across 20+ sections:
- Glossary: Resource Type Inheritance, Devcontainer, Execution Environment
- Resource type YAML schema: `inherits` field with structure reference
- Handler, sandbox strategy, and coherence tables: devcontainer-instance
- Auto-discovery: devcontainer detection subsection with WBS diagram
- Tool capability metadata: structured environment subfields
- Technology stack: devcontainer CLI row
- Project model: execution environment subsection with YAML example
- CLI agents resource add: --mount, --clone-into flags + 4 new examples
- CLI agents plan use: --execution-environment, --execution-env-priority
- CLI agents project context set: same execution environment flags
- Command synopsis block: updated for all new flags
- Execution environment routing section with precedence table + algorithm
- Resource type YAML Example 6: Devcontainer Instance (inherited type)
- End-to-end Example 16: Devcontainer-Driven Development
- End-to-end Example 17: Explicit Container with Directory Mount
- End-to-end Example 18: Container with Remote Repo Clone

Also fixed ADR index: added missing ADR-036 through ADR-040 entries,
updated next ADR number to 044.

CONTRIBUTING.md fixes backported from sister project:
- Fixed State label capitalization (State/In Progress -> State/In progress,
  State/In Review -> State/In review) to match label definitions.
- Subtasks section: changed from optional to required, with exception
  clause for trivially simple issues.
- Parent links: updated to use Forgejo dependency system instead of
  textual references in issue descriptions.
- Fixed nox session flag typos: nox -e -> nox -s (7 occurrences).
- Replaced "Epics and Legendaries" section with comprehensive "Ticket
  Type Hierarchy" defining the three-tier hierarchy (Issue -> Epic ->
  Legendary) with formal criteria tables, cross-cutting rules for
  hierarchy enforcement, completion semantics, promotion/demotion, and
  milestone relationship rules.
- Fixed broken internal links referencing old "Epics and Legendaries"
  anchor to use "Ticket Type Hierarchy" (3 occurrences).
- Traceability example: replaced project-specific code reference with
  generic example.
- Removed stray horizontal rule before Project-Specific Guidelines.

ISSUES CLOSED: #491
2026-03-01 20:04:10 +00:00
Luis Mendes 9f6fb667c2 feat(subplan): execute and merge subplans
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 20s
CI / security (pull_request) Successful in 33s
CI / typecheck (pull_request) Successful in 34s
CI / integration_tests (pull_request) Successful in 2m45s
CI / unit_tests (pull_request) Successful in 13m14s
CI / docker (pull_request) Successful in 38s
CI / benchmark-regression (pull_request) Successful in 24m49s
CI / coverage (pull_request) Successful in 49m5s
CI / lint (push) Successful in 14s
CI / quality (push) Successful in 15s
CI / build (push) Successful in 14s
CI / security (push) Successful in 28s
CI / typecheck (push) Successful in 30s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 2m43s
CI / unit_tests (push) Successful in 13m9s
CI / docker (push) Successful in 39s
CI / benchmark-publish (push) Successful in 14m49s
CI / coverage (push) Successful in 47m53s
Implement SubplanExecutionService and SubplanMergeService to enable
parent plans to decompose work into coordinated child subplans with
configurable execution modes (sequential, parallel, dependency-ordered)
and merge strategies (git_three_way, sequential_apply, fail_on_conflict,
last_wins).

- SubplanExecutionService: schedules subplan execution with retry
  support via SubplanFailureHandler, max_parallel limits, fail_fast
  semantics, and topological DAG ordering for dependency mode
- SubplanMergeService: wraps sandbox merge infrastructure to combine
  subplan sandbox outputs using the configured merge strategy
- BDD tests: 21 scenarios covering all execution modes, merge
  strategies, validation, and integration flows
- Robot tests: 11 integration test cases with helper module
- ASV benchmarks: performance benchmarks for execution and merge
- Documentation: reference guide in docs/reference/subplans.md

ISSUES CLOSED: #184
2026-03-01 09:07:06 +00:00
freemo 7c4663b8ee feat(config): add config service with multi-level resolution
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 18s
CI / build (pull_request) Successful in 19s
CI / typecheck (pull_request) Successful in 38s
CI / security (pull_request) Successful in 46s
CI / integration_tests (pull_request) Successful in 2m52s
CI / unit_tests (pull_request) Successful in 12m35s
CI / docker (pull_request) Successful in 38s
CI / benchmark-regression (pull_request) Successful in 20m57s
CI / coverage (pull_request) Successful in 47m23s
CI / lint (push) Successful in 12s
CI / build (push) Successful in 14s
CI / quality (push) Successful in 17s
CI / typecheck (push) Successful in 32s
CI / benchmark-regression (push) Has been skipped
CI / security (push) Successful in 40s
CI / integration_tests (push) Successful in 2m52s
CI / benchmark-publish (push) Successful in 12m29s
CI / unit_tests (push) Successful in 12m31s
CI / docker (push) Successful in 38s
CI / coverage (push) Successful in 47m17s
Implement the complete configuration system with multi-level resolution
chain, typed key registry, and CLI integration per specification.

ConfigService changes:
- Expand _build_catalog() to register all 102 spec-aligned config keys
  across 8 groups: core (14), server (4), actor (5), plan (8),
  sandbox (5), index (12), context (43), provider (11)
- Each key carries exact dotted-dash name, Python type, default value,
  explicit env var name per spec, project-scopability flag, and
  description
- Fix _env_name() to convert dots and dashes to underscores
- Provider keys use standard env var names (e.g., OPENAI_API_KEY)

CLI commands rewiring:
- Rewrite config set/get/list to use ConfigService instead of Settings
- Add --verbose flag to config get showing full 5-level resolution chain
- Add --project flag to config set/get/list for project-scoped overrides
- Support both glob and regex patterns in config list
- Validate keys against ConfigService registry with actionable errors
- Retain backward-compatible helper functions delegating to ConfigService

Documentation:
- Add docs/reference/config_resolution.md covering resolution chain,
  all 102 config keys, CLI commands, TOML format, and provider credentials

Testing:
- Update all 4 Behave feature files and step definitions to use new
  spec-aligned key names, env vars, and defaults (119 scenarios passing)
- Add robot/config_resolution.robot with 10 integration test cases
- Add benchmarks/config_resolution_bench.py with 8 time + 2 memory suites

ISSUES CLOSED: #258
2026-03-01 04:38:30 +00:00
freemo 2eb31a598c test(coverage): add Behave BDD tests for 8 under-covered modules
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 19s
CI / security (pull_request) Successful in 36s
CI / typecheck (pull_request) Successful in 38s
CI / integration_tests (pull_request) Successful in 2m44s
CI / lint (push) Successful in 12s
CI / quality (push) Successful in 16s
CI / build (push) Successful in 23s
CI / typecheck (push) Successful in 31s
CI / security (push) Successful in 32s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 3m25s
CI / unit_tests (pull_request) Successful in 13m3s
CI / docker (pull_request) Successful in 1m2s
CI / benchmark-publish (push) Successful in 16m35s
CI / benchmark-regression (pull_request) Successful in 22m21s
CI / unit_tests (push) Successful in 24m45s
CI / docker (push) Successful in 8s
CI / coverage (pull_request) Successful in 1h1m47s
CI / coverage (push) Successful in 1h11m37s
Added targeted Behave BDD feature files and step definitions to improve
unit test coverage for:

- decision_service.py: Full coverage of all 7 service methods (18 scenarios)
- plan_apply_service.py: Branch coverage for handle_merge_failure (2 scenarios)
- plan_executor.py: Edge cases for rollback, checkpoint, and parse_steps (15 scenarios)
- cli/commands/plan.py: Uncovered region lines 1950-2273 (23 scenarios)
- repositories.py: Remaining missed branches and lines (14 scenarios)
- sandbox/checkpoint.py: Full coverage of CheckpointManager (26 scenarios)
- langgraph/bridge.py: Remaining uncovered lines and branches (10 scenarios)
- cli/commands/config.py: Safety net to maintain 100% coverage (42 scenarios)

Total: 150 new scenarios, 596 steps, all passing.

Also fixed a step definition collision in plan_lifecycle_coverage by renaming
"the delete result should be false" to "the plan delete result should be false".

ISSUES CLOSED: #475
2026-03-01 03:09:51 +00:00
freemo edd739c169 Docs: Fixed broken ToC in timeline
CI / lint (push) Successful in 14s
CI / build (push) Successful in 16s
CI / quality (push) Successful in 17s
CI / security (push) Successful in 30s
CI / typecheck (push) Successful in 31s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 3m50s
CI / unit_tests (push) Successful in 11m40s
CI / docker (push) Successful in 40s
CI / benchmark-publish (push) Successful in 12m23s
CI / coverage (push) Successful in 45m19s
2026-02-28 20:21:37 -05:00
CoreRasurae 53455275ba feat(automation): add autonomy guardrails and audit trail
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 18s
CI / lint (pull_request) Successful in 23s
CI / security (pull_request) Successful in 31s
CI / typecheck (pull_request) Successful in 35s
CI / integration_tests (pull_request) Successful in 3m46s
CI / unit_tests (pull_request) Successful in 11m44s
CI / docker (pull_request) Successful in 38s
CI / benchmark-regression (pull_request) Successful in 27m39s
CI / coverage (pull_request) Successful in 55m41s
CI / build (push) Successful in 15s
CI / quality (push) Successful in 16s
CI / lint (push) Successful in 19s
CI / typecheck (push) Successful in 32s
CI / benchmark-regression (push) Has been skipped
CI / security (push) Successful in 41s
CI / integration_tests (push) Successful in 2m55s
CI / unit_tests (push) Successful in 11m43s
CI / docker (push) Successful in 40s
CI / benchmark-publish (push) Successful in 16m11s
CI / coverage (push) Successful in 44m49s
Add runtime autonomy constraints (max steps, tool budget, required
confirmations) and a structured audit trail for plan execution.

New domain models:
- AutonomyGuardrails: enforces step limits, tool budgets, and
  confirmation gates with validators and check methods
- GuardrailAuditEntry: records each enforcement event with timestamp,
  event type, guard name, result, reason, and context
- GuardrailAuditTrail: ordered collection of audit entries persisted
  to plan metadata

New service:
- AutonomyGuardrailService: high-level service for configuring
  guardrails per plan, checking constraints, recording audit entries,
  and serializing/restoring state via plan metadata

Tests:
- Behave: 69 scenarios covering model validation, step/budget/
  confirmation checks, audit trail recording, and service operations
- Robot: 8 test cases for autonomy guardrail CLI flag smoke testing
- ASV: 6 benchmark suites measuring enforcement overhead

Documentation:
- Updated docs/reference/automation_profiles.md with guardrail fields,
  enforcement behavior, audit trail schema, and event type reference

ISSUES CLOSED: #204
2026-02-28 22:06:57 +00:00
Luis Mendes 64af753aab feat(security): add permission system
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 19s
CI / security (pull_request) Successful in 32s
CI / typecheck (pull_request) Successful in 36s
CI / integration_tests (pull_request) Successful in 2m40s
CI / unit_tests (pull_request) Successful in 11m42s
CI / docker (pull_request) Successful in 40s
CI / benchmark-regression (pull_request) Successful in 21m35s
CI / coverage (pull_request) Successful in 45m10s
CI / lint (push) Successful in 12s
CI / quality (push) Successful in 18s
CI / build (push) Successful in 23s
CI / security (push) Successful in 32s
CI / typecheck (push) Successful in 57s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 2m43s
CI / unit_tests (push) Successful in 12m13s
CI / benchmark-publish (push) Successful in 12m19s
CI / docker (push) Successful in 1m2s
CI / coverage (push) Successful in 1h26m6s
Implemented namespace/project/plan/skill permission model with role
bindings (owner/admin/editor/viewer) and default deny policy. Added
enforcement hooks at CLI/service boundaries that are server-only; local
mode returns permissive defaults. Includes role enums, permission check
service, role matrix documentation.

Includes Behave BDD scenarios, Robot integration tests, ASV benchmarks,
and reference documentation.

ISSUES CLOSED: #344
2026-02-28 20:21:18 +00:00
CoreRasurae a2be3e67b0 feat(validation): add semantic validation service
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 13s
CI / build (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 18s
CI / security (pull_request) Successful in 30s
CI / typecheck (pull_request) Successful in 59s
CI / integration_tests (pull_request) Successful in 4m40s
CI / unit_tests (pull_request) Successful in 11m32s
CI / docker (pull_request) Successful in 1m1s
CI / benchmark-regression (pull_request) Successful in 28m54s
CI / coverage (pull_request) Successful in 44m11s
CI / lint (push) Successful in 12s
CI / build (push) Successful in 14s
CI / quality (push) Successful in 16s
CI / typecheck (push) Successful in 31s
CI / benchmark-regression (push) Has been skipped
CI / security (push) Successful in 42s
CI / integration_tests (push) Successful in 2m53s
CI / unit_tests (push) Successful in 11m20s
CI / docker (push) Successful in 9s
CI / benchmark-publish (push) Successful in 12m18s
CI / coverage (push) Successful in 43m33s
Added SemanticValidationService with built-in Python checks for syntax
errors, missing imports, broken references, dependency cycles, API misuse,
and missing symbols. Implemented SemanticRuleRegistry for extensible
validator registration. Integrated with ValidationPipeline as informational
by default. Added per-project/per-plan config keys, severity mapping
(info/warn/error), output schema normalization, and file-hash-based caching.

Includes Behave BDD scenarios, Robot integration tests, ASV benchmarks,
and reference documentation.

ISSUES CLOSED: #207
2026-02-28 17:46:54 +00:00
brent.edwards ab32584f1d Merge pull request 'test(e2e): add M6 autonomy acceptance suite' (#470) from feature/m6-autonomy-smoke into master
CI / lint (push) Successful in 15s
CI / build (push) Successful in 18s
CI / quality (push) Successful in 18s
CI / security (push) Successful in 31s
CI / typecheck (push) Successful in 32s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 4m41s
CI / benchmark-publish (push) Successful in 12m12s
CI / unit_tests (push) Successful in 23m34s
CI / docker (push) Successful in 9s
CI / coverage (push) Successful in 55m2s
Reviewed-on: #470
Reviewed-by: Jeffrey Phillips Freeman <jeffrey.freeman@cleverthis.com>
2026-02-28 06:33:47 +00:00
brent.edwards 38e75342a9 refactor: merge from master
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / quality (pull_request) Successful in 16s
CI / build (pull_request) Successful in 23s
CI / typecheck (pull_request) Successful in 31s
CI / security (pull_request) Successful in 59s
CI / integration_tests (pull_request) Successful in 3m30s
CI / benchmark-regression (pull_request) Successful in 21m22s
CI / unit_tests (pull_request) Successful in 23m4s
CI / docker (pull_request) Successful in 16s
CI / coverage (pull_request) Successful in 43m38s
This code is a merge from master.
2026-02-28 05:49:26 +00:00
brent.edwards ed2918c337 Merge pull request 'test(e2e): add M5 ACMS + context suites' (#469) from feature/m5-acms-smoke into master
CI / lint (push) Successful in 14s
CI / quality (push) Successful in 17s
CI / security (push) Successful in 29s
CI / typecheck (push) Successful in 33s
CI / benchmark-regression (push) Has been skipped
CI / build (push) Successful in 28s
CI / integration_tests (push) Successful in 2m49s
CI / benchmark-publish (push) Successful in 12m3s
CI / unit_tests (push) Successful in 21m25s
CI / docker (push) Successful in 8s
CI / coverage (push) Successful in 52m57s
Reviewed-on: #469
2026-02-28 05:24:10 +00:00
brent.edwards 133830c2b7 Merge branch 'master' into feature/m5-acms-smoke
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 19s
CI / lint (pull_request) Successful in 27s
CI / typecheck (pull_request) Successful in 55s
CI / security (pull_request) Successful in 58s
CI / integration_tests (pull_request) Successful in 2m57s
CI / unit_tests (pull_request) Successful in 22m9s
CI / docker (pull_request) Successful in 9s
CI / benchmark-regression (pull_request) Successful in 26m45s
CI / coverage (pull_request) Successful in 53m59s
2026-02-28 04:29:07 +00:00
brent.edwards e2129a26ba Merge branch 'master' into feature/m6-autonomy-smoke
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 12s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 17s
CI / security (pull_request) Successful in 30s
CI / typecheck (pull_request) Successful in 31s
CI / integration_tests (pull_request) Successful in 2m59s
CI / unit_tests (pull_request) Successful in 11m20s
CI / docker (pull_request) Successful in 8s
CI / benchmark-regression (pull_request) Successful in 21m14s
CI / coverage (pull_request) Successful in 1h8m33s
2026-02-28 04:28:35 +00:00
freemo 0a28ea6e80 Docs: updated nav bar
CI / lint (push) Successful in 15s
CI / build (push) Successful in 19s
CI / quality (push) Successful in 31s
CI / typecheck (push) Successful in 35s
CI / security (push) Successful in 35s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 4m21s
CI / unit_tests (push) Successful in 11m36s
CI / docker (push) Successful in 16s
CI / benchmark-publish (push) Successful in 15m29s
CI / coverage (push) Successful in 41m38s
2026-02-27 22:43:28 -05:00
brent.edwards 3ec3cae203 Merge branch 'master' into feature/m6-autonomy-smoke
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 21s
CI / build (pull_request) Successful in 24s
CI / security (pull_request) Successful in 34s
CI / typecheck (pull_request) Successful in 1m0s
CI / integration_tests (pull_request) Successful in 4m28s
CI / unit_tests (pull_request) Successful in 12m28s
CI / docker (pull_request) Successful in 39s
CI / benchmark-regression (pull_request) Successful in 27m40s
CI / coverage (pull_request) Successful in 43m12s
2026-02-28 03:34:54 +00:00
brent.edwards ab3431c671 Merge branch 'master' into feature/m5-acms-smoke
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 22s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 22s
CI / typecheck (pull_request) Successful in 36s
CI / security (pull_request) Successful in 36s
CI / integration_tests (pull_request) Successful in 3m52s
CI / unit_tests (pull_request) Successful in 22m47s
CI / docker (pull_request) Successful in 16s
CI / benchmark-regression (pull_request) Successful in 24m17s
CI / coverage (pull_request) Successful in 55m8s
2026-02-28 03:32:33 +00:00
brent.edwards 465683fb6b fix(test): stabilize retry_with_timeout scenario
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 27s
CI / typecheck (pull_request) Has been cancelled
CI / security (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / integration_tests (pull_request) Has been cancelled
CI / coverage (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
Patch time.monotonic alongside time.sleep in the retry timeout step
so stop_after_delay cannot elapse due to wall-clock overhead on
busy CI runners. The fake monotonic clock advances by 1µs per call,
keeping elapsed time well under the 0.01s timeout while preserving
retry semantics.

Closes #200
2026-02-28 03:31:53 +00:00
freemo e0836d6e1a Docs: Updated timeline
CI / lint (push) Successful in 15s
CI / build (push) Successful in 16s
CI / quality (push) Successful in 29s
CI / security (push) Successful in 31s
CI / typecheck (push) Successful in 34s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 4m35s
CI / unit_tests (push) Successful in 11m3s
CI / docker (push) Successful in 39s
CI / benchmark-publish (push) Successful in 15m15s
CI / coverage (push) Has been cancelled
2026-02-27 22:17:57 -05:00
brent.edwards a2f0dadd3b Merge branch 'master' into feature/m6-autonomy-smoke
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 14s
CI / quality (pull_request) Successful in 17s
CI / build (pull_request) Successful in 23s
CI / security (pull_request) Successful in 30s
CI / typecheck (pull_request) Successful in 32s
CI / integration_tests (pull_request) Successful in 2m48s
CI / unit_tests (pull_request) Successful in 15m6s
CI / docker (pull_request) Successful in 1m1s
CI / benchmark-regression (pull_request) Successful in 20m38s
CI / coverage (pull_request) Has been cancelled
2026-02-28 03:12:40 +00:00
brent.edwards 3cf1c2f71a Merge pull request 'test(e2e): verify M5 success criteria — ACMS and large-project context' (#456) from test/m5-e2e-verification into master
CI / lint (push) Successful in 14s
CI / build (push) Successful in 15s
CI / quality (push) Successful in 17s
CI / security (push) Successful in 31s
CI / typecheck (push) Successful in 35s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 4m37s
CI / unit_tests (push) Successful in 11m14s
CI / docker (push) Successful in 39s
CI / benchmark-publish (push) Successful in 14m52s
CI / coverage (push) Has been cancelled
Reviewed-on: #456
Reviewed-by: Luis Mendes <luis.mendes@cleverthis.com>
2026-02-28 02:44:07 +00:00
brent.edwards e3a93bf32c Merge branch 'master' into feature/m5-acms-smoke
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 19s
CI / build (pull_request) Successful in 19s
CI / security (pull_request) Successful in 33s
CI / typecheck (pull_request) Successful in 49s
CI / integration_tests (pull_request) Successful in 2m43s
CI / unit_tests (pull_request) Failing after 26m33s
CI / docker (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 28m55s
CI / coverage (pull_request) Successful in 48m40s
2026-02-28 02:32:51 +00:00
brent.edwards d5212c2481 Merge branch 'master' into test/m5-e2e-verification
CI / lint (pull_request) Successful in 26s
CI / quality (pull_request) Successful in 32s
CI / typecheck (pull_request) Successful in 57s
CI / security (pull_request) Successful in 1m0s
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 25s
CI / integration_tests (pull_request) Successful in 5m29s
CI / benchmark-regression (pull_request) Successful in 21m9s
CI / unit_tests (pull_request) Successful in 32m30s
CI / docker (pull_request) Successful in 38s
CI / coverage (pull_request) Successful in 1h25m20s
2026-02-28 01:10:51 +00:00
brent.edwards 158a99c543 Merge branch 'master' into feature/m6-autonomy-smoke
CI / lint (pull_request) Successful in 22s
CI / quality (pull_request) Successful in 23s
CI / benchmark-publish (pull_request) Has been skipped
CI / security (pull_request) Successful in 47s
CI / build (pull_request) Successful in 29s
CI / typecheck (pull_request) Successful in 58s
CI / integration_tests (pull_request) Successful in 5m17s
CI / unit_tests (pull_request) Successful in 27m17s
CI / docker (pull_request) Successful in 40s
CI / benchmark-regression (pull_request) Successful in 28m29s
CI / coverage (pull_request) Successful in 1h43m0s
2026-02-28 01:10:08 +00:00
freemo c825935309 docs(spec): recognize SafetyProfile as composed sub-model of AutomationProfile
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 24s
CI / build (pull_request) Successful in 24s
CI / security (pull_request) Successful in 50s
CI / typecheck (pull_request) Successful in 57s
CI / lint (push) Successful in 20s
CI / quality (push) Successful in 25s
CI / build (push) Successful in 20s
CI / security (push) Successful in 55s
CI / typecheck (push) Successful in 57s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (pull_request) Successful in 4m28s
CI / integration_tests (push) Successful in 3m46s
CI / benchmark-publish (push) Successful in 12m12s
CI / benchmark-regression (pull_request) Successful in 22m12s
CI / unit_tests (pull_request) Successful in 28m31s
CI / docker (pull_request) Successful in 41s
CI / unit_tests (push) Successful in 29m45s
CI / docker (push) Successful in 1m0s
CI / coverage (pull_request) Successful in 1h25m45s
CI / coverage (push) Successful in 1h29m24s
Add SafetyProfile as a first-class concept in the specification, composed
within AutomationProfile via a 'safety' field. This eliminates the
dual-authority problem where both AutomationProfile and a separate
SafetyProfile defined the same three safety booleans (require_sandbox,
require_checkpoints, allow_unsafe_tools) with no spec-defined resolution.

Changes:
- specification.md: Add Safety Profile glossary entry, split Automatable
  Tasks into thresholds + Safety Profile sub-section, update built-in
  profile matrix with safety.* prefix, update YAML examples
- ADR-041 (new): Document composition decision, field schema, relationship
  to Guards, constraints, consequences, rejected alternatives (inheritance,
  mixin, flat)
- ADR-017: Update profile fields table, built-in profiles, constraints,
  risks, and cross-reference to ADR-041
- reference/automation_profiles.md: Rename Safety Fields to Safety Profile
  sub-section, expand built-in matrix, update YAML examples
- schema/automation_profile.schema.yaml: Nest safety fields under safety
  object with all SafetyProfile fields
- adr/index.md: Add ADR-041 to Tier 3 inventory

Resolves spec gap identified in issue #332.
2026-02-28 01:02:55 +00:00
brent.edwards de8c33cb4a fix(test): use source-module patch target for get_container
CI / benchmark-publish (pull_request) Has been skipped
CI / quality (pull_request) Successful in 19s
CI / lint (pull_request) Successful in 19s
CI / build (pull_request) Successful in 23s
CI / security (pull_request) Successful in 51s
CI / typecheck (pull_request) Successful in 59s
CI / integration_tests (pull_request) Successful in 4m27s
CI / unit_tests (pull_request) Successful in 11m20s
CI / docker (pull_request) Successful in 49s
CI / benchmark-regression (pull_request) Successful in 22m42s
CI / coverage (pull_request) Successful in 1h27m38s
Revert module-level import refactor and instead patch at
cleveragents.application.container.get_container — matching the
established pattern used by all existing context CLI tests.
Lazy imports inside each function re-read from the source module,
so patching there intercepts correctly.

Closes #200
2026-02-28 00:59:05 +00:00
brent.edwards 50b047056e Merge branch 'master' into feature/m5-acms-smoke
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 16s
CI / lint (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 25s
CI / security (pull_request) Successful in 51s
CI / typecheck (pull_request) Successful in 1m0s
CI / integration_tests (pull_request) Successful in 2m50s
CI / benchmark-regression (pull_request) Successful in 24m49s
CI / unit_tests (pull_request) Failing after 26m25s
CI / docker (pull_request) Has been skipped
CI / coverage (pull_request) Has been cancelled
2026-02-27 23:43:16 +00:00