Integration: Validation pipeline, validation-gated apply, diff review, DoD gating, error recovery, and security hardening #417

Merged
CoreRasurae merged 14 commits from develop-luis-2 into master 2026-02-25 14:29:09 +00:00
Member

Summary

Integration branch combining 8 features across milestones v3.0.0, v3.2.0, and v3.3.0, all on the develop-luis-2 branch rebased on master.

Included Features (by commit)

  1. feat(apply): add validation-gated apply pipeline (Closes #155, v3.0.0)

    • Core plan apply service: diff review, artifact output, apply summary persistence, merge-failure handling, empty ChangeSet guard, and terminal state transitions
  2. feat(validation): add validation pipeline and results model (Closes #175, v3.2.0)

    • Validation pipeline with rule-based checks, severity levels, result aggregation, and gate enforcement
  3. feat(apply): add validation-gated apply pipeline + feat(apply): run validation attachments (Closes #176, v3.2.0)

    • Apply pipeline gated by validation results, attachment handling during apply phase
  4. feat(change): add diff review artifacts (Closes #303, v3.2.0)

    • Diff review artifact model with inline comments, approval status, and plan service integration
  5. feat(dod): enforce definition-of-done gating (Closes #178, v3.2.0)

    • Definition-of-done criteria model with completeness checks and gate enforcement
  6. feat(plan): add error recovery patterns and CLI hints (Closes #186, v3.3.0)

    • Error recovery patterns (retry, fallback, skip, abort), CLI hint generation, plan executor integration
  7. fix(security): harden template rendering (Closes #319, v3.3.0)

    • Secure Jinja2 renderer with sandboxed environment, filesystem access controls, and resource limits
  8. fix(security): enforce explicit exception handling (Closes #320, v3.3.0)

    • Explicit exception hierarchy, bare-except prohibition, structured error context, and audit logging

Closes #155, Closes #175, Closes #176, Closes #178, Closes #186, Closes #303, Closes #319, Closes #320

## Summary Integration branch combining 8 features across milestones v3.0.0, v3.2.0, and v3.3.0, all on the `develop-luis-2` branch rebased on master. ### Included Features (by commit) 1. **`feat(apply): add validation-gated apply pipeline`** (Closes #155, v3.0.0) - Core plan apply service: diff review, artifact output, apply summary persistence, merge-failure handling, empty ChangeSet guard, and terminal state transitions 2. **`feat(validation): add validation pipeline and results model`** (Closes #175, v3.2.0) - Validation pipeline with rule-based checks, severity levels, result aggregation, and gate enforcement 3. **`feat(apply): add validation-gated apply pipeline`** + **`feat(apply): run validation attachments`** (Closes #176, v3.2.0) - Apply pipeline gated by validation results, attachment handling during apply phase 4. **`feat(change): add diff review artifacts`** (Closes #303, v3.2.0) - Diff review artifact model with inline comments, approval status, and plan service integration 5. **`feat(dod): enforce definition-of-done gating`** (Closes #178, v3.2.0) - Definition-of-done criteria model with completeness checks and gate enforcement 6. **`feat(plan): add error recovery patterns and CLI hints`** (Closes #186, v3.3.0) - Error recovery patterns (retry, fallback, skip, abort), CLI hint generation, plan executor integration 7. **`fix(security): harden template rendering`** (Closes #319, v3.3.0) - Secure Jinja2 renderer with sandboxed environment, filesystem access controls, and resource limits 8. **`fix(security): enforce explicit exception handling`** (Closes #320, v3.3.0) - Explicit exception hierarchy, bare-except prohibition, structured error context, and audit logging Closes #155, Closes #175, Closes #176, Closes #178, Closes #186, Closes #303, Closes #319, Closes #320
CoreRasurae added 1 commit 2026-02-24 16:00:34 +00:00
feat(apply): add validation-gated apply pipeline
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 / typecheck (pull_request) Successful in 38s
CI / security (pull_request) Successful in 44s
CI / integration_tests (pull_request) Successful in 3m33s
CI / unit_tests (pull_request) Successful in 9m48s
CI / docker (pull_request) Successful in 37s
CI / benchmark-regression (pull_request) Successful in 17m20s
CI / coverage (pull_request) Failing after 24m36s
86b263df4c
CoreRasurae requested review from freemo 2026-02-24 17:57:14 +00:00
brent.edwards approved these changes 2026-02-24 19:34:28 +00:00
Dismissed
brent.edwards left a comment
Member

Approved, because it passes all tests -- but there are conflicting files.

Approved, because it passes all tests -- but there are conflicting files.
freemo added the
State
In Progress
Type
Feature
Priority
High
labels 2026-02-24 21:55:13 +00:00
freemo requested changes 2026-02-24 22:26:30 +00:00
Dismissed
freemo left a comment
Owner

Code Review: PR #417Set of 4 features

This PR has multiple critical violations of the project's contributing guidelines and cannot be reviewed in its current form. It requires fundamental restructuring before it can proceed.

Critical Issues

1. Empty PR description (CONTRIBUTING.md §1 — PR Process)
The PR body is completely empty. Per guidelines: "Every PR must include a clear, descriptive body that explains the purpose of the change... PRs submitted without a description or without an issue reference will not be reviewed." At minimum the description must contain:

  • A summary of changes and motivation
  • An issue reference with a closing keyword (e.g., Closes #XX)
  • A dependency link to the issue

2. No milestone assigned (CONTRIBUTING.md §11)
"Every PR must be assigned to the same milestone as its linked issue(s). A PR without a milestone will not be reviewed."

3. No issue reference (CONTRIBUTING.md §1, §4)
There is no linked issue. Per guidelines: "If your change is not associated with an existing issue, create one first." Every commit must also reference issues in its footer.

4. Multiple unrelated features bundled in one PR (CONTRIBUTING.md §2)
This PR bundles at least 4 distinct, independent features: validation pipeline, validation apply gate, diff review artifacts, and validation-gated apply pipeline — plus unrelated tool registry fallback coverage and skill registry documentation changes. Per guidelines: "Each PR must be associated with a single Epic. Do not combine work from multiple unrelated Epics in one PR. If your changes span multiple Epics, split them into separate PRs."

5. Not mergeable
The PR has merge conflicts with master that must be resolved.

6. Non-descriptive title
"Set of 4 features" does not follow the Conventional Changelog format expected for PR titles. It should reflect the specific change being made.

7. Branch naming
Branch develop-luis-2 is a personal development branch name, not a feature branch following project conventions (e.g., feature/m3-validation-pipeline).

Additional Violations

8. No CHANGELOG update (CONTRIBUTING.md §6) — 4 new features with zero changelog entries.

9. No CONTRIBUTORS.md update (CONTRIBUTING.md §8) — Luis Mendes (CoreRasurae) is not listed in CONTRIBUTORS.md.

10. No issue references in commit footers (CONTRIBUTING.md §4) — All 4 commits have empty bodies/footers with no Refs: or Closes: references.

11. Broad exception handlingplan_apply_service.py contains except Exception blocks (around lines 567, 605) that swallow lifecycle errors at DEBUG level, violating the error handling guidelines.

12. Missing input validationplan_id is not validated in apply_with_validation_gate; DiffBuilder constructor doesn't validate parameters.

Recommended Path Forward

  1. Split this PR into 4-5 separate PRs, one per logical feature, each with its own issue, tests, docs, and changelog entry.
  2. Create issues for each feature if they don't already exist.
  3. Use properly named feature branches (e.g., feature/m3-validation-pipeline).
  4. Write complete PR descriptions with issue references.
  5. Assign milestones and appropriate labels.
  6. Resolve merge conflicts.

This PR should be closed and replaced with properly scoped PRs.

## Code Review: PR #417 — `Set of 4 features` This PR has multiple critical violations of the project's contributing guidelines and cannot be reviewed in its current form. It requires fundamental restructuring before it can proceed. ### Critical Issues **1. Empty PR description (CONTRIBUTING.md §1 — PR Process)** The PR body is completely empty. Per guidelines: "Every PR must include a clear, descriptive body that explains the purpose of the change... PRs submitted without a description or without an issue reference will not be reviewed." At minimum the description must contain: - A summary of changes and motivation - An issue reference with a closing keyword (e.g., `Closes #XX`) - A dependency link to the issue **2. No milestone assigned (CONTRIBUTING.md §11)** "Every PR must be assigned to the same milestone as its linked issue(s). A PR without a milestone will not be reviewed." **3. No issue reference (CONTRIBUTING.md §1, §4)** There is no linked issue. Per guidelines: "If your change is not associated with an existing issue, create one first." Every commit must also reference issues in its footer. **4. Multiple unrelated features bundled in one PR (CONTRIBUTING.md §2)** This PR bundles **at least 4 distinct, independent features**: validation pipeline, validation apply gate, diff review artifacts, and validation-gated apply pipeline — plus unrelated tool registry fallback coverage and skill registry documentation changes. Per guidelines: "Each PR must be associated with a single Epic. Do not combine work from multiple unrelated Epics in one PR. If your changes span multiple Epics, split them into separate PRs." **5. Not mergeable** The PR has merge conflicts with `master` that must be resolved. **6. Non-descriptive title** "Set of 4 features" does not follow the Conventional Changelog format expected for PR titles. It should reflect the specific change being made. **7. Branch naming** Branch `develop-luis-2` is a personal development branch name, not a feature branch following project conventions (e.g., `feature/m3-validation-pipeline`). ### Additional Violations **8. No CHANGELOG update (CONTRIBUTING.md §6)** — 4 new features with zero changelog entries. **9. No CONTRIBUTORS.md update (CONTRIBUTING.md §8)** — Luis Mendes (CoreRasurae) is not listed in CONTRIBUTORS.md. **10. No issue references in commit footers (CONTRIBUTING.md §4)** — All 4 commits have empty bodies/footers with no `Refs:` or `Closes:` references. **11. Broad exception handling** — `plan_apply_service.py` contains `except Exception` blocks (around lines 567, 605) that swallow lifecycle errors at DEBUG level, violating the error handling guidelines. **12. Missing input validation** — `plan_id` is not validated in `apply_with_validation_gate`; `DiffBuilder` constructor doesn't validate parameters. ### Recommended Path Forward 1. **Split this PR into 4-5 separate PRs**, one per logical feature, each with its own issue, tests, docs, and changelog entry. 2. Create issues for each feature if they don't already exist. 3. Use properly named feature branches (e.g., `feature/m3-validation-pipeline`). 4. Write complete PR descriptions with issue references. 5. Assign milestones and appropriate labels. 6. Resolve merge conflicts. This PR should be closed and replaced with properly scoped PRs.
CoreRasurae dismissed brent.edwards's review 2026-02-24 22:33:14 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

CoreRasurae force-pushed develop-luis-2 from 2c6c0ef510 to 9ce0ab3f5f 2026-02-24 22:38:25 +00:00 Compare
freemo dismissed freemo's review 2026-02-24 22:45:45 +00:00
Reason:

dont want hard block

CoreRasurae force-pushed develop-luis-2 from cedacd3741 to d2439f69cf 2026-02-24 23:40:04 +00:00 Compare
CoreRasurae force-pushed develop-luis-2 from bde5e0c108 to a055100953 2026-02-25 00:30:50 +00:00 Compare
CoreRasurae self-assigned this 2026-02-25 01:56:27 +00:00
CoreRasurae requested review from freemo 2026-02-25 01:56:34 +00:00
CoreRasurae added this to the v3.0.0 milestone 2026-02-25 07:37:55 +00:00
CoreRasurae changed title from Set of 4 features to Integration: Validation pipeline, validation-gated apply, diff review, DoD gating, error recovery, and security hardening 2026-02-25 07:40:11 +00:00
CoreRasurae modified the milestone from v3.0.0 to v3.2.0 2026-02-25 07:40:11 +00:00
CoreRasurae added
State
In Review
and removed
State
In Progress
Priority
High
labels 2026-02-25 07:40:52 +00:00
CoreRasurae added a new dependency 2026-02-25 07:42:00 +00:00
CoreRasurae added a new dependency 2026-02-25 07:42:00 +00:00
CoreRasurae added a new dependency 2026-02-25 07:42:01 +00:00
CoreRasurae added a new dependency 2026-02-25 07:42:01 +00:00
CoreRasurae added a new dependency 2026-02-25 07:42:02 +00:00
CoreRasurae added a new dependency 2026-02-25 07:42:02 +00:00
CoreRasurae force-pushed develop-luis-2 from 58ba40a2f8 to 17ea9c53fb 2026-02-25 10:08:00 +00:00 Compare
aditya approved these changes 2026-02-25 14:27:27 +00:00
CoreRasurae merged commit 17ea9c53fb into master 2026-02-25 14:29:09 +00:00
CoreRasurae deleted branch develop-luis-2 2026-02-25 14:29:11 +00:00
Sign in to join this conversation.
No Reviewers
4 Participants
Notifications
Due Date
No due date set.
Reference: cleveragents/cleveragents-core#417