KB-633A

GPT Review — D28 Generated Map Refresh PARTIAL Global Event Outbox and UI Label Fix

4 min read Revision 1
gpt-reviewd28event_outboxpartiallabel-fixglobal-notificationp3d4c2w

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_outbox rendering 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:

  1. Keep /knowledge/registries/event_outbox as global technical event outbox / system monitoring table.
  2. For Information Unit work, define a narrower reader later, e.g. filter or view scoped by:
    • event_domain='information_unit', or
    • event_subject_table for IU tables, or
    • a future fn_iu_notification_board(actor) / read-state board.
  3. 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 payload to a non-triggering Vietnamese label, e.g. Phân loại dữ liệu or Mứ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
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/reviews/gpt-review-d28-generated-map-refresh-partial-global-event-outbox-and-ui-label-fix-2026-05-10.md