4.0 KiB
id, type, title, domain, repo, status, owner, topic_slug, planning_priority, planning_order, created, updated, depends_on, state_hub_workstream_id
| id | type | title | domain | repo | status | owner | topic_slug | planning_priority | planning_order | created | updated | depends_on | state_hub_workstream_id | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NK-WP-0017 | workplan | User Engine Multi-Application And Catalog Support | netkingdom | net-kingdom | ready | codex | netkingdom | high | 17 | 2026-05-22 | 2026-05-22 |
|
08398d26-cadf-44bc-97ee-67da790040e6 |
NK-WP-0017 - User Engine Multi-Application And Catalog Support
Goal
Extend user-engine from a single-app MVP into a governed multi-application profile and customization service. Applications should be able to register as profile consumers, own catalog namespaces, publish versioned customization catalogs, and receive application-specific projections without attribute collisions or data leakage.
Scope
In scope:
- application registry and bindings;
- catalog namespace ownership;
- catalog lifecycle and migration checks;
- application-specific profile layers;
- application runtime projections;
- optional claims-enrichment boundary;
- multi-app tests and examples.
Out of scope:
- UI implementation;
- full marketplace or plugin ecosystem;
- enterprise SCIM server;
- making user-engine a token issuer.
Tasks
id: NK-WP-0017-T1
status: todo
priority: high
state_hub_task_id: "9363492d-49af-4929-bb64-576ed8c47ddb"
Application registry split. Implement user-engine application records as profile-consumer records with explicit bindings to IAM OIDC clients, flex-auth protected systems, catalog namespaces, event identities, and deployment metadata.
id: NK-WP-0017-T2
status: todo
priority: high
state_hub_task_id: "cd9dff26-d570-4f9f-9ebf-6f20eddf3ef0"
Catalog namespace governance. Implement namespace ownership, catalog semantic versions, lifecycle states, compatibility checks, sensitivity downgrade prevention, and activation/deprecation flows.
id: NK-WP-0017-T3
status: todo
priority: high
state_hub_task_id: "6bbe4250-a6e7-4ecf-b916-7e79eddd76f6"
Application profile layer. Add application-specific profile values, preferences, defaults, and effective-profile precedence rules that compose with global and tenant layers.
id: NK-WP-0017-T4
status: todo
priority: high
state_hub_task_id: "29012ed5-f6c2-455f-8999-037a653d14e1"
Application runtime projections. Implement app-specific projection requests with allowed projection types, attribute-level visibility, mutability, sensitivity, and redaction rules.
id: NK-WP-0017-T5
status: todo
priority: medium
state_hub_task_id: "a3226c20-1278-409e-a49d-965e4783dc7a"
Claims-enrichment adapter boundary. Specify and, if appropriate, prototype an optional cache-backed projection used by IAM-side claims enrichment. The implementation must not place user-engine synchronously in the default token issuance path.
id: NK-WP-0017-T6
status: todo
priority: high
state_hub_task_id: "ada5a9f5-19f6-4e9e-a176-b1b47ec36ca7"
Multi-app tests. Add tests for namespace collisions, catalog activation failure, application-specific profile values, projection redaction, application access denial, catalog migration checks, and onboarding two demo applications side by side.
id: NK-WP-0017-T7
status: todo
priority: medium
state_hub_task_id: "09f38d5c-af6c-4d95-a570-e5a5c25d7cfe"
Developer-facing integration examples. Provide examples or fixtures that show how a new application registers, owns a catalog namespace, requests runtime projections, and handles profile-change events.
Acceptance Criteria
- Multiple applications can register without attribute collisions.
- Catalog ownership and lifecycle are enforced.
- Application-specific profile values resolve consistently with global and tenant layers.
- Runtime projections expose only eligible attributes.
- Claims enrichment is explicitly optional and adapter-owned.
- Tests cover multi-app positive, negative, and migration paths.
Dependencies And Sequencing
- Depends on NK-WP-0015.
- Coordinates with NK-WP-0016 where application behavior is tenant-scoped.