-
Notifications
You must be signed in to change notification settings - Fork 3
Releases: sboghossian/nomos
Releases · sboghossian/nomos
v0.1.1 — demo video + packaged Claude Skill
Drop-in patch over v0.1.0. No breaking changes.
What's new
- 22-second demo video at the top of the README — Remotion-rendered MP4 + GIF showing the three non-compete scenarios cycling, with the operand trace revealed on the failing requirement. Stills extracted for inline use.
- Humanized landing page — stripped AI tells (em-dash overuse, rule-of-three, 'testament / landscape / shoulders of giants' vocab) and put back a human voice.
- GitHub icon in the nav — real SVG, not just a word.
- Packaged Claude Skill —
nomos-reason.zipattached to this release. Drop into~/.claude/skills/and Claude starts writing.nomosprograms. - 42 tests covering the new grammar: negation,
!=, duration literals, user-defined predicates, operand surfacing. - MODEL_ALIASES refreshed against live OpenRouter (Sonnet 4.6, Opus 4.1–4.7, Haiku 4.5, GPT-5 variants, Gemini 3 previews).
Install the Claude Skill
curl -L -o /tmp/nomos-reason.zip \ https://github.com/sboghossian/nomos/releases/download/v0.1.1/nomos-reason.zip mkdir -p ~/.claude/skills unzip -o /tmp/nomos-reason.zip -d ~/.claude/skills/
Restart Claude Code. Ask it to write a Nomos program.
Full changelog
See CHANGELOG.md and /changelog.
Assets 4
Nomos v0.1.0 — first public release
Nomos is a programming language for legal reasoning. v0.1.0 is the first public release. Side project, built in public, Apache-2.0.
- 🌐 Site: https://nomos.dashable.dev
- 🕹 Playground: https://nomos.dashable.dev/play
- 📊 CUAD benchmark: https://nomos.dashable.dev/research/benchmarks
What works end-to-end
- Lexer + parser + typed AST, with 26 Vitest specs pinning behavior
- Name resolver with diagnostics
- Expression evaluator + rule engine with temporal validity
- Defeasibility solver: priority → specificity (lex specialis) → recency (lex posterior) → declaration order, with human-readable tiebreaker explanation
- Typed LLM bridges:
extract<T> using llm(...) verified_by human if confidence < Ncalls OpenRouter, returns typed values, routes low-confidence results to a human queue - Typed AuthorityRef AST: authorities classified as article / case / section / decree / generic with canonical strings
- Eyecite (Free Law Project) integration —
nomos resolveresolves US citations to structured records (Brown v. Board → 347 U.S. 483 / 1954 / reporter U.S.) - CLI with colored sectioned output:
nomos run/parse/check/resolve - VS Code extension with TextMate grammar + LSP (diagnostics, hover, completion)
- Web playground running the full pipeline client-side + proxy API for LLM calls (rate-limited, daemonized via launchd)
- Claude Skill ready for lawvable/awesome-legal-skills submission
CUAD benchmark (Claude Sonnet 4.5, 20 samples)
| Category | EM | Contains | F1 | Conf |
|---|---|---|---|---|
| Document Name | 1.00 | 1.00 | 1.00 | 0.97 |
| Parties | 0.00 | 1.00 | 0.20 | 0.96 |
| Effective Date | 0.20 | 0.40 | 0.45 | 0.99 |
| Governing Law | 0.60 | 0.60 | 1.00 | 0.99 |
| Overall | 0.45 | 0.75 | 0.66 | 0.97 |
Honest — reproducible via bench/cuad/harness.mjs.
Credits
Fifty years of rules-as-code research: Catala (Inria), OpenFisca, Blawx, Logical English (Kowalski), LegalRuleML, and the 1981 British Nationality Act encoding. Nomos sits on top — see /research/prior-art.
Not
Not a law firm. Not legal advice. Not production software. Experimental. Breaking changes expected.