Skip to content

Latest commit

 

History

History
110 lines (90 loc) · 5.73 KB

File metadata and controls

110 lines (90 loc) · 5.73 KB

System Architecture (TH)

เอกสารนี้สรุปโครงสร้างระบบในมุมภาษาไทย โดยยึดหลัก database-centric ownership + event-driven integration เพื่อทำให้ขอบเขตของแต่ละระบบชัดเจนและตรวจสอบได้

ขอบเขตการตรวจสอบรอบนี้อ้างอิงจาก repository .github ที่อยู่ใน workspace ปัจจุบัน จึงเป็นการทบทวนเชิงเอกสารและโครงสร้าง ไม่ใช่การยืนยัน runtime implementation ของทุก repository ปลายทาง

1) ภาพรวมเชิงสถาปัตยกรรม

1.1 Experience layer

  • SpectraCall เป็น mission control / operator surface
  • Aetherium-Manifest เป็น visualization และ telemetry surface
  • OmniVoice-AI เป็นช่องทาง voice commerce operations
  • AmpereEye เป็น edge analytics application บนอุปกรณ์

1.2 Governance layer

  • Aetherium-Syndicate-Inspectra ถือ relational source of truth ด้าน identity, subscriptions, billing, และ tenancy
  • flow ที่กระทบ policy, entitlement, หรือ trust ต้องถูก validate ผ่าน governance path ก่อน publish ต่อ

1.3 Event fabric

  • AetherBus-Tachyon เป็น canonical event bus สำหรับ cross-system traffic
  • broker state และ WAL มีไว้เพื่อ delivery durability และ replay ไม่ใช่ business system of record
  • ทุก producer/consumer ต้อง preserve correlation_id, causation_id, และ tenant_id

1.4 Continuity memory

  • AETHERIUM-GENESIS เป็น append-only continuity ledger
  • outcome ที่ผ่าน governance แล้วควรถูก commit เป็นหลักฐานที่ replay และ audit ได้

2) Context diagram

flowchart LR
    subgraph Clients[Clients and Operators]
        OP[Operators]
        UI[Manifestation Clients]
        EXT[External Consumers]
    end

    subgraph Runtime[Governance and Runtime]
        FE[Control Plane / Frontend]
        GOV[Governance Core]
        BUS[AetherBus-Tachyon]
        GEN[AETHERIUM-GENESIS]
    end

    subgraph Data[State and Memory]
        GOVDB[(Governance DB)]
        WAL[(Bus WAL / Replay State)]
        MEM[(Immutable Continuity Memory)]
    end

    OP --> FE
    UI --> FE
    FE --> GOV
    GOV --> GOVDB
    GOV --> BUS
    BUS --> WAL
    BUS --> GEN
    BUS --> EXT
    GEN --> MEM
Loading

3) Canonical envelope baseline

{
  "specversion": "3.0",
  "type": "domain.event",
  "event_id": "evt_...",
  "correlation_id": "corr_...",
  "causation_id": "evt_...",
  "tenant_id": "tenant_...",
  "source": "service.name",
  "subject": "resource/id",
  "occurred_at": "2026-03-21T00:00:00Z",
  "governance": {
    "policy_trace_id": "pol_...",
    "decision": "approved"
  },
  "data": {},
  "meta": {}
}

4) Ownership summary

Domain Canonical owner Storage style Notes
Identity / subscription / billing Governance core SQLite / relational source of truth ด้าน entitlement
Governance decisions Governance core Relational + event trail ควรอ้างอิง policy_trace_id ได้
Continuity / trust / replay evidence Genesis Append-only ledger ห้ามแก้ย้อนหลัง
Routing / delivery state Tachyon In-memory + WAL ใช้สำหรับ replay/delivery
Visualization telemetry cache Manifest In-memory time-series เป็น transient read model
Voice commerce operations OmniVoice Operational DB publish เฉพาะ canonical events สำคัญ
Device analytics AmpereEye Local SQLite / Room sync เฉพาะ summary ที่จำเป็น

5) งานที่แก้ไขในรอบนี้

  • ทำให้ README.md กลายเป็น architecture hub ที่กระชับและไม่ซ้ำกับหน้า profile
  • ออกแบบ profile/README.md ใหม่เป็นหน้าแรกเชิง landing page สำหรับการใช้งานบน GitHub profile
  • ปรับถ้อยคำให้สอดคล้องกันระหว่าง Mermaid, PlantUML, และเอกสารภาษาไทย
  • แยก “ข้อเสนอระยะถัดไป” ออกจากงานที่เอกสารรอบนี้ทำสำเร็จแล้ว
  • ตัดข้อความที่ซ้ำซ้อนหรือไม่เกี่ยวข้องกับโครงสร้างของ repository นี้ออก

6) ข้อเสนอฟังก์ชัน/แนวทางต่อยอดใหม่

  1. ทำ schema registry กลางสำหรับ canonical envelope และ event payload versions
  2. เพิ่ม data retention และ archival matrix สำหรับทุก domain owner
  3. ทำ cross-repository traceability checklist สำหรับ migration ที่เกี่ยวข้องกับ schema หรือ event contracts
  4. เพิ่ม replay conformance tests ที่ map จาก governance.approved ไปสู่ memory.committed
  5. ทำ operator-ready read model catalog เพื่อแยกว่า projection ไหนอนุญาตให้อ่านได้แต่ห้ามเขียนกลับ