Lexicon is a GenLayer registry for definitions, citations, revisions, moderation, semantic conflict checks and appeals.
This repository is a public proof package: it includes the product UI, the deployed GenLayer Studionet contract source, deployment metadata, finalized smoke transactions, and test evidence. Local wallet secrets are not included.
The registry's editorial code is administrator-controlled, while citations, revisions and review requests are limited to the entry author or administrator. Every citation and dispute action is exposed by the client. Finalization refuses entries with an open challenge or appeal, and accepted decisions rewrite the settled publication verdict rather than leaving a disconnected review record. The source-level checks live in tests/test_v2_invariants.py.
A governed registry of terms/definitions/entries moderated by consensus. The registry has a public 'code' (editorial standard); each entry is reviewed by GenLayer against the code and its cited public sources - compliant + well-cited entries are published, conflicting/unsupported ones rejected, and semantic conflicts flagged. Entries are disputable (challenge) and appealable, with contributor reputation + audit trail.
The frontend keeps the original product experience, while the contract adds a reviewable on-chain lifecycle: source records, GenLayer reasoning, challenge and appeal paths, indexed reads, and an audit trail that can be inspected after deployment.
| Area | Detail |
|---|---|
| Contract | contracts/lexicon_v2.py |
| Size | 37497 bytes |
| Network | GenLayer Studionet, chain id 61999 |
| Write methods | 15 |
| Read methods | 22 |
| GenLayer features | live web rendering, LLM execution, validator-comparative consensus |
| Deployment wallet | 0xD63B44f1248AC167B52ED3D7CA7670d3Ea280197 |
| Contract address | 0x190BFff590482DE6248e148aD0A2bE4BE4Cb0eBE |
Architecture note:
LexiconRegistry V2 (# v0.2.16), 37497 bytes, 15 write + 22 view. Objects: Entry, Citation, Revision, Challenge, Appeal + Reputation + AuditEntry + a governing
codestring. Lifecycle DRAFT->OPEN->UNDER_REVIEW->REVIEWED->CHALLENGE_WINDOW->APPEALED->FINALIZED->ARCHIVED. DynArray[str] stores + TreeMap status/author indexes + reputation + recent ids + clock. GenLayer nondet (web.render + exec_prompt in eq_principle.prompt_comparative) for code-compliance moderation + per-citation credibility + semantic-conflict detection + challenge/appeal rulings; strict-JSON + prompt-injection guards + INVALID_REASONING_JSON fallback. Backward-compat wrappers get_code/set_code/submit_post/moderate/get_post/get_post_count keep the original frontend working.
Core smoke flow:
set_code
-> create_entry
-> add_citation
-> add_revision
-> open_review
-> moderate_with_genlayer
-> open_challenge_window
-> submit_challenge
-> resolve_challenge
-> finalize_entry
-> archive_entry
-> recalculate_reputation
Test result:
Schema valid
12 smoke writes finalized
27/27
Static frontend bundled for standalone Vercel deployment
Lexicon ships as a standalone static app:
- wallet connection through the bundled browser client
- GenLayer reads through
genlayer-js - writes routed through the connected EVM wallet
- bundled
shared/client files keep the Vercel deployment self-contained - deployed contract address pinned in
app.jsanddeployment.json
From this repository folder:
python -m http.server 8080Open:
http://localhost:8080/
npx --yes vercel@latest --prod --yesThis public repository intentionally excludes local secrets:
- no private keys
- no vault files
- no
.envfiles - no
.vercelproject state - no local dashboard data
Public files include frontend code, contract source, deployment metadata, tests, and non-sensitive proof links.