Organize Behave feature files into domain-aligned subdirectories #2021

Open
opened 2026-04-03 02:40:47 +00:00 by freemo · 2 comments
Owner

Metadata

  • Branch: refactor/behave-feature-subdirectories
  • Commit Message: refactor: organize Behave feature files into domain-aligned subdirectories
  • Milestone: v3.5.0
  • Parent Epic: #1678

Background

The features/ directory currently contains all Behave .feature files in a flat structure. As the test suite grows across multiple workstreams (Plan Lifecycle, Actors, Skills & Tools, Resources, Execution Pipeline, Context, etc.), this flat layout makes it increasingly difficult to:

  • Locate feature files for a specific domain or module
  • Understand test coverage at a glance per subsystem
  • Onboard new contributors who need to find relevant scenarios
  • Run targeted subsets of the test suite (e.g., behave features/plan/)

Organizing feature files into subdirectories that mirror the source package structure will improve maintainability, discoverability, and CI targeting.

Subtasks

  • Audit all existing .feature files in features/ and map each to its domain (plan, actor, resource, context, a2a, cli, etc.)
  • Define the target subdirectory structure (e.g., features/plan/, features/actor/, features/resource/, features/context/, features/a2a/, features/cli/)
  • Move each .feature file into its appropriate subdirectory
  • Update any environment.py, steps/ imports, or path references that rely on the flat features/ layout
  • Verify nox -e unit_tests passes with the new directory structure
  • Update CONTRIBUTING.md to document the new feature file layout convention

Definition of Done

  • All .feature files are organized under domain-aligned subdirectories within features/
  • No .feature files remain at the top level of features/ (except environment.py and shared steps)
  • nox -e unit_tests passes with zero failures
  • nox -e coverage_report reports coverage >= 97%
  • CONTRIBUTING.md documents the subdirectory naming convention for new feature files
  • All nox stages pass

Automated by CleverAgents Bot
Supervisor: Unknown | Agent: ca-new-issue-creator

## Metadata - **Branch**: `refactor/behave-feature-subdirectories` - **Commit Message**: `refactor: organize Behave feature files into domain-aligned subdirectories` - **Milestone**: v3.5.0 - **Parent Epic**: #1678 ## Background The `features/` directory currently contains all Behave `.feature` files in a flat structure. As the test suite grows across multiple workstreams (Plan Lifecycle, Actors, Skills & Tools, Resources, Execution Pipeline, Context, etc.), this flat layout makes it increasingly difficult to: - Locate feature files for a specific domain or module - Understand test coverage at a glance per subsystem - Onboard new contributors who need to find relevant scenarios - Run targeted subsets of the test suite (e.g., `behave features/plan/`) Organizing feature files into subdirectories that mirror the source package structure will improve maintainability, discoverability, and CI targeting. ## Subtasks - [ ] Audit all existing `.feature` files in `features/` and map each to its domain (plan, actor, resource, context, a2a, cli, etc.) - [ ] Define the target subdirectory structure (e.g., `features/plan/`, `features/actor/`, `features/resource/`, `features/context/`, `features/a2a/`, `features/cli/`) - [ ] Move each `.feature` file into its appropriate subdirectory - [ ] Update any `environment.py`, `steps/` imports, or path references that rely on the flat `features/` layout - [ ] Verify `nox -e unit_tests` passes with the new directory structure - [ ] Update `CONTRIBUTING.md` to document the new feature file layout convention ## Definition of Done - [ ] All `.feature` files are organized under domain-aligned subdirectories within `features/` - [ ] No `.feature` files remain at the top level of `features/` (except `environment.py` and shared steps) - [ ] `nox -e unit_tests` passes with zero failures - [ ] `nox -e coverage_report` reports coverage >= 97% - [ ] `CONTRIBUTING.md` documents the subdirectory naming convention for new feature files - [ ] All nox stages pass --- **Automated by CleverAgents Bot** Supervisor: Unknown | Agent: ca-new-issue-creator
freemo added this to the v3.5.0 milestone 2026-04-03 02:40:57 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Backlog (confirmed)
  • Milestone: v3.5.0 (already assigned — though this is a refactoring task, not an autonomy hardening feature. The milestone assignment is acceptable.)
  • MoSCoW: Could Have — Reorganizing Behave feature files into subdirectories is a pure refactoring task with no behavioral change. Improves maintainability but is not urgent.
  • Parent Epic: #1678 (confirmed correct)

Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: ca-project-owner

Issue triaged by project owner: - **State**: Verified - **Priority**: Backlog (confirmed) - **Milestone**: v3.5.0 (already assigned — though this is a refactoring task, not an autonomy hardening feature. The milestone assignment is acceptable.) - **MoSCoW**: Could Have — Reorganizing Behave feature files into subdirectories is a pure refactoring task with no behavioral change. Improves maintainability but is not urgent. - **Parent Epic**: #1678 (confirmed correct) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Backlog — file organization is a refactoring task with no functional impact
  • Milestone: v3.5.0
  • MoSCoW: Could Have — already correctly labeled; organizing Behave feature files into subdirectories improves maintainability but is not blocking any work

Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: ca-project-owner

Issue triaged by project owner: - **State**: Verified - **Priority**: Backlog — file organization is a refactoring task with no functional impact - **Milestone**: v3.5.0 - **MoSCoW**: Could Have — already correctly labeled; organizing Behave feature files into subdirectories improves maintainability but is not blocking any work --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
Sign in to join this conversation.
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.

Reference
cleveragents/cleveragents-core#2021
No description provided.