Skip to content

refactor!: restore package layering in src - #2244

Open
jackie-cqz wants to merge 15 commits into
oceanbase:masterfrom
jackie-cqz:fix/src-layering
Open

jackie-cqz wants to merge 15 commits into
oceanbase:masterfrom
jackie-cqz:fix/src-layering

Conversation

@jackie-cqz

@jackie-cqz jackie-cqz commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Which issue or RFC does this PR close?

No tracking issue. This follows up on the Artifact Processing Supervisor
(RFC 1515, #1523),
which replaced the APScheduler path removed here.

Rationale for this change

A static import scan of src/powercontext (module-level, deferred, and TYPE_CHECKING imports) found lower layers
importing upper ones:

Edge Imports before After
builtin → server 23 (16 deferred into function bodies) 1 (annotation-only TYPE_CHECKING)
builtin → client 1 0
server → cli 3 0
service → cli 3 0

The deferred imports hid a cross-layer cycle: server/processing_security.py imported the runtime composition root at
module level while the runtime imported it back inside functions. Separately, the in-process APScheduler activation
path stayed in the runtime after #1523 removed its only caller.

What changes are included in this PR?

Three commits that can be reviewed one at a time:

  1. refactor(runtime): remove the legacy APScheduler scheduling path

    • Delete builtin/runtime/scheduler.py, BuiltinRuntime.start_scheduler, ScheduledSourceProcessor,
      ScheduledExperienceProcessor, the access-scoped scheduled runners in server/factory.py, and the Scope
      enumeration helpers that only fed them, together with their tests.
    • scheduler_path on open_builtin_runtime and create_server_app is deprecated: it is ignored and emits a
      DeprecationWarning. powercontext.paths.default_scheduler_path is removed.
    • APScheduler stays a dependency because cron bindings parse expressions with CronTrigger.
    • In-repository callers (98 keyword arguments across tests, examples, and scripts) and docs no longer pass or
      describe the scheduler sidecar.
  2. refactor(authz)!: move access control into the built-in runtime

    • powercontext.server.authz → powercontext.builtin.authz. It already depended only on Core and built-in
      persistence.
    • Processing-child security (WorkerSecuritySpec, WorkerSecurity, open_worker_security) moves to
      builtin/authz/worker.py. build_worker_security stays in server/processing_security.py because it reads
      ServerSettings.
    • DreamAuthorization (builtin/authz/dream.py) holds the recorded-principal checks processing children need. The
      Server's DreamAccess subclass adds the request-principal Review checks and request IDs.
    • The powercontext code command moves to powercontext.cli.code; the entry point is updated and the command is
      unchanged.
  3. refactor: move shared helpers out of the cli and client packages

    • powercontext.cli.env_file → powercontext.env_file (standard library only).
    • powercontext.cli.inference_notice → powercontext.server.inference_notice.
    • Credential redaction primitives → powercontext.redaction; powercontext.client.capture keeps capture-event
      rendering and uses them.
  4. Merge branch 'master' (eleven merges): resolves conflicts with the reusable database upgrade framework
    (feat(migrations): complete the reusable database upgrade framework #2168), durable owner recovery (feat(authz): recover external owner writes from durable intents #2187), dedicated database provisioning (feat(storage): provision dedicated seekdb and oceanbase databases #2031), and the managed plugin
    framework (feat(artifact): add managed plugin framework and some example #2246), plus the v1.5.0 release preparation (chore(release): prepare v1.5.0 and refresh product screenshots #2395) and ownership migration when enabling
    enforcement (fix(access): support ownership migration when enabling enforcement #2304)

  5. test(release): import the access-control types the installed release ships

    • The upgrade acceptance runs tests/release_upgrades/authorization_fixture.py under each installed release's
      own interpreter, before and after migration. The path rewrite in commit 2 made it import
      powercontext.builtin.authz, which PowerContext 1.3.0 does not have, so every 1.3.0 case failed with
      ModuleNotFoundError before migration started. The fixture now chooses the package with
      importlib.util.find_spec, and both the source and target authorization checks are unchanged.

Reverse edges that remain and are out of scope: server → service (5 imports in database_migration.py, where
db-migrate stops the personal service before migrating, and in the newer database_admission.py), and one
core → builtin import in artifacts/indexes.py that #2246 introduced and this PR does not touch.

Are there any user-facing changes?

For Python SDK and embedding users, yes. There are no HTTP, MCP, CLI, configuration, or persisted-format changes.

  • Breaking: import access-control types from powercontext.builtin.authz instead of powercontext.server.authz.
    No alias is provided, because aliasing the old package path would load its submodules a second time and break
    isinstance checks. Jupyter tutorial 13 is updated.
  • Breaking: powercontext.cli.env_file is now powercontext.env_file. default_scheduler_path and the
    ScheduledSourceProcessor / ScheduledExperienceProcessor exports are removed. known_secret_values and the
    sensitive-key constants are imported from powercontext.redaction; render_capture_event is unchanged.
  • Deprecated: the scheduler_path keyword on open_builtin_runtime and create_server_app.
  • Docs: the core protocol and remote-access development guides, the interfaces guide, and a status note in RFC 0019
    are updated in both locales.

How was this change tested?

  • After the latest merge of master (4c527bb0): uv run python -m pytest -n auto --doctest-modules gives 9942
    passed, 1064 skipped, 8 failed. All 8 are
    tests/evaluation/test_jev_rerank_comparison.py::test_comparison_billing_through_persisted_candidates cases, and they
    fail with PydanticAIConfigurationError because ANTHROPIC_BASE_URL is set in my shell. They fail identically on an
    unmodified checkout of master (cfdb617c) (8 failed, 29 passed in both trees), and with ANTHROPIC_BASE_URL,
    ANTHROPIC_API_KEY and ANTHROPIC_AUTH_TOKEN unset the file passes (37 passed). The 7 reconciliation tests and the
    scoring test that failed in the previous run now pass. The timing-bound scheduler test that failed in the two runs
    before did not fail in this one.
  • Every component of make check passes on 4c527bb0 when run separately: version-check, pinned workflow actions,
    integration-manifest-check, integration-guidance-check, upgrade-policy-check, uv lock --locked, all 11
    prek hooks, and ty check for the package (no diagnostics) and for the Pydantic AI integration. I ran them one by
    one because make check itself stopped on a network error while prek fetched its hook repositories on my machine.
  • test_enforced_mode_cannot_silently_start_without_authentication_or_provider depended on validation inside the
    removed scheduled runners. It now checks the background-principal guard through build_worker_security with a
    runnable family, and checks that a schedule with no runnable family is still rejected at startup.
  • DDL equivalence: the table and index DDL generated from the persistence and access metadata (76 tables) is
    byte-identical between master and this branch on the SQLite and MySQL dialects.
  • Added tests: scheduler_path is ignored with a DeprecationWarning and creates no sidecar, for both
    open_builtin_runtime and create_server_app.
  • Each of the three original commits, before the merge: ruff, ty check, and focused tests (369, 419, and 590 passed). The second commit's batch
    also reported fixture 'migration_backend' not found for one e2e test; the same pytest arguments produce the same
    error on master, and the test passes alone and in the full run.
  • Every moved or new module imports cleanly as the first import in a fresh interpreter. builtin/authz/dream.py keeps
    annotation-only imports under TYPE_CHECKING so it does not trigger the existing
    builtin.dream.service ↔ builtin.runtime import cycle.
  • Upgrade fixtures (commit 5): with the published 1.3.0 wheel and a wheel built from this branch, each installed in
    its own venv and run with python -I, the previous authorization_fixture.py reproduces the CI error under 1.3.0
    and the new one imports under both. processing_fixture.py and upgrade_database_probe.py also import under
    both.
  • Not run: make notebooks-test, real-service e2e (--run-real-e2e), tox across Python versions, and the
    installed-artifact upgrade acceptance matrix (upgrade-release.yml). The harness requires Linux process
    ownership and cannot run on macOS, so the migration and target-side phases are checked only by CI; only the
    policy check was run locally.

AI usage statement

Built with Claude Code. Claude Opus 5.5 did the analysis, implementation, tests, and commit split. Claude Sonnet 5.5
performed the initial read-only repository exploration through subagents, resolved the merge conflicts, and updated
this description. Changes were validated with the commands listed above.

🤖 Generated with Claude Code

jackie-cqz and others added 3 commits October 26, 2026 15:00
The Artifact Processing Supervisor replaced in-process APScheduler activation
in oceanbase#1523, which also removed the only `start_scheduler` call. The scheduler
module, `BuiltinRuntime.start_scheduler`, the scheduled Source and Experience
processors, the access-scoped runners the Server factory built for them, and
the Scope enumeration helpers that only fed them were left without production
callers.

Remove that path and its tests. APScheduler stays a dependency because cron
bindings still parse expressions with `CronTrigger`.

`scheduler_path` on `open_builtin_runtime` and `create_server_app` is now
deprecated: it is ignored and emits a DeprecationWarning. The
`default_scheduler_path` helper and the `ScheduledSourceProcessor` and
`ScheduledExperienceProcessor` exports are removed. In-repository callers,
examples, and docs no longer pass or describe the scheduler sidecar.

The enforced-mode startup test now checks the background-principal guard
through the supervisor's worker security, where it applies, and separately
checks that a schedule without a runnable family is rejected at startup.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The built-in runtime imported `powercontext.server.authz` in 23 places, and
`server.processing_security` imported the runtime composition root while the
runtime lazily imported it back. Access control depends only on Core and
built-in persistence, so it belongs below the Server.

- Move `powercontext.server.authz` to `powercontext.builtin.authz`.
- Split processing security: the child-side `WorkerSecuritySpec`,
  `WorkerSecurity`, and `open_worker_security` move to
  `powercontext.builtin.authz.worker`; `build_worker_security`, which reads
  `ServerSettings`, stays in `powercontext.server.processing_security`.
- Split Dream access: `DreamAuthorization` in
  `powercontext.builtin.authz.dream` checks recorded Dream principals for
  processing children; the Server's `DreamAccess` subclass adds the
  request-principal Review checks and request IDs.
- `deployment_runner` takes the database configuration instead of
  `ServerSettings`.
- Move the `powercontext code` command to `powercontext.cli.code`.

The built-in package no longer imports `powercontext.server`.

BREAKING CHANGE: import access-control types from `powercontext.builtin.authz`
instead of `powercontext.server.authz`. No compatibility alias is provided,
because aliasing the old package path would load its submodules twice and
break `isinstance` checks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Server and the personal service imported `powercontext.cli.env_file`
and `powercontext.cli.inference_notice`, and the built-in runtime imported
redaction helpers from `powercontext.client.capture`.

- Move the standard-library environment-file loader to
  `powercontext.env_file`.
- Move the inference capability notice to
  `powercontext.server.inference_notice`; the `cli` and `service` commands
  already depend on the Server package.
- Move the credential redaction primitives to `powercontext.redaction`.
  `powercontext.client.capture` keeps capture-event rendering and uses them.

Import `powercontext.env_file` instead of `powercontext.cli.env_file`, and
`known_secret_values` and the sensitive-key constants from
`powercontext.redaction`. `render_capture_event` is unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 26, 2026 07:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@jackie-cqz

Copy link
Copy Markdown
Contributor Author

The only failing check is tests (3.12, e2e). The failure is in tests/e2e/test_zcode_service_chain.py::test_zcode_source_is_processed_and_recalled_in_a_new_session: the ZCode scope script that the test runs exits with {"status":"failed","code":"timeout"} (job log).

This looks like a flaky test rather than something this PR introduced:

  • The same test failed on unrelated PRs, for example run 40270843221 and run 40270828704, which are dependabot GitHub Actions bumps.
  • tests (3.11, e2e), tests (3.13, e2e) and tests (3.14, e2e) all pass on this PR.
  • The test passes locally (3 of 3 runs).

Could a maintainer please re-run the failed job? I don't have permission to re-run it myself.

Resolve conflicts with the reusable database upgrade framework (oceanbase#2168):

- Keep upstream's `deployment_runner(settings, ...)` and
  `server/database_migration.py`. The framework needs the full Server
  settings, so the narrower signature introduced with the access-control move
  no longer applies. The only remaining `builtin` -> `server` import is
  annotation-only (`TYPE_CHECKING`).
- Adopt upstream's reworked startup tests, and drop `scheduler_path` from them
  and from the tests the framework added.
- Point the upgrade release gate's managed inputs and its tests at
  `src/powercontext/builtin/authz`, so access control stays under the
  persistence compatibility review instead of silently leaving it.
- Update the persistence digest and append a rationale sentence. The generated
  table and index DDL for all 59 tables is identical to master on the SQLite
  and MySQL dialects.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 26, 2026 10:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@AlexStocks AlexStocks added the 1.5.0 v1.5.0 release tracking label Oct 27, 2026

@hireview001 hireview001 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Resolve merge conflicts with the target branch.

Resolve conflicts with durable owner recovery (oceanbase#2187), which added
`server/authz/owner_recovery.py` while this branch moved `server/authz` to
`builtin/authz`.

- Place `owner_recovery.py` under `builtin/authz` and point its imports, the
  Server's `app.py` and `factory.py`, and the new owner-recovery tests at the
  new package path.
- Keep the scheduled-runner helpers deleted: the owner-recovery change only
  threaded its session through `_scheduled_access_runners`, which no longer
  has a caller.
- Drop `scheduler_path` from the call sites upstream added, and update the new
  `ops` and release-upgrade fixtures for the moved `env_file` and `authz`
  modules.
- Merge the upgrade-support rationale with upstream's owner-recovery text and
  update the persistence digest. The generated table and index DDL for all 63
  tables, including `pc_access_owner_recovery`, is identical to master on the
  SQLite and MySQL dialects.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 28, 2026 08:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@hireview001 hireview001 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

…ships

The upgrade acceptance runs `authorization_fixture.py` under each installed
release's own interpreter, before and after migration. It imported
`PrincipalRef` from `powercontext.builtin.authz`, which exists only in the
target wheel. PowerContext 1.3.0 keeps access control in
`powercontext.server.authz`, so the source-side check failed with
`ModuleNotFoundError` before any migration ran, failing every 1.3.0 case.

Select the package with `importlib.util.find_spec` instead of a try/except, so
a broken built-in package still fails loudly on the target side instead of
silently falling back to the old path. Both the source and the target
authorization checks stay in place.

Checked against the published 1.3.0 wheel and the freshly built target wheel
under `python -I`: the previous fixture reproduces the CI error under 1.3.0,
and this one imports under both. The other two scripts run under historical
interpreters (`processing_fixture.py`, `upgrade_database_probe.py`) import
under both as well.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 30, 2026 16:35

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@jackie-cqz
jackie-cqz requested review from hidb4ai and hireview001 and a balanced review from Copilot October 30, 2026 16:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@hidb4ai hidb4ai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 1e487049 against 9c8f061c. The historical-release authorization import regression is fixed, and the required 1.3.0 upgrade matrix and Upgrade release gate pass. I found no remaining PR-introduced blocking defect; the database table/index definitions and HTTP/MCP operation contracts are unchanged.

The CI result is still red because the Python 3.11 and 3.14 code-seekdb shard-0 jobs exceeded their 30-minute job limit; the same shards also time out on master. @jackie-cqz Please obtain successful completion of these checks before merging. This approval does not certify those unfinished shards.

@hidb4ai

hidb4ai commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

@jackie-cqz The head is still 1e487049, and my approval for that commit remains valid. The required CI gate is still blocked by the cancelled code-seekdb Python 3.11 shard 0 and Python 3.14 shard 0. Both exceeded their 30-minute job limit, as noted in the approval.

Please obtain successful completion of these shards and the aggregate CI gate before merging. The historical-release authorization import issue is fixed; this follow-up concerns the remaining CI completion requirement.

Resolve conflicts with ownership migration when enabling enforcement (oceanbase#2304),
Source evidence declarations (oceanbase#2004), and the 13 other commits that landed
since the previous merge.

- `server/authz/keys.py` is new upstream; it lands in `builtin/authz/keys.py`
  and `builtin/authz/__init__.py` exports `bounded_idempotency_key` and
  `IDEMPOTENCY_KEY_LIMIT` from there.
- `server/processing_security.py` keeps only `build_worker_security`. The
  upstream change to `WorkerSecurity` (bounded idempotency keys) is applied to
  `builtin/authz/worker.py`, where this branch moved that class.
- `server/app.py`, `server/factory.py`, `server/cli.py`: keep the relocated
  `builtin.authz` imports and add only the names the new upstream code uses
  (`bounded_idempotency_key`, `OwnerRecovery`). `_scheduled_access_runners`
  stays deleted; its only upstream change was the bounded key.
- `release/upgrade-support.json`: keep the rationale added upstream for the
  v1_5_0_002 and v1_5_0_003 revisions, append the sentence about this branch's
  code-organization changes, and recompute the persistence digest. The
  generated table and index DDL for all 75 tables is identical to master on
  the SQLite and MySQL dialects.

Follow the moves into code that arrived with the merge:

- `server/ownership.py`, `builtin/authz/service.py` (new
  `static_scope_bootstrap_would_grant`), and the new ownership-migration,
  artifact-plugin, and access-control tests import access control from
  `powercontext.builtin.authz`.
- The new ownership-migration, Atomic Memory evidence, and Source evidence
  tests stop passing the removed `scheduler_path` argument.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings November 4, 2026 07:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@Alanxtl Alanxtl left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@hidb4ai

hidb4ai commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

@jackie-cqz I reviewed the new head c9c9448b against 1190dcbb. The remaining gate failure has changed: Python 3.13 E2E fails in test_zcode_source_is_processed_and_recalled_in_a_new_session[True] because the scope script's bind operation returns code: timeout; Python 3.14 E2E is then cancelled by matrix fail-fast. Upgrade acceptance was selected but skipped because it depends on the test result, so Upgrade release gate fails without executing the migration matrix.

I found no new demonstrated code defect in the refactor. Local replay hit startup/flush timing limits on both head and base, so it does not establish that this PR caused the CI timeout. Please obtain a successful E2E run and complete the selected automatic upgrade matrix for this head before merging. The passing upgrade evidence and my previous approval for 1e487049 do not qualify the new artifact's unfinished acceptance.

Bring in the two commits that landed since the previous merge: the website
SEO and Markdown export changes (oceanbase#2454) and the OpenCode setting that turns
prompt-time recall off (oceanbase#2455). The merge is textually clean. Neither commit
touches `src/`, so nothing needed to follow the access-control, scheduler, or
helper moves.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings November 4, 2026 11:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@hidb4ai hidb4ai left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed a3ee50dd against 2853ed98. The merge preserves the previously reviewed runtime refactor and adds no database tables or HTTP/MCP operations relative to the current base. The earlier E2E/upgrade acceptance gap is closed on this head: all Python E2E jobs, the selected 1.3.0 upgrade matrix and Upgrade release gate pass. I found no new PR-introduced blocking code defect.

@jackie-cqz CI still needs successful completion before merging: the Python 3.11 seekDB migration shard exceeded its 25-minute step limit, with the same type of migration timeout present on the base, and macOS LaunchAgent never acquired a hosted runner because of capacity constraints. This approval does not certify those unfinished checks.

GitHub currently also reports this PR as CONFLICTING / DIRTY; please reconcile that mergeability state and obtain successful required checks before merging.

@hireview001 hireview001 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resolve conflicts with the managed observability stack (oceanbase#2388) and the 60
other commits that landed since the previous merge.

- `server/cli.py`: keep `powercontext.env_file` and the relocated
  `server.inference_notice`, and add the new observability notice import.
- `cli/observability_notice.py` is new upstream and only the Server's
  `serve` command uses it. It moves to `server/observability_notice.py`, as
  `inference_notice` did, so the Server does not import the CLI package.
- `release/upgrade-support.json`: keep the rationale added upstream for
  observability and the SQLite connection-worker drain, append the sentence
  about this branch's code-organization changes, and recompute the persistence
  digest after formatting. The generated table and index DDL for all 75
  tables is identical to master on the SQLite and MySQL dialects.

Follow the moves into code that arrived with the merge:

- The observability profile, the service launcher, the demo and host scripts
  under `deploy/observability`, and the new observability tests import
  `powercontext.env_file` and `powercontext.builtin.authz`.
- Five new provider-observability test calls stop passing the removed
  `scheduler_path` argument.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings November 6, 2026 07:28

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@hireview001 hireview001 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Resolve merge conflicts with the target branch.

@knqiufan knqiufan left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the package moves, authorization and worker paths, and removal of the superseded scheduler. The historical-release import issue is addressed; no new blocking finding. Focused tests passed. This review does not certify the installed-release upgrade matrix or real external backends.

Resolve the conflict with Source locators (v1_5_0_004), code evidence reuse
(oceanbase#2425), and the 79 other commits that landed since the previous merge.

- `release/upgrade-support.json`: keep the rationale sentences added upstream
  for Topic Memory diagnostics, code evidence reuse, and the
  `pc_artifact_source_locators` relation, append the sentence about this
  branch's code-organization changes, and recompute the persistence digest
  after formatting. The generated table and index DDL for all 76 tables is
  identical to master on the SQLite and MySQL dialects.

Follow the removal of the scheduler path into code that arrived with the
merge: 15 `scheduler_path` arguments in six new tests (Atomic Memory
reconciliation, temporal retention, and unrelated reconciliation, the MiniMax
host, the Hermes conformance support, and the release 1.4.0 migrations) are
dropped. The new `cli/minimax.py` is imported only inside the CLI package, so
it stays where it is.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings November 8, 2026 14:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@hireview001 hireview001 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resolve the conflict with native minimum_should_match filtering for OceanBase
Atomic Memory (oceanbase#2498) and the 7 other commits that landed since the previous
merge.

- `release/upgrade-support.json`: keep the rationale sentence added upstream
  for OceanBase lexical retrieval, append the sentence about this branch's
  code-organization changes, and recompute the persistence digest after
  formatting. The generated table and index DDL for all 76 tables is
  identical to master on the SQLite and MySQL dialects.

None of the merged commits adds a reference to the moved or removed names, so
no other file needed to follow the access-control, scheduler, or helper moves.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings November 9, 2026 04:14

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@hidb4ai hidb4ai removed the 1.5.1 v1.5.1 release tracking label Nov 9, 2026
@AlexStocks AlexStocks added the 1.6.0 v1.6.0 release tracking label Nov 9, 2026
Bring in the 6 first-parent commits that landed since the previous merge,
including the fixes for the Atomic Memory reconciliation tests (they now expect
the stored Source sequence locator) and the OceanBase scoring connection double
(oceanbase#2552), which were failing on master and on this branch for the same reason.

The merge is textually clean. None of the merged commits adds a reference to
the moved or removed names, and the persistence digest in
`release/upgrade-support.json` is unchanged because the commits do not touch
the managed inputs.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings November 9, 2026 08:28

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.6.0 v1.6.0 release tracking

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants