Files
user-engine/workplans/USER-WP-0002-isolated-mvp.md

2.0 KiB

id, type, title, domain, repo, status, owner, topic_slug, planning_priority, planning_order, created, updated, depends_on
id type title domain repo status owner topic_slug planning_priority planning_order created updated depends_on
USER-WP-0002 workplan User Engine Isolated MVP netkingdom user-engine finished codex netkingdom high 2 2026-05-22 2026-05-22
USER-WP-0001

USER-WP-0002 - User Engine Isolated MVP

Goal

Implement the smallest useful headless service in isolation: users, accounts, identity links, one application, one catalog, profile values, effective profile resolution, projections, audit, outbox, and tests.

Tasks

id: USER-WP-0002-T1
status: done
priority: high

Implement the domain model and local persistence migrations.

id: USER-WP-0002-T2
status: done
priority: high

Implement IAM Profile-compatible fixture actor handling and local identity linking by (issuer, subject).

id: USER-WP-0002-T3
status: done
priority: high

Implement the authorization check port with a deterministic local test adapter.

id: USER-WP-0002-T4
status: done
priority: high

Implement headless APIs for health, readiness, me, users, account lifecycle, identity links, applications, catalogs, profiles, projections, and audit.

id: USER-WP-0002-T5
status: done
priority: high

Implement catalog validation, profile value validation, defaults, global plus application profile layers, and inspectable effective profile resolution.

id: USER-WP-0002-T6
status: done
priority: high

Persist audit records and outbox events atomically with mutations.

id: USER-WP-0002-T7
status: done
priority: high

Add tests for lifecycle, identity linking, catalog validation, profile update authorization, projections, redaction, audit/outbox atomicity, and deny paths.

Acceptance Criteria

  • A demo application can register, publish a catalog, write profile values, and read an effective projection.
  • Self-service and admin-style operations work through the local auth adapter.
  • Sensitive values are redacted in non-eligible projections.
  • MVP tests cover positive and negative use cases.