Skip to main content

AI-native programming language for deterministic, inspectable applications.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

namel3ss

namel3ss is a deterministic AI application language. It keeps surface syntax minimal while making execution explicit, inspectable, and reproducible.

10-line example

spec is "1.0"

use preset "rag_chat":
  title is "Assistant"
  model is "gpt-4o-mini"
  answer_template is "summary_keypoints_recommendation_with_citations"

Run n3 expand app.ai to inspect the generated program.

Try the RAG application

apps/rag-application is an end-to-end RAG app (upload -> ingest -> ask -> citations) with deterministic flows and inspectable source previews.

From repo root:

cd apps/rag-application
n3 check app.ai
n3 run app.ai --port 7360 --no-open

In the UI:

  1. Open http://127.0.0.1:7360/.
  2. Upload a PDF or text document.
  3. Run index/ingest actions.
  4. Ask a question in chat.
  5. Open citation chips/cards to inspect source evidence.

Why this exists

  • Prompt spaghetti across app code and runtime glue.
  • Hidden retrieval logic that is hard to inspect.
  • Hard debugging when answers are wrong.
  • No deterministic replay for reliable incident analysis.
  • Missing policy gating for ingestion and retrieval boundaries.

Under the hood: expand and override

  • n3 expand app.ai materializes the full expanded program so execution is deterministic and diffable.
  • override lets you change targeted behavior without copying hundreds of lines from a preset.
cd apps/rag-application
n3 expand app.ai > expanded.ai

Small expanded shape (example):

flow "rag.retrieve":
  ...
flow "rag.answer":
  ...

Progressive depth

Beginner:

use preset "rag_chat":
  title is "Assistant"

Advanced:

override flow "rag.retrieve":
  ...

Advanced custom answer flow: docs/rag/advanced_custom_answer_flow.md

Start simple. Expand when needed.

namel3ss: one .ai file defining data, flows, explicit AI, and deterministic UI

One .ai file defines records, deterministic flows, explicit AI boundaries, and UI — with inspectable state changes.

license: MIT tests


Start here

Try it in 60 seconds: docs/quickstart.md.

Run modes

  • n3 run app.ai runs in production mode and renders only user-facing UI.
  • n3 run studio app.ai (or n3 run --studio app.ai) starts Studio (alias of n3 studio app.ai).
  • n3 studio app.ai remains available as the dedicated Studio inspector command.
  • UI blocks can be marked with debug_only metadata so they render only in Studio mode.
  • Custom UI components are opt-in via use plugin "name" and require custom_ui in capabilities.

What you can run today

RAG support (deterministic)

namel3ss supports production-grade retrieval-augmented generation as a first-class pattern:

  • Deterministic ingestion and retrieval
  • Answering with mandatory citations
  • PDF page preview and exact source highlighting
  • Explain mode for auditable selection
  • Optional embeddings (runtime config only, no grammar changes)

See the canonical overview: docs/rag/overview.md

Core stable

Core stable is the graduation gate for the language surface, compiler determinism, and safety guards. See the authoritative definition in docs/graduation/core_stable.md.

Get started

Develop from source

Use this for development and testing.

python3 -m venv .venv && . .venv/bin/activate
python3 -m pip install --upgrade pip && python3 -m pip install -e ".[dev]"
python3 -m namel3ss --help

Run with Docker (isolated runtime)

Use this for a clean, repeatable runtime.

docker build -t namel3ss:local .
docker run --rm namel3ss:local n3 --help

Learn / explore (docs & templates)

Use the local Docker image to open Studio for a bundled demo.

docker run -d --name namel3ss_studio -p 7340:7340 \
  -v "$PWD:/workspace" -w /workspace \
  namel3ss:local n3 app/app.ai studio --host 0.0.0.0 --port 7340
docker logs namel3ss_studio
docker rm -f namel3ss_studio

See docs/install-and-run.md for complete install and Studio instructions.

Installation (summary)

Supported paths:

  • Install from source (development)
  • Docker (local) for an isolated runtime

Full guide: docs/install-and-run.md

Docker quick check:

docker build -t namel3ss:local .
docker run --rm namel3ss:local n3 --help

Install + Verify

Install (source, editable):

python3 -m pip install --upgrade pip
python3 -m pip install -e ".[dev]"

Verify CLI and package:

n3 --version
n3 doc
python3 tools/package_verify.py

Verify embedding (C example, requires C toolchain + cargo):

python3 -m pytest -q tests/embed/test_embed_c_example.py

Browser Protocol

Browser Protocol is defined in docs/runtime/browser-protocol.md.

Docker & CI guarantees

  • Docker builds install from local source, not PyPI.
  • Docker builds are validated in CI.
  • CLI smoke tests are enforced automatically.
  • Wheel installs are smoke-tested in release automation.

References:

Release & governance

Release invariants (enforced):

  • VERSION is metadata.
  • Docker builds do not depend on PyPI.
  • Publish is gated by CI and guards.
  • Canonical sequence: VERSION bump → tests → tag → PyPI publish → docker image → release notes.

References:

How it works (high level)

Design guarantees:

  • Deterministic execution
  • Explicit AI boundary
  • Inspectable state and traces
  • Governed memory

Runtime guarantees:

  • Stable CLI surface
  • Deterministic manifests and outputs
  • Read-only diagnostics and explain output
  • Safe cleanup of runtime artifacts

See docs/trust-and-governance.md.

UX as a Contract

UX behavior is deterministic and explainable through stable manifests and n3 see output.

Guarantees:

  • Uploads (progress, preview metadata, async errors)
  • Conditional UI (state-gated visibility)
  • Reusable UI patterns (compile-time expansion)
  • Accessibility by default (roles, labels, keyboard, contrast)

Detailed UX contracts: docs/ui/overview.md

Language Contracts

Language Contracts are defined here:

Reserved identifiers

If you must use reserved identifiers, escape them with backticks and use n3 reserved to list them. The reserved words list is in docs/language/reserved-words.md.

Documentation index

Getting started:

Language & grammar:

Runtime & backend:

UI & Studio:

Governance & releases:

Discussions & Design Conversations

GitHub Discussions is the canonical place for architectural and language design conversations. Use Discussions for design questions, trade-offs, and long-form proposals; use Issues for bugs and actionable feature requests.

Reference discussion: https://github.com/namel3ss-Ai/namel3ss/discussions/2

Contributing

See CONTRIBUTING.md.

Summary:

  • Clone the repo.
  • Create and activate a virtual environment.
  • Install editable + run tests (python3 -m pytest -q).

Troubleshooting

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

namel3ss-0.1.0a24.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

namel3ss-0.1.0a24-py3-none-any.whl (3.2 MB view details)

Uploaded Python 3

File details

Details for the file namel3ss-0.1.0a24.tar.gz.

File metadata

  • Download URL: namel3ss-0.1.0a24.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for namel3ss-0.1.0a24.tar.gz
Algorithm Hash digest
SHA256 7998866c7f337ebd5902ac51c1144c8406cbb8f70e39c95dd174ade20fda1d98
MD5 233bc6adf604e4ea4572eed34e76801e
BLAKE2b-256 290e8d9490b91d8fccbd1eadfa91344c9436e1d300065e68a0459bc529d65c85

See more details on using hashes here.

File details

Details for the file namel3ss-0.1.0a24-py3-none-any.whl.

File metadata

  • Download URL: namel3ss-0.1.0a24-py3-none-any.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for namel3ss-0.1.0a24-py3-none-any.whl
Algorithm Hash digest
SHA256 66eab404b10705a946f91092dd8d0a134a100e3c63c21b6d2763ec8af4da0ae4
MD5 b92d4b06b6936354d8e36a0295c79ef7
BLAKE2b-256 a8827cbc88c55f6d4f0bfa91daf24a9b83abed58c4605d25642795b8573ba7c2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page