name: verification description: Use before claiming any task is complete. Requires running actual verification commands and showing evidence — no "should work" claims without proof. user-invocable: true
Verification Before Completion
No completion claims without fresh verification evidence.
Core Rule
Never say "done", "should work", "looks correct", or "this fixes it" without running the verification commands and showing the output.
Verification by Change Type
Schema Changes (openmetadata-spec/)
# 1. Regenerate models
make generate
# 2. Verify Java compilation
mvn test-compile -pl openmetadata-spec,openmetadata-service
# 3. Verify Python models
source env/bin/activate && cd ingestion
python -c "from metadata.generated.schema.entity.services.connections.<module> import <Model>; print('OK')"
# 4. If connection schema: verify UI schema resolution
cd openmetadata-ui/src/main/resources/ui && yarn parse-schema
Java Backend Changes
# 1. Format
mvn spotless:apply
# 2. Compile
mvn test-compile -pl <module>
# 3. Run relevant tests
mvn test -pl <module> -Dtest=<TestClass>
# 4. For API changes: run integration tests
mvn verify -pl openmetadata-integration-tests -Dtest=<IntegrationTestClass>
Python Ingestion Changes
source env/bin/activate && cd ingestion
# 1. Format (apply) then lint check (verify)
make py_format
make py_format_check
# 2. Type check
make static-checks
# 3. Run unit tests
python -m pytest tests/unit/<relevant_test>.py -v
# 4. For connector changes: run connector-specific tests
python -m pytest tests/unit/topology/<service_type>/ -v
Frontend Changes
cd openmetadata-ui/src/main/resources/ui
# 1. Lint
yarn lint
# 2. Type check
npx tsc --noEmit
# 3. Run unit tests
yarn test <path/to/changed/component>
# 4. For significant UI changes: run Playwright tests
yarn playwright:run --grep "<relevant test>"
Evidence Format
When reporting completion, include:
## Verification Results
### Commands Run
1. `mvn spotless:apply` — completed, no formatting changes needed
2. `mvn test -pl openmetadata-service -Dtest=MyTest` — 5/5 tests passed
3. `yarn lint` — no errors
### Test Output
[paste relevant test output showing PASS]
What Counts as Evidence
- Test runner output showing PASS
- Build output showing SUCCESS
- Lint/format output showing no errors
- API response showing expected data
- Screenshot or description of UI rendering correctly
What Does NOT Count as Evidence
- "I reviewed the code and it looks correct"
- "This follows the same pattern as X, so it should work"
- "The logic is straightforward"
- "I've made similar changes before"
- No output at all — just claiming it's done