chore: integration batch — 6 features/tasks for v3.2.0, v3.4.0, v3.5.0 #508

Closed
freemo wants to merge 12 commits from integration/batch-2026-03-02 into master
Owner

Summary

Integration branch combining 6 independently implemented feature branches, all verified against the full nox suite (lint, typecheck, unit_tests, integration_tests, coverage_report).

Included PRs

PR Issue Title Milestone
#502 #485 perf(tests): consolidate 141 small feature files v3.2.0
#503 #486 perf(tests): add ASV benchmarks for test runtime v3.2.0
#504 #259 feat(config): add project-scoped config overrides v3.4.0
#505 #190 feat(acms): add context request protocol models v3.4.0
#506 #197 feat(service): add subplan service and spawn workflow v3.4.0
#507 #201 feat(interfaces): add server client stubs v3.5.0

Quality Gates — ALL PASSED

  • lint: PASS (ruff check — 0 issues)
  • typecheck: PASS (Pyright strict — 0 errors)
  • unit_tests: PASS (7612 scenarios, 239 features, 0 failures)
  • integration_tests: PASS (1023/1023 robot tests)
  • coverage_report: PASS (98% overall)

Merge Conflicts Resolved

  • vulture_whitelist.py: Both #197 (subplan) and #201 (server-stubs) added entries — combined both sections.
  • config_service.py: Auto-merged cleanly (both #259 and #201 added config keys in non-overlapping sections).

Notes

  • One conflict between cli_core.feature server_mode assertions and the server-stubs feature was caused by a leftover config.toml from a prior test run — not a code issue. Tests pass cleanly in a fresh environment.
  • All 6 individual PRs remain open for per-feature review; this integration PR validates that they combine cleanly.
## Summary Integration branch combining 6 independently implemented feature branches, all verified against the full nox suite (lint, typecheck, unit_tests, integration_tests, coverage_report). ### Included PRs | PR | Issue | Title | Milestone | |----|-------|-------|-----------| | #502 | #485 | perf(tests): consolidate 141 small feature files | v3.2.0 | | #503 | #486 | perf(tests): add ASV benchmarks for test runtime | v3.2.0 | | #504 | #259 | feat(config): add project-scoped config overrides | v3.4.0 | | #505 | #190 | feat(acms): add context request protocol models | v3.4.0 | | #506 | #197 | feat(service): add subplan service and spawn workflow | v3.4.0 | | #507 | #201 | feat(interfaces): add server client stubs | v3.5.0 | ### Quality Gates — ALL PASSED - **lint**: PASS (ruff check — 0 issues) - **typecheck**: PASS (Pyright strict — 0 errors) - **unit_tests**: PASS (7612 scenarios, 239 features, 0 failures) - **integration_tests**: PASS (1023/1023 robot tests) - **coverage_report**: PASS (98% overall) ### Merge Conflicts Resolved - `vulture_whitelist.py`: Both #197 (subplan) and #201 (server-stubs) added entries — combined both sections. - `config_service.py`: Auto-merged cleanly (both #259 and #201 added config keys in non-overlapping sections). ### Notes - One conflict between `cli_core.feature` server_mode assertions and the server-stubs feature was caused by a leftover `config.toml` from a prior test run — not a code issue. Tests pass cleanly in a fresh environment. - All 6 individual PRs remain open for per-feature review; this integration PR validates that they combine cleanly.
perf(tests): consolidate 141 trivially small feature files into 34 domain groups
All checks were successful
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 / typecheck (pull_request) Successful in 35s
CI / security (pull_request) Successful in 37s
CI / unit_tests (pull_request) Successful in 3m2s
CI / integration_tests (pull_request) Successful in 4m37s
CI / docker (pull_request) Successful in 43s
CI / coverage (pull_request) Successful in 3m49s
CI / benchmark-regression (pull_request) Successful in 22m48s
6088730897
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
feat(service): add subplan service and spawn workflow
All checks were successful
CI / lint (pull_request) Successful in 16s
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 29s
CI / typecheck (pull_request) Successful in 55s
CI / security (pull_request) Successful in 57s
CI / unit_tests (pull_request) Successful in 2m58s
CI / integration_tests (pull_request) Successful in 4m10s
CI / docker (pull_request) Successful in 47s
CI / coverage (pull_request) Successful in 3m48s
CI / benchmark-regression (pull_request) Successful in 22m45s
749e56eb4f
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
feat(acms): add context request protocol models
All checks were successful
CI / lint (pull_request) Successful in 14s
CI / benchmark-publish (pull_request) Has been skipped
CI / typecheck (pull_request) Successful in 33s
CI / quality (pull_request) Successful in 25s
CI / build (pull_request) Successful in 15s
CI / security (pull_request) Successful in 53s
CI / unit_tests (pull_request) Successful in 3m18s
CI / integration_tests (pull_request) Successful in 3m55s
CI / docker (pull_request) Successful in 40s
CI / coverage (pull_request) Successful in 3m42s
CI / benchmark-regression (pull_request) Successful in 22m48s
7687c5e9b0
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
perf(tests): add ASV benchmarks for test suite runtime regression tracking
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 17s
CI / lint (pull_request) Successful in 18s
CI / quality (pull_request) Successful in 18s
CI / typecheck (pull_request) Successful in 34s
CI / security (pull_request) Successful in 37s
CI / unit_tests (pull_request) Successful in 3m12s
CI / integration_tests (pull_request) Successful in 4m51s
CI / docker (pull_request) Successful in 40s
CI / coverage (pull_request) Successful in 4m19s
CI / benchmark-regression (pull_request) Successful in 23m16s
8683f36817
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
feat(config): add project-scoped config overrides
All checks were successful
CI / lint (pull_request) Successful in 15s
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 31s
CI / typecheck (pull_request) Successful in 41s
CI / security (pull_request) Successful in 51s
CI / unit_tests (pull_request) Successful in 2m57s
CI / integration_tests (pull_request) Successful in 4m34s
CI / docker (pull_request) Successful in 39s
CI / coverage (pull_request) Successful in 3m39s
CI / benchmark-regression (pull_request) Successful in 22m18s
b49059209a
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
feat(interfaces): add server client stubs
All checks were successful
CI / lint (pull_request) Successful in 21s
CI / quality (pull_request) Successful in 35s
CI / security (pull_request) Successful in 47s
CI / benchmark-publish (pull_request) Has been skipped
CI / typecheck (pull_request) Successful in 1m17s
CI / build (pull_request) Successful in 19s
CI / unit_tests (pull_request) Successful in 2m43s
CI / integration_tests (pull_request) Successful in 3m26s
CI / docker (pull_request) Successful in 40s
CI / coverage (pull_request) Successful in 3m43s
CI / benchmark-regression (pull_request) Successful in 22m20s
5cb7dd42fb
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
Merge remote-tracking branch 'origin/feature/m6-server-stubs' into integration/batch-2026-03-02
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 13s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 17s
CI / typecheck (pull_request) Successful in 30s
CI / security (pull_request) Successful in 31s
CI / unit_tests (pull_request) Successful in 1m43s
CI / docker (pull_request) Successful in 38s
CI / integration_tests (pull_request) Successful in 2m53s
CI / coverage (pull_request) Successful in 3m43s
CI / benchmark-regression (pull_request) Successful in 22m43s
8dce196184
# Conflicts:
#	vulture_whitelist.py
Author
Owner

Closing as I am merging via individual PR

Closing as I am merging via individual PR
freemo closed this pull request 2026-03-02 14:49:27 +00:00
All checks were successful
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 13s
Required
Details
CI / build (pull_request) Successful in 16s
Required
Details
CI / quality (pull_request) Successful in 17s
Required
Details
CI / typecheck (pull_request) Successful in 30s
Required
Details
CI / security (pull_request) Successful in 31s
Required
Details
CI / unit_tests (pull_request) Successful in 1m43s
Required
Details
CI / docker (pull_request) Successful in 38s
Required
Details
CI / integration_tests (pull_request) Successful in 2m53s
Required
Details
CI / coverage (pull_request) Successful in 3m43s
Required
Details
CI / benchmark-regression (pull_request) Successful in 22m43s

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core!508
No description provided.