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.
This commit is contained in:
parent
564830c4aa
commit
0709262ffd
21 changed files with 1082 additions and 55 deletions
109
workplans/CORE-WP-0009-hub-core-adoption-and-integration.md
Normal file
109
workplans/CORE-WP-0009-hub-core-adoption-and-integration.md
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
---
|
||||
id: CORE-WP-0009
|
||||
type: workplan
|
||||
title: "Hub-core adoption and ecosystem integration"
|
||||
domain: infotech
|
||||
repo: core-hub
|
||||
status: finished
|
||||
owner: codex
|
||||
topic_slug: infotech
|
||||
created: "2026-07-09"
|
||||
updated: "2026-07-11"
|
||||
state_hub_workstream_id: "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
|
||||
|
||||
```task
|
||||
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
|
||||
|
||||
```task
|
||||
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
|
||||
|
||||
```task
|
||||
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
|
||||
|
||||
```task
|
||||
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
|
||||
|
||||
```task
|
||||
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
|
||||
|
||||
```task
|
||||
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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue