GPT Council Review — IU / 4-Mothers / Event Foundation Rev1 (2026-05-27)
GPT Council Review — IU / 4-Mothers / Event Foundation Rev1
Date: 2026-05-27 Reviewer: GPT Council via Web Connector fallback Scope: Review 6 KB docs created by
IU_4MOTHERS_EVENT_FOUNDATION_REQUIREMENT_DESIGN_PASSVerdict: ACCEPT_WITH_PATCHES — do not run implementation Phase 0 until design patch is written.
Documents reviewed
knowledge/dev/requirements/iu-mow-mot-event-foundation-requirements.mdknowledge/dev/design/iu-mow-mot-event-foundation-design.mdknowledge/dev/design/law-extraction-plan-application-process-workflow-task.mdknowledge/dev/implementation/iu-4mothers-event-foundation-roadmap.mdknowledge/dev/design/assembly-first-open-source-integration-critique.mdknowledge/dev/reports/architecture/iu-4mothers-event-foundation-requirement-design-2026-05-27.md
Law evidence checked
knowledge/dev/laws/law-07-assembly-first.md: Điều 7 requires PostgreSQL first, Directus/Nuxt reuse, external open-source only after PG/Directus/Nuxt are insufficient, code last.knowledge/dev/laws/dieu45-pg-native-queue-and-task-orchestration-law.md: Điều 45 enacted; semantic search confirms explicitevent_vs_job_distinction=explicit_§6.6,work_state_machine_invariant=explicit_§6.7_min_9_states, and heartbeat caller obligations.knowledge/dev/laws/constitution.md: Hiến pháp v4.6.3 lists Assembly First, Schema Governance, DOT-pair, PG-first and related governing principles.
Verdict
ACCEPT_WITH_PATCHES.
Rev1 is strong enough to serve as architectural baseline, but not strong enough to authorize implementation Phase 0 immediately. A read-only design patch must be created first.
Check 1 — Coverage of old infrastructure
Status: PASS_WITH_MINOR_PATCH.
Good coverage:
- Master Design §12 contains an existing infrastructure reuse matrix.
- Requirements §8 covers IU source/domain/tree axis, compose, split/merge, trigger in/out, SQL link, event hooks, post-CUT materialization.
- Roadmap Phase 0 correctly prioritizes closing post-CUT autowire and split/merge review_decision gap before platform expansion.
- Directus/Nuxt and vector boundaries are preserved in requirements and design.
Gaps / patch needed:
- Add a formal old-to-new coverage table mapping: IU foundation, queue/event, DOT, cut pipeline, Directus/Nuxt, vector boundary, governance, healthcheck.
- The report says 15/15 forbiddens preserved, but the requirement/design docs should carry the coverage matrix directly, not only the macro report.
Check 2 — Constitution/law compliance
Status: PASS_WITH_PATCH_REQUIRED.
Good coverage:
- Requirements §4 lists 20 non-negotiable constraints: PG-first, native/config-driven, DOT 100%, Nuxt render shell, Directus API/admin, no direct PG from Nuxt, queue signal/ref not data, event/job distinction, executor boundary, MOT-not-executor, no cross-IU vector pollution, governance-before-use, reversible/audit-first, no double ownership.
- Master Design §2–§3 defines responsibility/no-double-ownership matrix.
- Law extraction plan clearly states future law must not duplicate Điều 45, IU laws, cut pipeline, vector policy, Directus/Nuxt boundary.
Gap / patch needed:
- The docs do not yet contain a clause-by-clause compliance matrix against each relevant law/constitutional principle. They list constraints, but they do not prove review at the level requested by user.
- Add a
Constitution + Law Clause Matrixsection with columns: source law/principle, binding requirement, where satisfied in design, remaining risk, sentinel test.
Check 3 — PG maximization
Status: PASS.
Evidence:
- Requirements §1 live survey proves PG substrate already exists: IU tables, event_outbox, event_type_registry, job_queue, job_dead_letter, queue_heartbeat, workflows/tasks, DOT substrate.
- Requirements §4 and Master Design §13 keep PG-native outbox/job_queue as immediate substrate.
- Phase 1 roadmap places schema JSON, trace/correlation, idempotency, DLQ replay, executor registry, governance state in PG.
Patch suggestion:
- Add a compact
PG-native ownership mapto Master Design covering: event ledger, schema registry, idempotency, retry, DLQ, replay, workflow_registry, task_def, field_registry, output registry, DOT catalog, healthcheck.
Check 4 — Agreed details coverage
Status: PASS_WITH_MINOR_PATCH.
Covered:
- 4 Mothers: MOW/MOT/MOIT/MOUT are fully described.
- Event 5 layers: producer, broker/bus, worker/executor, realtime gateway, DLQ/recovery/governance are covered.
- Assembly First: external tools as replaceable adapters; PG/DOT/registry as SoT.
- Business hierarchy, JFT, trigger types, MOW proposal UI, MOT 4-area layout, MOIT/MOUT registry constraints, governance UI, scale targets, IU compatibility all present.
Patch needed:
- Reinsert exact business hierarchy naming from handoff into Master Design, not only Requirements, so design remains self-contained.
- Clarify
Field → Task → Nhiệm vụ...because handoff lists Task as operational unit and business hierarchy as Task / Nhiệm vụ / Chuyên môn / Phòng ban / Công ty / Lĩnh vực. The current requirements line starts withField → Task, which may be acceptable as field-level subcomponent but should not obscure the agreed 6 business tiers.
Check 5 — OSS critique quality
Status: NEEDS_PATCH.
Good:
- Correctly preserves Assembly First and no second SoT.
- Correctly defers NATS/Benthos until scale/use-case triggers.
- Correctly rejects Hasura/Directus realtime as core due to boundary conflict.
- Correctly rejects Temporal/Camunda/Airflow as primary orchestrator.
- Correctly notes Điều 45 §6.7 minimum 9-state work-state invariant.
Concerns:
- pg-boss / Graphile Worker: rejection as primary substrate is reasonable, but the language should be softened to
not adopt as canonical substrate now; adapter/library-pattern slot remains open after adapter mapping review. A state-vocab mismatch does not automatically prove impossible integration if an adapter maps internal tool states to Điều 45 canonical states and PG remains SoT. - Temporal / Camunda: rejecting as primary orchestrator is correct, but docs must explicitly preserve future adapter slot for
execution backend adapterunder MOW ownership. Temporal may be valid later for deterministic replay/cross-host execution if workflow definitions still originate in PG registry and Temporal receives generated execution plans, not ownership. - Benthos: critique correctly reserves it for bounded mirroring/CDC, but ensure it is not described as permanently rejected for all producer use. Valid use remains external table mirroring or high-volume CDC with register-before-emit bridge.
- Directus realtime: reject for end-user/app governance realtime is correct. A very limited admin-only diagnostic sandbox could be explicitly marked non-core/non-production if ever needed, but default reject remains safer.
Check 6 — Law boundary
Status: PASS.
The law extraction plan is the strongest document in the set. It correctly defines future law as framework law, not implementation spec, and prevents duplicate ownership of queue/event core, IU internals, cut pipeline, vector policy, Directus/Nuxt boundary and approval mechanics.
Patch suggestion:
- Add a decision path for Điều 34: promote as workflow grammar law vs merge/archive. The plan recommends Path A; Council decision should be recorded before law drafting.
Check 7 — Next macro readiness
Status: NOT_READY_FOR_IMPLEMENTATION; READY_FOR_DESIGN_PATCH.
Recommended next action:
Run a read-only/document-only patch macro first:
IU_4MOTHERS_EVENT_FOUNDATION_DESIGN_REVIEW_PATCH_1000X
Patch items:
- Add Constitution/Law clause-by-clause compliance matrix.
- Add old-to-new infrastructure coverage table.
- Add PG-native ownership/maximization map.
- Soften OSS decisions: distinguish
reject as owner/primary substrate nowvsfuture adapter slot. - Add explicit Temporal/Camunda execution-backend-adapter slot under MOW ownership after Phase 6 triggers.
- Add Benthos/NATS re-evaluation triggers and register-before-emit bridge requirement.
- Add SSE gateway boundary detail: Nuxt server route must not read core queue directly except through governed projection/gateway abstraction with backend permission filter.
- Add Điều 34 decision path.
- Note missing
Bắt sự kiện của PGsource and route reconciliation once user provides it.
Only after that patch is created should the Council authorize:
IU_POST_CUT_AUTOWIRE_SPLIT_MERGE_AND_EVENT_FOUNDATION_PHASE0_6000X
Final decision
Do not run DB/DOT/migration implementation yet.
Rev1 is accepted as baseline but requires a design-review patch before Phase 0 implementation.