Skip to content

chore: harden plan workflow — no-code-before-issue gate#51

Merged
mpaulosky merged 1 commit into
devfrom
squad/50-no-code-before-issue-gate
Apr 19, 2026
Merged

chore: harden plan workflow — no-code-before-issue gate#51
mpaulosky merged 1 commit into
devfrom
squad/50-no-code-before-issue-gate

Conversation

@mpaulosky

Copy link
Copy Markdown
Owner

Summary

Closes #50

Adds an explicit "no code before issue" hard gate to prevent future process violations where implementation starts before a GitHub issue is created.

Changes

routing.md

sprint-planning.md

  • New section: Hard Gate — No Code Before Issue — enforcement sequence with explicit YES/NO decision tree
  • Anti-patterns: Added ❌ Writing any code before a GitHub issue exists and ❌ Implementing a [[PLAN]] request without running the sprint planning ceremony

pr-merge-process.md

  • Ralph's Pre-Review Gate: Added GitHub issue exists row — PR body must contain Closes #N; if missing, Ralph creates the issue before review proceeds
  • Anti-patterns: Added ❌ Opening a PR without a Closes #N link

Testing

This is a documentation/process change. No code was modified; no build/test verification needed.

Add explicit hard gate to routing.md, sprint-planning.md, and pr-merge-process.md
so no agent can start coding without a GitHub issue linked to a milestone.

Changes:
- routing.md: guardrail #1 (absolute pre-code issue check) and guardrail #8 (direct
  user request gate): any coding request triggers an issue existence check first
- sprint-planning.md: new 'Hard Gate — No Code Before Issue' section with
  enforcement sequence; two new anti-pattern entries covering no-issue code and
  plan-without-ceremony patterns
- pr-merge-process.md: Ralph's Pre-Review Gate table now includes 'GitHub issue
  exists' check (Closes #N required); new anti-pattern for PRs missing issue link

Closes #50

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 19, 2026 19:45
@github-actions

Copy link
Copy Markdown
Contributor

Summary

Summary
Generated on: 04/19/2026 - 19:46:32
Coverage date: 04/19/2026 - 19:46:03 - 04/19/2026 - 19:46:20
Parser: MultiReport (4x Cobertura)
Assemblies: 4
Classes: 35
Files: 34
Line coverage: 64.3% (474 of 737)
Covered lines: 474
Uncovered lines: 263
Coverable lines: 737
Total lines: 2069
Branch coverage: 64% (169 of 264)
Covered branches: 169
Total branches: 264
Method coverage: Feature is only available for sponsors
Tag: 56_24637569522

Coverage

AppHost - 0%
Name Line Branch
AppHost 0% ****
Program 0%
Domain - 93.4%
Name Line Branch
Domain 93.4% 50%
Domain.Abstractions.Result 95% 50%
Domain.Abstractions.Result`1 75% 50%
MyBlog.Domain.Entities.BlogPost 100%
ServiceDefaults - 0%
Name Line Branch
ServiceDefaults 0% 0%
Microsoft.Extensions.Hosting.Extensions 0% 0%
Web - 68.1%
Name Line Branch
Web 68.1% 69%
MyBlog.Web.Components.Layout.MainLayout 100%
MyBlog.Web.Components.Layout.NavMenu 82.8% 71.4%
MyBlog.Web.Components.Pages.Error 100% 75%
MyBlog.Web.Components.Routes 0% 0%
MyBlog.Web.Components.Shared.RedirectToLogin 100%
MyBlog.Web.Data.BlogDbContext 100%
MyBlog.Web.Data.BlogPostDto 100%
MyBlog.Web.Data.BlogPostMappings 100%
MyBlog.Web.Data.MongoDbBlogPostRepository 100% 100%
MyBlog.Web.Features.BlogPosts.Create.Create 75% 50%
MyBlog.Web.Features.BlogPosts.Create.CreateBlogPostCommand 100%
MyBlog.Web.Features.BlogPosts.Create.CreateBlogPostHandler 100%
MyBlog.Web.Features.BlogPosts.Delete.ConfirmDeleteDialog 100% 100%
MyBlog.Web.Features.BlogPosts.Delete.DeleteBlogPostCommand 100%
MyBlog.Web.Features.BlogPosts.Delete.DeleteBlogPostHandler 100%
MyBlog.Web.Features.BlogPosts.Edit.Edit 88% 75%
MyBlog.Web.Features.BlogPosts.Edit.EditBlogPostCommand 100%
MyBlog.Web.Features.BlogPosts.Edit.EditBlogPostHandler 84% 90%
MyBlog.Web.Features.BlogPosts.Edit.GetBlogPostByIdQuery 100%
MyBlog.Web.Features.BlogPosts.List.GetBlogPostsHandler 100% 100%
MyBlog.Web.Features.BlogPosts.List.Index 86.8% 84.6%
MyBlog.Web.Features.UserManagement.AssignRoleCommand 100%
MyBlog.Web.Features.UserManagement.ManageRoles 90.4% 75%
MyBlog.Web.Features.UserManagement.Profile 97.2% 82%
MyBlog.Web.Features.UserManagement.RemoveRoleCommand 100%
MyBlog.Web.Features.UserManagement.RoleDto 100%
MyBlog.Web.Features.UserManagement.UserManagementHandler 0% 0%
MyBlog.Web.Features.UserManagement.UserWithRolesDto 100%
MyBlog.Web.Security.RoleClaimsHelper 91.8% 91.1%
Program 0% 0%

@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Branch Rate Complexity Health
Domain 0% 0% 38
Web 0% 0% 334
ServiceDefaults 0% 0% 18
Domain 0% 0% 38
Web 0% 0% 334
ServiceDefaults 0% 0% 18
AppHost 0% 100% 1
Domain 43% 0% 38
Web 5% 1% 334
ServiceDefaults 0% 0% 18
AppHost 0% 100% 1
Domain 43% 0% 38
Web 5% 1% 334
ServiceDefaults 0% 0% 18
Domain 93% 50% 38
Web 63% 65% 334
ServiceDefaults 0% 0% 18
Domain 93% 50% 38
Web 63% 65% 334
ServiceDefaults 0% 0% 18
Summary 23% (1000 / 4382) 21% (338 / 1644) 2342

@mpaulosky
mpaulosky merged commit 5f32bf1 into dev Apr 19, 2026
9 checks passed
@mpaulosky
mpaulosky deleted the squad/50-no-code-before-issue-gate branch April 19, 2026 19:57
@mpaulosky
mpaulosky removed the request for review from Copilot April 19, 2026 20:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Harden plan workflow: no-code-before-issue gate

1 participant