Skip to content

chore: bootstrap installable Search module - #1

Merged
p3t3r67x0 merged 4 commits into
mainfrom
codex/bootstrap-installierbares-suchmodul
Sep 2, 2026
Merged

p3t3r67x0 merged 4 commits into
mainfrom
codex/bootstrap-installierbares-suchmodul

Conversation

@p3t3r67x0

@p3t3r67x0 p3t3r67x0 commented Sep 2, 2026 •

Copy link
Copy Markdown
Member

Motivation

  • Provide an installable search bootstrap for the current Slim Host module architecture.
  • Prove the real disabled → enabled → discovered → disabled → re-enabled lifecycle without porting production Search logic.
  • Keep Search persistence, migrations, private Host imports, Assistant integration and provider contracts out of this bootstrap PR.

Implementation

  • Align module.yaml with manifest V1 (manifest_version, requires, packages, capabilities and permissions).
  • Use the current backend SDK shape: parsed MANIFEST, SearchModule.register(context), and passive DEFINITION = ModuleDefinition(manifest, loader, origin, declared_id) with no persistence or settings contribution.
  • Publish the backend entry point as ocp_module_search.module:DEFINITION.
  • Keep backend compatibility at >=1.14.0,<2.0.0; the final Slim Host currently exposes SDK 1.15.0.
  • Align frontend/module.json with schema V1 and SDK >=1.5.0 <2.0.0; ship a neutral Nuxt layer with no public routes, UI, map or sitemap contributions.
  • Build the wheel and frontend .tgz, then use the pinned Host CLI to create the real deterministic .ocp V1 bundle.
  • Use the real Host installer, inventory, enablement environment, entry-point registration, frontend discovery, disable and re-enable flow for the contract test.
  • Pin the merged Slim Host from open-city-planner#212 at 6e78bf72f16343c9c29ce8eeeeff8bbf45115bb2 on staging/epic-91-modular-host (Host 0.2.0, backend SDK 1.15.0, frontend Host 1.0.0, frontend SDK 1.5.0).
  • CI checks out that exact merged Host commit and the release workflow produces the wheel, frontend package, .ocp bundle and SHA256 for a future v0.1.0 tag.

Verified bootstrap behavior

  • Backend: uv sync --frozen --extra dev, Ruff, pytest and wheel build.
  • Frontend: frozen pnpm install, TypeScript check, Vitest and package build.
  • Bundle: search-0.1.0.ocp built by the Host CLI.
  • Real Slim Host lifecycle covers:
    • bundle verify;
    • install as disabled and inventory as disabled;
    • no backend registration or frontend contributions while disabled;
    • enable and discover the backend entry point and /api/v1/search/module-info;
    • discover the frontend module and pass Host frontend typecheck/build;
    • run the Host-owned external-module import guard;
    • disable with no registration path;
    • re-enable with identical backend/frontend discovery.
  • Private Host imports under backend/src/ocp_module_search: 0 beyond app.platform.modules.sdk.
  • Search database tables, persistence contributions and migrations: 0.
  • Host repository changes: 0.

Final integration baseline

  • Slim Host merged: open-city-planner#212 at 6e78bf72f16343c9c29ce8eeeeff8bbf45115bb2.
  • Statistics module merged: ocp-module-statistics#1 at 4525491995cddb7ad9670f456bba1a49e289f583.
  • Analysis Areas 1.5.0 merged: ocp-module-analysis-areas#11 at df8b067757b9bf20fbc54efc9555f3388bd951ff.
  • Search remains a bootstrap only; no production Search functionality is ported in this PR.

Codex Task

@p3t3r67x0 p3t3r67x0 self-assigned this Sep 2, 2026
@p3t3r67x0 p3t3r67x0 removed the codex label Sep 2, 2026
@p3t3r67x0
p3t3r67x0 merged commit 5d78b94 into main Sep 2, 2026
7 checks passed
@p3t3r67x0
p3t3r67x0 deleted the codex/bootstrap-installierbares-suchmodul branch September 2, 2026 13:25
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