Files
roadmap/content/sc/status-l2/2025q4-pre-audit-protocol-enhancements.md
fbarbu15 845d6b8dcd Chore/roadmap validator (#318)
## 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>
2025-10-28 15:41:11 +02:00

3.6 KiB

title, tags, draft, description
title tags draft description
Status Network L2 Pre-Audit Protocol Enhancements
2025q4
sc
status-l2
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