feat(crewing): land full Crewing module on master (Phases 1–5 + hardening) #94

Closed
shad0w wants to merge 0 commits from feat/crewing-review-hardening into master
Owner

Lands the complete Crewing module on master in one clean merge.

Why this PR

Phases 2–5 were merged up the stacked-PR chain (each PR into its base branch) rather than into master, so only Phase 1 foundations (#64) ever reached master. This branch — feat/crewing-review-hardening — is the stack tip: it contains every phase plus the reviewed hardening from #90, and it trial-merges into master with no conflicts (git merge-tree, clean). Merging this supersedes the open stacked crewing PRs, which can be closed.

What lands

  • Phase 1 — Foundations: SITE_STAFF role, ranks + rank-doc reference data, permissions matrix, feature flag, nav, Ranks & documents admin.
  • Phase 2 — Requisitions + relief (Epic A) incl. autoRaiseRequisition and clash auto-backfill (R6, Option A).
  • Phase 3 — Candidates / 7-stage pipeline / onboarding (B, C, D), central Approvals integration (R8), explicit Manager-approved interview waiver (R2).
  • Phase 4 — Crew records + PPE, leave/attendance, sign-off/experience (E, F, G, K); leave is Manager-approved (R1), MPO has no attendance (R5); office crew admin (manage_crew).
  • Phase 5 — Verification + appraisal (I, H); EPFO/UAN assisted verification (GstService pattern, stubbed behind EPFO_LIVE).
  • Review hardening (#90): Aadhaar/PAN masking, onboarding D1/D3 guards + atomicity, vetting gates C5 + partial C3, corrected audit action types + atomic auto-raise backfills, ex-hand recognition (B3), requisition list A3, EPFO stub + proxy-gate tests.

Verification

  • pnpm test — 249 unit passed (13 pre-existing skips)
  • pnpm test:integration — 242 passed (29 files)
  • pnpm type-check — clean
  • All crewing migrations applied; the surface stays behind NEXT_PUBLIC_CREWING_ENABLED (off by default).

After merge: the open stacked crewing PRs (#65–#90) are superseded and can be closed.

🤖 Generated with Claude Code

Lands the **complete Crewing module on `master`** in one clean merge. ### Why this PR Phases 2–5 were merged *up the stacked-PR chain* (each PR into its base branch) rather than into `master`, so only Phase 1 foundations (#64) ever reached `master`. This branch — `feat/crewing-review-hardening` — is the stack tip: it contains **every phase** plus the reviewed hardening from #90, and it **trial-merges into `master` with no conflicts** (`git merge-tree`, clean). Merging this supersedes the open stacked crewing PRs, which can be closed. ### What lands - **Phase 1 — Foundations:** `SITE_STAFF` role, ranks + rank-doc reference data, permissions matrix, feature flag, nav, `Ranks & documents` admin. - **Phase 2 — Requisitions + relief** (Epic A) incl. `autoRaiseRequisition` and clash auto-backfill (R6, Option A). - **Phase 3 — Candidates / 7-stage pipeline / onboarding** (B, C, D), central Approvals integration (R8), explicit Manager-approved interview waiver (R2). - **Phase 4 — Crew records + PPE, leave/attendance, sign-off/experience** (E, F, G, K); leave is Manager-approved (R1), MPO has no attendance (R5); office crew admin (`manage_crew`). - **Phase 5 — Verification + appraisal** (I, H); EPFO/UAN assisted verification (GstService pattern, stubbed behind `EPFO_LIVE`). - **Review hardening (#90):** Aadhaar/PAN masking, onboarding D1/D3 guards + atomicity, vetting gates C5 + partial C3, corrected audit action types + atomic auto-raise backfills, ex-hand recognition (B3), requisition list A3, EPFO stub + proxy-gate tests. ### Verification - `pnpm test` — 249 unit passed (13 pre-existing skips) - `pnpm test:integration` — 242 passed (29 files) - `pnpm type-check` — clean - All crewing migrations applied; the surface stays behind `NEXT_PUBLIC_CREWING_ENABLED` (off by default). After merge: the open stacked crewing PRs (#65–#90) are superseded and can be closed. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
shad0w closed this pull request 2026-06-23 14:29:22 +00:00
All checks were successful
PR checks / checks (pull_request) Successful in 42s
PR checks / integration (pull_request) Successful in 31s

Pull request closed

Sign in to join this conversation.
No description provided.