diff --git a/content/bi/keycard/2026q4-keycard-continuous-monitoring.md b/content/bi/keycard/2026q4-keycard-continuous-monitoring.md index 84ba4977a1..e2c3f4aea7 100644 --- a/content/bi/keycard/2026q4-keycard-continuous-monitoring.md +++ b/content/bi/keycard/2026q4-keycard-continuous-monitoring.md @@ -20,7 +20,7 @@ Improve the existing dashboard to monitore Keycard key indicators * fully qualified name: `ift-ts:bi:keycard:2026q4-keycard-continuous-monitoring` * owner: claire -* status: in progress (10%) +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 * issue: - @@ -30,5 +30,4 @@ Improve the existing dashboard to monitore Keycard key indicators Improve the existint dashboard to monitore keycard key indicators based on the request from the keycard team. #### Deliverables - -New charts and updates charts. +* Extracted and analysed OpenAI ads data for Keycard. diff --git a/content/bi/status/2026q4-status-engagement-bot-upgrade.md b/content/bi/status/2026q4-status-engagement-bot-upgrade.md index 64e166c82b..e40f73952c 100644 --- a/content/bi/status/2026q4-status-engagement-bot-upgrade.md +++ b/content/bi/status/2026q4-status-engagement-bot-upgrade.md @@ -20,7 +20,7 @@ Upgrade Status Engagmement Bot with various Language support * fully qualified name: `ift-ts:bi:status:2026q4-status-engagement-bot-upgrade` * owner: alexis -* status: in progress (10%) +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 * issue: - @@ -30,5 +30,4 @@ Upgrade Status Engagmement Bot with various Language support Provides messages in various languages to help user engagement #### Deliverables - -New release of Status Bot with Engagmement Bot supporting multiple language +* Upgraded the Status engagement bot SDK version and improved its structure. diff --git a/content/dst/ift/2026q4-libp2p-evaluation.md b/content/dst/ift/2026q4-libp2p-evaluation.md index 91e3f9254e..be4e8426fc 100644 --- a/content/dst/ift/2026q4-libp2p-evaluation.md +++ b/content/dst/ift/2026q4-libp2p-evaluation.md @@ -79,7 +79,7 @@ different implementations. * fully qualified name: `ift-ts:dst:ift:2026q4-libp2p-evaluation:automatic-reporting` * owner: Alan -* status: in progress (60%) +* status: in progress (80%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -93,4 +93,6 @@ libp2p team, either by commit, each X amount of time or triggered manually. - [iftech/10ksim#443](https://github.com/iftech/10ksim/pull/443) Run nodes from any image, triggered manually from GitHub - [iftech/10ksim#445](https://github.com/iftech/10ksim/pull/445) run-nodes: self-terminating groups, node failures as results - [iftech/10ksim#446](https://github.com/iftech/10ksim/pull/446) run-nodes: allow count 0 to skip a group + - [iftech/10ksim#447](https://github.com/iftech/10ksim/pull/447) run-nodes: name log files after nodes and reword the summary + - [iftech/10ksim#448](https://github.com/iftech/10ksim/pull/448) run-nodes: optional tag that replaces every group's image tag - Reports: diff --git a/content/dst/logos/2026q4-messaging-evaluation.md b/content/dst/logos/2026q4-messaging-evaluation.md index 57925edfd1..2ff0bae061 100644 --- a/content/dst/logos/2026q4-messaging-evaluation.md +++ b/content/dst/logos/2026q4-messaging-evaluation.md @@ -53,7 +53,7 @@ and ensure they don't happen again. ### Messaging API — General Availability * fully qualified name: `ift-ts:dst:logos:2026q4-messaging-evaluation:messaging-api` * owner: Alan -* status: not started +* status: in progress (50%) * start-date: 2026/10/19 * end-date: 2026/10/30 @@ -65,7 +65,13 @@ regression reports. #### Deliverables - Code: + - [iftech/10ksim#449](https://github.com/iftech/10ksim/pull/449) logos-messaging: experiment for the logos delivery Messaging API + - [iftech/10ksim#450](https://github.com/iftech/10ksim/pull/450) logos-messaging: post-run analysis + - [iftech/pod-api-requester#12](https://github.com/iftech/pod-api-requester/pull/12) Messaging send route for the logos delivery Messaging API + - [iftech/pod-api-requester#11](https://github.com/iftech/pod-api-requester/pull/11) Send no body on GET when params are empty - Reports: +- Other: + - Ran Messaging API baseline experiments with 100 and 1,000 nodes. diff --git a/content/dst/logos/2026q4-storage-evaluation.md b/content/dst/logos/2026q4-storage-evaluation.md index f7910b8dd6..a17253ef38 100644 --- a/content/dst/logos/2026q4-storage-evaluation.md +++ b/content/dst/logos/2026q4-storage-evaluation.md @@ -51,8 +51,8 @@ filesharing client implementation under heavy/big workloads. ### Filesharing client + mix > *Note*: This needs more input from project * fully qualified name: `ift-ts:dst:logos:2026q4-storage-evaluation:filesharing-client-mix` -* owner: TBD -* status: not started +* owner: Alberto +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -64,3 +64,5 @@ filesharing client implementation under heavy/big workloads using mix protocol. #### Deliverables - Reports: - Related PRs if apply: + - [Storage and Mix experiment](https://github.com/iftech/10ksim/tree/Alberto/storage). + - Refactored [pod-api-requester](https://github.com/iftech/pod-api-requester) to provide utilities for the Storage scenario. diff --git a/content/dst/status/2026q4-status-evaluation.md b/content/dst/status/2026q4-status-evaluation.md index 1b2a86adcb..37f3cfe066 100644 --- a/content/dst/status/2026q4-status-evaluation.md +++ b/content/dst/status/2026q4-status-evaluation.md @@ -38,6 +38,7 @@ Compare results with old status-go. - Rebuilt Status develop commit `6fbaa6af0ee90100c93380f3b04fdd57433cd273` as a Docker image. - Adapted and redeployed Status benchmark utilities in the lab. - [iftech/status-benchmarks#45](https://github.com/iftech/status-benchmarks/pull/45) Updates + - [iftech/status-benchmarks#47](https://github.com/iftech/status-benchmarks/pull/47) Add plots - Documents: ### Logos delivery integration diff --git a/content/nim/ift/2026q4-nim-core-libs.md b/content/nim/ift/2026q4-nim-core-libs.md index 76126d1f07..cce626aaff 100644 --- a/content/nim/ift/2026q4-nim-core-libs.md +++ b/content/nim/ift/2026q4-nim-core-libs.md @@ -59,12 +59,17 @@ Triage issues, address regressions and compatibility problems, support downstrea - [status-im/nim-stew#281](https://github.com/status-im/nim-stew/pull/281) Fix #85; Add `validateUtf8` to `utfutils` - [nim-lang/Nim#26443](https://github.com/nim-lang/Nim/pull/26443) Add a line about `nim book` to the `--fullhelp`. - [nim-lang/langserver#489](https://github.com/nim-lang/langserver/pull/489) CI: Start MCP publish after GitHub Release. +- [status-im/nim-taskpools#75](https://github.com/status-im/nim-taskpools/pull/75) Fix #67; "Allow GC type task result" regression +- [status-im/nim-taskpools#76](https://github.com/status-im/nim-taskpools/pull/76) CI speed up +- [status-im/nim-taskpools#77](https://github.com/status-im/nim-taskpools/pull/77) Workaround data race in `example` thread join +- [status-im/nimbus-common-workflow#37](https://github.com/status-im/nimbus-common-workflow/pull/37) Add `nim/doc` & `nim/tools` to cache +- [status-im/nim-chronos#730](https://github.com/status-im/nim-chronos/pull/730) Fix doc examples. ### Nimlangserver improvements * fully qualified name: `ift-ts:nim:ift:2026q4-nim-core-libs:nimlangserver` * owner: Juan/Esteban/Constantine -* status: in progress (25%) +* status: in progress (30%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -105,6 +110,10 @@ Use the nim-web3 approach as the model for the LSP implementation: - [nim-lang/langserver#492](https://github.com/nim-lang/langserver/pull/492) Fix progress token - [nim-lang/langserver#490](https://github.com/nim-lang/langserver/pull/490) Use nimsuggest `outline2` when possible - [nim-lang/langserver#487](https://github.com/nim-lang/langserver/pull/487) Remove process monitor +- [nim-lang/langserver#496](https://github.com/nim-lang/langserver/pull/496) Check project after external edit +- [nim-lang/langserver#495](https://github.com/nim-lang/langserver/pull/495) Fix restart nimsuggest on configuration changes +- [nim-lang/langserver#494](https://github.com/nim-lang/langserver/pull/494) Await workspace configuration +- [nim-lang/langserver#493](https://github.com/nim-lang/langserver/pull/493) Avoid showing chk file result for an old file edit ### Nimlangserver and nimsuggest support for IFT projects @@ -150,7 +159,7 @@ Aim to benefit from incremental compilation and other applicable Nimony-related * fully qualified name: `ift-ts:nim:ift:2026q4-nim-core-libs:nim-lint` * owner: Constantine -* status: not started +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -161,3 +170,4 @@ Provide initial rules for IFT projects, such as flagging `asyncSpawn`, with seve #### Deliverables - Linter engine, initial rules, and documentation for adding rules and integrating checks into CI. +- Wrote the second nim-lint specification after feedback on the first prototype. diff --git a/content/p2p/ift/2026q4-dst-automated-workflow.md b/content/p2p/ift/2026q4-dst-automated-workflow.md index 6c011e077b..e68198f7bc 100644 --- a/content/p2p/ift/2026q4-dst-automated-workflow.md +++ b/content/p2p/ift/2026q4-dst-automated-workflow.md @@ -24,7 +24,7 @@ issue automatically in the nim-libp2p repository for triage. * fully qualified name: `ift-ts:p2p:ift:2026q4-dst-automated-workflow:deployment-tests` * owner: Vlado -* status: in progress (50%) +* status: in progress (53%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -42,13 +42,14 @@ and results so failures can be reproduced. - [iftech/nim-libp2p-network-lab#3](https://github.com/iftech/nim-libp2p-network-lab/pull/3) add dummy experiment - [iftech/nim-libp2p-network-lab#2](https://github.com/iftech/nim-libp2p-network-lab/pull/2) improvements - [iftech/nim-libp2p-network-lab#1](https://github.com/iftech/nim-libp2p-network-lab/pull/1) add project structure with initial nodes +- Completed scheduled workflow runs for the network lab. ### Automatic Regression Issues * fully qualified name: `ift-ts:p2p:ift:2026q4-dst-automated-workflow:issue-reporting` -* owner: not assigned yet -* status: not started +* owner: Vlado +* status: in progress (53%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -63,3 +64,7 @@ and links to logs, and avoid repeatedly filing the same unresolved failure. - Automatic issue creation for regression deviations - Reproducible triage details and duplicate-issue handling - Workflow checks demonstrating expected-result and regression-result paths +- [iftech/nim-libp2p-network-lab#9](https://github.com/iftech/nim-libp2p-network-lab/issues/9) Experiment failed: experiments/dummy-failure.yaml +- [iftech/nim-libp2p-network-lab#8](https://github.com/iftech/nim-libp2p-network-lab/issues/8) Experiment failed: experiments/dummy-failure.yaml +- [iftech/nim-libp2p-network-lab#7](https://github.com/iftech/nim-libp2p-network-lab/issues/7) Experiment failed: experiments/dummy-failure.yaml +- Added automatic issue creation for failed scheduled runs; successful runs do not create issues. diff --git a/content/p2p/ift/2026q4-logos-delivery-consulting.md b/content/p2p/ift/2026q4-logos-delivery-consulting.md index 85d8f914d8..80c3f69409 100644 --- a/content/p2p/ift/2026q4-logos-delivery-consulting.md +++ b/content/p2p/ift/2026q4-logos-delivery-consulting.md @@ -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 (20%) +* status: in progress (27%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -52,3 +52,5 @@ as it is agreed. - [logos-messaging/nim-ffi#238](https://github.com/logos-messaging/nim-ffi/pull/238) fix(ffi): refuse a NULL callback in the callback-mode ctor - [logos-messaging/nim-ffi#228](https://github.com/logos-messaging/nim-ffi/pull/228) chore: narrow LSan suppressions - [logos-storage/logos-storage-nim#1519](https://github.com/logos-storage/logos-storage-nim/pull/1519) feat(library): generate the C bindings with nim-ffi +- [logos-messaging/nim-ffi#249](https://github.com/logos-messaging/nim-ffi/pull/249) fix: skip a listener removed during its dispatch +- [logos-messaging/nim-ffi#250](https://github.com/logos-messaging/nim-ffi/pull/250) fix: destroy from inside a callback fails fast diff --git a/content/p2p/ift/2026q4-nimlibp2p-gossipsub-byte-queues.md b/content/p2p/ift/2026q4-nimlibp2p-gossipsub-byte-queues.md index 4fbb7138ce..39b6b38963 100644 --- a/content/p2p/ift/2026q4-nimlibp2p-gossipsub-byte-queues.md +++ b/content/p2p/ift/2026q4-nimlibp2p-gossipsub-byte-queues.md @@ -24,7 +24,7 @@ queued GossipSub data when message sizes vary. * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-byte-queues:byte-limits` * owner: Richard -* status: in progress (80%) +* status: in progress (85%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -57,4 +57,4 @@ cleanup releases accounted bytes and existing priority behavior remains correct. - Tests for mixed-size traffic and count/byte boundary conditions - Resource-use measurements under queue pressure -- Real life network tests ensuring no regressions are introduced \ No newline at end of file +- Real life network tests ensuring no regressions are introduced diff --git a/content/p2p/ift/2026q4-nimlibp2p-gossipsub-topic-streams.md b/content/p2p/ift/2026q4-nimlibp2p-gossipsub-topic-streams.md index e09672bb9d..291320f132 100644 --- a/content/p2p/ift/2026q4-nimlibp2p-gossipsub-topic-streams.md +++ b/content/p2p/ift/2026q4-nimlibp2p-gossipsub-topic-streams.md @@ -26,7 +26,7 @@ behind an explicit opt-in or compile flag. * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-topic-streams:stream-lifecycle` * owner: Richard -* status: in progress (80%) +* status: in progress (90%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -42,6 +42,9 @@ including subscription changes and peer disconnects. - Topic stream creation, replacement, and cleanup - Tests for mixed-capability peers and lifecycle transitions - [iftech/nim-libp2p#3278](https://github.com/iftech/nim-libp2p/pull/3278) fix(pubsub): manage inbound stream lifecycles +- [iftech/nim-libp2p#3273](https://github.com/iftech/nim-libp2p/pull/3273) feat(gossipsub): harden topic stream lifecycle +- [iftech/nim-libp2p#3271](https://github.com/iftech/nim-libp2p/pull/3271) feat(gossipsub): add topic stream transport +- [iftech/nim-libp2p#3272](https://github.com/iftech/nim-libp2p/pull/3272) feat(gossipsub): integrate topic streams ### Delivery And Resource Budgets diff --git a/content/p2p/ift/2026q4-nimlibp2p-kademlia-auto-mode.md b/content/p2p/ift/2026q4-nimlibp2p-kademlia-auto-mode.md index 4cd9fec966..631f64f6fb 100644 --- a/content/p2p/ift/2026q4-nimlibp2p-kademlia-auto-mode.md +++ b/content/p2p/ift/2026q4-nimlibp2p-kademlia-auto-mode.md @@ -44,8 +44,8 @@ Implementation baseline: nim-libp2p master at `5309dc87cb4b4385a4a37e4339cdeefca ### Role-Transition Timing And Stability * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-kademlia-auto-mode:stability` -* owner: not assigned yet -* status: not started +* owner: Gabe +* status: in progress (20%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -68,13 +68,14 @@ including loss of the last confirmed address in v2. - Deterministic tests for transient and sustained verdict changes through AutoNAT v1 and v2 - Tests for unknown verdicts, inconclusive probes, and loss of the last confirmed address - Checks that sustained reachability changes take effect within the documented timing bounds +- [iftech/nim-libp2p#3319](https://github.com/iftech/nim-libp2p/pull/3319) chore(kad): auto mode transition policy ### Fixed Modes And Service Lifecycle * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-kademlia-auto-mode:lifecycle` -* owner: not assigned yet -* status: not started +* owner: Gabe +* status: in progress (20%) * start-date: 2026/10/01 * end-date: 2026/12/31 diff --git a/content/p2p/ift/2026q4-nimlibp2p-kademlia-provider-storage.md b/content/p2p/ift/2026q4-nimlibp2p-kademlia-provider-storage.md index ca34810cfa..de90f220fe 100644 --- a/content/p2p/ift/2026q4-nimlibp2p-kademlia-provider-storage.md +++ b/content/p2p/ift/2026q4-nimlibp2p-kademlia-provider-storage.md @@ -24,8 +24,8 @@ operations, expiration, and iteration. ### Storage Interface * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-kademlia-provider-storage:interface` -* owner: not assigned yet -* status: not started +* owner: Gabe +* status: in progress (15%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -39,6 +39,8 @@ semantics, adding other operations only where existing DHT behavior requires the - Storage interface covering all three record categories - Documented expiration and iteration semantics +- [iftech/nim-libp2p#3288](https://github.com/iftech/nim-libp2p/pull/3288) refactor(kad): distinct RecordKey type for value records +- [iftech/nim-libp2p#3318](https://github.com/iftech/nim-libp2p/pull/3318) fix(kad): cap provider records per peer ### Integration And Backend Validation diff --git a/content/p2p/ift/2026q4-nimlibp2p-maintenance.md b/content/p2p/ift/2026q4-nimlibp2p-maintenance.md index 4cd27b91d0..93aff2b5a3 100644 --- a/content/p2p/ift/2026q4-nimlibp2p-maintenance.md +++ b/content/p2p/ift/2026q4-nimlibp2p-maintenance.md @@ -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 (20%) +* status: in progress (27%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -123,3 +123,33 @@ as issues arise during the quarter. - [iftech/nim-libp2p#3286](https://github.com/iftech/nim-libp2p/pull/3286) chore(result): TLS certificate parse returns Result - [iftech/roadmap#542](https://github.com/iftech/roadmap/pull/542) fix(p2p): Result PR list, end-date and nim-libp2p repo links - [iftech/nim-libp2p#3251](https://github.com/iftech/nim-libp2p/pull/3251) chore(results): one shape for every err call site +- [iftech/nim-libp2p#3334](https://github.com/iftech/nim-libp2p/pull/3334) test: remove superfluous tests and fix tests that could not fail +- [iftech/nim-lsquic#186](https://github.com/iftech/nim-lsquic/pull/186) chore(lsquic): update upstream and bump version to 0.11.3 +- [iftech/nim-libp2p#3302](https://github.com/iftech/nim-libp2p/pull/3302) feat(opt): compare options with plain values +- [status-im/nimbus-eth2#9340](https://github.com/status-im/nimbus-eth2/pull/9340) chore: bump nim-libp2p and nim-boringssl +- [iftech/nim-libp2p#3313](https://github.com/iftech/nim-libp2p/pull/3313) refactor(transport): retry recoverable accept failures internally +- [iftech/nim-libp2p#3301](https://github.com/iftech/nim-libp2p/pull/3301) fix(crypto): adjust shuffle index sampling +- [iftech/nim-libp2p#3299](https://github.com/iftech/nim-libp2p/pull/3299) fix(gossipsub): use configured PX acceptance threshold +- [iftech/nim-libp2p#3321](https://github.com/iftech/nim-libp2p/pull/3321) chore(deps): update nim-boringssl to 0.0.14 +- [iftech/nim-boringssl#25](https://github.com/iftech/nim-boringssl/pull/25) chore(boringssl): update submodule and bindings +- [iftech/boringssl#11](https://github.com/iftech/boringssl/pull/11) chore: sync BoringSSL upstream +- [iftech/nim-libp2p#3294](https://github.com/iftech/nim-libp2p/pull/3294) fix(tor): align accept handling with TCP +- [iftech/nim-libp2p#3295](https://github.com/iftech/nim-libp2p/pull/3295) fix(pubsub): initialize message sequence counters +- [iftech/nim-libp2p#3292](https://github.com/iftech/nim-libp2p/pull/3292) fix(protobuf): enforce duration bounds +- [iftech/nim-libp2p#3290](https://github.com/iftech/nim-libp2p/pull/3290) fix(asn1): validate one-byte bit string length +- [iftech/nim-libp2p#3289](https://github.com/iftech/nim-libp2p/pull/3289) fix(asn1): refine length validation +- [iftech/nim-libp2p#3300](https://github.com/iftech/nim-libp2p/pull/3300) fix(wstransport): validate dial hostnames +- [iftech/nim-libp2p#3291](https://github.com/iftech/nim-libp2p/pull/3291) fix(cid): validate decoded input +- [iftech/nim-libp2p#3298](https://github.com/iftech/nim-libp2p/pull/3298) fix(multihash): refine digest comparison +- [iftech/nim-libp2p#3296](https://github.com/iftech/nim-libp2p/pull/3296) fix(crypto): bound RSA public key parameters +- [iftech/nim-libp2p#3293](https://github.com/iftech/nim-libp2p/pull/3293) fix(dialer): refine dnsaddr result selection +- [iftech/nim-libp2p#3336](https://github.com/iftech/nim-libp2p/pull/3336) chore: delete .opencodereview/rule.json +- [iftech/nim-libp2p#3314](https://github.com/iftech/nim-libp2p/pull/3314) chore: utilize `stepsAsync` +- [iftech/nim-libp2p#3305](https://github.com/iftech/nim-libp2p/pull/3305) fix(tests): copy lent loop variable before asyncTest closure in test_ping +- [iftech/nim-libp2p#3284](https://github.com/iftech/nim-libp2p/pull/3284) fix(kad): cap provider addresses and record keys +- [litespeedtech/lsquic#699](https://github.com/litespeedtech/lsquic/pull/699) Fix: send keepalive PINGs when no stream is open +- [iftech/nim-libp2p#3322](https://github.com/iftech/nim-libp2p/pull/3322) fix(tests): define accept retry tests with a template for Nim devel +- [iftech/nim-libp2p#3306](https://github.com/iftech/nim-libp2p/pull/3306) chore(cbind): complete release waiters before stop +- [iftech/nim-libp2p#3315](https://github.com/iftech/nim-libp2p/pull/3315) fix(identify): cap addresses and protocols per message +- [iftech/nim-libp2p#3312](https://github.com/iftech/nim-libp2p/pull/3312) fix(switch): restore listen addresses after a failed start +- [iftech/nim-libp2p#3317](https://github.com/iftech/nim-libp2p/pull/3317) perf(zeroqueue): copy partial reads in place diff --git a/content/p2p/ift/2026q4-nimlibp2p-nimbus-downstream-ci.md b/content/p2p/ift/2026q4-nimlibp2p-nimbus-downstream-ci.md index 9f17114f22..09c7d44897 100644 --- a/content/p2p/ift/2026q4-nimlibp2p-nimbus-downstream-ci.md +++ b/content/p2p/ift/2026q4-nimlibp2p-nimbus-downstream-ci.md @@ -28,7 +28,7 @@ A team member can also start a run on a standalone commit, e.g. a master commit * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-nimbus-downstream-ci:build` * owner: Gabe -* status: in progress (65%) +* status: in progress (90%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -48,13 +48,16 @@ Delete a standalone commit branch when its run ends. - A beacon node binary on request for any standalone commit - Builds for different commits that run in parallel, with no change to `DEPENDENCIES_AUTOBUMP_ENABLED` - Branch cleanup on pull request close and at the end of a standalone run +- [iftech/nim-libp2p#3280](https://github.com/iftech/nim-libp2p/pull/3280) fix(gossipsub): send preamble only to peers not already receiving +- [iftech/nim-libp2p#3250](https://github.com/iftech/nim-libp2p/pull/3250) feat(gossipsub): cap concurrent validations per peer +- [iftech/nim-libp2p#3269](https://github.com/iftech/nim-libp2p/pull/3269) ci: test PRs on nimbus-eth2 and the hoodi fleet with the test-nimbus label ### Testnet Deployment Automation * fully qualified name: `ift-ts:p2p:ift:2026q4-nimlibp2p-nimbus-downstream-ci:deployment` -* owner: not assigned yet -* status: not started +* owner: Gabe +* status: in progress (90%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -74,6 +77,7 @@ The team can stop a run before its end, and the workflow then restores the nodes - Automatic restore of the nodes at the end of a run or on stop - A node lock that prevents overlapping runs - Contributor documentation for how to start, schedule, and stop a run +- [iftech/nim-libp2p#3324](https://github.com/iftech/nim-libp2p/pull/3324) ci: 48h health soak of test-nimbus PRs on the hoodi fleet ### Metrics And Reporting diff --git a/content/qa/logos/2026q4-lez-fuzz-testing.md b/content/qa/logos/2026q4-lez-fuzz-testing.md index 3881bb08c9..1a517c44f7 100644 --- a/content/qa/logos/2026q4-lez-fuzz-testing.md +++ b/content/qa/logos/2026q4-lez-fuzz-testing.md @@ -37,3 +37,4 @@ Keep targets compatible with upstream changes and preserve useful corpus handlin - [logos-blockchain/lez-fuzzing#37](https://github.com/logos-blockchain/lez-fuzzing/pull/37) chore: automated weekly corpus update - [logos-blockchain/lez-fuzzing#38](https://github.com/logos-blockchain/lez-fuzzing/pull/38) chore: sync with LEZ removal of token/AMM/ATA programs and block producer signature - [logos-blockchain/lez-fuzzing#39](https://github.com/logos-blockchain/lez-fuzzing/pull/39) chore: automated weekly corpus update +- [logos-blockchain/lez-fuzzing#40](https://github.com/logos-blockchain/lez-fuzzing/pull/40) chore: automated weekly corpus update diff --git a/content/qa/logos/2026q4-logos-basecamp.md b/content/qa/logos/2026q4-logos-basecamp.md index 39df734aac..804eab4ee4 100644 --- a/content/qa/logos/2026q4-logos-basecamp.md +++ b/content/qa/logos/2026q4-logos-basecamp.md @@ -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 (43%) +* status: in progress (45%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -38,12 +38,21 @@ Keep new scenarios compatible with the existing test framework and track any sco - [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 - [logos-co/logos-basecamp#488](https://github.com/logos-co/logos-basecamp/pull/488) Test/MCP UI module inspector interface view lists methods/events and calls a method +- [logos-co/logos-basecamp#511](https://github.com/logos-co/logos-basecamp/pull/511) Test/MCP UI module inspector interface view for a method-less module +- [logos-co/logos-basecamp#512](https://github.com/logos-co/logos-basecamp/pull/512) Test/MCP UI repositories invalid URL shows a dismissible error banner +- [logos-co/logos-basecamp#513](https://github.com/logos-co/logos-basecamp/pull/513) Test/MCP UI repositories unreachable URL is refused with a fetch error +- [logos-co/logos-basecamp#516](https://github.com/logos-co/logos-basecamp/pull/516) Test/MCP UI repositories whitespace is rejected and a duplicate is a no-op +- [logos-co/logos-basecamp#517](https://github.com/logos-co/logos-basecamp/pull/517) Test/MCP UI repositories refresh flips the button label +- [logos-co/logos-basecamp#518](https://github.com/logos-co/logos-basecamp/pull/518) Test/MCP UI repositories cancel on remove default repository keeps it +- [logos-co/logos-basecamp#519](https://github.com/logos-co/logos-basecamp/pull/519) Test/MCP UI window Cmd+M minimize action is wired (macOS) +- [logos-co/logos-basecamp#520](https://github.com/logos-co/logos-basecamp/pull/520) Test/MCP UI window hide-to-tray and restore preserves open docks +- [logos-co/logos-basecamp#521](https://github.com/logos-co/logos-basecamp/pull/521) Test/MCP UI apps inspector unloading the visible app closes its dock ### Release validation * fully qualified name: `ift-ts:qa:logos:2026q4-logos-basecamp:release-validation` -* owner: TBD -* status: not started +* owner: Magnus +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -56,6 +65,9 @@ Run release smoke checks, report defects and release risks, and verify fixes. - Release validation checklists and test reports for the builds tested during Q4. - Tracked release defects and verification results. +- [logos-co/logos-logoscore-cli#194](https://github.com/logos-co/logos-logoscore-cli/issues/194) `package install --root-hash` is accepted but never used: a hash that matches nothing still installs +- [logos-co/logos-storage-module#111](https://github.com/logos-co/logos-storage-module/issues/111) Storage data is always under `$HOME/.logos_storage`, so a second Basecamp or logosctl on the same machine fails to start Storage +- Ran the Basecamp 0.3.0 release checklist on macOS and Linux. ### Test coverage and maintenance diff --git a/content/qa/logos/2026q4-messaging-testing.md b/content/qa/logos/2026q4-messaging-testing.md index bf5dba89bc..8a52e36b13 100644 --- a/content/qa/logos/2026q4-messaging-testing.md +++ b/content/qa/logos/2026q4-messaging-testing.md @@ -102,3 +102,7 @@ Update tests for messaging component changes, investigate failing or flaky tests - [logos-messaging/logos-delivery#4543](https://github.com/logos-messaging/logos-delivery/issues/4543) question: channel_send on a node that is not started answers RET_OK, then reports the failure in events that name broker internals - [logos-messaging/logos-delivery#4555](https://github.com/logos-messaging/logos-delivery/issues/4555) bug: a node stopped while its rendezvous registration dials a peer that does not answer never finishes stopping - [logos-messaging/logos-delivery#4554](https://github.com/logos-messaging/logos-delivery/issues/4554) question: after stop_node and start_node, a channel created before the stop answers unknown channel +- [logos-co/logos-logoscore-py#34](https://github.com/logos-co/logos-logoscore-py/pull/34) feat(docker): pass env vars to the daemon container +- [logos-co/logos-logoscore-py#35](https://github.com/logos-co/logos-logoscore-py/pull/35) feat(logosctl): a docker smoke image for LogosctlDockerDaemon +- [logos-messaging/logos-delivery#4610](https://github.com/logos-messaging/logos-delivery/issues/4610) bug: a node with an RLN plugin dials its static nodes only once the host answers the startup membership check +- [logos-messaging/logos-delivery#4612](https://github.com/logos-messaging/logos-delivery/pull/4612) test: reproduction for #4610 diff --git a/content/qa/logos/2026q4-source-code-level-qa.md b/content/qa/logos/2026q4-source-code-level-qa.md index c58dbe2e2a..39949e07db 100644 --- a/content/qa/logos/2026q4-source-code-level-qa.md +++ b/content/qa/logos/2026q4-source-code-level-qa.md @@ -22,7 +22,7 @@ Generate proofs or exploit reproductions for high-severity issues and regression * fully qualified name: `ift-ts:qa:logos:2026q4-source-code-level-qa:system-prototype` * owner: Roman -* status: in progress (70%) +* status: in progress (75%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -49,4 +49,10 @@ Prototype an AI code analysis workflow covering: - Clarified and fixed CODE-5 for [LEZ Atomic Swaps v0.2.5](https://discord.com/channels/973324189794697286/1526145461025505360/1557941455362719854). - [iftech/bork#1](https://github.com/iftech/bork/pull/1) feat: workflow files, composed audits, and the findings history - Added third-party application support, including Notion, to the source-code QA prototype. -- Completed 8 of 55 parts of the [Logos Blockchain v0.3.0 specification audit](https://app.notion.com/p/v0-3-0-3fb8f96fb65c81b29b0af74f0c8a3de0). +- Completed 21 of 53 parts of the [Logos Blockchain v0.3.0 specification audit](https://app.notion.com/p/v0-3-0-3fb8f96fb65c81b29b0af74f0c8a3de0). +- [iftech/bork#2](https://github.com/iftech/bork/pull/2) feat: cron jobs, the tick, and the triggers that keep a PR green +- [iftech/bork#3](https://github.com/iftech/bork/pull/3) feat: bork top, a full-screen view over one shared snapshot +- [iftech/bork#4](https://github.com/iftech/bork/pull/4) fix: source as a bundle, claimed briefs and collects, delivery by stage +- [iftech/bork#5](https://github.com/iftech/bork/pull/5) feat: per-session model and an effort knob +- [logos-blockchain/logos-blockchain#3911](https://github.com/logos-blockchain/logos-blockchain/issues/3911) Validation rule "ZkSignature by `public_key` over `mantle_txhash`" is never checked. (F-dd99b3f2) +- Added concurrent Bork input consoles and jobs; tested two consoles and two jobs, limited by available hardware. diff --git a/content/qa/status/2026q4-status-go-functional-testing.md b/content/qa/status/2026q4-status-go-functional-testing.md index 21804301b7..39e0674f30 100644 --- a/content/qa/status/2026q4-status-go-functional-testing.md +++ b/content/qa/status/2026q4-status-go-functional-testing.md @@ -39,6 +39,7 @@ Investigate failing or flaky tests, update fixtures and the Python SDK where nee - [status-im/status-go#7928](https://github.com/status-im/status-go/pull/7928) fix(ci): update import of old lang.RandomStringUtils - [status-im/status-app#22776](https://github.com/status-im/status-app/pull/22776) fix(ci): update import of old lang.RandomStringUtils - [status-im/status-go#7916](https://github.com/status-im/status-go/pull/7916) fix(wallet): omit relay API key on testnet +- [status-im/status-go#7965](https://github.com/status-im/status-go/pull/7965) fix(functional-tests): time out the backend health check ### Functional test coverage @@ -60,3 +61,11 @@ Select concrete scenarios from the existing backlog and issues found during desk - [status-im/status-go#7882](https://github.com/status-im/status-go/pull/7882) test(functional): check MoonPay URL and hostname - [status-im/status-go#7942](https://github.com/status-im/status-go/pull/7942) test(functional): cover community token mint, airdrop, and burn - [status-im/status-go#7934](https://github.com/status-im/status-go/pull/7934) test(history): don't skip messages from while the app was closed +- [status-im/status-go#7964](https://github.com/status-im/status-go/pull/7964) test(functional): payment request tests +- [status-im/status-go#7972](https://github.com/status-im/status-go/issues/7972) threads: received THREAD_METADATA accepted without parent, role, or contacts-only checks (latent: Threads flag off in shipped builds) +- [status-im/status-go#7973](https://github.com/status-im/status-go/issues/7973) Received pins of thread messages are stored, and the user cannot unpin them +- [status-im/status-go#7974](https://github.com/status-im/status-go/issues/7974) Thread and per-chat search fail with "Chat not found" on the receiving side of a 1:1 chat +- [status-im/status-go#7975](https://github.com/status-im/status-go/issues/7975) communities: control node loses or never sends some roster deltas +- [status-im/status-go#7976](https://github.com/status-im/status-go/issues/7976) communitytokens: owner and master token deploy can keep placeholder addresses (receipt applied before rows exist) +- [status-im/status-go#7977](https://github.com/status-im/status-go/issues/7977) test: `make test-unit-race` is red on develop, so it cannot catch new races +- [status-im/status-go#7978](https://github.com/status-im/status-go/issues/7978) test(functional): run_functional_tests.sh does not wait for the Foundry contract deployment diff --git a/content/qa/status/2026q4-status-qa-desktop.md b/content/qa/status/2026q4-status-qa-desktop.md index 53ddf8086b..29bc1ea624 100644 --- a/content/qa/status/2026q4-status-qa-desktop.md +++ b/content/qa/status/2026q4-status-qa-desktop.md @@ -23,7 +23,7 @@ Continue Windows performance testing. macOS and Linux performance work remains t * fully qualified name: `ift-ts:qa:status:2026q4-status-qa-desktop:release-testing` * owner: Nastya -* status: in progress (10%) +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -35,6 +35,11 @@ Report bugs and release risks and verify fixes with the Status team. #### Deliverables - [status-im/status-app#22603](https://github.com/status-im/status-app/pull/22603) fix(wallet): keep the derived account address inside its field - [status-im/status-app#22604](https://github.com/status-im/status-app/issues/22604) Race condition when balances arrive before the token catalog is ready leads to token list staying empty / loading +- [status-im/status-app#22888](https://github.com/status-im/status-app/issues/22888) Activity centre panel animation is slow +- [status-im/status-go#7946](https://github.com/status-im/status-go/pull/7946) fix: wait for a community token row before applying its deploy receipt +- [status-im/status-app#22905](https://github.com/status-im/status-app/issues/22905) Deterministic handling of community token deploy receipts (remove retry race) +- [status-im/status-app#22875](https://github.com/status-im/status-app/pull/22875) chore(@qml): fix http stats test +- [status-im/status-app#22863](https://github.com/status-im/status-app/issues/22863) Erase all notifications and delete individual notification in Activity Centre ### Maintenance @@ -63,6 +68,10 @@ Assist developers with test changes in pull requests. - [status-im/status-app#22820](https://github.com/status-im/status-app/pull/22820) chore(@e2e): fix history records verification for keycard transactions tests - [status-im/status-app#22817](https://github.com/status-im/status-app/pull/22817) chore: update status-go version - [alexjba/sds-go-bindings#1](https://github.com/alexjba/sds-go-bindings/pull/1) test: run wrap/unwrap against libsds built with the iOS memory manager +- [status-im/status-app#22918](https://github.com/status-im/status-app/pull/22918) tests: fix payment request +- [status-im/status-app#22930](https://github.com/status-im/status-app/pull/22930) chore(@e2e): fix benchmarks script to correctly push to repo +- [status-im/status-app#22916](https://github.com/status-im/status-app/pull/22916) chore(@e2e): fix network selection +- [status-im/status-app#22890](https://github.com/status-im/status-app/pull/22890) test(e2e): align emoji reads with StatusEmoji and pick from catalog ### Performance tests for desktop application on Windows @@ -105,6 +114,8 @@ Choose scenarios as feature scope and the automation backlog are clarified with - [status-im/status-app#22826](https://github.com/status-im/status-app/pull/22826) tests(@e2e): change language in settings and restart - [status-im/status-app#22809](https://github.com/status-im/status-app/pull/22809) tests(@e2e): verify mentions appearance for contacts and non-contacts in group chat - [status-im/status-app#22717](https://github.com/status-im/status-app/pull/22717) tests(@e2e): bridge and swap scenarios +- [status-im/status-app#22904](https://github.com/status-im/status-app/pull/22904) test(e2e): add spell check tests +- [status-im/status-app#22828](https://github.com/status-im/status-app/pull/22828) tests(@e2e): community token actions ### Performance tests for desktop application on Mac diff --git a/content/qa/status/2026q4-status-qa-mobile.md b/content/qa/status/2026q4-status-qa-mobile.md index 0caf09ff40..b80743e69e 100644 --- a/content/qa/status/2026q4-status-qa-mobile.md +++ b/content/qa/status/2026q4-status-qa-mobile.md @@ -44,6 +44,29 @@ Perform exploratory and regression testing, test new features in each release, a - [status-im/status-app#22810](https://github.com/status-im/status-app/issues/22810) [QA - Mobile & Desktop] Zero onboarding: what to test in 2.40 - Tested the Status 2.39.1 upgrade and 2.39.2 mainnet swap on Android; no blockers found. - Updated four older QA trees to the current format. +- [status-im/status-app#22938](https://github.com/status-im/status-app/issues/22938) [QA - Desktop] Composer: Backspace deletes a whole syllable in Hindi, Thai and accented text +- [status-im/status-app#22939](https://github.com/status-im/status-app/issues/22939) [QA - Mobile & Desktop] Chat: the loading skeleton is drawn over messages already shown +- [status-im/status-app#22940](https://github.com/status-im/status-app/issues/22940) [QA - Mobile & Desktop] Chat: on short views, each page of older messages waits 1 second +- [status-im/status-app#22941](https://github.com/status-im/status-app/issues/22941) [QA - Mobile & Desktop] Chat: "Send Contact Request" button fills the whole chat width +- [status-im/status-app#22942](https://github.com/status-im/status-app/issues/22942) [QA - Desktop] Spell check: no suggestions when right-clicking the end of a misspelled word +- [status-im/status-app#22943](https://github.com/status-im/status-app/issues/22943) [QA - Mobile] QR scanner: an invalid code in view repeats the error and vibration every 2 s +- [status-im/status-app#22944](https://github.com/status-im/status-app/issues/22944) [QA - Mobile & Desktop] Communities: each update copies community data for every channel +- [status-im/status-app#22945](https://github.com/status-im/status-app/issues/22945) [QA - Mobile & Desktop] Members list shows a generated three-word name, not the display name +- [status-im/status-app#22946](https://github.com/status-im/status-app/issues/22946) [QA - Mobile & Desktop] Payment request with no text: empty notification and chat preview +- [status-im/status-app#22947](https://github.com/status-im/status-app/issues/22947) [QA - Mobile & Desktop] Chat: a mention of an unknown user stays a generated name +- [status-im/status-app#22948](https://github.com/status-im/status-app/issues/22948) [QA - Mobile & Desktop] Search: community channels report 0 members +- [status-im/status-app#22949](https://github.com/status-im/status-app/issues/22949) [QA - Mobile & Desktop] Search: "No results" flashes on each keystroke while refining +- [status-im/status-app#22950](https://github.com/status-im/status-app/issues/22950) [QA - Mobile & Desktop] Threads (behind flag): names shown as rich text, uncached thread lost +- [status-im/status-app#22897](https://github.com/status-im/status-app/issues/22897) [QA - Mobile] History shows the quoted amount for a swap the app sent, not the amount received +- [status-im/status-app#22898](https://github.com/status-im/status-app/issues/22898) [QA - Mobile] Unmined swap approval leaves the modal spinning with no status, speed-up or cancel +- [status-im/status-app#22901](https://github.com/status-im/status-app/issues/22901) [QA - Mobile] Threads: a thread opened from the chat list has no name in its input placeholder +- [status-im/status-app#22902](https://github.com/status-im/status-app/issues/22902) [QA - Mobile] Threads: after leaving a thread, new messages in the chat land under the input and cannot be scrolled to +- [status-im/status-app#22903](https://github.com/status-im/status-app/issues/22903) [QA - Mobile] Threads: a reply read in the open thread still counts as unread +- [status-im/status-app#22909](https://github.com/status-im/status-app/issues/22909) [QA - Mobile] Threads: an image sent in a thread goes to the main chat +- [status-im/status-app#22910](https://github.com/status-im/status-app/issues/22910) [QA - Mobile] Android: the app sometimes crashes when returning from the image picker +- [status-im/status-app#22527](https://github.com/status-im/status-app/issues/22527) [QA - Mobile & Desktop] Threads: what to test in 2.40 +- [status-im/status-app#22936](https://github.com/status-im/status-app/issues/22936) [QA - Mobile] Share screen lists chats by the user's last send, not by the latest message +- Checked Status 2.39.2 on iOS: swap and bridge tests passed. ### Maintenance @@ -67,7 +90,7 @@ Address flaky tests and assist developers with test changes in pull requests as * fully qualified name: `ift-ts:qa:status:2026q4-status-qa-mobile:coverage` * owner: Magnus -* status: in progress (10%) +* status: in progress (25%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -81,6 +104,7 @@ Prioritize gaps with the Status team based on user impact and the feasibility of - PRs covering previously untested existing features. - Tracked coverage gaps and any constraints preventing automation. - Wrote four Android thread end-to-end tests that pass on the test build. +- [status-im/status-app#22849](https://github.com/status-im/status-app/pull/22849) test(e2e_appium): share to Status on Android ### Framework improvements diff --git a/content/web/ift/2026q4-admin-acid.md b/content/web/ift/2026q4-admin-acid.md index 6e2d3235b5..5b3502fcf1 100644 --- a/content/web/ift/2026q4-admin-acid.md +++ b/content/web/ift/2026q4-admin-acid.md @@ -58,6 +58,7 @@ Ship the template and trigger changes stakeholders request during the quarter, a - [acid-info/admin-acid.logos.co#84](https://github.com/acid-info/admin-acid.logos.co/pull/84) fix(ghost): quote email in member lookup filter - Archived newsletters that had never been published to. - Merged the old “Logos” newsletter subscribers into “Logos Newsletter” and archived the old newsletter. +- Fixed an unreachable production Ghost API that broke newsletter subscriptions and other Ghost interactions ([incident thread](https://discord.com/channels/973324189794697286/1561775092537626717/1561775096060842067)). ### Ad hoc requests @@ -79,3 +80,5 @@ Create a dedicated roadmap task when a request grows into a substantial project. - [acid-info/admin-acid.logos.co#79](https://github.com/acid-info/admin-acid.logos.co/pull/79) feat(local-events): city labels on Regional signups and backfill - [acid-info/admin-acid.logos.co#82](https://github.com/acid-info/admin-acid.logos.co/pull/82) feat(local-events): email new Luma events to city subscribers via Ghost - [acid-info/admin-acid.logos.co#81](https://github.com/acid-info/admin-acid.logos.co/issues/81) feat(newsletters): only subscribe real cities to the Regional Newsletter +- [acid-info/admin-acid.logos.co#86](https://github.com/acid-info/admin-acid.logos.co/pull/86) feat(newsletters): only subscribe real cities to the Regional Newsletter +- [acid-info/admin-acid.logos.co#89](https://github.com/acid-info/admin-acid.logos.co/pull/89) fix(local-events): paginate Ghost labels and newsletters diff --git a/content/web/ift/2026q4-ai-tooling.md b/content/web/ift/2026q4-ai-tooling.md index 982cbda245..e2829a7c44 100644 --- a/content/web/ift/2026q4-ai-tooling.md +++ b/content/web/ift/2026q4-ai-tooling.md @@ -33,12 +33,13 @@ Consolidate ai-review and ai-docs-sync in [acid-info/ai-tools](https://github.co #### Deliverables - [docs: split root README and AGENTS.md by audience](https://github.com/acid-info/ai-tools/pull/1) - [ci: run ai-review and ai-docs-sync on this repo](https://github.com/acid-info/ai-tools/pull/4) +- [acid-info/ai-tools#14](https://github.com/acid-info/ai-tools/pull/14) docs: apply the house style to the root docs ### ai-review maintenance and tuning * fully qualified name: `ift-ts:web:ift:2026q4-ai-tooling:ai-review` * owner: JulesFiliot -* status: in progress (25%) +* status: in progress (45%) * start-date: 2026/10/01 * end-date: 2026/12/31 @@ -56,6 +57,9 @@ Onboard remaining Web repositories and keep the `@v1` tag stable for consumers. - [logos-co/logos-web#208](https://github.com/logos-co/logos-web/pull/208) chore(ci): use ai-review and ai-docs-sync from acid-info/ai-tools - [status-im/status-web#1326](https://github.com/status-im/status-web/pull/1326) chore(ci): use ai-review from acid-info/ai-tools - [acid-info/ai-review#8](https://github.com/acid-info/ai-review/pull/8) docs: redirect to acid-info/ai-tools +- [acid-info/ai-tools#13](https://github.com/acid-info/ai-tools/pull/13) refactor(ai-review): restyle the reviewer and synthesis prompts +- [acid-info/ai-tools#15](https://github.com/acid-info/ai-tools/pull/15) refactor(ai-review): drop dashes and emoji from posted reviews +- [acid-info/ai-tools#16](https://github.com/acid-info/ai-tools/pull/16) docs(ai-review): apply the house style ### ai-auto-fix companion @@ -108,3 +112,14 @@ Finish [acid-info/ai-docs-sync](https://github.com/acid-info/ai-docs-sync), whic - [logos-co/logos-web#234](https://github.com/logos-co/logos-web/pull/234) ci: request web team review on the docs sync pr - [acid-info/admin-acid.logos.co#83](https://github.com/acid-info/admin-acid.logos.co/pull/83) chore(ci): add ai-docs-sync from acid-info/ai-tools - [status-im/status-web#1331](https://github.com/status-im/status-web/pull/1331) chore(ci): add ai-docs-sync from acid-info/ai-tools +- [acid-info/admin-acid.logos.co#87](https://github.com/acid-info/admin-acid.logos.co/pull/87) fix(docs-sync): request web members by login +- [acid-info/ai-tools#12](https://github.com/acid-info/ai-tools/pull/12) fix(docs-sync): request web members by login +- [logos-co/logos-web#240](https://github.com/logos-co/logos-web/pull/240) fix(docs-sync): request web members by login +- [status-im/status-web#1333](https://github.com/status-im/status-web/pull/1333) fix(docs-sync): request web members by login +- [acid-info/ai-tools#17](https://github.com/acid-info/ai-tools/pull/17) feat(ai-docs-sync): write docs in the house style +- [acid-info/ai-tools#18](https://github.com/acid-info/ai-tools/pull/18) refactor(ai-docs-sync): drop dashes from the pr body +- [acid-info/ai-tools#19](https://github.com/acid-info/ai-tools/pull/19) docs(ai-docs-sync): apply the house style +- [logos-co/logos-web#242](https://github.com/logos-co/logos-web/pull/242) docs(repo): restructure docs for docs-sync +- [logos-co/logos-web#243](https://github.com/logos-co/logos-web/pull/243) docs(repo): rewrite docs for humans and agents +- [status-im/status-web#1334](https://github.com/status-im/status-web/pull/1334) docs(repo): restructure docs for docs-sync +- [status-im/status-web#1335](https://github.com/status-im/status-web/pull/1335) docs(repo): rewrite docs for humans and agents diff --git a/content/web/ift/2026q4-maintenance.md b/content/web/ift/2026q4-maintenance.md index f82d3a1051..9535382c14 100644 --- a/content/web/ift/2026q4-maintenance.md +++ b/content/web/ift/2026q4-maintenance.md @@ -41,3 +41,4 @@ Resolve shared infrastructure or tooling failures, coordinate with Infra where n - [Status app Korean translation](https://docs.google.com/document/d/101OBvvoprtp5I5GXFf5hBLrsvSV8R5YShX3smgnQbhE/edit?tab=t.qso6thz9xpc3) - [Status app store French translation — Apple doc](https://docs.google.com/document/d/199SNFI-fFA4pTaG8Xp-y26um6HAQf42mcp8PFB08CwQ/edit?tab=t.tkqt8nea3kvv) - [Status app store French translation — Google Play doc](https://docs.google.com/document/d/199SNFI-fFA4pTaG8Xp-y26um6HAQf42mcp8PFB08CwQ/edit?tab=t.ghept0o2oy0u) +- [status-im/infra-sites#175](https://github.com/status-im/infra-sites/issues/175) Request a security-patched MediaWiki test instance for the Logos wiki, including the PHP RCE patches disclosed on 21 October diff --git a/content/web/logos/2026q4-logos-media-migration.md b/content/web/logos/2026q4-logos-media-migration.md index e9110c868b..670955b781 100644 --- a/content/web/logos/2026q4-logos-media-migration.md +++ b/content/web/logos/2026q4-logos-media-migration.md @@ -62,9 +62,9 @@ The cutover must preserve query strings, feed subscriber identity, canonical URL - fully qualified name: `ift-ts:web:logos:2026q4-logos-media-migration:merge-readiness` - owner: Jinho -- status: in progress (99%) +- status: done - start-date: 2026/10/01 -- end-date: 2026/10/16 +- end-date: 2026/10/27 #### Description @@ -116,7 +116,7 @@ Merge and deploy the migration only after the credentialed Jenkins build succeed - fully qualified name: `ift-ts:web:logos:2026q4-logos-media-migration:redirect-cutover` - owner: Jinho -- status: not started +- status: in progress (50%) - start-date: 2026/10/26 - end-date: 2026/11/13 @@ -134,6 +134,7 @@ Keep the query string on every redirect. Do not redirect CMS preview, API, or as - Verification that old article and episode URLs return one 301 hop to a 200 destination with a self-referencing canonical. - Verification that temporary exceptions such as required preview, API, and asset paths still return the expected response until their retirement task is complete. - A rollback procedure for redirect or feed regressions. +- Completed blog.logos.co redirects to logos.co/media with Infra. ### Remove legacy dependencies and retire the blog frontend diff --git a/content/web/logos/2026q4-logos-website.md b/content/web/logos/2026q4-logos-website.md index fbff2b20ad..b7404335e6 100644 --- a/content/web/logos/2026q4-logos-website.md +++ b/content/web/logos/2026q4-logos-website.md @@ -54,6 +54,8 @@ Investigate production failures and ship necessary hotfixes, coordinating shared - [logos-co/logos-web#217](https://github.com/logos-co/logos-web/pull/217) fix(deps): patch next, payload and sharp security advisories - [logos-co/logos-web#222](https://github.com/logos-co/logos-web/pull/222) fix(web): update PriFi article resources - [logos-co/logos-web#235](https://github.com/logos-co/logos-web/pull/235) fix(web): UK Debt signup posts to dead API route +- [logos-co/logos-web#247](https://github.com/logos-co/logos-web/pull/247) fix(ci): refresh deployment ref before publishing +- [logos-co/logos-web#237](https://github.com/logos-co/logos-web/pull/237) chore: prepare offline OSS Scanner build ### Past Present Future: content update and migration @@ -85,9 +87,9 @@ Document ownership, dependencies, and acceptance criteria before work that cross - fully qualified name: `ift-ts:web:logos:2026q4-logos-website:logos-zine` - owner: Jinho -- status: in progress (90%) +- status: done - start-date: 2026/10/12 -- end-date: 2026/12/31 +- end-date: 2026/10/27 #### Description @@ -103,6 +105,9 @@ Before implementation, collect the final PDF, approved copy and assets, and a de - A verified PDF download for each published issue. - Final copy, PDF, assets, and design references documented before implementation. - QA evidence for desktop and mobile presentation, issue links, and downloads. +- [logos-co/logos-web#233](https://github.com/logos-co/logos-web/pull/233) feat(web): add Logos zine catalogue and PDF readers +- [logos-co/logos-web#246](https://github.com/logos-co/logos-web/pull/246) fix(web): make zine generation independent of system fonts +- Published the [Logos zine catalogue and PDF readers](https://logos.co/zines). ### Node Program landing page @@ -127,7 +132,7 @@ This is a large page, so kick off requirements, copy, and design with the Comms - fully qualified name: `ift-ts:web:logos:2026q4-logos-website:basecamp-lp` - owner: Jinho -- status: in progress (10%) +- status: in progress (80%) - start-date: 2026/10/01 - end-date: 2026/10/31 @@ -142,6 +147,7 @@ Make the page more explanatory, expand its content, and focus it on conversion. - Approved redesign and copy. - A rebuilt, responsive Basecamp page with conversion events tracked in Umami. - [logos-co/logos-web#112](https://github.com/logos-co/logos-web/issues/112) Install Basecamp is throught web wrongly implemented +- [logos-co/logos-web#238](https://github.com/logos-co/logos-web/pull/238) feat(web): renew Basecamp landing page ### RFP and Lambda Prize landing page updates @@ -241,3 +247,5 @@ Create dedicated roadmap tasks when a request grows into a substantial project. - [logos-co/logos-web#232](https://github.com/logos-co/logos-web/issues/232) Improve blog article templates with a standard Basecamp CTA and bespoke content blocks - [logos-co/logos-web#220](https://github.com/logos-co/logos-web/issues/220) Local events Newsletter - [logos-co/logos-web#224](https://github.com/logos-co/logos-web/pull/224) feat(web): local events newsletter signup rules +- [logos-co/logos-web#248](https://github.com/logos-co/logos-web/pull/248) fix(web): load calendar events dynamically +- [logos-co/logos-web#241](https://github.com/logos-co/logos-web/pull/241) feat: city autocomplete in the footer and funnel forms diff --git a/content/web/status/2026q4-status-website.md b/content/web/status/2026q4-status-website.md index d27f67fa9c..1c30f2d37d 100644 --- a/content/web/status/2026q4-status-website.md +++ b/content/web/status/2026q4-status-website.md @@ -38,6 +38,8 @@ Investigate production failures and ship necessary hotfixes, coordinating shared - [status-im/status-web#1327](https://github.com/status-im/status-web/pull/1327) fix(deps): bump next, sharp and next-intl for security advisories - [status-im/status-web#1330](https://github.com/status-im/status-web/pull/1330) fix(deps): patch next/font for extensionless google font urls - [status-im/status-web#1329](https://github.com/status-im/status-web/pull/1329) fix(community-dapp): install forge directly in vercel build +- [status-im/status-web#1332](https://github.com/status-im/status-web/pull/1332) chore: prepare OSS Scanner enrollment +- [status-im/status-web#1337](https://github.com/status-im/status-web/pull/1337) chore(community-subgraph): remove dead subgraph package ### Website revamp: UI design and copy update diff --git a/content/weeklies/2026-10-26.md b/content/weeklies/2026-10-26.md new file mode 100644 index 0000000000..c55bd8b87c --- /dev/null +++ b/content/weeklies/2026-10-26.md @@ -0,0 +1,405 @@ +--- +title: 2026-10-26 IFT-TS weekly +tags: + - vac-updates +date: 2026-10-26 +lastmod: 2026-10-26 +draft: false +--- + +## IFT-TS 2026/10/26 + +### top highlights + +- TKE team finalized model parameters for privacy work with the Blockchain team. +- BI team upgraded the Status engagement bot SDK. + +### team highlights + +- BI: Updated the Logos communication funnel dashboard from feedback. +- BI: Building a Movement Team dashboard from CRM data. +- BI: Extracted and analysed Keycard OpenAI ads data. +- BI: Working on cross-chain swaps in the Status wallet. +- BI: Upgraded the Status engagement bot SDK. +- DST: Built a Logos Storage experiment using Mix. +- DST: Investigated Status message delays and MVDS behaviour. +- DST: Improved P2P lab-run logs and summaries. +- DST: Ran Logos Delivery Messaging API baselines with 100 and 1,000 nodes. +- NIM: Fixed nimlangserver workspace races. +- NIM: Fixed a nim-taskpools regression affecting garbage-collected task results. +- NIM: Wrote the second nim-lint specification and implemented initial features. +- P2P: Advanced nim-lsquic to 0.11.3. +- P2P: Added GossipSub topic-stream transport and lifecycle handling. +- P2P: Completed scheduled network-lab runs that open issues when nodes fail. +- P2P: Added 48-hour Nimbus health checks on the Hoodi fleet for labelled PRs. +- P2P: Added experimental Waggle object dissemination and Rust interoperability in an open PR. +- P2P: Fixed nim-ffi dispatch when a listener is removed during its callback. +- QA: Reported Logos Blockchain missing signature validation check. +- QA: Expanded Basecamp repository-management tests. +- QA: Added Status desktop community-token tests. +- QA: Checked Status mobile 2.39.2 swaps and bridges on iOS; both passed. +- QA: Added status-go community-token tests. +- QA: Ran Basecamp 0.3.0 release checks on macOS and Linux. +- SEC: Enrolled multiple repos into Anthropic oss scanner program. +- SEC: Flagged the go-sqlcipher branch pin during security review. +- SEC: Prepared LEZ external audit scope doc. +- SEC: Recommended replacing the LEZ referral program’s trusted oracle with an on-chain vote. +- SEC: Followed up Logos Messaging audit findings; fixes remain outstanding. +- TKE: Continued collecting Logos token value-accrual data. +- TKE: Formalized a project-management approach for the liquidity working group. +- TKE: Proposed a decay rate for indirect validator referrals. +- TKE: Finalized model parameters for privacy work with the Blockchain team. +- TKE: Reviewed liquid-staking parameters. +- WEB: Advanced the Basecamp landing-page redesign with responsive layouts. +- WEB: Added the Logos zine catalogue and PDF readers. +- WEB: Completed redirects from blog.logos.co to logos.co/media. +- WEB: Advanced admin-acid security hardening in an open PR. +- WEB: Fixed AI documentation sync requests for Web team reviews. +- WEB: Deployed local-event emails to city subscribers. + +### ift-ts:bi: + +- [`ift-ts:bi:logos:2026q4-logos-communication-funnel`](/bi/logos/2026q4-logos-communication-funnel#logos-communication-funnel) + - Updated the dashboard according to feedback. + - Working on improving YouTube data extraction. +- [`ift-ts:bi:logos:2026q4-logos-circle-crm-upgrade`](/bi/logos/2026q4-logos-circle-crm-upgrade#logos-circle-crm-upgrade) + - Working on a Movement Team dashboard based on CRM data. +- [`ift-ts:bi:keycard:2026q4-keycard-continuous-monitoring:openai-ads`](/bi/keycard/2026q4-keycard-continuous-monitoring#keycard-continuous-monitoring) + - Extracted and analysed OpenAI ads data. +- [`ift-ts:bi:status:2026q4-status-sdb-upgrade`](/bi/status/2026q4-status-sdk-hermes-intergration#status-sdk-hermes-integration) (deduced) + - Working on cross-chain swap functionality in the wallet. +- [`ift-ts:bi:status:2026q4-status-engagement-bot-upgrade`](/bi/status/2026q4-status-engagement-bot-upgrade#status-engagmement-bot-upgrade) + - Upgraded the SDK version and improved the general structure. + +### ift-ts:dst: + +- `other notes` + - Task tracking and reviews + - [chore(dst): add messaging api task #544](https://github.com/iftech/roadmap/pull/544) + - messaging-annoncoms offsite + - Discuss with messaging + - Priorities: Messaging API -> v0.40 regression -> chat -> store sync + - Discuss with annoncoms + - Comparison vs discv5 using messaging + - Discuss with storage + - Mix can be added in storage scenarios + - Implemented storage scenario example + - Discovered non intended behavior in the code + - [Discord Thread](https://discord.com/channels/973324189794697286/1563111281630904390/1563111284990410835) + - Discuss with status about benchmarks +- [`ift-ts:dst:logos:2026q4-storage-evaluation:filesharing-client-mix`](/dst/logos/2026q4-storage-evaluation#filesharing-client--mix) + - Implemented new scenario using storage and mix + - [Github Branch: Storage](https://github.com/iftech/10ksim/tree/Alberto/storage) + - Refactor requester to enable utilities needed for storage scenario + - [Github Branch: Pod-api-requester storage](https://github.com/iftech/pod-api-requester) +- [`ift-ts:dst:status:2026q4-status-evaluation:reliability`](/dst/status/2026q4-status-evaluation#reliability) + - Talked with Jo about observed delays + - Investigated MVDS behavior and envelopes + - [Github PR: Add plots #47](https://github.com/iftech/status-benchmarks/pull/47) +- [`ift-ts:dst:ift:2026q4-libp2p-evaluation:automatic-reporting`](/dst/ift/2026q4-libp2p-evaluation#automatic-reporting) + - Added the P2P team's second round of requests: log files named after the nodes, clearer run summary wording, and an optional tag that switches the image of every group. + - [Github PR: run-nodes: name log files after nodes and reword the summary](https://github.com/iftech/10ksim/pull/447) (merged) + - [Github PR: run-nodes: optional tag that replaces every group's image tag](https://github.com/iftech/10ksim/pull/448) (merged) +- [`ift-ts:dst:logos:2026q4-messaging-evaluation:messaging-api`](/dst/logos/2026q4-messaging-evaluation#messaging-api--general-availability) + - Built an experiment that drives the logos delivery node only through its Messaging API. + - [Github PR: logos-messaging: experiment for the logos delivery Messaging API](https://github.com/iftech/10ksim/pull/449) (merged) + - [Github PR: logos-messaging: post-run analysis](https://github.com/iftech/10ksim/pull/450) (merged) + - Added a Messaging API send route to pod-api-requester. + - [Github PR: Messaging send route for the logos delivery Messaging API](https://github.com/iftech/pod-api-requester/pull/12) (merged) + - Stopped pod-api-requester from sending a body with GET requests, which made the node cut some of its responses. + - [Github PR: Send no body on GET when params are empty](https://github.com/iftech/pod-api-requester/pull/11) (open) + - Ran the Messaging API baseline with 100 and then 1000 nodes, and drafted the results report. + - Added the standard bandwidth, memory and connection plots to the Messaging API analysis. + - [Github PR: logos-messaging: scrape metrics and draw the standard plots over the sending window](https://github.com/iftech/10ksim/pull/452) (open) + +### ift-ts:nim: + +- [`ift-ts:nim:ift:2026q4-nim-core-libs:nimlangserver`](/nim/ift/2026q4-nim-core-libs#nimlangserver-improvements) + - [nim-lang/langserver#496](https://github.com/nim-lang/langserver/pull/496) Check project after external edit + - [nim-lang/langserver#495](https://github.com/nim-lang/langserver/pull/495) Fix restart nimsuggest on configuration changes + - [nim-lang/langserver#494](https://github.com/nim-lang/langserver/pull/494) Fix workspace race conditions + - [nim-lang/langserver#493](https://github.com/nim-lang/langserver/pull/493) Avoid showing chk file result for an old file edit + - [nim-lang/langserver#498](https://github.com/nim-lang/langserver/pull/498) Lazy nimble project resolve + - [nim-lang/Nim#26494](https://github.com/nim-lang/Nim/pull/26494) nimsuggest2: thin proxy that runs each query as a one-shot IC process (PoC) +- [`ift-ts:nim:ift:2026q4-nim-core-libs:maintenance`](/nim/ift/2026q4-nim-core-libs#maintenance) + - [status-im/nim-taskpools#75](https://github.com/status-im/nim-taskpools/pull/75) Fix #67; "Allow GC type task result" regression + - [status-im/nim-taskpools#76](https://github.com/status-im/nim-taskpools/pull/76) CI speed up + - [status-im/nim-taskpools#77](https://github.com/status-im/nim-taskpools/pull/77) Workaround data race in `example` thread join + - [status-im/nimbus-common-workflow#37](https://github.com/status-im/nimbus-common-workflow/pull/37) Add `nim/doc` & `nim/tools` to cache + - Chronos: Do not run examples against Nim 1.6 + - [PR](https://github.com/status-im/nim-chronos/pull/730) +- [`ift-ts:nim:ift:2026q4-nim-core-libs:nim-lint`](/nim/ift/2026q4-nim-core-libs#nim-lint) + - Wrote spec and prototype v1, got a lot of comments from vladika (and some from arnethduck and tersec) + - [PR](https://github.com/iftech/nim-lint/pull/1) + - Wrote spec v2. + - Implemented initial features in this design, including skipPaths. + +### ift-ts:p2p: + +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-topic-streams`](/p2p/ift/2026q4-nimlibp2p-gossipsub-topic-streams#negotiation-and-stream-lifecycle) + - [iftech/nim-libp2p#3327](https://github.com/iftech/nim-libp2p/pull/3327) test(gossipsub): add topic streams interoperability + - [iftech/nim-libp2p#3273](https://github.com/iftech/nim-libp2p/pull/3273) feat(gossipsub): harden topic stream lifecycle + - [iftech/nim-libp2p#3271](https://github.com/iftech/nim-libp2p/pull/3271) feat(gossipsub): add topic stream transport + - [iftech/nim-libp2p#3272](https://github.com/iftech/nim-libp2p/pull/3272) feat(gossipsub): integrate topic streams +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-maintenance`](/p2p/ift/2026q4-nimlibp2p-maintenance#general-maintenance) + - [iftech/nim-libp2p#3334](https://github.com/iftech/nim-libp2p/pull/3334) test: remove superfluous tests and fix tests that could not fail + - [iftech/nim-lsquic#186](https://github.com/iftech/nim-lsquic/pull/186) chore(lsquic): update upstream and bump version to 0.11.3 + - [iftech/nim-libp2p#3302](https://github.com/iftech/nim-libp2p/pull/3302) feat(opt): compare options with plain values + - [status-im/nimbus-eth2#9340](https://github.com/status-im/nimbus-eth2/pull/9340) chore: bump nim-libp2p and nim-boringssl + - [iftech/nim-lsquic#185](https://github.com/iftech/nim-lsquic/pull/185) refactor(udp): use Chronos direct datagram I/O + - [status-im/nim-chronos#752](https://github.com/status-im/nim-chronos/pull/752) feat(datagram): add synchronous receive delivery and direct batch sends + - [iftech/nim-libp2p#3313](https://github.com/iftech/nim-libp2p/pull/3313) refactor(transport): retry recoverable accept failures internally + - [iftech/nim-libp2p#3301](https://github.com/iftech/nim-libp2p/pull/3301) fix(crypto): adjust shuffle index sampling + - [iftech/nim-libp2p#3299](https://github.com/iftech/nim-libp2p/pull/3299) fix(gossipsub): use configured PX acceptance threshold + - [iftech/nim-libp2p#3321](https://github.com/iftech/nim-libp2p/pull/3321) chore(deps): update nim-boringssl to 0.0.14 + - [iftech/nim-boringssl#25](https://github.com/iftech/nim-boringssl/pull/25) chore(boringssl): update submodule and bindings + - [iftech/boringssl#11](https://github.com/iftech/boringssl/pull/11) chore: sync BoringSSL upstream + - [iftech/nim-libp2p#3294](https://github.com/iftech/nim-libp2p/pull/3294) fix(tor): align accept handling with TCP + - [iftech/nim-libp2p#3295](https://github.com/iftech/nim-libp2p/pull/3295) fix(pubsub): initialize message sequence counters + - [iftech/nim-libp2p#3292](https://github.com/iftech/nim-libp2p/pull/3292) fix(protobuf): enforce duration bounds + - [iftech/nim-libp2p#3290](https://github.com/iftech/nim-libp2p/pull/3290) fix(asn1): validate one-byte bit string length + - [iftech/nim-libp2p#3289](https://github.com/iftech/nim-libp2p/pull/3289) fix(asn1): refine length validation + - [iftech/nim-libp2p#3300](https://github.com/iftech/nim-libp2p/pull/3300) fix(wstransport): validate dial hostnames + - [iftech/nim-libp2p#3291](https://github.com/iftech/nim-libp2p/pull/3291) fix(cid): validate decoded input + - [iftech/nim-libp2p#3298](https://github.com/iftech/nim-libp2p/pull/3298) fix(multihash): refine digest comparison + - [iftech/nim-libp2p#3296](https://github.com/iftech/nim-libp2p/pull/3296) fix(crypto): bound RSA public key parameters + - [iftech/nim-libp2p#3293](https://github.com/iftech/nim-libp2p/pull/3293) fix(dialer): refine dnsaddr result selection + - [iftech/nim-libp2p#3297](https://github.com/iftech/nim-libp2p/pull/3297) fix(gossipsub): normalize bandwidth timing estimates + - [iftech/nim-libp2p#3336](https://github.com/iftech/nim-libp2p/pull/3336) chore: delete .opencodereview/rule.json + - [iftech/nim-libp2p#3314](https://github.com/iftech/nim-libp2p/pull/3314) chore: utilize `stepsAsync` + - [iftech/nim-libp2p#3311](https://github.com/iftech/nim-libp2p/pull/3311) fix(protobuf): reject out-of-range Duration on decode + - [iftech/nim-libp2p#3305](https://github.com/iftech/nim-libp2p/pull/3305) fix(tests): copy lent loop variable before asyncTest closure in test_ping + - [iftech/nim-libp2p#3284](https://github.com/iftech/nim-libp2p/pull/3284) fix(kad): cap provider addresses and record keys + - [litespeedtech/lsquic#699](https://github.com/litespeedtech/lsquic/pull/699) Fix: send keepalive PINGs when no stream is open + - [iftech/nim-libp2p#3281](https://github.com/iftech/nim-libp2p/pull/3281) fix(kad): narrow getProviders raises to CancelledError + - [iftech/nim-libp2p#3316](https://github.com/iftech/nim-libp2p/pull/3316) fix(rdv): replace a repeat registration in place + - [iftech/nim-libp2p#3322](https://github.com/iftech/nim-libp2p/pull/3322) fix(tests): copy lent loop variable in accept retry test + - [iftech/nim-libp2p#3306](https://github.com/iftech/nim-libp2p/pull/3306) chore(cbind): complete release waiters before stop + - [iftech/nim-libp2p#3328](https://github.com/iftech/nim-libp2p/pull/3328) fix: four flaky CI tests and a silent nasm install failure + - [iftech/nim-libp2p#3330](https://github.com/iftech/nim-libp2p/pull/3330) fix(autonat): cancel and await in-flight probes on stop + - [iftech/nim-libp2p#3331](https://github.com/iftech/nim-libp2p/pull/3331) fix(autonat): reset reachability state on stop + - [iftech/nim-libp2p#3333](https://github.com/iftech/nim-libp2p/pull/3333) fix(cbind): time out stream reads and allow one read per stream + - [iftech/nim-libp2p#3315](https://github.com/iftech/nim-libp2p/pull/3315) fix(identify): cap addresses and protocols per message + - [iftech/nim-libp2p#3312](https://github.com/iftech/nim-libp2p/pull/3312) fix(switch): restore listen addresses after a failed start + - [iftech/nim-libp2p#3310](https://github.com/iftech/nim-libp2p/pull/3310) fix(chronosstream): never cancel a pending transport write + - [iftech/nim-libp2p#3317](https://github.com/iftech/nim-libp2p/pull/3317) perf(zeroqueue): copy partial reads in place + - [iftech/nim-libp2p#3282](https://github.com/iftech/nim-libp2p/pull/3282) chore(kad): return LPResult from ping + - [iftech/nim-libp2p#3285](https://github.com/iftech/nim-libp2p/pull/3285) chore(result): const error causes + - [iftech/nim-libp2p#3286](https://github.com/iftech/nim-libp2p/pull/3286) chore(result): TLS certificate parse returns Result + - [iftech/roadmap#542](https://github.com/iftech/roadmap/pull/542) fix(p2p): Result PR list, end-date and nim-libp2p repo links +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-gossipsub-byte-queues:byte-limits`](/p2p/ift/2026q4-nimlibp2p-gossipsub-byte-queues#byte-accounting-and-limits) + - [iftech/nim-libp2p#3255](https://github.com/iftech/nim-libp2p/pull/3255) feat(gossipsub): add per-priority outbound byte budgets +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-waggle`](/p2p/ift/2026q4-nimlibp2p-maintenance#general-maintenance) (deduced) + - [iftech/nim-libp2p#3335](https://github.com/iftech/nim-libp2p/pull/3335) feat(waggle): add experimental object dissemination and Rust interop +- [`ift-ts:p2p:ift:2026q4-dst-automated-workflow`](/p2p/ift/2026q4-dst-automated-workflow#lab-deployment-and-regression-runs) + - Completed the workflow infrastructure: scheduled runs create an issue when nodes fail. + - demonstration when node fails [issue#9](https://github.com/iftech/nim-libp2p-network-lab/issues/9), [issue#8](https://github.com/iftech/nim-libp2p-network-lab/issues/8), [issue#7](https://github.com/iftech/nim-libp2p-network-lab/issues/7) + - no issue is created when nodes complete without failure +- `other notes` + - Reviewed the [nim-lint prototype](https://github.com/iftech/nim-lint/pull/1). +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-nimbus-downstream-ci`](/p2p/ift/2026q4-nimlibp2p-nimbus-downstream-ci#nimbus-build-for-a-nim-libp2p-commit) + - [iftech/nim-libp2p#3280](https://github.com/iftech/nim-libp2p/pull/3280) fix(gossipsub): send preamble only to peers not already receiving + - [iftech/nim-libp2p#3250](https://github.com/iftech/nim-libp2p/pull/3250) feat(gossipsub): cap concurrent validations per peer + - [iftech/nim-libp2p#3324](https://github.com/iftech/nim-libp2p/pull/3324) ci: 48h health soak of test-nimbus PRs on the hoodi fleet + - [iftech/nim-libp2p#3269](https://github.com/iftech/nim-libp2p/pull/3269) ci: test PRs on nimbus-eth2 and the hoodi fleet with the test-nimbus label +- [`ift-ts:p2p:ift:2026q4-nimffi-maintenance`](/p2p/ift/2026q4-logos-delivery-consulting#consulting) + - [logos-messaging/nim-ffi#123](https://github.com/logos-messaging/nim-ffi/pull/123) feat(codegen): generated C sync/blocking wrappers + Rust e2e suite + - [logos-messaging/nim-ffi#249](https://github.com/logos-messaging/nim-ffi/pull/249) fix: skip a listener removed during its dispatch + - [logos-messaging/nim-ffi#250](https://github.com/logos-messaging/nim-ffi/pull/250) fix: destroy from inside a callback fails fast + - Reviewing PRs +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-kademlia-provider-storage`](/p2p/ift/2026q4-nimlibp2p-kademlia-provider-storage#storage-interface) + - [iftech/nim-libp2p#3288](https://github.com/iftech/nim-libp2p/pull/3288) refactor(kad): distinct RecordKey type for value records + - [iftech/nim-libp2p#3332](https://github.com/iftech/nim-libp2p/pull/3332) chore(kad): store provider expiry as wall-clock time + - [iftech/nim-libp2p#3318](https://github.com/iftech/nim-libp2p/pull/3318) fix(kad): cap provider records per peer +- [`ift-ts:p2p:ift:2026q4-nimlibp2p-kademlia-auto-mode`](/p2p/ift/2026q4-nimlibp2p-kademlia-auto-mode#role-transition-timing-and-stability) + - [iftech/nim-libp2p#3319](https://github.com/iftech/nim-libp2p/pull/3319) chore(kad): auto mode transition policy + - [iftech/nim-libp2p#3329](https://github.com/iftech/nim-libp2p/pull/3329) test(kad): fixed modes ignore reachability changes + +### ift-ts:qa: + +- [`ift-ts:qa:logos:2026q4-source-code-level-qa:system-prototype`](/qa/logos/2026q4-source-code-level-qa#system-prototype) + - [feat: cron jobs, the tick, and the triggers that keep a PR green](https://github.com/iftech/bork/pull/2) + - [feat: bork top, a full-screen view over one shared snapshot](https://github.com/iftech/bork/pull/3) + - [fix: source as a bundle, claimed briefs and collects, delivery by stage](https://github.com/iftech/bork/pull/4) + - [feat: per-session model and an effort knob](https://github.com/iftech/bork/pull/5) + - Logos-blockchain `audit-spec` run - [21/53 parts](https://app.notion.com/p/v0-3-0-3fb8f96fb65c81b29b0af74f0c8a3de0) done. + - [Validation rule "ZkSignature by public_key over mantle_txhash" is never checked. (F-dd99b3f2)](https://github.com/logos-blockchain/logos-blockchain/issues/3911) + - Bork can now run concurrent input consoles and jobs; tested two of each, limited by hardware. + - Opus 5.5 Max tested for audit-spec scan phase -> cost reduced, time went up, quality held. +- [`ift-ts:qa:logos:2026q4-logos-basecamp:mcp-tests`](/qa/logos/2026q4-logos-basecamp#mcp-tests) + - [Test/MCP UI module inspector interface view for a method-less module](https://github.com/logos-co/logos-basecamp/pull/511) + - [Test/MCP UI repositories invalid URL shows a dismissible error banner](https://github.com/logos-co/logos-basecamp/pull/512) + - [Test/MCP UI repositories unreachable URL is refused with a fetch error](https://github.com/logos-co/logos-basecamp/pull/513) + - [Test/MCP UI repositories whitespace is rejected and a duplicate is a no-op](https://github.com/logos-co/logos-basecamp/pull/516) + - [Test/MCP UI repositories refresh flips the button label](https://github.com/logos-co/logos-basecamp/pull/517) + - [Test/MCP UI repositories cancel on remove default repository keeps it](https://github.com/logos-co/logos-basecamp/pull/518) + - [Test/MCP UI window Cmd+M minimize action is wired (macOS)](https://github.com/logos-co/logos-basecamp/pull/519) + - [Test/MCP UI window hide-to-tray and restore preserves open docks](https://github.com/logos-co/logos-basecamp/pull/520) + - [Test/MCP UI apps inspector unloading the visible app closes its dock](https://github.com/logos-co/logos-basecamp/pull/521) + - [fix: Optimize A suite UI tests](https://github.com/logos-co/logos-basecamp/pull/524) +- [`ift-ts:qa:logos:2026q4-lez-sequencing:cucumber-tests`](/qa/logos/2026q4-lez-sequencing#cucumber-tests) + - [test: Chained-caller and second-mover test prerequisites](https://github.com/logos-blockchain/logos-execution-zone/pull/792) +- [`ift-ts:qa:logos:2026q4-lez-fuzz-testing:framework-maintenance`](/qa/logos/2026q4-lez-fuzz-testing#framework-maintenance) + - [chore: automated weekly corpus update- #40](https://github.com/logos-blockchain/lez-fuzzing/pull/40) +- [`ift-ts:qa:logos:2026q4-messaging-testing:maintenance`](/qa/logos/2026q4-messaging-testing#maintenance) + - [logos-co/logos-logoscore-py#34](https://github.com/logos-co/logos-logoscore-py/pull/34) feat(docker): pass env vars to the daemon container + - [logos-co/logos-logoscore-py#35](https://github.com/logos-co/logos-logoscore-py/pull/35) feat(logosctl): a docker smoke image for LogosctlDockerDaemon + - [logos-co/logos-delivery-module#170](https://github.com/logos-co/logos-delivery-module/pull/170) test(e2e): nodes with RLN on, tests without membership + - [logos-co/logos-delivery-module#171](https://github.com/logos-co/logos-delivery-module/pull/171) test(e2e): tests with RLN membership + - [logos-co/logos-delivery-module#175](https://github.com/logos-co/logos-delivery-module/pull/175) test(e2e): logosctl instead of logoscore + - [logos-co/logos-delivery-module#177](https://github.com/logos-co/logos-delivery-module/pull/177) test(e2e): fleet + - [logos-messaging/logos-delivery#4610](https://github.com/logos-messaging/logos-delivery/issues/4610) bug: a node with an RLN plugin dials its static nodes only once the host answers the startup membership check + - [logos-messaging/logos-delivery#4612](https://github.com/logos-messaging/logos-delivery/pull/4612) test: reproduction for #4610 + - [logos-messaging/logos-delivery#4615](https://github.com/logos-messaging/logos-delivery/pull/4615) test: refactor anvil setup + - [logos-messaging/logos-delivery#4614](https://github.com/logos-messaging/logos-delivery/pull/4614) test(e2e): cleanup old rln code + - [logos-messaging/logos-delivery#4616](https://github.com/logos-messaging/logos-delivery/pull/4616) test(e2e): bump python bindings +- [`ift-ts:qa:status:2026q4-status-go-functional-testing:maintenance`](/qa/status/2026q4-status-go-functional-testing#maintenance) + - [status-im/status-go#7965](https://github.com/status-im/status-go/pull/7965) fix(functional-tests): time out the backend health check +- [`ift-ts:qa:status:2026q4-status-go-functional-testing:coverage`](/qa/status/2026q4-status-go-functional-testing#functional-test-coverage) + - [status-im/status-go#7956](https://github.com/status-im/status-go/pull/7956) test(functional): functional tests thread RPCs + - [status-im/status-go#7964](https://github.com/status-im/status-go/pull/7964) test(functional): payment request tests + - [status-im/status-go#7942](https://github.com/status-im/status-go/pull/7942) test(functional): cover community token mint, airdrop, and burn + - Reviewed the week's status-go changes; filed 7 bugs, [#7972](https://github.com/status-im/status-go/issues/7972) to [#7978](https://github.com/status-im/status-go/issues/7978) + - [status-im/status-go#7969](https://github.com/status-im/status-go/pull/7969) test(functional): cover thread permission, reaction control and participants +- [`ift-ts:qa:status:2026q4-status-qa-desktop:maintenance`](/qa/status/2026q4-status-qa-desktop#maintenance) + - [status-im/status-app#22918](https://github.com/status-im/status-app/pull/22918) tests: fix payment request + - [status-im/status-app#22930](https://github.com/status-im/status-app/pull/22930) chore(@e2e): fix benchmarks script to correctly push to repo + - [status-im/status-app#22916](https://github.com/status-im/status-app/pull/22916) chore(@e2e): fix network selection + - [status-im/status-app#22890](https://github.com/status-im/status-app/pull/22890) test(e2e): align emoji reads with StatusEmoji and pick from catalog +- [`ift-ts:qa:status:2026q4-status-qa-desktop:new-tests`](/qa/status/2026q4-status-qa-desktop#new-tests) + - [status-im/status-app#22904](https://github.com/status-im/status-app/pull/22904) test(e2e): add spell check tests + - [status-im/status-app#22828](https://github.com/status-im/status-app/pull/22828) tests(@e2e): community token actions +- [`ift-ts:qa:status:2026q4-status-qa-desktop:release-testing`](/qa/status/2026q4-status-qa-desktop#release-testing) + - [status-im/status-app#22888](https://github.com/status-im/status-app/issues/22888) Activity centre panel animation is slow + - [status-im/status-go#7946](https://github.com/status-im/status-go/pull/7946) fix: wait for a community token row before applying its deploy receipt + - [status-im/status-app#22905](https://github.com/status-im/status-app/issues/22905) Deterministic handling of community token deploy receipts (remove retry race) + - [status-im/status-app#22875](https://github.com/status-im/status-app/pull/22875) chore(@qml): fix http stats test + - [status-im/status-app#22870](https://github.com/status-im/status-app/pull/22870) feat: move activity centre to the top of the navigation list + - [status-im/status-app#22863](https://github.com/status-im/status-app/issues/22863) Erase all notifications and delete individual notification in Activity Centre +- [`ift-ts:qa:status:2026q4-status-qa-mobile:release-testing`](/qa/status/2026q4-status-qa-mobile#release-testing) + - Reviewed the week's app changes; filed 13 bugs, [#22938](https://github.com/status-im/status-app/issues/22938) to [#22950](https://github.com/status-im/status-app/issues/22950) + - Checked 2.39.2 on iOS: swap and bridge pass; filed [#22897](https://github.com/status-im/status-app/issues/22897) [#22898](https://github.com/status-im/status-app/issues/22898) + - Filed 4 Threads bugs and an Android crash: [#22901](https://github.com/status-im/status-app/issues/22901) [#22902](https://github.com/status-im/status-app/issues/22902) [#22903](https://github.com/status-im/status-app/issues/22903) [#22909](https://github.com/status-im/status-app/issues/22909) [#22910](https://github.com/status-im/status-app/issues/22910) + - Updated the Threads QA tree [#22527](https://github.com/status-im/status-app/issues/22527) to the product lead's answers + - [status-im/status-app#22936](https://github.com/status-im/status-app/issues/22936) [QA - Mobile] Share screen lists chats by the user's last send, not by the latest message + - [status-im/status-app#22801](https://github.com/status-im/status-app/issues/22801) [QA - Android] Sharing a HEIC photo to Status shows "Format not supported" and attaches nothing +- [`ift-ts:qa:status:2026q4-status-qa-mobile:coverage`](/qa/status/2026q4-status-qa-mobile#coverage-for-existing-features) + - [status-im/status-app#22849](https://github.com/status-im/status-app/pull/22849) test(e2e_appium): share to Status on Android — first Q4 coverage PR merged +- [`ift-ts:qa:status:2026q4-status-qa-mobile:maintenance`](/qa/status/2026q4-status-qa-mobile#maintenance) + - Traced the nightly #314 red to a BrowserStack restart, not the app + - [status-im/status-app#22926](https://github.com/status-im/status-app/pull/22926) test(e2e_appium): fail fast when the Appium session is gone + - [status-im/status-app#22934](https://github.com/status-im/status-app/pull/22934) test(e2e_appium): check the emoji itself in emoji message tests +- [`ift-ts:qa:status:2026q4-status-qa-mobile:framework`](/qa/status/2026q4-status-qa-mobile#framework-improvements) + - [status-im/status-app#22808](https://github.com/status-im/status-app/pull/22808) test(e2e_appium): run the gate on the iOS simulator +- [`ift-ts:qa:logos:2026q4-logos-basecamp:release-validation`](/qa/logos/2026q4-logos-basecamp#release-validation) + - Ran the 0.3.0 release set on macOS and Linux against a checklist + - [logos-co/logos-logoscore-cli#190](https://github.com/logos-co/logos-logoscore-cli/pull/190) [#191](https://github.com/logos-co/logos-logoscore-cli/pull/191) [#192](https://github.com/logos-co/logos-logoscore-cli/pull/192) logosctl fixes: corrupt tokens.json, expiry dates, download --root-hash + - [logos-co/logos-logoscore-cli#194](https://github.com/logos-co/logos-logoscore-cli/issues/194) `package install --root-hash` is accepted but never used + - [logos-co/logos-storage-module#111](https://github.com/logos-co/logos-storage-module/issues/111) Storage data is always under `$HOME/.logos_storage` + +### ift-ts:sec: + +- `ift:2026q4-ssdlc:pr-security-reviews` + - Wallet token backend replaced by a Nim library ([#7900](https://github.com/status-im/status-go/pull/7900)–[#7912](https://github.com/status-im/status-go/pull/7912), [#22733](https://github.com/status-im/status-app/pull/22733)); `go-sqlcipher` branch pin ([#7849](https://github.com/status-im/status-go/pull/7849)) flagged; Argon2 cost settings checked ([#7889](https://github.com/status-im/status-go/pull/7889)) + - Debug features checked for release-build gating: pprof ([#7879](https://github.com/status-im/status-go/pull/7879)) and HTTP stats ([#7897](https://github.com/status-im/status-go/pull/7897)); mention changes ([#22770](https://github.com/status-im/status-app/pull/22770)) checked for spam risk + - Design review of new repos: the logos-co signer stack, Bitcoin/Zcash wallets, [nim-qrscan](https://github.com/status-im/nim-qrscan), [bi-webhook-server](https://github.com/status-im/bi-webhook-server) +- `ift:2026q4-tr-wallet-security:treasury-multisig-review` + - Signed the treasury signer rotation key +- `ift:2026q4-ir-vulma:security-incidents` + - Keystone data-leak advisory: the risk is targeted phishing (fake replacement devices, "verify your wallet" letters), and Keystone never asks for a seed phrase. Posted in #Security on the Logos Discord +- `ift:2026q4-internal-audit:logos-messaging-security-review` + - Followed up the fixes - no fix yet +- `ift:2026q4-internal-audit:logos-blockchain-security-review` + - Discussed with dev team on the Anthropic oss scanner + - Enrolled by dev team in oss scanner: [PR](https://github.com/anthropics/oss-scanner/pull/1057) + - Setup a node for v0.3.2 +- `ift:2026q4-internal-audit:logos-execution-zone-security-review` + - Reviewed uplink: node referral program + - Provided feedback + - The trusted oracle is risky + - An on-chain k-of-n vote is recommended + - Reported findings at [Issue](https://github.com/logos-co/audit-reports/issues/264) + - Drafted a scope for LEZ: [Issue](https://github.com/logos-co/audit-reports/issues/263) + - Updated the threat model + +### ift-ts:tke: + +- `ift-ts:tke:logos-token:value-accrual` + - continued collecting the data +- `ift-ts:tke:liquidity:current-proposal` + - formalized a PM approach for liquidity work group +- `ift-ts:tke:community:node-program-validators` + - proposed another model + - proposed the decay rate for referrals of a referral +- `ift-ts:tke:privacy:empowering` + - several meetings with the Blockchain team + - finalized a parametrization of the model + - Meet with the Blockchain team again + - review latest work from Alexander +- `ift-ts:tke:security:liquid-staking` + - review parameters set by Alvaro +- `ift-ts:tke:liquidity:budget` + - Worked on framing the liquidity problem as constrained optimization. +- `ift-ts:tke:privacy:pptx` + - work on private trxs + +### ift-ts:web: + +- [`ift-ts:web:logos:2026q4-logos-website:basecamp-lp`](/web/logos/2026q4-logos-website#basecamp-landing-page-revamp) + - Renewed the Basecamp landing page: [PR](https://github.com/logos-co/logos-web/pull/238) + - Implemented deep links to the desktop app + - Rebuilt the page body to match the Figma design and copy at desktop width + - Kept the shared site header and footer, with Basecamp-only dark colours + - Added responsive tablet and mobile layouts while keeping automatic OS and architecture detection for the installation links + - Added the interactive Hero previews, stack paths, node walkthrough, app filters and developer code tabs + - Preview: [Preview](https://logos-co-web-git-web-basecamp-renewal-status-im-web.vercel.app/basecamp/) +- [`ift-ts:web:logos:2026q4-logos-website:logos-zine`](/web/logos/2026q4-logos-website#logos-zine) + - Added the Logos zine catalogue and PDF readers: [PR](https://github.com/logos-co/logos-web/pull/233) + - Made zine generation independent of system fonts, fixing the failed Jenkins build: [PR](https://github.com/logos-co/logos-web/pull/246) + - Live: [Logos zines](https://logos.co/zines) +- [`ift-ts:web:logos:2026q4-logos-media-migration:merge-readiness`](/web/logos/2026q4-logos-media-migration#complete-and-merge-the-media-migration-implementation) + - Completed the blog.logos.co => logos.co/media redirection with the infra team +- [`ift-ts:web:logos:2026q4-logos-website:maintenance`](/web/logos/2026q4-logos-website#maintenance) + - Refreshed the deployment ref before publishing, fixing the failed Jenkins publication: [PR](https://github.com/logos-co/logos-web/pull/247) +- [`ift-ts:web:ift:2026q4-maintenance:maintenance`](/web/ift/2026q4-maintenance#maintenance) + - Security: prepared logos-web and status-web for Anthropic OSS Scanner enrolment + - Prepared the offline OSS Scanner build for logos-web (API, CMS, CRM, demos and shared packages, with tests passing without network access): [PR](https://github.com/logos-co/logos-web/pull/237) + - Prepared the OSS Scanner build for status-web (wallet, connector, shared JavaScript package and community contracts), with documented security trust boundaries: [PR](https://github.com/status-im/status-web/pull/1332) + - Load calendar events dynamically: [PR](https://github.com/logos-co/logos-web/pull/248) + - Submitted the OSS Scanner enrolments with threat models for `logos-web` and `status-web`: [PR](https://github.com/anthropics/oss-scanner/pull/1050), [PR](https://github.com/anthropics/oss-scanner/pull/1049) + - `admin-acid.logos.co` + - Investigate and fix unreachable ghost API breaking all ghost interactions including newsletter subscription in production: [Discord thread](https://discord.com/channels/973324189794697286/1561775092537626717/1561775096060842067) + - Thorough review of the security upgrades pushed by Jinho: [GitHub review here](https://github.com/acid-info/admin-acid.logos.co/pull/90#pullrequestreview-5630271498) + - `logos-web & status-web mono-repos` + - Review & "fix" the docs. Example: missing `apps/api` project in the main README of `logos-web`. + - `logos-web`: [docs(repo): restructure docs layout for docs-sync](https://github.com/logos-co/logos-web/pull/242) & [docs(repo): rewrite docs for humans and agents](https://github.com/logos-co/logos-web/pull/243) + - `status-web`: [docs(repo): restructure docs layout for docs-sync](https://github.com/status-im/status-web/pull/1334) & [docs(repo): rewrite docs for humans and agents](https://github.com/status-im/status-web/pull/1335) + - `status-web monorepo` + - Remove dead code: [chore(community-subgraph): remove dead subgraph package](https://github.com/status-im/status-web/pull/1337) +- [`ift-ts:web:ift:2026q4-maintenance:security-audit`](/web/ift/2026q4-maintenance#maintenance) + - Hardened admin-acid.logos.co and added daily/weekly security audits: [PR](https://github.com/acid-info/admin-acid.logos.co/pull/90) + - Upgraded vulnerable dependencies and hardened the production container, PostgreSQL TLS and Redis ACLs + - Added daily dependency/runtime/vendor advisory checks and weekly/PR code, secret, configuration and container scans + - Hardened API authorization, CORS, request-size limits and webhook handling, while keeping password-guessing limits + - Fixed the CSV subscription flow so accepted uploads are parsed, queued and processed within explicit size limits + - Added 101 API tests and 21 security/advisory/development regression tests +- `other notes` + - Requested a security-patched MediaWiki test instance for the Logos wiki, including the PHP RCE patches disclosed on 21 October: [Issue](https://github.com/status-im/infra-sites/issues/175) +- [`ift-ts:web:ift:2026q4-ai-tooling:ai-docs-sync`](/web/ift/2026q4-ai-tooling#ai-docs-sync) + - Fix `ai-docs-sync` failing to ping `@web`: [fail run example](https://github.com/acid-info/admin-acid.logos.co/actions/runs/38878710216/job/116899932456) + - [fix(docs-sync): request web members by login](https://github.com/acid-info/admin-acid.logos.co/pull/87) / [fix(docs-sync): request web members by login](https://github.com/acid-info/ai-tools/pull/12) / [fix(docs-sync): request web members by login](https://github.com/logos-co/logos-web/pull/240) / [fix(docs-sync): request web members by login](https://github.com/status-im/status-web/pull/1333) + - Write docs in our house style: new prompts, style checks and a dash fallback: [feat(ai-docs-sync): write docs in the house style](https://github.com/acid-info/ai-tools/pull/17) + - Drop `--` from the rolling PR body and commit message: [refactor(ai-docs-sync): drop dashes from the pr body](https://github.com/acid-info/ai-tools/pull/18) + - Rewrite the tool's README and AGENTS.md: [docs(ai-docs-sync): apply the house style](https://github.com/acid-info/ai-tools/pull/19) +- [`ift-ts:web:ift:2026q4-ai-tooling:ai-review`](/web/ift/2026q4-ai-tooling#ai-review-maintenance-and-tuning) + - Restyle the prompts and posted text, drop dashes and emoji: [refactor(ai-review): restyle the reviewer and synthesis prompts](https://github.com/acid-info/ai-tools/pull/13) / [refactor(ai-review): drop dashes and emoji from posted reviews](https://github.com/acid-info/ai-tools/pull/15) + - Rewrite the tool's README and AGENTS.md: [docs(ai-review): apply the house style](https://github.com/acid-info/ai-tools/pull/16) +- [`ift-ts:web:ift:2026q4-ai-tooling:monorepo`](/web/ift/2026q4-ai-tooling#shared-ai-tooling-monorepo) + - Write the docs and prompts rules into the root AGENTS.md and README: [docs: apply the house style to the root docs](https://github.com/acid-info/ai-tools/pull/14) +- [`ift-ts:web:ift:2026q4-admin-acid:ad-hoc-requests`](/web/ift/2026q4-admin-acid#ad-hoc-requests) + - Push to production: [feat(local-events): email new Luma events to city subscribers via Ghost](https://github.com/acid-info/admin-acid.logos.co/pull/82) + - [feat(newsletters): only subscribe real cities to the Regional Newsletter](https://github.com/acid-info/admin-acid.logos.co/pull/86) + - [fix(local-events): paginate Ghost labels and newsletters](https://github.com/acid-info/admin-acid.logos.co/pull/89) +- [`ift-ts:web:logos:2026q4-logos-website:ad-hoc-features`](/web/logos/2026q4-logos-website#ad-hoc-features) + - [feat: city autocomplete in the footer and funnel forms](https://github.com/logos-co/logos-web/pull/241) +