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.mdStatus: 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: scopeHISTORY, payloadOMIT_RAW_PAYLOAD, metadata-only, body-free. - Candidate DOT pair
DOT-NOTIF-BOARD-EXPOSE ↔ DOT-NOTIF-BOARD-EXPOSE-VERIFY(NT12). - Role:
NEW_ROLE_RECOMMENDED—notif_board_reader(no analogous role found in upstream inventory). - Overlap risk LOW. Gate GO.
Inventory steps
- 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.
- Bounded KB search for Đ43/DOT/counter/relationship/template artefacts. Found:
du-thao-description-governance-package-fix27.md(3-part DOT description contract),dot_toolsregistry columns, NT12 pairing pattern. - 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. - Drafted non-executable PG view sketch + DOT outline + payload/role/scope decisions.
- Authored package review note.
- 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
LATERALsyntax + tie-break ordering (read_at DESC, actor_ref ASC) beforeCREATE VIEW. - Re-confirm role inventory at execution time — if a generic
board_readeralready exists, prefer reuse; otherwise createnotif_board_readerscoped 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.bodyorunit_version.body. Do not include rawpayload jsonb.
P3D4B report — package review only — PASS — GO for P3D4C prompt review.