Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions content/dst/ift/2026q4-dst-tooling.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,7 @@ Should be made general when possible.
- Code:
- [iftech/roadmap#530](https://github.com/iftech/roadmap/pull/530) chore(DST): q4 commitments
- [iftech/10ksim#391](https://github.com/iftech/10ksim/pull/391) Scrape metrics and draw the standard plots in post-run analysis
- [iftech/10ksim#421](https://github.com/iftech/10ksim/pull/421) Look up the publisher once per run, not per message
- [iftech/10ksim#442](https://github.com/iftech/10ksim/pull/442) Fix cleanup wait and CronJob cleanup
- Reports:
- Other:
9 changes: 6 additions & 3 deletions content/dst/ift/2026q4-libp2p-evaluation.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ work and improvements, and it is subjected to change.

* fully qualified name: `ift-ts:dst:ift:2026q4-libp2p-evaluation:regression-testing`
* owner: Alan
* status: in progress (10%)
* status: in progress (25%)
* start-date: 2026/10/01
* end-date: 2026/12/31

Expand All @@ -48,8 +48,11 @@ and ensure they don't happen again.

- Code:
- [iftech/10ksim#418](https://github.com/iftech/10ksim/pull/418) Connection cap and bootstrap image options for the nim-libp2p nodes
- [iftech/10ksim#419](https://github.com/iftech/10ksim/pull/419) Partition analysis: phases from each message's publish record
- Reports:
- Tested Kademlia liveness-loop and bucket-rotation changes and updated the [nim-libp2p v2.4.0 regression report](https://app.notion.com/p/3dd8f96fb65c81c194b8ce51ea753a52).
- Other:
- Confirmed with a controlled rerun that the lower publish rate explains the v2.3.0 bandwidth gap; ran four v2.4.0 repeats to measure variation.


### Interop at scale
Expand All @@ -75,8 +78,8 @@ different implementations.
### Automatic reporting

* fully qualified name: `ift-ts:dst:ift:2026q4-libp2p-evaluation:automatic-reporting`
* owner: TBD
* status: not started
* owner: Alan
* status: in progress (20%)
* start-date: 2026/10/01
* end-date: 2026/12/31

Expand Down
3 changes: 2 additions & 1 deletion content/dst/logos/2026q4-messaging-evaluation.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Do this monthly, reliably, with documentation of findings.

* fully qualified name: `ift-ts:dst:logos:2026q4-messaging-evaluation:regression-testing`
* owner: Alan
* status: in progress (10%)
* status: in progress (25%)
* start-date: 2026/10/01
* end-date: 2026/12/31

Expand All @@ -47,6 +47,7 @@ and ensure they don't happen again.
- [iftech/10ksim#411](https://github.com/iftech/10ksim/pull/411) Delivery latency per path and resources per node type for logos delivery runs
- Reports:
- Completed a full relay, lightpush, filter, and store run for [Logos Messaging PR 4347](https://app.notion.com/p/3ea8f96fb65c812a9ae2dc71ef28860e).
- Repeated the PR 4347 full delivery test three times at the configured publish rate to validate the [full delivery report](https://app.notion.com/p/3ea8f96fb65c812a9ae2dc71ef28860e).


### load metric
Expand Down
2 changes: 1 addition & 1 deletion content/dst/status/2026q4-status-evaluation.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ TBD

* fully qualified name: `ift-ts:dst:status:2026q4-status-evaluation:reliability`
* owner: Alberto
* status: in progress (25%)
* status: in progress (75%)
* start-date: 2026/10/01
* end-date: 2026/12/31

Expand Down
4 changes: 4 additions & 0 deletions content/nim/ift/2026q4-nim-core-libs.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,10 @@ Use the nim-web3 approach as the model for the LSP implementation:
- [status-im/nim-json-rpc#296](https://github.com/status-im/nim-json-rpc/pull/296) Stdio transport
- [nim-lang/langserver#454](https://github.com/nim-lang/langserver/pull/454) Docs: Explain multi-entry-point project mapping
- [nim-lang/langserver#479](https://github.com/nim-lang/langserver/pull/479) Add nimsuggestMaxMemory config value to complement nimsuggest's new `--maxMemory` option.
- [nim-lang/langserver#488](https://github.com/nim-lang/langserver/pull/488) Bump to v1.16.0
- [nim-lang/langserver#473](https://github.com/nim-lang/langserver/pull/473) Transport v2
- [nim-lang/langserver#486](https://github.com/nim-lang/langserver/pull/486) Cancel nimsuggestInit on shutdown
- [nim-lang/Nim#26438](https://github.com/nim-lang/Nim/pull/26438) nimsuggest: add `outline2`, a parse-only outline

### Nimlangserver and nimsuggest support for IFT projects

Expand Down
3 changes: 3 additions & 0 deletions content/nim/ift/2026q4-nimble.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ Add regression coverage for fixes and update usage documentation when behavior c
- [nim-lang/nimble#1879](https://github.com/nim-lang/nimble/pull/1879) Warn when updating nimble from a nimble in a different path
- [nim-lang/nimble#1878](https://github.com/nim-lang/nimble/pull/1878) Resolve the version of a named package instead of reusing its cached…
- [nim-lang/nimble#1880](https://github.com/nim-lang/nimble/pull/1880) Docs: Add a note about when to use lock files.
- [nim-lang/nimble#1884](https://github.com/nim-lang/nimble/pull/1884) Refactor: Split dependency resolution into nimblesolver, nimblesat and nimblepubgrub
- [nim-lang/nimble#1883](https://github.com/nim-lang/nimble/pull/1883) Parse each version once in PubGrub instead of on every comparison
- [nim-lang/nimble#1882](https://github.com/nim-lang/nimble/pull/1882) Add --solver:pubgrub

### CI integration review

Expand Down
3 changes: 3 additions & 0 deletions content/p2p/ift/2026q3-nimlibp2p-result-error-handling.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,6 @@ Prefer to keep the public API unchanged if possible.
- [iftech/nim-libp2p#3157](https://github.com/iftech/nim-libp2p/pull/3157) chore(result): relay client and transport
- [iftech/nim-libp2p#3187](https://github.com/iftech/nim-libp2p/pull/3187) chore(result): add LPResultError type
- [iftech/nim-libp2p#3188](https://github.com/iftech/nim-libp2p/pull/3188) chore(result): use LPResult alias in protocols
- [iftech/nim-libp2p#3197](https://github.com/iftech/nim-libp2p/pull/3197) chore(result): use LPResultError in LPResult
- [iftech/nim-libp2p#3219](https://github.com/iftech/nim-libp2p/pull/3219) chore(result): one path from each err to R.err
- [iftech/nim-libp2p#3195](https://github.com/iftech/nim-libp2p/pull/3195) chore(result): purge mapErr
20 changes: 16 additions & 4 deletions content/p2p/ift/2026q4-anoncomms-consulting.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ TBD
### Consulting

* fully qualified name: `ift-ts:p2p:ift:2026q4-anoncomms-consulting:consulting`
* owner: not assigned yet
* status: not started
* owner: Richard
* status: in progress (8%)
* start-date: 2026/10/01
* end-date: 2026/12/31

Expand All @@ -31,5 +31,17 @@ TBD
TBD

#### Deliverables

TBD
- [logos-messaging/logos-delivery#4479](https://github.com/logos-messaging/logos-delivery/pull/4479) chore(deps): bump mix RLN spam protection plugin
- [logos-co/nim-libp2p-mix#63](https://github.com/logos-co/nim-libp2p-mix/pull/63) refactor: use Result helpers for guarded control flow
- [logos-co/logos-libp2p-mix-rln#17](https://github.com/logos-co/logos-libp2p-mix-rln/pull/17) fix(rln): align shared backend time budgets
- [logos-co/mix-rln-spam-protection-plugin#29](https://github.com/logos-co/mix-rln-spam-protection-plugin/pull/29) fix(transport): allow proof generation time budget
- [logos-messaging/logos-delivery#4464](https://github.com/logos-messaging/logos-delivery/pull/4464) chore(deps): bump Mix-RLN spam protection plugin
- [logos-co/mix-rln-spam-protection-plugin#27](https://github.com/logos-co/mix-rln-spam-protection-plugin/pull/27) chore(deps): use upstream libp2p mix
- [logos-messaging/logos-delivery#4282](https://github.com/logos-messaging/logos-delivery/pull/4282) feat(mix): use shared RLN proofs for native Delivery routing
- [logos-co/mix-rln-spam-protection-plugin#22](https://github.com/logos-co/mix-rln-spam-protection-plugin/pull/22) feat(rln): add a shared backend adapter for Mix
- [logos-co/nim-libp2p-mix#58](https://github.com/logos-co/nim-libp2p-mix/pull/58) feat(mix): expose standalone host APIs and harden cover scheduling
- [logos-co/nim-libp2p-mix-ffi#9](https://github.com/logos-co/nim-libp2p-mix-ffi/pull/9) ci: add multi-platform build and test workflow
- [logos-co/logos-libp2p-mix-rln#15](https://github.com/logos-co/logos-libp2p-mix-rln/pull/15) refactor(mix): simplify FFI waits and reject invalid configuration
- [logos-co/logos-delivery-module#148](https://github.com/logos-co/logos-delivery-module/pull/148) feat(mix): reapply routing with shared RLN backend
- [logos-co/logos-libp2p-mix-rln#16](https://github.com/logos-co/logos-libp2p-mix-rln/pull/16) ci: test supported Linux, WSL, and macOS platforms
- [logos-co/nim-libp2p-mix-ffi#8](https://github.com/logos-co/nim-libp2p-mix-ffi/pull/8) refactor(ffi): remove obsolete routing test and consolidate cleanup
2 changes: 1 addition & 1 deletion content/p2p/ift/2026q4-logos-core-consulting.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ TBD

* fully qualified name: `ift-ts:p2p:ift:2026q4-logos-core-consulting:consulting`
* owner: Gabe
* status: in progress (4%)
* status: in progress (12%)
* start-date: 2026/10/01
* end-date: 2026/12/31

Expand Down
3 changes: 2 additions & 1 deletion content/p2p/ift/2026q4-logos-delivery-consulting.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ as requirements and priorities become clearer during Q4.

* fully qualified name: `ift-ts:p2p:ift:2026q4-logos-delivery-consulting:consulting`
* owner: Gabe
* status: in progress (4%)
* status: in progress (12%)
* start-date: 2026/10/01
* end-date: 2026/12/31

Expand All @@ -46,3 +46,4 @@ as it is agreed.
#### Deliverables
- [logos-messaging/nim-ffi#209](https://github.com/logos-messaging/nim-ffi/pull/209) chore(ffi): zero the request envelope with c_calloc
- [logos-messaging/nim-ffi#205](https://github.com/logos-messaging/nim-ffi/pull/205) chore(ci): one source for the sanitizer runtime options
- [logos-messaging/nim-ffi#226](https://github.com/logos-messaging/nim-ffi/pull/226) fix(ffi): set up the caller thread's GC before a request is rejected
13 changes: 6 additions & 7 deletions content/p2p/ift/2026q4-nimlibp2p-early-muxer-negotiation.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ separate multistream-select exchange that follows the security handshake.
### Handshake Negotiation And Upgrade

* fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-early-muxer-negotiation:implementation`
* owner: not assigned yet
* status: not started
* owner: Richard
* status: done
* start-date: 2026/10/01
* end-date: 2026/12/31
* end-date: 2026/10/13

#### Description

Expand All @@ -36,10 +36,9 @@ the muxed upgrader. Preserve the separate negotiation path when peers do not
support early negotiation or no early selection is available.

#### Deliverables

- Noise payload extension and upgrader integration
- Fallback behavior for existing peers
- Tests for compatible peers and negotiation fallback
- [iftech/nim-libp2p#3216](https://github.com/iftech/nim-libp2p/pull/3216) feat(noise): negotiate muxers during handshake
- [iftech/nim-libp2p#3225](https://github.com/iftech/nim-libp2p/pull/3225) feat(dialer): select known protocols optimistically
- [iftech/nim-libp2p#3217](https://github.com/iftech/nim-libp2p/pull/3217) feat(multistream): add optimistic protocol selection


### Connection Setup Validation
Expand Down
4 changes: 2 additions & 2 deletions content/p2p/ift/2026q4-nimlibp2p-gossipsub-byte-queues.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ queued GossipSub data when message sizes vary.
### Byte Accounting And Limits

* fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-byte-queues:byte-limits`
* owner: not assigned yet
* status: not started
* owner: Richard
* status: in progress (70%)
* start-date: 2026/10/01
* end-date: 2026/12/31

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ to assess Internet conditions, memory leaks, or isolated mesh islands.
### Requirements And Regression Coverage

* fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-duplicate-suppression:regression-coverage`
* owner: not assigned yet
* status: not started
* owner: Gabe
* status: in progress (10%)
* start-date: 2026/10/01
* end-date: 2026/12/31

Expand Down
4 changes: 2 additions & 2 deletions content/p2p/ift/2026q4-nimlibp2p-gossipsub-validation.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ separate from local overload.
### Validation Budgets And Admission

* fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-validation:budgets`
* owner: not assigned yet
* status: not started
* owner: Gabe
* status: in progress (10%)
* start-date: 2026/10/01
* end-date: 2026/12/31

Expand Down
33 changes: 32 additions & 1 deletion content/p2p/ift/2026q4-nimlibp2p-maintenance.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ ensuring that nim-libp2p remains functional and usable for its primary users —

* fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-maintenance:maintenance`
* owner: Richard/Vlado/Gabe
* status: in progress (4%)
* status: in progress (12%)
* start-date: 2026/10/01
* end-date: 2026/12/31

Expand Down Expand Up @@ -66,4 +66,35 @@ as issues arise during the quarter.
- [iftech/nim-libp2p#3180](https://github.com/iftech/nim-libp2p/pull/3180) fix(kad): let probed peers rotate full buckets
- [logos-co/logos-libp2p-module#111](https://github.com/logos-co/logos-libp2p-module/pull/111) chore: shrink flake.lock from 450k to 17k lines
- [iftech/roadmap#536](https://github.com/iftech/roadmap/pull/536) feat(p2p): nimbus downstream CI commitment for 2026q4
- [status-im/nimbus-eth2#9240](https://github.com/status-im/nimbus-eth2/pull/9240) chore: bump nim-lsquic
- [iftech/nim-libp2p#3229](https://github.com/iftech/nim-libp2p/pull/3229) fix(mplex): await reset writes during channel cleanup
- [iftech/nim-lsquic#178](https://github.com/iftech/nim-lsquic/pull/178) chore(lsquic): update vendored dependency
- [iftech/nim-lsquic#179](https://github.com/iftech/nim-lsquic/pull/179) test(lsquic): cover client address migration
- [logos-co/logos-libp2p-module#120](https://github.com/logos-co/logos-libp2p-module/pull/120) fix: bump nim-libp2p for duplicate DNS responses
- [iftech/nim-libp2p#3224](https://github.com/iftech/nim-libp2p/pull/3224) fix(nameresolving): tolerate duplicate DNS responses
- [status-im/nimbus-eth2#9204](https://github.com/status-im/nimbus-eth2/pull/9204) chore: bump nim-lsquic
- [iftech/nim-boringssl#20](https://github.com/iftech/nim-boringssl/pull/20) ci: check generated BoringSSL bindings before merging
- [iftech/nim-libp2p#3223](https://github.com/iftech/nim-libp2p/pull/3223) test: reduce timeouts
- [iftech/nim-libp2p#3222](https://github.com/iftech/nim-libp2p/pull/3222) chore(autotls): propagate cert load error
- [iftech/nim-libp2p#3214](https://github.com/iftech/nim-libp2p/pull/3214) test: hardening assertion
- [iftech/nim-libp2p#3209](https://github.com/iftech/nim-libp2p/pull/3209) test: add suite timeout
- [iftech/nim-libp2p#3241](https://github.com/iftech/nim-libp2p/pull/3241) test(dialer): improve cancellation test
- [iftech/nim-libp2p#3239](https://github.com/iftech/nim-libp2p/pull/3239) chore(builders): return error result insted of Defect
- [iftech/nim-libp2p#3232](https://github.com/iftech/nim-libp2p/pull/3232) feat(autotls): certificate renewal propagation
- [iftech/nim-libp2p#3234](https://github.com/iftech/nim-libp2p/pull/3234) fix(autotls): using PEM leaf certificate’s X.509 notAfter for expiry time
- [iftech/nim-libp2p#3249](https://github.com/iftech/nim-libp2p/pull/3249) fix(kad): close inbound RPC streams on shutdown
- [iftech/nim-libp2p#3244](https://github.com/iftech/nim-libp2p/pull/3244) ci: bump workflow timeout
- [iftech/nim-libp2p#3240](https://github.com/iftech/nim-libp2p/pull/3240) fix: mapper-removal races in PeerInfo and AddressManager
- [iftech/nim-libp2p#3242](https://github.com/iftech/nim-libp2p/pull/3242) chore(Switch): adds convenience overloads
- [iftech/lsquic#3](https://github.com/iftech/lsquic/pull/3) fix(conn): send keepalive PINGs when no stream is open - #2
- [iftech/nim-lsquic#181](https://github.com/iftech/nim-lsquic/pull/181) fix: keep QUIC connections without streams alive
- [iftech/nim-libp2p#3245](https://github.com/iftech/nim-libp2p/pull/3245) fix(upgrade): export chronicles from muxedupgrade
- [iftech/nim-libp2p#3212](https://github.com/iftech/nim-libp2p/pull/3212) chore(dial): benchmark dial time against stalled addresses
- [iftech/nim-libp2p#3228](https://github.com/iftech/nim-libp2p/pull/3228) test(transports): cancel tests for upgrade, memory and tor
- [iftech/nim-libp2p#3230](https://github.com/iftech/nim-libp2p/pull/3230) test(crypto): malformed DER for minasn1, ecnist and rsa
- [iftech/nim-libp2p#3227](https://github.com/iftech/nim-libp2p/pull/3227) test(multiformat): cover decode error paths
- [iftech/nim-libp2p#3226](https://github.com/iftech/nim-libp2p/pull/3226) test: malformed protobuf and key protobuf decoding
- [iftech/nim-libp2p#3211](https://github.com/iftech/nim-libp2p/pull/3211) chore(metrics): dial race and backoff metrics
- [iftech/nim-libp2p#3210](https://github.com/iftech/nim-libp2p/pull/3210) chore(rsa): delete uncompilable hex-string `init`
- [iftech/nim-libp2p#3201](https://github.com/iftech/nim-libp2p/pull/3201) feat(service-disco): advertise caller-supplied XPRs, not the node's own record

10 changes: 5 additions & 5 deletions content/qa/ift/2026q4-nim-libp2p-testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ Cover address and transport preference, concurrent dial cancellation, failed-add
### Maintenance

* fully qualified name: `ift-ts:qa:ift:2026q4-nim-libp2p-testing:maintenance`
* owner: radek
* status: not started
* owner: Radek
* status: in progress (25%)
* start-date: 2026/10/01
* end-date: 2026/12/31

Expand All @@ -49,6 +49,6 @@ Provide ongoing QA maintenance for nim-libp2p, including regression fixes, flaky
Handle issue-driven validation that does not require a separate feature-specific task.

#### Deliverables

- PRs maintaining tests and resolving failures or flaky scenarios.
- Regression findings and verification results linked to tracked issues.
- [iftech/nim-libp2p#3237](https://github.com/iftech/nim-libp2p/issues/3237) gossipsub: no IHAVE for a subscribed topic once PRUNE empties its mesh
- [iftech/nim-libp2p#3236](https://github.com/iftech/nim-libp2p/issues/3236) gossipsub: a peer that restarts within pruneBackoff is penalised for its GRAFT and kept out of the mesh
- [iftech/nim-libp2p#3238](https://github.com/iftech/nim-libp2p/pull/3238) test: bug reproductions for #3236 and #3237
6 changes: 2 additions & 4 deletions content/qa/logos/2026q4-lez-sequencing.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ At Q4 planning, 63 of the 128 planned tests remain to be written.

* fully qualified name: `ift-ts:qa:logos:2026q4-lez-sequencing:cucumber-tests`
* owner: Roman
* status: not started
* status: in progress (21%)
* start-date: 2026/10/01
* end-date: 2026/12/31

Expand All @@ -31,6 +31,4 @@ Implement the remaining 63 tests from the 128-test LEZ sequencing plan.
Continue coverage of sequencer registration and related sequencing behavior, adapting scenarios to implementation changes and recording defects or missing prerequisites.

#### Deliverables

- PRs implementing the remaining 63 planned Cucumber tests.
- Updated coverage tracking and issues for sequencing defects or blocked scenarios.
- [logos-blockchain/logos-execution-zone#787](https://github.com/logos-blockchain/logos-execution-zone/pull/787) test: Cucumber sequencer registration scenarios
10 changes: 6 additions & 4 deletions content/qa/logos/2026q4-logos-basecamp.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Validate release artifacts and maintain the existing smoke, UI, sandbox, and doc

* fully qualified name: `ift-ts:qa:logos:2026q4-logos-basecamp:mcp-tests`
* owner: Roman
* status: in progress (36%)
* status: in progress (37%)
* start-date: 2026/10/01
* end-date: 2026/12/31

Expand All @@ -32,9 +32,11 @@ Implement the remaining 61 tests from the 78-test Basecamp MCP plan.
Keep new scenarios compatible with the existing test framework and track any scope changes or blockers as Basecamp evolves.

#### Deliverables

- PRs implementing the remaining 61 planned MCP tests.
- Updated coverage tracking and issues for defects or blocked scenarios found during implementation.
- [logos-co/logos-basecamp#477](https://github.com/logos-co/logos-basecamp/pull/477) Test/MCP UI apps inspector unload/reload of a non-visible UI plugin
- [logos-co/logos-basecamp#484](https://github.com/logos-co/logos-basecamp/pull/484) Test/MCP UI apps inspector unload/reload of package_manager_ui restores the Package Manager view
- [logos-co/logos-basecamp#485](https://github.com/logos-co/logos-basecamp/pull/485) Test/MCP UI module inspector search filters the table
- [logos-co/logos-basecamp#486](https://github.com/logos-co/logos-basecamp/pull/486) Test/MCP UI seed a loadable core-module fixture into the integration-test instance
- [logos-co/logos-basecamp#487](https://github.com/logos-co/logos-basecamp/pull/487) Test/MCP UI module inspector unloading a leaf module and reloading it

### Release validation

Expand Down
Loading
Loading