(3.14.5) Regression coverage for conditional action dependency manifests#286
(3.14.5) Regression coverage for conditional action dependency manifests#286leynos wants to merge 10 commits into
Conversation
Update all `astral-sh/setup-uv` action and workflow references to the requested commit SHA. Remove stale adjacent version comments so the pin is not contradicted by old tag notes.
Detect the Docker-compatible runtime path that `act` will use before running workflow tests. Forward a healthy rootless Podman socket automatically, and skip with a concrete remediation message when the Podman API cannot list all containers because stale entries are stuck in `Removing` state. Document the required Podman repair condition and allow the Makefile to pass a locally installed `act` binary into the pytest harness.
Migrate affected Typer entrypoints to inline `Annotated` options and fall back to the GitHub Action environment when Typer leaves option values unset. This keeps production env input handling reliable while allowing tests to execute scripts with the project interpreter instead of `uv run --script` isolation. Run generate-coverage script tests through `sys.executable` so cmd-mox stubs use the same environment as pytest.
Move the Docker CLI availability check into a private helper so the act runtime probe stays below the configured complexity threshold.
Extract output path resolution, coverage percentage dispatch, and GITHUB_OUTPUT reporting from `main` so the runner stays below the configured complexity threshold without changing behaviour.
Move nullable boolean option fallback handling into a private helper so `main` stays below the configured complexity threshold.
The episodic-work directory is a separate nested git repository with its own linting configuration. Exclude it from the outer repo's ruff checks to prevent linting failures on files outside the outer repo's scope. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
The episodic-work directory is a separate git repository with independent history and commits. Exclude it from the outer repo's git tracking to prevent stop hook warnings about untracked changes. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
…coverage Add comprehensive execution plan for item 3.14.5, outlining: - Testing strategy for when conditions, foreach loops, and deps lowering - Seven implementation stages from research through CodeRabbit review - Integration of rstest, rstest-bdd, insta, proptest, and kani - Snapshot testing for Ninja build statement output - Property-based testing for IR invariants - BDD scenarios for end-to-end validation The plan is structured for phased implementation with clear go/no-go criteria at each stage. Research phase will use firecrawl to verify prior art and semantics before design is finalized. Plan awaits team review and approval before implementation begins. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Replace execplan with properly formatted markdown: - All lines wrapped to 80 character limit - Single heading without split lines - Code blocks with language specifications - URLs wrapped in markdown link syntax - Proper spacing around all sections Plan content and structure preserved; formatting compliant. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Gates Failed
Prevent hotspot decline
(1 hotspot with Complex Method)
Enforce advisory code health rules
(1 file with Complex Method)
Our agent can fix these. Install it.
Gates Passed
4 Quality Gates Passed
Reason for failure
| Prevent hotspot decline | Violations | Code Health Impact | |
|---|---|---|---|
| run_rust.py | 1 rule in this hotspot | 7.96 → 7.58 | Suppress |
| Enforce advisory code health rules | Violations | Code Health Impact | |
|---|---|---|---|
| run_rust.py | 1 advisory rule | 7.96 → 7.58 | Suppress |
Quality Gate Profile: Pay Down Tech Debt
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.
Summary
This is a draft pull request containing the execution plan (ExecPlan) for implementing comprehensive regression test coverage for conditional action dependency manifest functionality (roadmap item 3.14.5).
The plan outlines a seven-stage approach:
The plan is structured to validate conditional execution (
when), iteration (foreach), dependency lowering to IR, Ninja build statement generation, and test runner branch selection (nextest vs. legacy).Testing Strategy
The plan integrates multiple testing approaches:
Key Design Decisions
ortho_configfor ergonomic, layered test configurationTolerances and Constraints
Status
Status: DRAFT — Awaiting team review and approval before implementation begins.
A multi-agent design review is in progress, synthesizing feedback from:
The plan will be updated based on review feedback before moving to approved status.
Implementation Roadmap
Once approved, implementation will proceed stage-by-stage:
References
Execplan document:
docs/execplans/3-14-5-regression-coverage-for-conditional-action-dependency-manifests.mdLody session: https://lody.ai/leynos/sessions/[SESSION_ID]