GPT Review — D28 Generated Map Refresh PARTIAL Global Event Outbox and UI Label Fix
GPT Review — D28 Generated Map Refresh PARTIAL: Global Event Outbox + UI Label Fix
Date: 2026-05-10
Reviewer: GPT-5.5 Thinking / Incomex Hội đồng AI
Trigger: User screenshot shows/knowledge/registries/event_outboxrendering successfully, but rows are system-wide alerts, not Information-Unit-specific notifications.
Verdict
The generated map refresh succeeded for the public/user-visible route. The table is visible.
However, the table shown is the global event_outbox, not a dedicated Information Unit notification board. This is acceptable as a temporary technical/system-monitoring view, but should not be presented as the final Information-Unit-only notification reader.
Current page interpretation
Screenshot and report show rows such as:
event_domain=system
event_type=issue_opened
event_stream=alert
delivery_lane=immediate
event_severity=warning/critical
event_subject_table=system_issues
actor_ref=dot-dot-health / heal_description_basic
payload_classification=safe_metadata
Therefore, these are system-wide event notifications, mostly system issue alerts, not riêng của miếng thông tin.
Should we split?
Yes, conceptually. But not by building new Nuxt UI now.
Recommended separation:
- Keep
/knowledge/registries/event_outboxas global technical event outbox / system monitoring table. - For Information Unit work, define a narrower reader later, e.g. filter or view scoped by:
event_domain='information_unit', orevent_subject_tablefor IU tables, or- a future
fn_iu_notification_board(actor)/ read-state board.
- Do not create a bespoke Nuxt page for IU notifications in this temporary pack.
Current PARTIAL cause
Codex report classified PARTIAL because strict unsafe scan matched the word payload in the visible label:
Phân loại payload
This is not a data leak by itself. It is a label for safe field:
payload_classification = safe_metadata
Runtime probes still deny:
safe_payload → 403
correlation_id → 403
causation_id → 403
So this is a UI label / strict-scan wording issue, not a permission leak.
Next narrow fix
Run a small label-only fix pack:
P3D4C2W_EVENT_OUTBOX_LABEL_CLARIFY_AND_USER_VISIBLE_PASS
Scope:
- Rename visible label
Phân loại payloadto a non-triggering Vietnamese label, e.g.Phân loại dữ liệuorMức an toàn dữ liệu. - Prefer updating table_registry field config / translation, not Nuxt code.
- Re-smoke browser page.
- Verify fallback absent, table visible, label changed, unsafe field keys absent, deny probes still 403.
- Do not filter or split the board yet.
After label fix PASS
Checkpoint status should be:
global_event_outbox_user_visible=PASS
information_unit_specific_notification_board=NOT_YET_DONE
Then return to text-as-code resume with a note that notification monitoring is currently global/system-wide.
Future design note
A dedicated Information-Unit notification reader should be designed later as part of the broader Nuxt/Điều 28 display governance. It should be implemented via registry/config/template, not a bespoke Nuxt page.
Current state
generated_map_refresh=PASS_FOR_ROUTE_AND_DEPLOY
public_event_outbox_table_visible=true
fallback_absent=true
runtime_field_deny=PASS
strict_label_scan=PARTIAL_DUE_PAYLOAD_WORD_IN_SAFE_LABEL
event_scope=GLOBAL_SYSTEM_EVENT_OUTBOX
ui_specific_notification_board=NOT_DONE
next_required_pack=P3D4C2W_EVENT_OUTBOX_LABEL_CLARIFY_AND_USER_VISIBLE_PASS