尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證ReliefMesh: emergency procurement with live evidence, independent approval, and automatic replanning when suppliers fail
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗The procurement continuity engine for emergency relief.
Live Demo · Judge Guide · System Status
A disaster-response coordinator tells ReliefMesh what people need, where it needs to go, when it must arrive, and the budget. ReliefMesh gathers supplier quotes, screens suppliers, mathematically finds the best valid purchasing plan, stress-tests it against failure, and automatically rebuilds it when reality changes. Humans still approve every financial commitment.
Most procurement systems help create a plan. ReliefMesh focuses on what happens when that plan stops being true.
In the latest verified production recovery run, a V1 plan was approved, a supplier changed its price, V1 became stale, and its approval was revoked. ReliefMesh built V2 automatically, re-ran Continuity, and required a fresh approval before purchase orders could proceed. The run completed two purchase orders, both delivered, with a valid tamper-evident audit chain. Replaying the delivery work created zero duplicates.
| Verified recovery evidence | Result |
|---|---|
| Purchase orders | 2 total · 2 delivered |
| Audit | 32 events · chain verified |
| Idempotency keys | 29 unique before replay · 29 after replay |
| Gmail | 4 → 4 |
| Slack | 9 → 9 |
| Google Calendar | 4 → 4 |
| Google Drive | 5 → 5 |
| Purchase orders after replay | 2 → 2 |
| x402 receipts after replay | 1 → 1 |
| Duplicate records | 0 |
flowchart LR
disaster[DISASTER DATA] --> rfqs[SUPPLIER LEADS / RFQs]
rfqs --> quotes[USER-SUBMITTED QUOTES]
quotes --> evidence[EVIDENCE + POLICY]
evidence --> optimizer[OPTIMIZER]
optimizer --> continuity[CONTINUITY ENGINE]
continuity --> approval[HUMAN APPROVAL]
approval --> pos[PURCHASE ORDERS]
pos --> fulfillment[FULFILLMENT]
fulfillment --> audit[TAMPER-EVIDENT AUDIT]
supplier_change[Supplier price, stock, delivery, or policy change] --> stale[PLAN STALE]
stale --> revoked[APPROVAL REVOKED]
revoked --> replan[AUTO-REPLAN]
replan --> continuity
For each plan, ReliefMesh runs the same deterministic procurement rules on a copy of the saved inputs:
These are labeled HYPOTHETICAL STRESS TEST. They do not change a quote, supplier, policy decision, approval, purchase order, or audit record. A real change is stored separately as an ACTUAL USER-SUBMITTED CHANGE.
| Component | Role |
|---|---|
| Gemini | Drafts fields from supplier-pasted quote text; the supplier reviews every value. |
| Claude | Writes an evidence-bounded, cited explanation of a recovery plan for human review; it cannot change plans or approve. |
| Fetch.ai | Agent interface for operational questions; it explains stored results. |
| Policy engine | Deterministic supplier eligibility. |
| PuLP/CBC | Deterministic procurement optimization. |
| Continuity Engine | Deterministic N-1 and breakpoint stress testing. |
| Human approver | Financial authorization. |
AI does not decide eligibility, approve spending, issue a purchase order, or move money.
| Component | Reality |
|---|---|
| Supplier quotes | USER_SUBMITTED |
| NASA / NWS / FEMA / FIRMS | LIVE, CACHED, or UNAVAILABLE |
| Continuity scenarios | HYPOTHETICAL STRESS TEST |
| Real supplier change | ACTUAL USER-SUBMITTED CHANGE |
| CRS | SANDBOX |
| x402 / Solana | DEVNET TEST PAYMENT |
| Gemini | Draft assistance only |
| Financial approval | Human only |
The production workflow is designed to be truthful about its boundaries:
design/flowchart TB
web[Next.js web app] --> api[FastAPI API]
supplier[Supplier portal] --> api
agent[Fetch.ai agent] --> api
api --> policy[Deterministic policy]
api --> solver[PuLP / CBC optimizer]
api --> engine[Continuity Engine]
api --> evidence[Evidence and disaster providers]
api --> operations[Email, calendar, drive, Slack]
api --> audit[Tamper-evident audit]
api --> db[(MongoDB Atlas)]
For implementation detail, see docs/ARCHITECTURE.md.
# API
cd backend
python -m venv .venv
.venv/Scripts/pip install -r requirements.txt
RELIEFMESH_APP_ENV=test RELIEFMESH_EXPOSE_INVITATION_LINKS=true .venv/Scripts/python -m uvicorn app.main:app --port 8000
# Web
cd frontend
npm install
NEXT_PUBLIC_API_BASE_URL=http://localhost:8000 npm run dev
Copy backend/.env.example for optional integrations. Never commit values from a local .env file.
cd backend && python -m pytest && python -m ruff check .
cd frontend && npm test && npx tsc --noEmit && npm run lint && npm run build
cd frontend && npx playwright test