Skip to content

V0.9.0/dotnet segregated assets - #37

Open
gimlichael wants to merge 20 commits into
mainfrom
v0.9.0/dotnet-segregated-assets
Open

V0.9.0/dotnet segregated assets#37
gimlichael wants to merge 20 commits into
mainfrom
v0.9.0/dotnet-segregated-assets

Conversation

@gimlichael

Copy link
Copy Markdown
Member

This pull request introduces strict documentation and enforcement for local, deterministic skill validation and AI/LLM evaluation automation prohibitions. It updates both README.md and AGENTS.md to 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

  • Added a Priority 1 rule in AGENTS.md strictly 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.
  • Updated README.md to reinforce that evals/evals.json files 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.
  • Refined the recommended validation workflow: emphasized running ./scripts/validate-skill-templates.ps1 -MetadataOnly for fast feedback, and clarified that only local, deterministic checks are allowed during iteration and before completion.

Commit Workflow Routing and Skill Invocation

  • Documented authoritative routing for commit-related requests: any explicit commit invocation (e.g., git bot commit, git commit, git our commit, or Please do a git bot commit yolo) must invoke git-visual-commits and never route to changelog or release-note skills unless explicitly requested. Clarified handling of yolo/auto modifiers.
  • Updated skill descriptions in README.md to reflect the new commit routing, identity handling, and the strict separation between commit, changelog, and release-note skills.

Other Updates

  • Registered the new dotnet-segregated-assets skill in the skill install list.

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.
@gimlichael gimlichael self-assigned this Aug 11, 2026
@greptile-apps

greptile-apps Bot commented Aug 11, 2026

Copy link
Copy Markdown

Greptile Summary

The PR adds the dotnet-segregated-assets skill and establishes deterministic, local-only skill validation while prohibiting automated authenticated AI/LLM evaluation.

  • Adds planning, verification, fixtures, references, and regression coverage for segregated .NET static assets.
  • Replaces model-backed benchmark automation with deterministic local validation and mock tooling.
  • Clarifies commit-skill routing and updates repository and skill documentation.

Confidence Score: 5/5

The PR appears safe to merge because no blocking failure remains.

No blocking failure remains.

Important Files Changed

Filename Overview
skills/dotnet-segregated-assets/scripts/segregate-assets.cs Implements project classification, asset-topology planning, verification, and focused regression tests; the three previously reported control-flow defects are corrected at current HEAD.
scripts/validate-skill-templates.ps1 Adds a metadata-only fast path and deterministic enforcement against repository automation that launches authenticated AI/LLM evaluation sessions.
skills/dotnet-segregated-assets/SKILL.md Defines the segregated-assets workflow, safety escalation rules, and deterministic planning and verification commands.
AGENTS.md Establishes local deterministic validation, prohibits authenticated model-backed evaluation automation, and clarifies commit-skill routing.
scripts/run-skill-benchmark.ps1 Reworks benchmark behavior to comply with the repository prohibition on model-backed evaluation automation.

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]
Loading

Reviews (3): Last reviewed commit: "♻️ add cache-busting detection to segreg..." | Re-trigger Greptile

Comment thread skills/dotnet-segregated-assets/scripts/segregate-assets.cs Outdated
Comment thread skills/dotnet-segregated-assets/scripts/segregate-assets.cs Outdated
Comment thread skills/dotnet-segregated-assets/scripts/segregate-assets.cs Outdated
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.
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.

2 participants