No description
Final slice of Phase 5. The appraisal lifecycle raise → verify → approve across three role-gated surfaces, per Crewing-Implementation-Spec §5.4/§8.14. Stacks on 5a verification. Behind NEXT_PUBLIC_CREWING_ENABLED. Completes Phase 5. What's in - Schema: Appraisal (on CrewAssignment) + AppraisalStatus (DRAFT/SUBMITTED/MPO_VERIFIED/MANAGER_APPROVED/REJECTED); CrewActionType += APPRAISAL_SUBMITTED/VERIFIED/APPROVED/REJECTED. Migration crewing_appraisal. - State machine lib/appraisal-state-machine.ts: verify (SUBMITTED→MPO_VERIFIED, MPO/Manager), approve (MPO_VERIFIED→MANAGER_APPROVED, Manager); orthogonal reject. - Actions (crewing/appraisals/actions.ts): raiseAppraisal (raise_appraisal — PM/ site staff), verifyAppraisal (verify_appraisal — MPO), approveAppraisal (approve_appraisal — Manager); reject paths require remarks; notifications APPRAISAL_FOR_VERIFICATION / APPRAISAL_FOR_APPROVAL. - Three surfaces (§8.14): PM raises + tracks status on the crew-profile Appraisals tab; MPO verifies in the Verification queue (Appraisals section); Manager approves in the central /approvals queue (Appraisal kind). Tests & docs - Unit: appraisal-state-machine.test.ts (4). Integration: appraisal.test.ts (4) — raise→verify→approve happy path, MPO reject, permission gating (MPO can't raise, site staff can't verify, MPO can't approve). type-check clean; full unit (245) + integration (205) green (verified with RESEND_API_KEY unset). - CLAUDE.md updated — completes Phase 5 (I + H). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| .forgejo | ||
| App | ||
| automation | ||
| Docs | ||
| GstService | ||
| Progress | ||
| static | ||
| Wireframe | ||
| .gitattributes | ||
| .gitignore | ||
| CHANGELOG.md | ||
| generate_po.py | ||
| inspect_po.py | ||
| test-report-2026-05-17.md | ||
Docs — retired (moved to the wiki)
The design, architecture, and test documents that used to live here have been migrated to the project wiki and removed from the repo. The wiki is the living reference going forward.
Wiki: https://git.pelagiamarine.com/shad0w/pelagia-portal/wiki
(working clone: pelagia-portal.wiki/ alongside this repo).
Where each retired doc went
| Retired file | Now in the wiki |
|---|---|
01-design-document.md |
System/Architecture, Product/Workflows (user stories), Product/Design-System, Overview/Open-Questions |
02-architecture.md |
System/Architecture (+ System/Data-Model, Ops/Deployment-and-Operations, Build-and-Run/Environment-Variables) |
03-open-questions.md |
Overview/Open-Questions |
DESIGN.md |
Product/Workflows, Product/Pages-and-Navigation, Product/Design-System |
TEST_PLAN.md |
Quality/Test-Plan |
e2e-test-framework.md |
Quality/E2E-Test-Framework |
e2e-test-plan.md |
Quality/E2E-Test-Plan |
PLAYRIGHT_TEST_DESIGN.md |
Quality/Playwright-Test-Design |
The wiki's on-disk folder layout (Overview / Build-and-Run / System / Product / Quality / Ops) mirrors its sidebar hierarchy.
Keep current behaviour documented in the wiki, not here. Other authoritative in-repo sources remain:
App/CLAUDE.md,App/README.md,automation/README.md, andCHANGELOG.md.