Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證The referee for agent to agent transactions
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
The missing referee for the agentic economy.
Agents take briefs, do work, and get paid — but nobody can check the work
against the brief after the fact. AgentRef mints a work receipt: the brief,
its requirements, the required material-risk disclosures, and the submitted
deliverable are hashed into one tamper-evident record. A buyer who believes the
delivery missed the brief can challenge it with evidence, and an
adjudicator rules: PASS, FAIL, or PASS WITH MATERIAL RISK —
with a self-explaining reason and a simulated escrow outcome.檢視完整 README ↗The missing referee for the agentic economy.
Agents take briefs, do work, and get paid — but nobody can check the work against the brief after the fact. AgentRef mints a work receipt: the brief, its requirements, the required material-risk disclosures, and the submitted deliverable are hashed into one tamper-evident record. A buyer who believes the delivery missed the brief can challenge it with evidence, and an adjudicator rules: PASS, FAIL, or PASS WITH MATERIAL RISK — with a self-explaining reason and a simulated escrow outcome.
Not another agent. Not another chatbot. Not a marketplace. A referee.
🧪 Hackathon MVP. Rulings tagged
SIMULATEDcome from a transparent local rules model (no validators contacted). A real GenLayer adjudicator path is implemented (seegenlayer/) and switches on when a contract is deployed. Settlement amounts are simulated. Nothing here moves real money.
npm install
npm run dev # http://localhost:3000
No wallet, no network, no credentials required. The full flow runs in the browser:
Try the 60-second demo from the landing page: three seeded scenarios that are engineered to Pass, Fail, and Pass-with-a-material-risk. Challenge one with its bundled dispute and watch the verdict.
| Script | What it does |
|---|---|
npm run dev | Next.js dev server |
npm run build / npm start | Production build / serve |
npm run typecheck | tsc --noEmit |
npm run lint | ESLint |
npm test | Node test runner over src/**/*.test.ts (pure domain, no DOM) |
npm run test:genlayer | Placeholder for the GenLayer harness (needs tooling — see genlayer/README.md) |
Every dispute reduces to ONE artifact — the Receipt (src/core/types.ts),
which accumulates:
Receipt (REF-…)
├─ brief + explicit requirements + risk requirements ── hashed at mint
├─ submitted work ── hashed at mint
├─ corpusHash (root over all of the above)
├─ Challenge (CHL-…): reason, violated/missed req texts, evidence ── body-hashed
│ └─ each EvidenceItem content-hashed (SHA-256)
├─ VerificationRequest: the exact payload an adjudicator sees ── payloadHash
└─ Ruling: verdict + why + provenance (genlayer | simulated)
Because everything is recomputed on demand, anyone holding a receipt can press Verify integrity and see each stored hash checked against current content — so a public receipt link is a genuinely auditable record, not a screenshot.
src/core/settlement.ts)PENDING ─challenge─▶ CHALLENGED ─submit─▶ UNDER_REVIEW ─ruling─▶ PASSED | FAILED
│ │
PASS ──────────────────────────────▶ RELEASED FAIL ──────▶ LOCKED
PASS_WITH_MATERIAL_RISK ──────────▶ RELEASED (with the missed risk on record)
RELEASED / LOCKED are simulated escrow outcomes — the UI always says so.
| Route | Purpose |
|---|---|
/ | Landing + the three demo scenarios |
/create | Mint a work receipt (accepts ?seed=) |
/receipts | The ledger — filterable list of all receipts |
/receipts/[id] | Full record: evidence chain, integrity check, challenge & ruling |
/receipts/[id]/challenge | Raise a dispute (unscripted composer + suggested fast-path) |
/receipts/[id]/verify | Adjudicate: SIMULATED path (default) or real GenLayer (when configured) |
/r/[id] | Public read-only receipt (the shared link target) |
AgentRef never fakes the things that matter:
src/core/evaluate.ts) and are always labelled
SIMULATED — validators were not consulted in the UI.0xaF982d37492368e03413DaCe68E8525bf97f822B, source in genlayer/agentref.py.
adjudicate() asks validator nodes to judge the dispute via the Equivalence
Principle and stores the consensus verdict, so rulings carry on-chain
provenance (source: "genlayer"). Reading it needs no wallet; signing the
writes needs a funded server-side key.See ARCHITECTURE.md for the module map, the verification boundary, and why
genlayer-js is an optional runtime dependency. See DEMO.md for a scripted
judge walkthrough.
src/
core/ pure domain — no React, fully unit-tested
types.ts the Receipt / Challenge / Ruling model
receipt.ts mint + lifecycle + integrity recomputation
challenge.ts raise a dispute (evidence hashing)
settlement.ts escrow state machine
evaluate.ts SIMULATED adjudicator (transparent stand-in)
verify/ request builder + ruling parser (parser is GenLayer-agnostic)
genlayer/ config + adapter for the real on-chain path
store/ repo interface (localStorage / memory)
seeds.ts the three demo scenarios
lib/ provider + presentation helpers
components/ UI kit + shared ReceiptView + nav
app/ pages (App Router)
genlayer/ agentref.py — the deployed contract, byte-identical to chain
Made for the GenLayer hackathon. Judge the judgment. ⚖️