ALL-1998: Support ENROLLMENT entityType for LifecycleCustomField
completedAgent: will-engineer
Priority: 3
Branch:
wilbo/all-1998-enrollment-custom-fieldsPR: #12799
Linear: ALL-1998
Backend work. Add ENROLLMENT as a valid entityType in LifecycleCustomField so program admins can define enrollment-scoped custom fields, queryable via availableFields(entityType: ENROLLMENT), stored in enrollment data bag, referenceable from transition rules. Key files: domains/program/prisma/schema.prisma, domains/program/src/subgraph/schema.graphql, domains/program/src/services/lifecycle/. Picked up via Linear assigned-issues sweep on 2026-06-25 per Victor directive.
Event Timeline
created
progress
GAP ANALYSIS COMPLETE — all 4 ACs already satisfied by existing code on main. No production code changes needed. Writing integration test as deliverable now.
progress
PR #12799 opened: https://github.com/TextureHQ/mono/pull/12799. All 5 integration tests pass locally. CI running (pending). Gap analysis: all 4 ACs already satisfied by existing code on main — no production code changes needed. Deliverable is the round-trip integration test file.
failed
lease expired — re-queued for retry
in_progress → queued
status_change
queued → in_progress
failed
lease expired — re-queued for retry
in_progress → queued
status_change
queued → in_progress
failed
lease expired — max retries reached, marking failed (poison pill)
in_progress → failed
status_change
failed → in_progress
failed
lease expired — max retries reached, marking failed (poison pill)
in_progress → failed
status_change
failed → completed