Files
roadmap/content/p2p/ift/2025q4-nimlibp2p-webtransport.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

title, tags, draft, description
title tags draft description
nim-libp2p Webtransport
2025q4
p2p
ift
false Add webtransport support to nim-libp2p

vac:p2p:ift:2025q4-nimlibp2p-webtransport

Add webtransport support to nim-libp2p

Description

Extend the number of transports supported by nim-libp2p via the developent of Webtransport, which would allow browsers to establish bidirectional stream connections to nim-libp2p servers This deliverable continues the work started in 2025q2

Task List

Wrapping nghttp3

  • fully qualified name: vac:p2p:ift:2025q4-nimlibp2p-webtransport:nghttp3-wrapping
  • owner: vlado
  • status: not started
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

Create wrapper around the nghttp3 C library for Nim.

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

Deliverables

HTTP/3 Client

  • fully qualified name: vac:p2p:ift:2025q4-nimlibp2p-webtransport:http3-client
  • owner: vlado
  • status: not started
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

Implement HTTP/3 Client following draft-ietf-webtrans-http3-02 specification. This should be done as part of the nim-quic module.

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

Deliverables

  • PRs/Issues/Docs/Reports

HTTP/3 Server

  • fully qualified name: vac:p2p:ift:2025q4-nimlibp2p-webtransport:http3-server
  • owner: vlado
  • status: not started
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

Implement HTTP/3 Server following draft-ietf-webtrans-http3-02 specification. This should be done as part of the nim-quic module.

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

Deliverables

  • PRs/Issues/Docs/Reports

HTTP/3 Maintenance

  • fully qualified name: vac:p2p:ift:2025q4-nimlibp2p-webtransport:http3-maintenance
  • owner: vlado
  • status: not started
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

Final improvements, code polishing and interoperability testing after Client and Server are merged.

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

Deliverables

  • PRs/Issues/Docs/Reports

Certificate generation

  • fully qualified name: vac:p2p:ift:2025q4-nimlibp2p-webtransport:certificate
  • owner: vlado
  • status: not started
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

Certificate generation according to libp2p webtransport specification

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

Deliverables

  • PRs/Issues/Docs/Reports

Key components implementation

  • fully qualified name: vac:p2p:ift:2025q4-nimlibp2p-webtransport:key-components
  • owner: vlado
  • status: not started
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

Implement webtransport key components: Client, Server, Session

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

Deliverables

  • PRs/Issues/Docs/Reports

Noise handshake and certificate validation

  • fully qualified name: vac:p2p:ift:2025q4-nimlibp2p-webtransport:handshake-and-cert-validation
  • owner: vlado
  • status: not started
  • start-date: 2025/10/01
  • end-date: 2025/12/31

Description

1.3. Noise handshake and certificate validtion according to libp2p webtransport specification

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

Deliverables

  • PRs/Issues/Docs/Reports