## 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>
4.0 KiB
title, tags, draft, description
| title | tags | draft | description | |||
|---|---|---|---|---|---|---|
| Zerokit |
|
false | Maintaining and improving Zerokit, including the release of version v1.0.0, which supports BE and improved FFI, lastly researching new ZK proof techniques |
vac:acz:ift:2025q4-zerokit
Description
This commitment entails developing and maintaining Zerokit including Zerokit v1 release by advancing the next version, such as big-endian support, research on faster proving methods, lastly improved FFI feature and new ZK proofs research.
Background
Zerokit is a collection of Zero Knowledge modules that focus on RLN, developed in Rust, is intended for integration with various system programming environments.
In 2025q3, we released Zerokit v0.9.0, which supports improved CI, optimized, partially BE support and research on FFI improvements.
Narratives
By utilizing the zerokit commitment, we will reinforce the Conduit of Expertise narrative by:
- Delivers an optimized version for IFT projects utilizing Zerokit, including nwakuand js-rln and Status L2.
We will also strengthen the Premier Research Destination narrative by:
- Offers a Rust crate that serves as a more efficient open-source development tool for users looking to integrate RLN into their projects.
- Verifying the existing ZK framework by integrating zerokit.
Task List
Zerokit maintaining
- fully qualified name:
vac:acz:ift:2025q4-zerokit:zerokit-maintaining - owner: Ekaterina
- status: in progress (%0)
- start-date: 2025/10/01
- end-date: 2025/12/30
Description
This task encompasses all maintenance updates for Zerokit, including CI updates and the creation of future issues.
Deliverables
A set of PRs and issues to vacp2p/zerokit.
FFI re-work
- fully qualified name:
vac:acz:ift:2025q4-zerokit:ffi-rework - owner: Vinh
- status: in progress (60%)
- start-date: 2025/10/01
- end-date: 2025/11/01
Description
The due date of this task is expanded to 11/01 due to the bugs and test requirements.
This task entails reworking Zerokit’s FFI (Foreign Function Interface) to support passing data in Big Endian format, and to transition from a manual byte-based serialization approach to a safer and more maintainable opaque-struct model. Currently, FFI functions require developers to manually allocate buffers, serialize arguments, and handle deserialization within Rust, which introduces overhead, performance loss, fragile data handling and complex documentation requirements. Additionally, maintaining separate implementations for different endianness formats and managing numerous byte-to-struct conversions adds unnecessary complexity.
The proposed solution is to adopt an opaque struct pattern managed by Rust, allowing C code to manipulate only pointers through a defined API, leveraging the safer_ffi crate to automatically generate C headers, ensure memory safety, and remove unsafe code, as in planned in this zerokit/discussion.
This change aims to simplify the FFI layer, improve performance, reduce maintenance effort, and make the system more resilient to data format changes while easing integration with languages like C and Nim.
This task is complete when a proof of concept demonstrating RLN proof generation and verification through the new FFI model is implemented and validated for memory safety and Big Endian compatibility.
Deliverables
A set of PRs and issues to vacp2p/zerokit.
Release v1
- fully qualified name:
vac:acz:ift:2025q4-zerokit:release - owner: Ekaterina
- status: not started
- start-date: 2025/12/15
- end-date: 2025/12/30
Description
The new version of the Zerokit v1.0.0.
Deliverables
A set of PRs to vacp2p/zerokit repository with tag v1.0.0