Files
roadmap/content/acz/ift/2025q4-zerokit.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

4.0 KiB
Raw Blame History

title, tags, draft, description
title tags draft description
Zerokit
2025q4
acz
ift
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 Zerokits 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