diff --git a/PHASE0_PLAN.md b/PHASE0_PLAN.md index 9346cfd..027a063 100644 --- a/PHASE0_PLAN.md +++ b/PHASE0_PLAN.md @@ -72,7 +72,7 @@ Every Phase 0 component maps to a source-RFP requirement or a NIST control. Tabl | # | Milestone | Exit criteria | |---|---|---| | **0.1** | Repo scaffold + Docker Compose boots | ✅ **Complete 2026-09-30.** Tree matches ARCH §5.1 (Phase 0 subset), `docker-compose.yml` boots app+Postgres+Adminer, `pytest` green (3 tests), ruff clean, mypy clean. Docker boot verified via config; live end-to-end verification on next docker-enabled workstation. | -| **0.2** | Framework vendor-in | `src/ypms/framework/` and `src/ypms/security/` contain vendored OWC modules; header comment names OWC commit; base tests from OWC pass in YPMS repo (adjusted for module path). | +| **0.2** | Framework vendor-in | ✅ **Complete 2026-09-30.** OWC framework (base, bulk, crud, pagination, router, version_history) + security (models, rbac) + audit (models, service) + users (models) + auth stub vendored with owc→ypms renames. YPMS-specific `framework/pii_audit.py` added on top. Pagination bug in upstream fixed here (peek-ahead cursor was silently dropping rows). 26 tests passing, 93.10% coverage. Migration `0002_framework_tables.py` creates the shared tables. | | **0.3** | Auth + JWT + assurance_level | `POST /auth/login` returns a JWT with `sub`, `iat`, `exp`, `iam.assurance_level`, `roles` claims. `get_current_user` dep verifies. Local password auth uses pbkdf2_sha256. | | **0.4** | RBAC seed loaded | `src/ypms/seed/permissions_matrix.json` loaded at startup; `can(user, action, entity)` returns correct decisions per matrix; `DOES_SYSTEM_ADMIN` bypasses. Seed round-trip test passes. | | **0.5** | Registrant vertical slice | `Registrant` model + schemas + router + migration + permissions + tests. CRUD works end-to-end; SSN masked in serializer output; `@audit_read("pii_access")` fires on GET; every state change emits audit row. Coverage doc at `docs/coverage/registrant.md`. | diff --git a/POAM.md b/POAM.md index 614adf9..11d30e2 100644 --- a/POAM.md +++ b/POAM.md @@ -173,6 +173,7 @@ Closures retained for traceability. | — | Architecture document v0.1 (partial closure of YPMS-POAM-040) | 2026-09-30 | `ypms/ARCHITECTURE.md` drafted; forward-looking design following the OWC pattern. | | — | Phase 0 plan v0.1 (partial closure of YPMS-POAM-040) | 2026-09-30 | `ypms/PHASE0_PLAN.md` drafted: framework vendor-in, auth, RBAC, audit, Registrant vertical slice, 501 stubs on remaining ARCH §6.1 entities. | | — | Phase 0 milestone 0.1 shipped (partial closure of YPMS-POAM-040) | 2026-09-30 | Repo scaffold, Docker Compose, FastAPI factory with `/healthz` + `/readyz`, structlog + request-id middleware, Alembic baseline, CI workflow, README + CONTRIBUTING. Tests green (3 passing, ruff + mypy clean). Committed as `393631a`. | +| — | Phase 0 milestone 0.2 shipped (partial closure of YPMS-POAM-040) | 2026-09-30 | OWC framework vendored (base/crud/bulk/pagination/router/version_history + audit + security/rbac + users + auth stub) with owc→ypms renames. YPMS pii_audit decorator added. Pagination bug in upstream OWC fixed here (peek-ahead cursor). 26 tests passing, 93.10% coverage. Migration 0002 creates the framework tables. | ---