尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
A map-first web app that helps international visitors find Korean restaurants
matching their dietary needs — vegan, halal, mild, fermented, zero-waste,
local sourcing — and understand the food culture behind each place, built so
that every claim it makes is either checked or honestly marked unknown.查看完整 README ↗A map-first web app that helps international visitors find Korean restaurants matching their dietary needs — vegan, halal, mild, fermented, zero-waste, local sourcing — and understand the food culture behind each place, built so that every claim it makes is either checked or honestly marked unknown.
K-Food Map is part of a digital public diplomacy initiative, and that single fact drives most of the project's design decisions. A restaurant finder that gets a detail wrong is annoying. A state-adjacent cultural project that tells a Muslim traveller a restaurant is halal when nobody checked, or presents a contested commercial claim as national heritage, is a different category of failure. Restaurant discovery is the entry point; cultural storytelling — and being trustworthy about it — is the product.
The primary audience is first-time international visitors to Korea with a dietary constraint and no Korean. About 680 places nationwide (October 2026).
/cards) — "I am vegan" / "I am Muslim" in
polite Korean, questions about hidden ingredients, shown large across a
counter; works offlineThis is the part of the project that matters most. Three primitives work together so that nothing in the UI can claim more certainty than its sourcing supports:
fact() / unknownFact() — every field a user might act on is wrapped
in a fact carrying its own confidence, source, and evidence. The wrapper
enforces one invariant: a fact with no value is always unknown, and an
unknown fact can never carry a value. There is no code path where the UI
has to guess whether a field is trustworthy.CONFIRMED / SUPPORTED / INFERRED / UNKNOWN, kept
orthogonal to where a fact came from (SOURCE) and how it was checked
(METHOD). A fact can be "community-reported and independently confirmed"
or "official but stale" — collapsing those into one flattened label would
lose exactly the distinction a traveller needs.Restaurant → Fact → EvidenceRef → EvidenceRecord → EvidenceVersion → Source). A version's confidence is a ceiling, not an
opinion — a fact can never claim more certainty than its strongest evidence
supports, and that ceiling is enforced mechanically, not by habit.ACTIVE /
QUARANTINE are enforced end-to-end, from data through every discovery
surface to bookmark navigation.unknown always beats a plausible guess. Nothing is invented to fill a gap —
not a certification, not a price, not a menu item.
| Phase | State |
|---|---|
| 1 — Foundation | ✅ Done |
| 2 — Production Infrastructure | ✅ Done |
| 3 — Production Data | ✅ Done |
| 4 — Final QA | ✅ Done |
| 5 — Version 1.0 | ⏭ Next: Release Candidate |
The repository's HANDOFF.md (§10) is the authoritative roadmap; this is a
summary. Six phases, each gating the next:
Feature Phase 2 was meant to begin only after v1.0. On 2026-10-02 the owner
lifted that freeze for features that serve the concept; multilingual support
and several others have shipped since (see CHANGELOG.md and HANDOFF.md §7).
useState, no state library/, /place/:id)No backend, no state library, no build-time framework beyond Vite. Routing
is client-side (react-router) plus build-time static prerendering for
crawler-visible metadata (see HANDOFF §2.1). Data is authored and validated
in Node, then ships as static data.
npm install
npm run dev
npm run build
The full rules live in HANDOFF.md (§11); in short:
See HANDOFF.md for the full engineering handoff — architecture, data
model, technical debt, known risks, and the next recommended task.