core-hub/workplans/CORE-WP-0009-hub-core-adoption-and-integration.md
tegwick 0709262ffd
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / pytest-smoke (push) Failing after 2s
Build and Publish Container Image / build-and-push (push) Failing after 1m51s
feat(ecosystem): adopt hub-core dependency and CI pin gate (CORE-WP-0009)
Import slugify_or_default from hub-core, add contract tests, vendor hub-core in
Docker/Forgejo CI, document metadata isolation and pagination deferral, and
align INTENT/SCOPE with three-repo stack.
2026-07-11 01:26:53 +02:00

2.8 KiB

id type title domain repo status owner topic_slug created updated state_hub_workstream_id
CORE-WP-0009 workplan Hub-core adoption and ecosystem integration infotech core-hub finished codex infotech 2026-07-09 2026-07-11 75d9f8fd-088a-4634-bf05-9c20ecfd37ae

Hub-core adoption and ecosystem integration

Parent: ~/the-custodian/workplans/CUST-WP-0057-hub-ecosystem-consolidation.md

Goal

Adopt hub-core as an editable dependency and eliminate duplicate shared utilities while keeping framework models in core_hub.

Add hub-core dependency

id: CORE-WP-0009-T01
status: done
priority: high
state_hub_task_id: "5a9f1594-e3f1-4a53-a78a-2e4bbf4b9ee1"

Add hub-core to pyproject.toml with [tool.uv.sources] path dependency.

Done 2026-07-09: dependency and uv source added.

Replace local slugify

id: CORE-WP-0009-T02
status: done
priority: high
state_hub_task_id: "1f3827b3-e2e6-4d99-88c6-a83361f579c7"

Import slugify_or_default from hub_core.utils.slugs in api/v2.py; remove local slugify() and re import used only for slugs.

Done 2026-07-09: api/v2.py uses hub-core util.

Contract test for hub-core pin

id: CORE-WP-0009-T03
status: done
priority: high
state_hub_task_id: "00d83bfe-cb31-4111-be12-afe9e94e88b2"

Add tests/test_hub_core_imports.py proving hub-core utils import and version pin.

Done 2026-07-09: test added.

Document metadata isolation

id: CORE-WP-0009-T04
status: done
priority: medium
state_hub_task_id: "1d1735ca-4f9b-4c1a-bcbd-c1697e434a77"

Link docs/specs/core-hub-architecture.md boundary section to hub-core/docs/metadata-isolation.md.

Done 2026-07-09: architecture spec updated.

Evaluate pagination utility adoption

id: CORE-WP-0009-T05
status: done
priority: low
state_hub_task_id: "b2e9ebcd-7bfe-4838-8f93-85fe5afbb155"

Assess hub_core.utils.pagination for /api/v2 list endpoints that grow beyond in-memory page() helper. Defer if no paginated DB queries yet.

Done 2026-07-09: docs/specs/pagination-adoption.md records deferral until list endpoints need server-side limit/offset or compatibility spec adds query params. Sync pagination in hub-core targets async SQLAlchemy when triggered.

CI pin gate

id: CORE-WP-0009-T06
status: done
priority: medium
state_hub_task_id: "f4c95bdb-6743-4abd-adbf-65f9cfc68bdf"

Ensure Forgejo CI installs hub-core from build context or path dep before pytest. Document in Makefile alongside the-custodian/scripts/hub-ecosystem-regression.sh.

Done 2026-07-09: .forgejo/workflows/ci-smoke.yaml pytest job vendors hub-core sibling checkout; image.yaml and Dockerfile vendor hub-core for container builds; Makefile adds hub-core-pin, ecosystem-regression, and container-build hub-core context.