Problem
Scaffold-only CI can mask broken generated tests and skip templates that have no
extensions yet (lessons from Create-Node-App/cna-templates#189–#193). AI/ML templates
and extensions must prove runtime trust, not only install/lint.
Solution
Extend the AI/ML CI plan (#76) with explicit trust requirements:
- Bare L1 jobs for every new AI/ML template type even when zero extensions exist yet
(e.g. mlops-sklearn-starter alone).
- L2 must run
pytest (or the template's test command) inside the generated project
after scaffold — not only uv sync / ruff.
- Env validation: generated projects must not rely on skipping env schema checks;
use .env.example / fixtures only. No network/API credentials in default CI.
- Document these bullets in
docs/AI_ML_AUTHORING.md and in each AI/ML profile under
ci/profiles/.
Parent
Part of #71. Implements trust requirements for #76. Pattern import from CNA #189–#193.
Acceptance criteria
Problem
Scaffold-only CI can mask broken generated tests and skip templates that have no
extensions yet (lessons from Create-Node-App/cna-templates#189–#193). AI/ML templates
and extensions must prove runtime trust, not only install/lint.
Solution
Extend the AI/ML CI plan (#76) with explicit trust requirements:
(e.g.
mlops-sklearn-starteralone).pytest(or the template's test command) inside the generated projectafter scaffold — not only
uv sync/ ruff.use
.env.example/ fixtures only. No network/API credentials in default CI.docs/AI_ML_AUTHORING.mdand in each AI/ML profile underci/profiles/.Parent
Part of #71. Implements trust requirements for #76. Pattern import from CNA #189–#193.
Acceptance criteria
mlops-sklearn-starterand/orfastapi-ai-chat) has abare L1 job and L2 pytest green.