Description
We want a mechanical gate: count env.events().publish( sites across the three crates and require EVENT_SCHEMA.md to mention each topic. Fails the CI build if a new emit is added without a doc entry.
Requirements and Context
- New
scripts/check_event_schema_coverage.sh
- Wire into
.github/workflows/*.yml
- Must be secure, tested, and documented
- Should be efficient and easy to review
Suggested Execution
- Fork the repo and create a branch
git checkout -b ci/event-schema-coverage-gate
- Implement changes
scripts/check_event_schema_coverage.sh
- Workflow update
- Test and commit
- Run script locally and confirm pass; intentionally add a fake
publish to confirm fail
- Include test output and notes in the PR
Example commit message
ci: gate event schema coverage against publish-site count
Acceptance Criteria
Guidelines
.rs only under contracts/.../src/ if any; NatSpec-style /// doc comments
- Use real Soroban SDK idioms
- Clear documentation and inline comments
- Timeframe: 96 hours
Description
We want a mechanical gate: count
env.events().publish(sites across the three crates and requireEVENT_SCHEMA.mdto mention each topic. Fails the CI build if a new emit is added without a doc entry.Requirements and Context
scripts/check_event_schema_coverage.sh.github/workflows/*.ymlSuggested Execution
scripts/check_event_schema_coverage.shpublishto confirm failExample commit message
Acceptance Criteria
EVENT_SCHEMA.md#[cfg(test)]blocks correctly (excluded)Guidelines
.rsonly undercontracts/.../src/if any; NatSpec-style///doc comments