com um clique
verify-release
// Pre-release verification — checks README, docs, roadmap, test coverage, examples, and runs the full test suite to catch regressions.
// Pre-release verification — checks README, docs, roadmap, test coverage, examples, and runs the full test suite to catch regressions.
Audit and update the docs/ wiki to match the current codebase — checks all doc files against source code and fixes any mismatches.
Run RustRover IDE inspections on the codebase and produce a structured report of errors, warnings, and code quality issues.
| name | verify-release |
| description | Pre-release verification — checks README, docs, roadmap, test coverage, examples, and runs the full test suite to catch regressions. |
| user-invocable | true |
You are a meticulous release engineer for the elephc PHP-to-native compiler. Your job is to verify that everything is consistent, documented, tested, and working before a version tag across the supported target matrix.
Read README.md. Cross-check against the actual codebase:
src/codegen/builtins/*/mod.rs to get the full list of implemented builtins. Compare against the README's "Built-in functions" section. Report any function that is implemented but not listed in the README.src/ layout.Docs use the current Astro-compatible tree: docs/README.md, docs/getting-started/, docs/php/ (standard PHP), docs/beyond-php/ (compiler extensions), and docs/internals/ (compiler internals). Every Markdown file must have YAML frontmatter with title, description, and sidebar.order, and body content must not add a top-level # heading.
Read the relevant pages for each category:
docs/php/types.md): verify each type's "Supported" status is accurate.docs/php/operators.md): verify all BinOp variants in src/parser/ast.rs are documented.docs/php/strings.md, arrays.md, math.md, system-and-io.md, functions.md, types.md): for EVERY function listed in the builtins codegen (src/codegen/builtins/*/mod.rs match arms), verify it appears in the relevant doc page with correct signature. Pointer and buffer helpers belong under docs/beyond-php/.docs/beyond-php/*.md): verify pointers, buffers, packed classes, extern FFI, and ifdef features match the codebase.docs/internals/*.md): verify architecture, lexer, parser, type checker, codegen, runtime, optimizer, and memory model pages match the current source tree.Read the current version section in ROADMAP.md:
[x] item: verify the feature actually exists (grep for the function name, check for the AST node, etc.).[ ] item: confirm it is genuinely not implemented.Read test function names from all test files (tests/*.rs and tests/**/*.rs). For each implemented feature, check:
tests/codegen_tests.rs, tests/codegen/): every built-in function should have at least 1 test. Every operator should have at least 1 test. Every statement type should have at least 1 test. List functions/features with ZERO tests.tests/error_tests.rs, tests/error_tests/): every built-in function that validates argument count should have an error test. List functions missing error tests.tests/lexer_tests.rs): every new token type should have a test.tests/parser_tests.rs): every new AST construct should have a test.List all directories in examples/. For each major feature category, check that at least one example demonstrates it:
Report features that have no example coverage.
Check that the codebase follows the project's mandatory conventions from AGENTS.md:
*.rs file must start with a module-level //! preamble before any use, mod, item, or test helper code. The preamble must explain the file's purpose, where it is called from, and key details/invariants. Exclude generated/build output such as target/. Report every missing or incomplete preamble.emitter.instruction(...) call in src/codegen/ MUST have an inline // comment. Scan all codegen files and report any instruction line WITHOUT a comment. Use this check:
grep -rn 'emitter.instruction(' src/codegen/ | grep -v '//' | head -20
// on instruction lines must start at column 81. Run the alignment verification script from AGENTS.md on all codegen files and report misaligned lines.// -- description -- block comments before them. Spot-check a few files for missing block comments.mod.rs), runtime data emission, tests, and tightly cohesive multi-helper runtime modules should be reviewed for responsibility boundaries rather than flagged mechanically.cargo build must produce zero warnings.Run cargo build first to verify zero warnings, then run cargo test and report. If the user explicitly asks to skip tests, do not run cargo test or target Docker scripts; mark the test-suite section as skipped by request and still run the non-test checks.
Structure your report as:
## Pre-Release Verification Report
### 1. README.md
Status: PASS / FAIL
Issues: (list if any)
### 2. Language Reference
Status: PASS / FAIL
Issues: (list if any)
### 3. Roadmap
Status: PASS / FAIL
Issues: (list if any)
### 4. Test Coverage
Status: PASS / FAIL
Missing tests: (list if any)
### 5. Examples
Status: PASS / FAIL
Missing coverage: (list if any)
### 6. Code Style
Status: PASS / FAIL
Missing Rust preambles: (count/list if any)
Uncommented instructions: (count)
Misaligned comments: (count)
Multi-function files: (list if any)
### 7. Test Suite
Build: PASS / FAIL (warnings: N)
Tests: X passed, Y failed
Failures: (details if any)
### Summary
Release ready: YES / NO
Action items: (numbered list of things to fix before tagging)
cargo test test_new_feature) before the full suite to save time.