AI Native Lang

Changelog

Release notes, milestones, and updates to the AI Native Lang project.

1.3.1

March 29, 2026

AINL 1.3.1

Synced from docs/CHANGELOG.md in ainativelang. For narrative release notes see Release notes.

  • release: bump pyproject.toml · PyPI ainl 1.3.1; RUNTIME_VERSION 1.3.1 in runtime/engine.py and tests/emits/server/runtime/engine.py; CITATION.cff version · date-released; tooling/bot_bootstrap.json schema version.
  • solana: prediction-market flows on adapters/solana.SolanaAdapterDERIVE_PDA with single-quoted JSON seeds, GET_PYTH_PRICE (legacy + PriceUpdateV2), HERMES_FALLBACK, INVOKE · TRANSFER_SPL with priority fees; AINL_DRY_RUN=1 simulation envelopes for mutating verbs; optional pip install "ainativelang[solana]".
  • examples · curriculum: examples/solana_demo.ainl, examples/prediction_market_demo.ainl strict-valid; wired through artifact profiles · canonical curriculum · training packs where applicable.
  • emitters: --emit solana-client · blockchain-client standalone solana_client.py with v1.3.1 DISCOVERABILITY module docstring; see docs/emitters/README.md Solana section.
  • docs: docs/solana_quickstart.md, root README.md Solana callout, examples/README.md pointers, CONTRIBUTING.md (release version + Solana pointers), docs/CONTRIBUTING.md hub stub; tests assert discoverability strings in emitted client + adapter docstrings (tests/test_solana_blockchain.py).
1.3.2

March 29, 2026

AINL 1.3.2

Synced from docs/CHANGELOG.md in ainativelang. For narrative release notes see Release notes.

  • fix(packaging): declare httpx and requests as core dependencies in pyproject.toml. adapters/__init__.py eagerly imports LLM adapters that require these modules; a bare pip install ainativelang[mcp] (or base install) must not fail with ModuleNotFoundError on ainl --help · import smoke (CI install-smoke · wheel-integrity).
1.3.3

March 29, 2026

AINL 1.3.3

Synced from docs/CHANGELOG.md in ainativelang. For narrative release notes see Release notes.

  • fix(packaging): add PyYAML to core dependencies. scripts/ainl_mcp_server.py imports yaml at module load; ainl-mcp --help · CI wheel-integrity must not fail with ModuleNotFoundError: yaml after pip install ainativelang[mcp].
  • fix(ci): tests/test_intelligence_budget_hydrate.py · tests/test_runtime_api_compat.py — close MemoryAdapter SQLite connections (and gc.collect) before deleting temp DB paths on Windows (avoids PermissionError in core-pr).
  • chore(benchmarks): refresh tooling/benchmark_size_ci.json after examples/hello.ainl grew (commented tutorial header); keeps benchmark-regression size gate aligned with minimal_emit token counts.
1.2.10

March 27, 2026

AINL 1.2.10

Synced from docs/CHANGELOG.md in ainativelang. For narrative release notes see Release notes.

  • fix(packaging): include intelligence and intelligence.* in setuptools package discovery and add intelligence/__init__.py so wheel/PyPI installs include intelligence.signature_enforcer for CLI paths that import validator utilities.
  • fix(cli): ainl visualize now works from clean pip install ainativelang environments (no ModuleNotFoundError: intelligence during scripts.visualize_ainl import path).
  • feat(adapters/llm): add an internal LLM adapter layer under adapters/llm/ with AbstractLLMAdapter, LLMResponse/LLMUsage, and concrete OpenRouterAdapter and OllamaAdapter implementations registered via adapters/registry.AdapterRegistry; wiring is exercised in tests/test_adapters.py and documented in docs/ADAPTER_DEVELOPER_GUIDE.md.
  • feat(monitoring): introduce an optional AINL-native monitoring pack under intelligence/monitor/:
    • collector.MetricsCollector (in-memory metrics with Prometheus exposition),
    • cost_tracker.CostTracker (SQLite-backed LLM usage and budget store),
    • budget_policy.BudgetPolicy (monthly budget thresholds + Telegram alerts),
    • health.HealthStatus (liveness/readiness checks),
    • dashboard.server (Flask dashboard at /, /api/budget, /api/metrics, /health/* with a minimal static HTML UI). The pack is driven by Python-side intelligence programs and adapters, not the AINL language itself. Integration guides live in docs/MONITORING_OPERATIONS.md and docs/INTELLIGENCE_PROGRAMS_INTEGRATION.md.
  • feat(openclaw tools): add thin OpenClaw tool helpers under adapters/tools/openclaw/ and a simple MCP tools client/registry under adapters/tools/mcp/ to demonstrate how external tool surfaces can be wrapped for AINL-hosted agents; these are extension-level helpers, not canonical language features.
  • release: bump package/runtime surfaces to 1.2.10 (pyproject.toml, runtime/engine.py, tests/emits/server/runtime/engine.py, CITATION.cff).
  • docs: update release tracking docs to point at v1.2.10 and call out the PyPI quickstart flow (pip installainl initainl checkainl runainl visualize). Cross-link the new monitoring/adapter components from README.md, WHITEPAPERDRAFT.md (§10.5/§13.5), docs/DOCS_INDEX.md, and the intelligence/operations docs so operators can discover the monitoring pack from both OpenClaw and core AINL entry points.
1.3.0

March 27, 2026

AINL 1.3.0

Synced from docs/CHANGELOG.md in ainativelang. For narrative release notes see Release notes.

  • solana · lexer: R solana.DERIVE_PDA seeds accept single-quoted JSON '["a","b"]' as one lexer token; under AINL_DRY_RUN=1, mutating verbs INVOKE, TRANSFER, and TRANSFER_SPL return simulated envelopes without requiring solders (live RPC/signing still needs ainativelang[solana]). Legacy tokenize_line() now delegates to tokenize_line_lossless (decoded slot values; same as compile).
  • code_context adapter: Added GET_SKELETON (cheap Tier-0 signatures), embedding-aware COMPRESS_CONTEXT (cosine ranking when embedding_memory is available), and extended STATS with graph metrics; plus import-graph GET_DEPENDENCIES · GET_IMPACT and greedy packing on earlier iterations. Builds on ctxzip tiers + forgeindex graph/compression ideas. See docs/adapters/CODE_CONTEXT.md, examples/code_context_demo.ainl. Full credit to Brady Drexler (ctxzip) and Chris Micah (forgeindex).
  • feat(hermes): add official Hermes Agent host support to ainl install-mcp --host hermes · ainl hermes-install (writes ~/.hermes/config.yaml mcp_servers.ainl, installs ~/.hermes/bin/ainl-run, PATH hint).
  • feat(skills/hermes): ship a Hermes-native skills pack under skills/hermes/ (installer + bridge helpers for ingest/export loops).
  • feat(emitter): add --emit hermes-skill (and --target hermes alias) to compile a .ainl workflow into a drop-in Hermes skill bundle (SKILL.md, workflow.ainl, ir.json) that runs deterministically via MCP ainl_run.
  • feat(doctor): ainl doctor now recognizes Hermes’ YAML host config (~/.hermes/config.yaml mcp_servers:) and validates ainl MCP registration without requiring a YAML dependency.
  • docs(hermes): new docs: docs/integrations/hermes-agent.md (high-level) and docs/HERMES_INTEGRATION.md (full guide, quickstarts, loop contract, troubleshooting).
  • docs(discovery): README badge + “Start here” + docs/README.md + docs/DOCS_INDEX.md + MCP host hub cross-link Hermes Agent next to OpenClaw · ZeroClaw so humans and agents can find the upstream host.
  • feat(openclaw): ainl install openclaw --workspace PATH for true one-command setup with health check, --dry-run support, and core gold-standard cron registration.
  • feat(openclaw): ainl status as a unified view for budget, cron health, and token usage (legacy weekly_remaining_v1 table plus memory_records fallback via _read_weekly_remaining_rollup).
  • feat(openclaw): self-healing validator and ainl doctor --ainl for OpenClaw + AINL integration checks.
  • fix(ux): improved error messages with actionable fix suggestions.
  • docs(openclaw): updated OpenClaw docs with progressive disclosure — quickstart-first, gold-standard depth preserved.
  • fix(openclaw): weekly budget display in ainl status correctly reads from modern memory_records primary storage (legacy table remains bootstrapped for compatibility).
1.2.9

March 26, 2026

AINL 1.2.9

Synced from docs/CHANGELOG.md in ainativelang. For narrative release notes see Release notes.

  • feat(ptc): adapters/ptc_runner.py — opt-in PTC Runner adapter (HTTP + mock + subprocess mode via AINL_PTC_USE_SUBPROCESS · AINL_PTC_RUNNER_CMD); disabled by default; AINL_ENABLE_PTC=true or --enable-adapter ptc_runner; structured result envelope with ok, result, beam_metrics, beam_telemetry; health/status verbs; _strip_private_keys context firewall; registered in ADAPTER_REGISTRY.json, tooling/adapter_manifest.json, tooling/effect_analysis.py.
  • feat(ptc): adapters/llm_query.py — lightweight opt-in LLM query adapter mirroring ptc_runner structure; run/query verbs; _strip_private_keys at serialization boundary.
  • feat(ptc/modules): modules/common/ptc_run.ainl — thin syntactic-sugar wrapper over ptc_runner run with named frame variables and safe defaults for optional signature and subagent_budget.
  • feat(ptc/modules): modules/common/ptc_parallel.ainl — pcall-style fan-out orchestrator; respects max_concurrent cap; optional queue.Put side-channel.
  • feat(ptc/modules): modules/common/recovery_loop.ainl — bounded retry wrapper for ptc_runner calls based on ok: false envelope; max_attempts capped at 10.
  • feat(ptc/intelligence): intelligence/signature_enforcer.py — parse # signature: ... metadata, validate output shapes, run_with_signature_retry (max 3 attempts).
  • feat(ptc/intelligence): intelligence/trace_export_ptc_jsonl.py — export AINL trajectories in PTC-compatible JSONL; _strip_private_keys; beam_metrics and beam_telemetry fields.
  • feat(ptc/intelligence): intelligence/context_firewall_audit.py — audit .ainl source and trajectory files for _-prefixed key leakage; runnable via scripts/run_intelligence.py.
  • feat(ptc/intelligence): intelligence/ptc_to_langgraph_bridge.py — analyze .ainl source or trajectory for ptc_runner calls; emit LangGraph-compatible create_ptc_tool_node Python snippet.
  • feat(ptc/mcp): scripts/ainl_mcp_server.py — new tools: ainl_ptc_signature_check, ainl_trace_export, ainl_ptc_run, ainl_ptc_health_check, ainl_ptc_audit (combined signature + firewall report); wired into tooling/mcp_exposure_profiles.json.
  • feat(ptc/cli): cli/main.pyainl run-hybrid-ptc subcommand: thin wrapper over ainl run with pre-configured defaults (mock mode, ptc_runner adapter, trace path); --no-mock and --trace-jsonl overrides.
  • feat(ptc/examples): examples/hybrid_order_processor.ainl — production hybrid example: parallel order batches, signature validation, recovery loop, _ context firewall, trace/LangGraph bridge comments.
  • feat(ptc/examples): examples/price_monitor.ainl — second production example: parallel price monitoring with ptc_parallel + recovery_loop + _ context firewall.
  • feat(ptc/docs): docs/assets/ptc_flow.mmd — Mermaid flow diagram: AINL graph → PTC modules → PTC Runner/BEAM → enriched envelope → trace export · LangGraph bridge → deployment.
  • feat(ptc/security): tooling/security_profiles.jsonptc_sandbox_plus named profile with max_subagent_budget, trace_depth, max_concurrent_calls.
  • docs(ptc): docs/adapters/PTC_RUNNER.md — full integration guide (setup, verbs, envelope, signature, context firewall, parallel, recovery, subprocess BEAM mode, LangGraph emission, MCP tools, Mermaid diagram, production examples).
  • docs(ptc): WHITEPAPERDRAFT.md §8.4 — PTC-Lisp hybrid integration positioning note.
  • docs(ptc): README.md, docs/README.md, docs/INTELLIGENCE_PROGRAMS.md, docs/EXAMPLE_SUPPORT_MATRIX.md, docs/operations/EXTERNAL_ORCHESTRATION_GUIDE.md — cross-references and quick-start callouts.
1.2.8

March 25, 2026

AINL 1.2.8

Synced from docs/CHANGELOG.md in ainativelang. For narrative release notes see Release notes.

  • docs(whitepaper): WHITEPAPERDRAFT.md (v1.2.8 positioning, §6.6 graph pitfalls, §10.5 intelligence, §13.5 token caps, §17.1 shipped, appendix OpenClaw file map); supporting updates: docs/WHAT_IS_AINL.md, docs/DOCS_INDEX.md, docs/overview/README.md, docs/POST_RELEASE_ROADMAP.md
  • packaging: pyproject.toml · ainl 1.2.8; RUNTIME_VERSION 1.2.8 in runtime/engine.py (mirrored tests/emits/server/runtime/engine.py); CITATION.cff aligned. Reinstall or pip install -U -e . so CLI/MCP/runner runtime_version matches and __pycache__ from older trees does not shadow updated modules.
  • feat(ops): rolling budget hydration for scripts/run_intelligence.py, tooling/intelligence_budget_hydrate.py, workspace env pin tooling/openclaw_workspace_env.example.sh, ops docs (docs/operations/*: profiles, token observability, workspace isolation, WASM/TTL/embedding notes).
  • docs(openclaw): docs/operations/OPENCLAW_AINL_GOLD_STANDARD.md — agent-discoverable install/upgrade checklist (profiles, caps, cron, host bootstrap, verification); indexed from tooling/bot_bootstrap.json, HOST_PACK_OPENCLAW.md, DOCS_INDEX.md.
  • docs(openclaw): docs/operations/OPENCLAW_HOST_AINL_1_2_8.md — host briefing for v1.2.8 (repo capabilities vs OpenClaw obligations: probe, rolling hydrate, profiles, bootstrap contract); openclaw_host_ainl_1_2_8 in tooling/bot_bootstrap.json.
  • fix(graph): intelligence + modules/common/generic_memory.ainl — graph-safe X (no raw {…} literals), memory.list optional prefix via null, metadata valid_at · tags; see docs/RUNTIME_COMPILER_CONTRACT.md § graph pitfalls, docs/AINL_SPEC.md.
1.2.6

March 24, 2026

AINL 1.2.6

Synced from docs/CHANGELOG.md in ainativelang. For narrative release notes see Release notes.

  • fix(graph · intelligence): intelligence/token_aware_startup_context.lang and modules/common/generic_memory.ainl — avoid X {…} object literals (graph IR → unknown X fn: {); build filters/payloads with core.parse, obj/put, arr; merge list steps into one label (do not use J NextLabel as a jump); memory.list uses null for omitted record_id_prefix; memory_tags via X … (arr …); valid_at from R core iso. Documented in docs/AINL_SPEC.md, docs/RUNTIME_COMPILER_CONTRACT.md, docs/INTELLIGENCE_PROGRAMS.md, docs/adapters/MEMORY_CONTRACT.md § 3.4.
  • fix(lang/samples): intelligence programs, demos, and autonomous-ops examples — bind memory-contract frame variables with Set (memory_namespace, memory_kind, memory_record_id, …), not X, which parses the next token as fn (fixes unknown X fn · invalid core.isNull usage in scheduled OpenClaw flows). Documented in docs/AINL_SPEC.md, docs/INTELLIGENCE_PROGRAMS.md, docs/adapters/MEMORY_CONTRACT.md; module example comments in modules/common/access_aware_memory.ainl.
  • fix(packaging): include runtime and runtime.* in setuptools package discovery so wheel installs include runtime.compat and avoid wheel-only import regressions.
  • fix(skill-installer): skills/ainl/install.sh hardened for restricted environments (PEP 668 fallbacks), no eval, and idempotent PATH hint updates across .bashrc/.zshrc/.profile.
  • feat(cli): add ainl doctor for environment diagnostics (Python/import health, PATH checks, MCP config checks, install-mcp --dry-run checks).
  • feat(ci): add Linux/macOS install smoke matrix for Python 3.10–3.13 with normal, --user, and --break-system-packages install paths, plus pip check, ainl --help, and ainl-mcp --help.
  • feat(ci/release): add wheel-integrity CI and dedicated release gates (twine check, wheel import smoke for runtime.compat/adapters/cli.main, pip check, MCP dry-run installers).
  • feat(packaging/docs): add tested Python 3.13 MCP constraints (constraints/py313-mcp.txt) and document no-root install order (venv -> --user -> --break-system-packages) across install/release/skill docs.
  • feat(compiler/ir): add optional execution_requirements metadata (including avm_policy_fragment, isolation/capability/resource hints) for AVM/general sandbox handoff.
  • feat(runtime/sandbox): add unified optional sandbox shim (runtime/sandbox_shim.py) and light wiring in runner, MCP, and CLI runtime path with graceful fallback when no sandbox runtime is detected.
  • feat(cli): add ainl generate-sandbox-config <file.ainl> [--target avm|firecracker|gvisor|k8s|general].
  • feat(trajectory): add optional trajectory JSONL fields when sandbox shim is connected (avm_event_hash, sandbox_session_id, sandbox_provider, isolation_hash).
  • docs(integration): update integration/ops/getting-started docs and whitepaper references for AVM + general sandbox deployment posture.
1.2.7

March 24, 2026

AINL 1.2.7

Synced from docs/CHANGELOG.md in ainativelang. For narrative release notes see Release notes.

  • feat(cli): ainl inspect <file.ainl> [--strict] [--json] — dump full canonical IR JSON.
  • feat(runtime): ainl run --trace-jsonl PATH|- — structured JSONL execution tape (file or stdout).
  • feat(diagnostics): structured diagnostics expose llm_repair_hint for LLM-native repair loops.
  • feat(mcp): ainl_fitness_report and ainl_ir_diff tools for selection/mutation loops; ainl_fitness_report includes fitness_score with fitness_components/weights, plus adapter/operation/frame-key proxy metrics; ainl_ir_diff detects payload-level node data deltas (not only topology).
  • feat(schema): machine-readable schema seed ainl.schema.json.
  • docs: docs/EMBEDDING_RESEARCH_LOOPS.md, docs/operations/MCP_RESEARCH_CONTRACT.md, prompts/meta-agent/*.
1.2.5

March 23, 2026

AINL 1.2.5

Synced from docs/CHANGELOG.md in ainativelang. For narrative release notes see Release notes.

  • feat(compiler): S hybrid langgraph, S hybrid temporal, or both on one line — opt-in hybrid wrapper targets for minimal_emit · capability planning; stored as services.hybrid.emit (de-duped); strict mode rejects unknown targets
  • feat(tooling): legacy infer_artifact_capabilities (IRs without emit_capabilities) derives needs_langgraph · needs_temporal from services.hybrid.emit
  • feat(ci): benchmark-regression prefers committed tooling/benchmark_size_ci.json · tooling/benchmark_runtime_ci.json on the baseline SHA when present; falls back to full JSON reports; several jobs pinned to Python 3.10; make benchmark-ci prints resolved PYTHON
  • fix(emit/langgraph): emitted AinlHybridState uses plain dict fields so LangGraph’s get_type_hints path works on Python 3.10
  • test: hybrid e2e (StateGraph.invoke, Temporal ActivityEnvironment), S hybrid and emission-planner legacy IR coverage
  • docs: BENCHMARK.md (CI baseline rules), docs/AINL_SPEC.md · docs/language/grammar.md (S hybrid), docs/RELEASING.md (benchmark-ci commit step); expanded narrative docs/RELEASE_NOTES.md § v1.2.5; cross-links in README.md, docs/README.md, CONTRIBUTING.md, WHITEPAPERDRAFT.md, docs/POST_RELEASE_ROADMAP.md, docs/DOCS_INDEX.md, docs/WHAT_IS_AINL.md, WHAT_IS_AINL.md, docs/overview/README.md

Hyperspace bridge (trajectory, common modules, local adapters, emitter)

  • feat(runtime): optional per-step trajectory JSONL (--log-trajectory · AINL_LOG_TRAJECTORY) — docs/trajectory.md
  • feat(modules): modules/common/guard.ainl, session_budget.ainl, reflect.ainl — token/time ceilings, budget accounting, reflect gates; modules/common/README.md updated
  • feat(adapters): local vector_memory (keyword-scored JSON store) and tool_registry (JSON tool catalog) under adapters/; CLI --enable-adapter vector_memory|tool_registry; documented in docs/reference/ADAPTER_REGISTRY.md, docs/adapters/README.md
  • feat(emit): --emit hyperspace via scripts/validate_ainl.py · ainl-validatecompiler_v2.AICodeCompiler.emit_hyperspace_agent emits a single-file Python agent: base64 JSON IR blob (_IR_B64), repo-root discovery for runtime/ + adapters/, AdapterRegistry with core, vector_memory, tool_registry, RuntimeEngine (graph-preferred, step_fallback=True), run_ainl, __main__; AINL_LOG_TRAJECTORY<source-stem>.trajectory.jsonl in cwd; optional hyperspace_sdk import with RuntimeWarning when absent (scaffold TODO for future SDK bridge)
  • feat(examples/teaching): examples/hyperspace_demo.ainl, examples/test_adapters_full.ainl — strict-valid dotted-verb demos; tooling/canonical_curriculum.json · scripts/build_canonical_training_pack.py outputs include these lessons
  • test(emit): hyperspace (and related) emitter coverage in tests/test_snapshot_emitters.py
  • docs: docs/emitters/README.md, root README.md; hub links in docs/README.md, docs/DOCS_INDEX.md; docs/runtime/README.md (trajectory); docs/examples/README.md (phase-2 · hyperspace examples); docs/language/AINL_CORE_AND_MODULES.md §8 (guard/budget/reflect); docs/INTELLIGENCE_PROGRAMS.md (infrastructure_watchdog.lang); docs/RUNTIME_COMPILER_CONTRACT.md (trajectory note); docs/RELEASE_NOTES.md § v1.2.5 — expanded Hyperspace emitter narrative
  • ops · examples: intelligence/infrastructure_watchdog.lang, scripts/morning_briefing.ainl + wrapper, small examples/test_*.ainl harnesses; .gitignore runtime_runner.log
  • docs (primer policy): docs/WHAT_IS_AINL.md is the canonical “What is AINL?” document (stakeholder narrative + capability snapshot); repository root WHAT_IS_AINL.md is a stub pointing to it. README.md, docs/README.md, docs/DOCS_INDEX.md, docs/overview/README.md, WHITEPAPERDRAFT.md (§5.4 includes note, new §6.5 trajectory · Hyperspace) updated accordingly.

Strict label dataflow and hybrid E2E (shipped with v1.2.5 line)

  • fix(strict): propagate_inter_label_entry_defs · merged entry defs in tooling/effect_analysis.py and compiler_v2._validate_graphs — variables live on all paths into a jumped-to label are recognized at that label (fewer false undefined-at-use errors on branch/cron monitor patterns)
  • test: tests/test_inter_label_dataflow.py; Temporal execute_workflow path in tests/test_hybrid_emit_integration.py (WorkflowEnvironment, Worker, ThreadPoolExecutor activity executor)
  • tooling: tooling/artifact_profiles.json strict-valid refresh (examples/cron/monitor_and_alert.ainl, corpus/example_monitor_alert/program.ainl, …); curriculum order bump + regenerated tooling/canonical_training_pack.json · tooling/training_packs/*; conformance syrupy snapshots under tests/snapshots/conformance/
1.2.4

March 21, 2026

AINL 1.2.4

Synced from docs/CHANGELOG.md in ainativelang. For narrative release notes see Release notes.

Addendum (2026-03-22).

  • fix(apollo-x-bot): gateway_server.py_classify_wants_envelope only when messages is a non-empty list (avoids envelope_missing_messages on classify_response=raw without messages; legacy tweet+prompt path); clearer bind error on EADDRINUSE; swallow BrokenPipeError · connection resets when the client disconnects early (timeouts).

  • fix(cli): ainl run --http-timeout-s help text — note LLM · bridge latency; default remains 5 (callers with slow routes must raise it).

  • fix(apollo-x-bot): openclaw-poll.sh · run-with-gateway.sh--http-timeout-s 120, overridable via AINL_HTTP_TIMEOUT_S.

  • fix(graph): apollo-x-bot/ainl-x-promoter.ainlpromoter.process_tweet payload: stringify tweet directly for the bridge body; skip branch uses boolean true for JSON ok (strict-safe).

  • test: tests/test_apollo_x_gateway.py — regression for classify raw without messages; expanded gateway coverage as applicable.

  • fix(compiler_v2): strict reachability — treat If as a valid label terminator (skip “exactly one J” false positive when If is last); include If when wiring Loop/While fall-through edges to following labels.

  • fix(demo): demo/infrastructure_watchdog.lang — restart services when down; verify after restart before alerting.

  • docs: docs/reference/ADAPTER_REGISTRY.md §2.4.3 (bridge client timeout); docs/integrations/EXTERNAL_EXECUTOR_BRIDGE.md §7 (timeouts + llm.classify envelope rule); docs/OPENCLAW_INTEGRATION.md (Apollo promoter + openclaw-poll.sh pointer); apollo-x-bot/OPENCLAW_DEPLOY.md (AINL_HTTP_TIMEOUT_S · --http-timeout-s).

  • packaging: pyproject.toml · ainl 1.2.4; RUNTIME_VERSION (runtime/engine.py, mirrored tests/emits/server/runtime/engine.py) 1.2.4; language server serverInfo.version and runner service FastAPI app.version follow RUNTIME_VERSION (runner: scripts/runtime_runner_service.py; LSP: langserver.py)

  • feat(modules): modules/common/access_aware_memory.ainl — opt-in LACCESS_READ, LACCESS_WRITE, LACCESS_LIST, LACCESS_LIST_SAFE (graph-safe list touches via While + index); header warnings and usage notes for graph vs ForEach

  • fix(runtime): resolve bare label targets against include alias from call stack (_resolve_label_key in runtime/engine.py) so nested If · Loop · Call · While reach alias/label keys after merge

  • docs: modules/common/README.md; refresh root README.md, WHAT_IS_AINL.md, docs/WHAT_IS_AINL.md, WHITEPAPERDRAFT.md, docs/RELEASE_NOTES.md, docs/POST_RELEASE_ROADMAP.md, docs/RUNTIME_COMPILER_CONTRACT.md, docs/README.md, docs/adapters/README.md, docs/DOCS_INDEX.md, docs/operations/EXTERNAL_ORCHESTRATION_GUIDE.md (sample runtime_version in JSON)

  • test: tests/test_demo_enforcer.py (demo compile + access-aware smoke; graph-only bare-label regression)

  • fix(programs): S is parsed as service mode path (three slots); patterns like S core memory cron "0 * * * *" wrongly set path to cron and drop the schedule. Restored S core cron "<expr>" (and equivalent) in intelligence/token_aware_startup_context.lang, intelligence/session_continuity_enhanced.lang, intelligence/proactive_session_summarizer.lang, demo/session_continuity.lang, and examples/autonomous_ops/memory_prune.lang.

  • fix(programs): examples/autonomous_ops/meta_monitor.lang — replace invalid S cron + Cr with S cache cron "*/15 * * * *" (aligned with demo/meta_monitor.lang).

  • tooling: scripts/validate_s_cron_schedules.py and console script ainl-validate-s-cron (pyproject.toml) — fail CI/local runs on malformed S+cron lines; tests/test_s_cron_schedule_lines.py keeps the rule green.

  • docs: docs/CRON_ORCHESTRATION.md — new § S line shape (cron schedules) and § Security: queues, notifications, and secrets; docs/RUNTIME_COMPILER_CONTRACT.md, docs/DOCS_INDEX.md; web mirror ainativelangweb/content/docs/RUNTIME_COMPILER_CONTRACT.mdx.

  • docs(intelligence): intelligence/token_aware_startup_context2.lang — explicit legacy header; prefer token_aware_startup_context.lang for production (budget gate + structured memory + access-aware reads).

  • bench: regenerate BENCHMARK.md, tooling/benchmark_size.json, tooling/benchmark_runtime_results.json, and CI twins tooling/benchmark_size_ci.json · tooling/benchmark_runtime_ci.json via make benchmark · make benchmark-ci; refresh README.md and docs/benchmarks.md headline table (e.g. 19 strict-valid, public_mixed path counts + viable ratios; make benchmark uses --mode wide: full_multitarget_core + full_multitarget + minimal_emit).

  • interop: optional [interop] extra in pyproject.toml (langgraph, temporalio, aiohttp); [benchmark] also lists temporalio for hybrid smoke tests — see docs/PACKAGING_AND_INTEROP.md.

1.2.0

March 20, 2026

AINL 1.2.0

Synced from docs/CHANGELOG.md in ainativelang. For narrative release notes see Release notes.

  • feat: graph visualizer CLI (ainl visualize → Mermaid with clusters, synthetic call edges)
  • feat: full conformance matrix runner (make conformance) with snapshot categories for tokenizer, IR, strict validation, runtime parity, and emitter stability
  • fix: preserve __literal_fields through include merge + lowering
  • docs: updated README/docs hubs for conformance command, CI gate, and generated conformance artifacts

Packaging (v1.2.0)

  • pyproject.toml · ainl: version 1.2.0.
  • RUNTIME_VERSION (runtime/engine.py, mirrored tests/emits/server/runtime/engine.py): 1.2.0 (runner/MCP payloads, /capabilities, ainl run --json).
  • Language server initialize serverInfo.version and runner service OpenAPI app version: 1.2.0.

Highlights

  • Includes (compile-time composition): top-level include path [as alias] merges submodule labels into the parent IR as alias/LABEL (e.g. retry/ENTRY, retry/EXIT_OK). Strict mode enforces ENTRY · EXIT_* shapes for included graphs. Starter modules: modules/common/retry.ainl, modules/common/timeout.ainl. Tests: tests/test_includes.py.
  • Graph visualizer CLI: ainl visualize · ainl-visualize · scripts/visualize_ainl.py — strict compile → Mermaid graph TD from ir["labels"]; subgraph clusters per include alias; synthetic Call → callee entry edges with a %% comment; flags --no-clusters, --labels-only, -o -. Fixture: examples/bad_include.ainl.
  • Structured diagnostics: native Diagnostic rows, --diagnostics-format (auto | plain | rich | json), merge dedup (native-first), optional rich stderr with pip install -e ".[dev]" — used by ainl-validate and ainl visualize (and the language server path).
  • Strict literals · dataflow: quote string payloads where strict dataflow expects literals (e.g. J "ok"); aligned with docs/RUNTIME_COMPILER_CONTRACT.md and conformance tests.

Documentation

  • Root README.md (quick-start write → validate → visualize → run, includes, visualize flags, docs/WHAT_IS_AINL.md link), WHAT_IS_AINL.md, docs/WHAT_IS_AINL.md, WHITEPAPERDRAFT.md (v1.2.0, §5.4–5.5), docs/POST_RELEASE_ROADMAP.md, docs/CONFORMANCE.md, SEMANTICS.md, docs/architecture/GRAPH_INTROSPECTION.md, docs/INSTALL.md, docs/DOCS_INDEX.md, docs/overview/README.md, docs/README.md.

1.2.1

March 20, 2026

AINL 1.2.1

Synced from docs/CHANGELOG.md in ainativelang. For narrative release notes see Release notes.

  • test(visualizer): add tests/test_visualizer.py smoke coverage for PNG/SVG generation
  • docs(examples): add examples/timeout_demo.ainl and expand README/docs guidance for starter timeout module and visualizer image export usage
  • fix(readme): remove duplicate badge block and switch release badge to latest tag endpoint
1.2.2

March 20, 2026

AINL 1.2.2

Synced from docs/CHANGELOG.md in ainativelang. For narrative release notes see Release notes.

  • optional deterministic metadata envelope fields (source, confidence, tags, valid_at)
    • deterministic memory.list bounded filters (tags_any, tags_all, created/updated windows, source, valid_at windows, limit, offset)
    • namespace retention hooks (default_ttl_by_namespace, prune_strategy_by_namespace)
    • portable operational counters in adapter responses (stats.operations, stats.reads, stats.writes, stats.pruned)
  • feat(capabilities): add capability-advertised memory profile in tooling/capabilities.json (memory_profile: "v1.1-deterministic-metadata") with schema support in tooling/capabilities.schema.json
  • test(memory): extend tests/test_memory_adapter.py for metadata round-trip, deterministic list filters/pagination, retention hooks, and operational counters
  • docs(memory): align docs/adapters/MEMORY_CONTRACT.md and docs/reference/CAPABILITY_REGISTRY.md with shipped v1.1 additive behavior
1.2.3

March 20, 2026

AINL 1.2.3

Synced from docs/CHANGELOG.md in ainativelang. For narrative release notes see Release notes.

  • docs(ops): add docs/operations/UNIFIED_MONITORING_GUIDE.md (unified AINL + OpenClaw monitoring); expand docs/openclaw/BRIDGE_TOKEN_BUDGET_ALERT.md; cross-link hub from docs/README.md, docs/DOCS_INDEX.md, docs/operations/README.md, docs/CRON_ORCHESTRATION.md, docs/AINL_CANONICAL_CORE.md, docs/ainl_openclaw_unified_integration.md, docs/adapters/*, docs/BOT_ONBOARDING.md, docs/OPENCLAW_IMPLEMENTATION_PREFLIGHT.md, docs/operations/AUTONOMOUS_OPS_PLAYBOOK.md, docs/operations/AUTONOMOUS_OPS_MONITORS.md, docs/advanced/README.md, docs/adapters/MEMORY_CONTRACT.md; standardize daily memory path ~/.openclaw/workspace/memory/YYYY-MM-DD.md; refresh openclaw/bridge/README.md monitoring tables and env reference
  • feat(modules): add reusable memory helper include modules for production monitor flows:
    • modules/common/token_cost_memory.ainl for deterministic workflow namespace writes/lists
    • modules/common/ops_memory.ainl for deterministic ops namespace writes/lists
  • refactor(programs): migrate monitor-heavy demo/ and examples/autonomous_ops/ workflows from repeated inline memory logic to shared include calls while preserving payloads, record kinds, tags, TTLs, and control-flow behavior
  • feat(programs): normalize deterministic filters across migrated history reads (updated_after, tags_any, source, limit) and standardize metadata envelopes on writes (source, confidence, tags, valid_at)
  • docs(ops): refresh autonomous ops documentation to reflect include-helper architecture and current monitor implementation posture
  • feat(strict): allowlist memory.PUT · GET · APPEND · LIST · DELETE · PRUNE in tooling/effect_analysis.py and treat R memory <verb> … steps as memory.<VERB> for strict adapter checks
  • test(conformance): add memory_continuity_runtime snapshot category and tests/data/conformance/session_budget_memory_trace.ainl; extend tokenizer round-trip with demo/session_budget_enforcer.lang and IR canonicalization for the trace golden
  • docs(examples): add examples/timeout_memory_prune_demo.ainl, committed docs/assets/timeout_memory_prune_flow.png, README Memory & State pointer to demo/session_budget_enforcer.lang, and visualizer PNG example command