Back to Signal Feed
CodeTracked since May 19, 2026

Move notebooklm concrete session core to `_session` with compatibility shim in `_core`

The PR relocates the concrete orchestration implementation from `ClientCore` in `_core.py` to `Session` in `notebooklm/_session.py`, and converts `_core.py` into a compatibility re-export shim for legacy private imports.

SessionClientCore_core.py_session.py

What Happened

  • The PR relocates the concrete orchestration implementation from `ClientCore` in `_core.py` to `Session` in `notebooklm/_session.py`, and converts `_core.py` into a compatibility re-export shim for legacy private imports.
  • The PR relocates the concrete orchestration implementation from `ClientCore` in `_core.py` to `Session` in `notebooklm/_session.py`, and converts `_core.py` into a compatibility re-export shim for legacy private imports.
  • 1 evidence item attached for review.

What is Different

Before

Scattered source updates, isolated context, and manual follow-up across multiple feeds.

Now

Introduced a canonical internal implementation path (`_session.Session`) for session orchestration, updated package/docs/tests/fixtures/ADRs to reference it, and retained compatibility aliases and monkeypatch surfaces so existing private `_core` callers continue to work.

Why Track This

Why It Matters

Developers and integrators relying on internal notebooklm behavior can keep legacy private flows working while the team starts using a single canonical session implementation path, which reduces accidental breakage when making internal changes. Public behavior is unchanged for `NotebookLMClient`, so immediate user-facing risk is low, but teams should continue watching for remaining private imports to `_core` and any monkeypatch-dependent paths that could diverge as future refactors move fully to the new layering.

Impact

Developers and integrators relying on internal notebooklm behavior can keep legacy private flows working while the team starts using a single canonical session implementation path, which reduces accidental breakage when making internal changes. Public behavior is unchanged for `NotebookLMClient`, so immediate user-facing risk is low, but teams should continue watching for remaining private imports to `_core` and any monkeypatch-dependent paths that could diverge as future refactors move fully to the new layering.

What To Watch Next

  • Watch whether Session becomes a repeated pattern.
  • Track follow-up changes around AI Integration in IDEs.
  • Compare future signals against this evidence trail.
  • Re-check risk flags: private_core_alias_overuse, monkeypatch_dependency_regression.
Open Topic TimelineOpen Technical EventOpen Original Sourceprivate_core_alias_overuse / monkeypatch_dependency_regression / legacy_imports_not_migrated

Supporting Evidence