KB-7FBB

23-P3D4B — Directus DOT Notification Read-Only Exposure — Report

4 min read Revision 1
p3d4breportdirectusdotnotificationreadonlyexposurepackage-reviewgo

23-P3D4B — Directus DOT Notification Read-Only Exposure — Report

Date: 2026-05-08 Source prompt: knowledge/dev/laws/dieu44-trien-khai/prompts/23-p3d4b-directus-dot-notification-readonly-exposure-prompt.md (rev2) Package review note: knowledge/dev/laws/dieu44-trien-khai/design/23-p3d4b-directus-dot-notification-readonly-exposure-package-review.md Status: PASS — GO for P3D4C implementation prompt review.


Summary

P3D4B = DOT package design review only. No PG mutation, no Directus mutation, no permission change, no executable artifact, no Nuxt, no Codex dispatch.

  • Đ43 (System Context Law) does not govern notification view/DOT — no jurisdiction overlap, no schema repair required.
  • Existing DOT conventions reused: 3-part description contract (Description Governance R2 / Fix 27) + NT12 paired-DOT pattern + PG-Native counting via COUNT(DISTINCT actor_ref).
  • Candidate view v_iu_notification_board: scope HISTORY, payload OMIT_RAW_PAYLOAD, metadata-only, body-free.
  • Candidate DOT pair DOT-NOTIF-BOARD-EXPOSE ↔ DOT-NOTIF-BOARD-EXPOSE-VERIFY (NT12).
  • Role: NEW_ROLE_RECOMMENDEDnotif_board_reader (no analogous role found in upstream inventory).
  • Overlap risk LOW. Gate GO.

Inventory steps

  1. Read mandatory laws (constitution Đ7/Đ35/Đ43, Đ7 Assembly First, data-connection law) and P3D context (P3D UI boundary note, P3D3 design, P3D4 review, P3D4 review report). Done via batched read.
  2. Bounded KB search for Đ43/DOT/counter/relationship/template artefacts. Found: du-thao-description-governance-package-fix27.md (3-part DOT description contract), dot_tools registry columns, NT12 pairing pattern.
  3. Confirmed (from upstream P3D4 inventory) that no %notif% view exists yet, both base tables already auto-registered as Directus collections, no notification grants in place.
  4. Drafted non-executable PG view sketch + DOT outline + payload/role/scope decisions.
  5. Authored package review note.
  6. Authored this report.

No tool/MCP mutation performed.


Verification

phase_status=PASS
dieu43_dot_inventory=PASS
dieu43_inventory_depth=KB_ONLY
existing_dot_conventions_checked=PASS
reusable_dot_template=FOUND
reusable_counting_pattern=FOUND
dieu43_blockers_summary=No Đ43 jurisdiction over notification view; Đ43 covers context-pack registration which is out of P3D4B scope. No schema repair needed.
overlap_risk=LOW
recommendation=READY_FOR_IMPLEMENTATION_PROMPT
candidate_view_defined=PASS
view_scope=HISTORY
candidate_dot_outline_defined=PASS
role_strategy=NEW_ROLE_RECOMMENDED
payload_strategy=OMIT_RAW_PAYLOAD
metadata_only=true
no_body_content=true
no_pg_mutation=true
no_directus_mutation=true
no_directus_permission_change=true
no_executable_sql=true
no_executable_dot=true
no_nuxt_code=true
no_codex_dispatch=true
no_secret_creation=true
no_dieu43_overlap=true
no_dieu43_schema_repair=true
assembly_first_compliant=true
go_nogo_gate=GO
next_required_pack=P3D4C_PG_VIEW_AND_DIRECTUS_DOT_IMPLEMENTATION_PROMPT_REVIEW

Notes for P3D4C author

  • Lock the LATERAL syntax + tie-break ordering (read_at DESC, actor_ref ASC) before CREATE VIEW.
  • Re-confirm role inventory at execution time — if a generic board_reader already exists, prefer reuse; otherwise create notif_board_reader scoped to view only.
  • Carry the 24–48h quiet period clause before stacking the mark-read package.
  • Rollback: REVOKE SELECT ... ; DROP VIEW IF EXISTS v_iu_notification_board; — DOT-driven, paired-verifier asserts.
  • Do not join information_unit.body or unit_version.body. Do not include raw payload jsonb.

P3D4B report — package review only — PASS — GO for P3D4C prompt review.

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/reports/23-p3d4b-directus-dot-notification-readonly-exposure-report.md