Files
roadmap/content/qa/ift/2025q4-qa-rfc-sync-jswaku.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

5.8 KiB

title, tags, draft, description
title tags draft description
QA & RFC Synchronization for Js-Waku Project - Core Protocols
2025q4
qa
ift
false Expand and formalize the QA & RFC synchronization process for the core protocols for js-waku implementation.

vac:qa:ift:2025q4-qa-rfc-sync-jswaku

Description

Expand and formalize the QA & RFC synchronization process for js-waku implementation ensuring that core protocol implementations match specifications and have adequate test coverage.

Building on the previous quarter's efforts, this commitment focuses on systematically reviewing each Waku implementation (nim, js, go). to ensure core protocol implementations match the corresponding RFCs. Any discrepancies will be flagged for either:

  1. RFC updates (in collaboration with the RFC team), or
  2. Bug fixes and/or implementing missing parts in the respective repositories.

As part of this process, we will also assess the level of test automation and coverage for each core protocol, identifying gaps and proposing or creating additional tests as necessary.

Alignment with VAC Narratives:

  • Continues fostering collaboration between QA, RFC contributors, and engineering teams, ensuring changes in one area promptly reflect across the ecosystem.
  • Helps maintain a high standard for both internal and external contributions by detecting discrepancies early and closing testing gaps.

Task List

relay

  • fully qualified name: vac:qa:ift:2025q4-qa-rfc-sync-jswaku:relay
  • owner: fbarbu15
  • status: not started
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

  • Compare relay protocol implemented in js-waku against the Waku RFCs.
  • Document any discrepancies found, such as missing specifications or incomplete implementations, and clarify whether the RFC or the implementation requires an update.
  • Verify test automation exists for this protocol and note any coverage gaps.
  • Coordinate with developers for bug fixes and/or additional tests.

Schedule note: Dates reflect quarter bounds; update when actual timing is known.

Deliverables

  • Notion page summarizing the current implementation-to-RFC mapping, discrepancies, and action items.
  • GitHub issues for required fixes or RFC updates.
  • Recommendations for improved or additional test coverage.

filter

  • fully qualified name: vac:qa:ift:2025q4-qa-rfc-sync-jswaku:filter
  • owner: fbarbu15
  • status: not started
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

  • Compare filter protocol implemented in js-waku against the Waku RFCs.
  • Document any discrepancies found, such as missing specifications or incomplete implementations, and clarify whether the RFC or the implementation requires an update.
  • Verify test automation exists for this protocol and note any coverage gaps.
  • Coordinate with developers for bug fixes and/or additional tests.

Schedule note: Dates reflect quarter bounds; update when actual timing is known.

Deliverables

  • Notion page summarizing the current implementation-to-RFC mapping, discrepancies, and action items.
  • GitHub issues for required fixes or RFC updates.
  • Recommendations for improved or additional test coverage.

lightpush

  • fully qualified name: vac:qa:ift:2025q4-qa-rfc-sync-jswaku:lightpush
  • owner: fbarbu15
  • status: not started
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

  • Compare lightpush protocol implemented in js-waku against the Waku RFCs.
  • Document any discrepancies found, such as missing specifications or incomplete implementations, and clarify whether the RFC or the implementation requires an update.
  • Verify test automation exists for this protocol and note any coverage gaps.
  • Coordinate with developers for bug fixes and/or additional tests.

Schedule note: Dates reflect quarter bounds; update when actual timing is known.

Deliverables

  • Notion page summarizing the current implementation-to-RFC mapping, discrepancies, and action items.
  • GitHub issues for required fixes or RFC updates.
  • Recommendations for improved or additional test coverage.

store

  • fully qualified name: vac:qa:ift:2025q4-qa-rfc-sync-jswaku:store
  • owner: fbarbu15
  • status: not started
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

  • Compare store protocol implemented in js-waku against the Waku RFCs.
  • Document any discrepancies found, such as missing specifications or incomplete implementations, and clarify whether the RFC or the implementation requires an update.
  • Verify test automation exists for this protocol and note any coverage gaps.
  • Coordinate with developers for bug fixes and/or additional tests.

Schedule note: Dates reflect quarter bounds; update when actual timing is known.

Deliverables

  • Notion page summarizing the current implementation-to-RFC mapping, discrepancies, and action items.
  • GitHub issues for required fixes or RFC updates.
  • Recommendations for improved or additional test coverage.

peer exchange

  • fully qualified name: vac:qa:ift:2025q4-qa-rfc-sync-jswaku:peer-exchange
  • owner: fbarbu15
  • status: not started
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

  • Compare peer-exchange protocol implemented in js-waku against the Waku RFCs.
  • Document any discrepancies found, such as missing specifications or incomplete implementations, and clarify whether the RFC or the implementation requires an update.
  • Verify test automation exists for this protocol and note any coverage gaps.
  • Coordinate with developers for bug fixes and/or additional tests.

Schedule note: Dates reflect quarter bounds; update when actual timing is known.

Deliverables

  • Notion page summarizing the current implementation-to-RFC mapping, discrepancies, and action items.
  • GitHub issues for required fixes or RFC updates.
  • Recommendations for improved or additional test coverage.