Skip to content

refactor: inject lazy provider schema resolution - #61

Merged
anycodes merged 3 commits into
mainfrom
refactor/config-schema-composition-20261018
Oct 18, 2026
Merged

anycodes merged 3 commits into
mainfrom
refactor/config-schema-composition-20261018

Conversation

@anycodes

@anycodes anycodes commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Description

Transport configuration imports provider discovery from an upper layer. Move schema values/callback to a low-level private module and register a lazy adapter at package composition. Preserve provider selection, registered/installed/entry-point resolution, derivation/default/inheritance and the existing ProviderSchema import alias. Bare package import still loads neither Pydantic nor registry; builtin config needs no registry.

Fixes #59. Accepted native source PR57 and records PR58 are ordinarily merged as the base.

Type of Change

  • Refactoring
  • Documentation

Changes

No public signature/config-name/default/schema/dependency change. Bilingual architecture, changelog, ADR/evidence included; no CLI/Node/registry/website generated contract change is needed.

Testing

  • Existing config focused43 PASS; full client2083 PASS /21 SKIP /10 deselected,two existing subprocess/event-loop warnings.
  • Fresh-process lazy/builtin import probe; client/server lint/format/mypy (81/56 typed files).
  • Both distributions/twine/py.typed/fresh combined wheel installation and imports.
  • Fresh configured real cloud116 PASS /4 SKIP /1 XFAIL /2 deselected; janitorzero candidates/zero total.
  • Health106 PASS /1 WARN /0 FAIL; hygiene.
  • Latest-head hosted full three-interpreter client/server,build,links,hygiene pending.

Initial extraction missed the moved class's builtin constant; existing tests caught it before final repeats. Corrected with a lower-level lazy constant read. No initial failure is called a pass. Native unconfigured providers are skips, not endorsements.

Checklist / Definition of Done

  • Existing behavior regressions and real components exercised; private composition/types reviewed.
  • Proposed ADR, sanitized dated evidence, English/Chinese docs and changelog.
  • No secrets or immutable-evidence rewrites.
  • This head's required hosted checks and final review before merge.

The original Python3.11 red job was fixed independently by PR64 (merge5d700d6eaa1fd75f62297b3f289be2a45be772b4,9/9 checks), then ordinarily merged here with accepted PR62 docs. Both architecture paragraphs/indexes retained; already merged owner records moved to implemented without modifying historical evidence. Fresh config/local-listener focused,health/hygiene pass; latest combined-head full matrix rerunning. No blind CI rerun or transport behavior change.

…a-composition-20261018

# Conflicts:
#	.agents/README.md
#	docs/en/design/architecture.md
#	docs/zh/design/architecture.md
@anycodes
anycodes marked this pull request as ready for review October 18, 2026 08:47
@anycodes
anycodes merged commit f701b26 into main Oct 18, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor: inject provider schema discovery outside transport

1 participant