## Summary - Introduce a standalone Python roadmap validator with a CLI entry point, modular validation pipeline, and GitHub Actions wiring so roadmap content can be linted locally and in CI. - Provide reusable validation primitives for path resolution, front-matter parsing, identity checks, task parsing, catalog enforcement, and template adherence. - Document usage, configuration, and workflow behaviour to make the validator approachable for contributors. ## Validator Details - **Core tooling** - Added the `tools/roadmap_validator/` package with `validate.py` (CLI), `validator.py` (orchestration), and helper modules (`tasks.py`, `identity.py`, `paths.py`, `constants.py`, `issues.py`). - CLI supports directory/file targets, skips default filenames, emits GitHub annotations, and integrates optional substring filtering - README explains features, environment variables, and development guidance. - **Catalog and template enforcement** - `catalog.py` verifies each allowed content unit has `index.md` and `preview.md`, confirms roadmap entries appear under the proper quarter/area, and flags stale or missing links. - `templates.py` enforces template basics: front matter completeness, `## Description` ordering/content, template placeholder cleanup, and task section detection. - **Task validation** - `tasks.py` checks required metadata (`owner`, `status`, `start-date`, `end-date`), date formats, populated descriptions/deliverables, TODO markers, tangible deliverable heuristics, and `fully-qualified-name` prefixes. - **Workflow integration** - `.github/workflows/roadmap-validator.yml` runs the validator on pushes and manual dispatch, installs dependencies, scopes validation to changed Markdown, and surfaces findings via GitHub annotations. ## Existing Roadmap Updates - Normalised 2025q4 commitments across Web, DST, QA, SC, and other units by filling in missing descriptions, deliverables, schedule notes, recurring task statuses, and maintenance tasks. - Added tasks where absent, removed remaining template placeholders, aligned fully qualified names, and ensured roadmap files conform to the new validator checks. ## Testing ```bash python tools/roadmap_validator/validate.py *2025q4* ``` CI: `Roadmap Validator` workflow runs automatically on pushes/dispatch. --------- Co-authored-by: kaiserd <1684595+kaiserd@users.noreply.github.com>
3.6 KiB
title, tags, draft, description
| title | tags | draft | description | |||
|---|---|---|---|---|---|---|
| Status Network L2 Pre-Audit Protocol Enhancements |
|
false | Complete critical protocol features and enhancements before the security audit. |
vac:sc:status-l2:2025q4-pre-audit-protocol-enhancements
Complete critical protocol features and enhancements before the security audit.
Description
Before the audit begins in November, there are several critical protocol features that need to be completed. This includes finishing the distributed slashing mechanism that was carried over from Q3, and implementing a new reward distributor for off-chain based Karma distribution. These features are essential for the protocol's functionality and need to be in place before the audit to ensure comprehensive security coverage.
Task List
Distributed slashing implementation
- fully qualified name:
vac:sc:status-l2:2025q4-pre-audit-protocol-enhancements:distributed-slashing - owner: r4bbit
- status: not started
- start-date: 2025/10/01
- end-date: 2025/10/30
Description
Complete the distributed slashing mechanism that was started in Q3 but not finished. This feature is critical for the Karma system's security model, allowing for enforcement of protocol rules. The implementation needs to handle slashing reward sources and ensure proper accounting.
Deliverables
- Commits/PRs that implement distributed slashing functionality
- Documentation of the slashing mechanism
Off-chain criteria reward distributor
- fully qualified name:
vac:sc:status-l2:2025q4-pre-audit-protocol-enhancements:offchain-reward-distributor - owner: r4bbit
- status: not started
- start-date: 2025/10/01
- end-date: 2025/10/30
Description
Implement a new reward distributor contract that allows an authorized account to distribute 1 Karma to accounts based on off-chain criteria. This provides a flexible mechanism for rewarding users based on activities or achievements that cannot be verified on-chain. The contract should be simple, secure, and have appropriate access controls to prevent abuse.
Deliverables
- Commits/PRs that implement the off-chain reward distributor
- Documentation explaining the reward distribution mechanism
Convert ERC20Votes tests to Foundry
- fully qualified name:
vac:sc:status-l2:2025q4-pre-audit-protocol-enhancements:convert-erc20votes-tests - owner: r4bbit
- status: not started
- start-date: 2025/10/01
- end-date: 2025/10/30
Description
Convert the JavaScript ERC20Votes tests from OpenZeppelin to Foundry tests in our repository. We've introduced a custom version of ERC20Votes that is almost identical to the OpenZeppelin implementation, but we need to ensure all the original tests pass with our custom version. This provides confidence that our modifications haven't introduced any regressions.
Deliverables
- Commits/PRs that add Foundry tests for custom ERC20Votes
- All converted tests passing
- Test coverage matching or exceeding the original OpenZeppelin tests
Ensure correct license headers
- fully qualified name:
vac:sc:status-l2:2025q4-pre-audit-protocol-enhancements:license-headers - owner: r4bbit
- status: not started
- start-date: 2025/10/01
- end-date: 2025/10/30
Description
Review all contract files and ensure they have the correct license headers. This is important for legal compliance and clarity before the audit. Verify that all files have appropriate SPDX license identifiers and that the licensing is consistent across the codebase.
Deliverables
- Commits/PRs that add or correct license headers
- Documentation of the licensing structure if needed