No breaking changes without an explicit changelog entry.
- None.
- Repository guidance now points the canonical RAG example to
namel3ss-apps/apps/rag-application. - Runtime UI renderer marks chat and projects sections with explicit classes so chrome overrides are scoped and deterministic.
- Removed duplicate in-repo
apps/rag-applicationexample and its repo-local example test to keepnamel3sscore clean. - Chat workspace and projects sidebar no longer render duplicate outer wrapper borders in the runtime shell.
- None.
- Duplicate
apps/rag-applicationsource files fromnamel3ss(canonical app remains innamel3ss-apps).
- None.
- No grammar/runtime changes.
- None.
- None.
- None.
- Integration tests for combined UI features (layout, conditional rendering, RAG, diagnostics, uploads, plugins, theming).
- Headless upload action coverage through
/api/v1/actions/<id>end-to-end tests. - Deterministic HTTP caching coverage for versioned headless API and plugin assets.
- Internal headless server modules and handler names use descriptive, professional naming (public
/api/v1/*paths unchanged). - Diagnostics panel styling now follows theme tokens (
--n3-secondary-color,--n3-background-color, border-radius token). - Studio/runtime UI renderer now loads plugin JS/CSS assets declared in
manifest.ui.pluginsdeterministically and exposes custom-component mount metadata. - Baseline manifest guardrails updated for diagnostics warnings emitted by legacy debug-oriented chat subcomponents.
- Versioned headless UI endpoint now emits stable
ETagand cache headers and correctly returns304 Not Modifiedon matchingIf-None-Match. - Plugin asset endpoints now emit immutable cache headers and
ETag, with304 Not Modifiedbehavior for conditional requests. - Custom UI integration gap where plugin assets were declared but not loaded by renderer.
- Legacy debug-oriented chat subcomponents (
thinking, legacycitations,memory) continue to work but now trigger diagnostics placement warnings in product layouts.
- None.
- Docker Compose improvements: configurable port, user mapping, and CI docker-build job.
- Added
.env.examplewith configuration options. - Added sample
app/app.aifor Docker. - Added
data/directory for runtime artifacts.
- Simplified README Docker section with
docker composeinstructions. - No grammar/runtime changes.
- Release metadata version bump to 0.1.0a7 (no runtime changes).
- Package manifest
namel3ss.tomland lockfilenamel3ss.lock.json. - GitHub-backed package installs into
packages/with checksum and license verification. n3 pkgcommands: add/install/plan/tree/why/verify/licenses (+--json).- Packages docs and demo template (
docs/packages.md,src/namel3ss/templates/demo/). - Python tool venv support with per-app
.venv, dependency detection, andn3 depscommands. - Tool traces now include python env metadata and dependency source.
- Studio Tool Wizard for generating python tool skeletons.
- Built-in python tool packs (http, datetime, text, file, math) with no extra deps.
n3 doctornow checks python tool declarations, deps, venv, and lockfile status.- Python tool subprocess protocol v1 documentation.
- Module resolution now checks
packages/<name>/aftermodules/<name>/. - Breaking change: removed the old technical tool syntax in favor of English-first tool blocks and calls.
Before:
tool "greeter":
kind is "python"
entry is "tools.sample_tool:greet"
input_schema is json
output_schema is json
flow "hello":
let result is call tool "greeter" with input: input
After:
tool "greet someone":
implemented using python
input:
name is text
output:
message is text
flow "hello":
let result is greet someone:
name is "Ada"
- Capsules module system with
modules/<name>/capsule.ai, explicit exports, anduse "<module>" as <alias>imports. - Deterministic module loading with cycle detection.
- CLI:
n3 <app.ai> graphandn3 <app.ai> exports(plus--json). - Built-in test runner:
n3 testwithtests/*_test.ai. - Docs and example project for modules/tests.
- Form/state record paths now namespace qualified record names (modules use
state.<module>.<record>).
- Decimal literals and arithmetic (+ - * /) with deterministic evaluation.
- If/else conditionals with
is not,is at least,is at mostcomparisons. - Canonical record creation:
create "Record" with <values> as <var>. - New docs for expressions/conditionals (see
docs/expressions-and-conditionals.md).
- Numeric engine values use Decimal internally; JSON output preserves decimals without rounding.
- Lint warns on legacy
save Recordusage (still supported).
- Legacy
save Record(warning only in v0.1.x; usecreateinstead).
- PyPI metadata polish (URLs, authors, license), no functional changes.
- Stability: core CLI entrypoints and manifest shape stay stable; breaking changes are documented.
- Language core (Phases 1–3): Stable keywords, parser/AST/IR contracts, deterministic defaults.
- Full-stack UI + actions (Phase 4): Pages, actions, and engine wiring for forms/buttons/tables.
- AI + memory + tools (Phase 5): AI declarations with memory profiles and tool exposure.
- Multi-agent workflows (Phase 6): Agent declarations plus sequential/parallel agent execution.
- CLI, formatter, linter (Phase 7): File-first CLI, formatting rules, linting for grammar/safety.
- Studio (viewer → interactor → safe edits) (Phase 8): Manifest viewer, action runner, and guarded edits.
- Templates & scaffolding (Phase 10):
n3 newwith starter and demo templates.
- Added canonical type enforcement: aliases (string/int/bool) are deprecated; formatter rewrites them and lint errors by default. Use text/number/boolean (json if applicable).