V0.9.0/dotnet segregated assets - #37
Open
gimlichael wants to merge 20 commits into
Open
Conversation
Add AI/LLM Evaluation Automation Prohibition as Priority 1 rule in AGENTS.md, clarify commit skill routing for git-visual-commits, and update README to emphasize deterministic local validation. Eval prompts and fixtures are versioned review specifications whose presence never authorizes automated model execution.
Reorganize git-visual-commits and git-keep-a-changelog skill routing logic. Add 'Invocation Routing Lock' section to clarify when each skill is selected. Update skill descriptions to emphasize authoritative command routing (git bot commit, git commit, git our commit) and prevent yolo/auto from activating unrelated skills. Add comprehensive evals for both skills reflecting the updated routing contracts.
Remove benchmark automation infrastructure (run-skill-benchmark.ps1, skill-benchmark/, test-run-skill-benchmark.ps1) that relied on authenticated model execution. Update validate-skill-templates.ps1 to emphasize deterministic local checks: metadata-only mode for quick frontmatter validation, per-skill validator runs during iteration, full validation gate before completion. Aligns with the new AI/LLM Evaluation Automation Prohibition.
Adds a new skill for migrating ASP.NET Core web applications to serve static assets from a separate hardened static-content host (Codebelt Static Content Provider) while keeping conventional wwwroot authoring. This achieves architectural separation of concerns: developers keep editing in the familiar wwwroot location, but deployed static content is decoupled from business logic, enabling independent deployment, scaling, and cache control. The skill includes a deterministic runner that inspects static-asset topology, classifies app-owned vs shared CDN assets, detects risky scenarios (Blazor, RCL, generated assets), proves the publish invariant, and orchestrates local development with a hardened origin container and production image. Includes comprehensive reference docs, eval cases across diverse scenarios (MVC, Blazor, RCL, frontend-build, Cuemon-equipped apps), and validation scripts.
Greptile SummaryThe PR adds the
Confidence Score: 5/5The PR appears safe to merge because no blocking failure remains. No blocking failure remains. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Inspect .NET project] --> B{Generated-asset risks?}
B -->|Yes| C[Block and escalate]
B -->|No| D{Existing segregation complete?}
D -->|Yes| E[Reconcile existing topology]
D -->|No| F{wwwroot present?}
F -->|Yes| G[Plan segregated asset topology]
F -->|No| H{CDN equivalent supplied?}
H -->|Yes| I[Create CDN-equivalent topology]
H -->|No| J[Report blocked configuration]
C --> K[Verify]
E --> K
G --> K
I --> K
K --> L{Local checks requested?}
L -->|Yes| M[Require launch profile and compose service]
L -->|No| N[Evaluate publish leak check]
M --> N
N --> O[PASS or FAIL]
Reviews (3): Last reviewed commit: "♻️ add cache-busting detection to segreg..." | Re-trigger Greptile |
Reorder classification logic so RiskyGeneratedAssets takes precedence over AlreadySegregated detection, preventing false negatives on risky static assets in partially segregated projects. Make local verification stricter by requiring both launch profile and Compose service presence. Add CDN-equivalent option to allow projects without wwwroot to consume shared/CDN asset roots. Add TestAlreadySegregatedRiskIsRisky assertion to catch regression.
Add three new eval test cases covering verification edge cases: checking that local verification requires both launch profile and Compose service (not just publish invariant cleanliness), that risky-asset classification blocks execution even when segregation is already complete, and that projects without wwwroot can produce CDN-only work when shared asset roots are available. Add corresponding test fixtures and harness assertions.
Add feature bullet documenting the skill's fail-closed verification and planning behavior: local verification requires both matching HTTP launch profile and origin Compose service, generated-asset risks override existing-segregation detection, and no-wwwroot projects can still produce CDN-only work when shared equivalents exist.
Add Docker-documented <something>.Dockerfile naming convention with PascalCase prefix to the skill specification. The convention (e.g., Assets.Dockerfile) allows developers to explicitly select non-default Dockerfiles using the --file option, improving clarity when managing derived container images. Update evals to verify the convention is followed.
Add DerivedDockerfileName constant and update the runner to use Assets.Dockerfile by convention. Update test assertions to verify the generated plan mentions Assets.Dockerfile. Add validation contract to ensure SKILL.md and production-image.md document the <something>.Dockerfile naming pattern, PascalCase form, Assets.Dockerfile example, --file option, and negative patterns (Dockerfile.assets, lowercase assets.Dockerfile).
Update the dotnet-segregated-assets skill entry in the README.md available skills table to reflect the new Assets.Dockerfile naming convention using Docker's <something>.Dockerfile form with PascalCase. Add bullet point documenting that the derived production asset image uses Docker naming conventions and is explicitly selected with --file.
Clarify skill instructions, improve reference documentation, and align eval fixtures to new naming conventions. The skill's intent and scope remain unchanged; these updates enhance clarity for users and maintainers.
Align implementation, testing, and validation tooling with refined skill guidance. These updates maintain deterministic behavior while improving clarity and error handling in the segregation workflow.
Reflect improvements to skill guidance and naming conventions. The updated skill listing clarifies the architectural intent and highlights the deterministic verification approach.
Enhance skill instructions with clearer workflows, improve reference documentation with detailed examples and rationale, and add comprehensive FORMS parameter collection. These updates provide users and maintainers with complete guidance on skill usage and configuration.
Expand segregate-assets.cs with comprehensive asset classification logic, improve validation coverage, and enhance test harnesses. These deterministic runner improvements strengthen the skill's ability to detect edge cases, validate publish invariants, and provide clear diagnostics during segregation workflows.
Add comprehensive eval test case definitions and expand the cuemon-app fixture with complete application structure, including Razor views, configuration, static assets, and shared-asset references. These fixtures enable deterministic validation of segregation workflows across realistic ASP.NET Core scenarios.
Reflect expanded dotnet-segregated-assets skill capabilities with improved guidance, enhanced runner tooling, and comprehensive eval fixtures. The skill listing now accurately represents the deterministic validation, edge-case detection, and realistic fixture support.
Adds 'interface/registration' terminology to the 'Reports, never rewrites' bullet point to better explain what evidence the runner exposes about cache-busting behavior.
Adds detailed guidance to SKILL.md and references about Cuemon's enhanced cache-busting behavior, including how the CacheBustingTagHelper consumes DI-provided ICacheBusting services and preserves existing registrations. Updates evals.json expectations and assertions to verify cache-busting detection and preservation logic.
Enhances segregate-assets.cs to detect legacy attribute syntax, asp-append-version, and Cuemon cache-busting registrations (ICacheBusting, AddAssemblyCacheBusting, AddDynamicCacheBusting). Updates test-segregated-assets.ps1 and validate-skill.ps1 to verify detection and enforce validation contracts that the runner preserves existing cache-busting registrations and does not add new ones merely for segregation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces strict documentation and enforcement for local, deterministic skill validation and AI/LLM evaluation automation prohibitions. It updates both
README.mdandAGENTS.mdto clarify that all evaluation and validation workflows must never invoke authenticated AI/LLM APIs or CLIs, and that skill evaluation is strictly a local process. Additionally, it refines commit workflow routing rules for skills, and clarifies when and how key skills are invoked. The documentation for core skills is updated to reflect these routing and validation rules.AI/LLM Evaluation Automation Prohibition and Local Validation
AGENTS.mdstrictly prohibiting repository scripts, CI jobs, and skill runners from invoking authenticated AI/LLM APIs or CLIs (e.g., Copilot, Claude, Codex, Gemini) for evals, grading, optimization, or review generation. All validation must be local and deterministic, with no opt-in bypass.README.mdto reinforce thatevals/evals.jsonfiles are versioned review specifications for local validation only, not instructions for launching model sessions; clarified that the new prohibition is mandatory for all evaluation workflows../scripts/validate-skill-templates.ps1 -MetadataOnlyfor fast feedback, and clarified that only local, deterministic checks are allowed during iteration and before completion.Commit Workflow Routing and Skill Invocation
git bot commit,git commit,git our commit, orPlease do a git bot commit yolo) must invokegit-visual-commitsand never route to changelog or release-note skills unless explicitly requested. Clarified handling ofyolo/automodifiers.README.mdto reflect the new commit routing, identity handling, and the strict separation between commit, changelog, and release-note skills.Other Updates
dotnet-segregated-assetsskill in the skill install list.