Loop Village:公開來源與模擬邊界
更新:2026-09-04。公開閱讀版:來源與安全聲明。
設計承諾
本專案的設計規範是:所有設計只能取自公開來源與獨立推導,不得包含任何雇主、客戶或第三方的非公開架構、流程、控制參數、資料或程式碼。改名、匿名化並不能解除這個限制;來源有疑慮就停止使用並請擁有者確認。
本文件記錄現行 Loop Village 的公開技術依據與本次查核範圍,不是對整個歷史 repo 的逐檔來源鑑定、雇主授權或法律合規認證。公開通用模式能解釋設計,不能單憑相似性證明每一行歷史程式的來源;repo 公開前仍須 Ian 審查。不得將下列參考資料冒稱為每個歷史 commit 的實際原始來源。
虛構模型與資料
• 八位居民、六個地點、糧食與木材、三項政策及固定 seed 42731 是獨立設計的虛構學習模型,不映射任何真實機構、員工、客戶、內部門檻或作業流程。
• 居民依固定角色與時間表執行規則,不是有意識的角色,也不是 LLM agent。
• Village 不涉及真實金流,不提供金融服務;不要求訪客註冊、輸入密碼、姓名或金融資料。請勿將真實個資、帳密或機密輸入網站及附屬工具。
• 公開世界是共用模擬,控制與 RESET 會影響其他訪客。基礎設施可能處理 IP、HTTP 存取與診斷紀錄;「Village 不要求個資」不代表「整站完全沒有日誌」。
• 舊金融後端、migration 與資料仍保留,不能把本文件當成它們已被刪除、清理或全面稽核的證明。Atlas 是早期學習紀錄,不是現行產品或真實金融服務。
具體公開依據與目前實作
公開依據
本專案對應與限制
Spring Boot 官方文件
Spring 應用、設定與執行環境。實際依賴版本以 backend/build.gradle 為準。
Spring 宣告式交易VillageSimulationService 以 @Transactional 保存狀態、world event 與 Outbox;不是分散式交易保證。
Transactional Outbox 模式(Chris Richardson)
同一 DB transaction 保存狀態與待發布事件,再由 publisher 發送。可能重送,不能宣稱端到端 exactly-once。
Apache Kafka 官方文件VillageOutboxPublisher 發布村莊領域事件。地圖目前讀取 DB snapshot,並非 Kafka consumer 投影。
Kong 官方路由文件kong/kong.yml 使用明確的 Village endpoint allowlist;不能依賴可能被 tunnel 繞過的 gate-proxy。
Flyway versioned migrations
V29–V31 建立獨立 Village schema;本次不修改已套用 migration,也不更動歷史資料。
資源交付守恆與固定 tick 規則是虛構模型的獨立設計。現行 Village 未實作複式帳本、Saga、分散式鎖、完整 event sourcing 或 Kafka 驅動的畫面投影;不為了展示而宣稱這些能力存在。
本次查核與維護責任
本次閱讀範圍:Village simulation、snapshot、Outbox publisher 與前端快照讀取程式,以及 Kong、兩層 Nginx、首頁、about、sitemap、architecture。R0 公開/本機路徑對照及發布驗證見 公開就緒工作簡報(repo:PUBLIC_LAUNCH_READINESS.md)。未逐檔稽核 Atlas、所有舊金融檔案、歷史提交或素材授權;未查核或改動 Cloudflare 帳號設定。
任何新功能需註明公開依據或獨立推導理由。來源有疑慮就暫停,不把非公開材料轉寫後放入 repo。協作者遵循 AI Protocol(repo:../AI_PROTOCOL.md) 與 產品原則(repo:../PRODUCT_PRINCIPLES.md),由 Ian 決定 repo 公開及額外來源確認。