尚未检测到更新。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