Files
windmill/docs/validation.md
centdix ff180de4de refactor: slim down claude instructions for lean context and fast iteration (#8136)
* refactor: slim down claude instructions for lean context and fast iteration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: add private and license feature flags to enterprise validation docs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: add /refine skill for end-of-session doc evolution

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* refactor: remove architecture.md overview doc per research findings

General codebase overviews distract agents and trigger unnecessary
exploration. Keep only operational docs (validation, enterprise).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: add autonomous mode doc for bypass permission workflows

Covers: plan-first requirement, tmux pane usage for checking
backend/frontend logs, manual testing via Playwright MCP,
Playwright gotchas, and end-of-task summary expectations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: add mermaid, playwright, and asciinema tools to autonomous mode doc

Claude should use mmdc for diagrams during planning, playwright CLI for
screenshots of frontend changes, and asciinema for terminal recordings
of CLI changes. All attached to the PR.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: use pastebin for screenshot/recording uploads

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: address PR review findings

- Remove stale docs/architecture.md reference from /refine skill
- Fix script name: ./update-sqlx -> ./update_sqlx.sh
- Remove .claude/settings.local.json mention from enterprise doc

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 07:00:19 +00:00

2.5 KiB

Validation Check Matrix

After making changes, run the appropriate checks and fix all errors before considering work done.

Backend: What to Check

What changed Command Notes
Core code (no feature gates) cargo check
Enterprise code (*_ee.rs) cargo check --features enterprise,private Also do EE PR workflow (see docs/enterprise.md)
Enterprise + license-gated code cargo check --features enterprise,private,license When the feature requires a valid license key
Kafka trigger code cargo check --features kafka
Native trigger code cargo check --features native_trigger
Parquet code cargo check --features parquet
Multiple gated modules cargo check --features enterprise,parquet Combine only the flags you need
API route changes cargo check Then update openapi.yaml and run npm run generate-backend-client
Database migrations cargo check Test migration applies cleanly with sqlx migrate run

Never use --features all_sqlx_features — it compiles everything and is very slow. Check backend/Cargo.toml [features] to find the right flags.

Never use SQLX_OFFLINE=true — a live database is always available.

After all code changes are done, run ./update_sqlx.sh from backend/ to regenerate the offline query cache.

Frontend: What to Check

When Command Time
During iteration npm run check:fast ~2s
Final PR validation npm run check ~50s
After backend API changes npm run generate-backend-client first

Cross-Cutting Checks

Situation Extra step
Added/modified API endpoints Update backend/windmill-api/openapi.yaml, regenerate client
Modified Flow structures Also update openflow.openapi.yaml
Changed DB schema Update backend/summarized_schema.txt if needed
Enterprise file changes Companion PR in windmill-ee-private (see docs/enterprise.md)

When to Write Tests

  • New utility functions in windmill-common: always add unit tests
  • New API endpoints with complex logic: add integration test
  • Bug fixes for non-obvious bugs: add regression test
  • Pure UI changes: no tests required (rely on type checking)
  • Refactoring: ensure existing tests pass, don't add new ones

When to Check Performance

Run EXPLAIN ANALYZE on new/modified queries when touching:

  • Job queue tables (v2_job, v2_job_completed)
  • Hot-path queries (polling, scheduling)
  • Added/removed indexes