# Contributor handoff — ReactiveX/rxjs

> Canonical page: https://codevetter.com/unpack/rxjs/agent-handoff

# Contributor handoff — ReactiveX/rxjs

Scanned commit 54796b38a57e6309f9861e174737479bb3f63f61 (2026-08-05). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Future work should start from the project charter and accepted decisions, then follow the smallest relevant runtime or tooling boundary. Tests and CI were inspected, not executed, and this bounded inventory does not prove exhaustive coverage or current gate success. The active plan, lifecycle distinctions, and source-pinned migration evidence are essential safeguards against reintroducing legacy assumptions.
- Read the charter, architecture, decisions, plan, and open questions in that order; read compatibility guidance for API or behavior changes. — [AGENTS.md#L7-L15](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/AGENTS.md#L7-L15)
- P6.10 remains NEXT pending actual beta publication/verification, package automation-token restrictions, and an immutable GitHub Release; inspected local preparation is not completion evidence for publication. — [docs/rxjs-next/PROJECT_PLAN.md#L3710-L3720](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/docs/rxjs-next/PROJECT_PLAN.md#L3710-L3720) [docs/rxjs-next/PROJECT_PLAN.md#L3735-L3736](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/docs/rxjs-next/PROJECT_PLAN.md#L3735-L3736)
- Preserve an existing realm Observable and platform string methods; public RxJS capabilities use exact imported Symbols, with accepted internal registry keys documented separately. — [AGENTS.md#L20-L35](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/AGENTS.md#L20-L35) [docs/rxjs-next/OPEN_QUESTIONS.md#L25-L42](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/docs/rxjs-next/OPEN_QUESTIONS.md#L25-L42)
- Do not port RxJS 7 assumptions mechanically: subscribe returns undefined, cancellation uses AbortSignal, producers register teardown explicitly, and platform teardown order is reversed insertion order. — [docs/rxjs-next/COMPATIBILITY.md#L50-L56](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/docs/rxjs-next/COMPATIBILITY.md#L50-L56)
- Use package scripts for later authorized verification: rxjs has source/ported Vitest, public types, installation/import checks, and migration freshness gates; polyfill has dedicated lifecycle and package checks. — [packages/rxjs/package.json#L26-L49](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/rxjs/package.json#L26-L49) [packages/observable-polyfill/package.json#L22-L27](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/observable-polyfill/package.json#L22-L27)
- Treat test definitions and CI wiring as inspected evidence only: native-unavailable mode substitutes a sentinel suite, Node 26 is advisory, and unit success alone cannot establish WPT conformance. — [packages/rxjs/vitest.ported.config.ts#L9-L25](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/rxjs/vitest.ported.config.ts#L9-L25) [.github/workflows/ci_main.yml#L45-L58](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/.github/workflows/ci_main.yml#L45-L58) [AGENTS.md#L74-L78](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/AGENTS.md#L74-L78)
- Update architecture documentation alongside changes to package boundaries, initialization, Symbol identity, lifecycle, realms, compatibility, exports, or test gates; record durable decisions and revise open questions. — [AGENTS.md#L58-L72](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/AGENTS.md#L58-L72)
- Keep apps/rxjs.dev outside the Next plan unless explicitly coordinated, and inspect migration preflight/refusal behavior before enabling project writes rather than treating dry-run output as automatic write authorization. — [docs/rxjs-next/PROJECT_CHARTER.md#L88-L91](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/docs/rxjs-next/PROJECT_CHARTER.md#L88-L91) [packages/migrate/src/cli.ts#L60-L70](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/migrate/src/cli.ts#L60-L70) [packages/migrate/src/node.ts#L138-L163](https://github.com/ReactiveX/rxjs/blob/54796b38a57e6309f9861e174737479bb3f63f61/packages/migrate/src/node.ts#L138-L163)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
