Skip to content

refactor(settings): follow the module layout (moves only) - #857

Merged
antosubash merged 3 commits into
mainfrom
refactor/layout-settings
Nov 6, 2026
Merged

antosubash merged 3 commits into
mainfrom
refactor/layout-settings

Conversation

@antosubash

Copy link
Copy Markdown
Owner

Summary

Moves-only restructure of modules/settings to docs/module-layout.md, same pattern as #852 (permissions) and #856 (tenants).

  • constants, settings, services, errors, exceptions, env_vars, service, invalidation, tenant_scope, tenant_view and the private helpers -> settings/core/
  • store, reload, _module_settings.py (now discovery.py), _module_settings_props.py (now props.py), _field_meta -> settings/module_settings/ (new domain area in DOMAIN_AREAS)
  • deps, browse_query, known_keys and endpoints -> settings/web/
  • pages/components/ -> ui/components/, page and tests-js imports rewritten
  • Python tests mirror the areas, with test_settings_* basenames
  • settings.{service,store,reload,constants,deps,tenant_scope,tenant_view} and settings.endpoints.module_api stay as deprecated sys.modules aliases (remove_in 0.0.46) because branding, tenants, mail and smpy_modules import them
  • The Design: the settings plugin module has become de facto framework; make the dependency explicit #500 re-exports hydrate, module_registry and registration stay at the root until 0.1.0 and are listed in DEPRECATED_ROOT in test_module_layout
  • Other moved modules (errors, services, env_vars, _secrets, ...) have no alias; the CHANGELOG says so

No logic changes: permission names, i18n keys, stored settings keys, the settings.values invalidation channel and app.state.settings are unchanged.

Verification

  • After rebasing onto refactor(tenants): follow the module layout (moves only) #856: make lint and PYTEST_WORKERS=8 make test-py (8143 passed, 47 skipped) pass
  • Before the rebase: make test-js (898), make doctor, make ci-css-build, make ci-api-types-fresh, make ci-docs-build pass
  • Two independent reviews (correctness, maintainability): all eight aliases are identical to their new modules, smpy settings --help works, test_durable_wire_names.py and the test_deprecation_expiry.py entries are unchanged vs main. The one docs finding (stale "silent re-export" wording, unlisted unaliased paths) is fixed in the second commit
  • No browser smoke (moves-only, skipped)

https://claude.ai/code/session_01FXHA3ZicrtZ4C5QPEgxfgq

The scoped key/value service and its helpers, constants, the module's own
settings, errors and invalidation -> core/; per-module settings discovery,
field metadata, the SYSTEM-scope store, reload and editor props ->
module_settings/ (domain area); deps, query parsing, key autocomplete and
endpoints -> web/; pages/components -> ui/components. Tests mirror the areas.
settings.{service,store,reload,constants,deps,tenant_scope,tenant_view} and
settings.endpoints.module_api stay as deprecated sys.modules aliases
(remove_in 0.0.46). The #500 re-exports hydrate, module_registry and
registration stay at the root until their 0.1.0 removal; the layout test
lists them explicitly.

Claude-Session: https://claude.ai/code/session_01FXHA3ZicrtZ4C5QPEgxfgq
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ✅ Completed 2026-11-06T01:35:50.876694Z 91cbf97 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

…secrets until 0.1.0

docs/framework/settings.md promised these re-exports no earlier than 0.1.0, so
their layout aliases expire then instead of 0.0.46.

Claude-Session: https://claude.ai/code/session_01FXHA3ZicrtZ4C5QPEgxfgq
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

Deploying simple-module-python with  Cloudflare Pages  Cloudflare Pages

Latest commit: a8aa3ff
Status: ✅  Deploy successful!
Preview URL: https://9d497866.simple-module-python.pages.dev
Branch Preview URL: https://refactor-layout-settings.simple-module-python.pages.dev

View logs

@antosubash
antosubash merged commit 7894482 into main Nov 6, 2026
17 checks passed
@antosubash
antosubash deleted the refactor/layout-settings branch November 6, 2026 01:48
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.

1 participant