Production hub

Docs, evidence snapshot, and release history.

A public operations hub for the compiler pipeline, current evidence, API contracts, and shipped release history.

Docs

Developer API guide

Issue a key in the editor, call the HTTP API, or connect your agent over MCP — one key, one shared quota, the same honest implementation-versus-semantic-evidence contract everywhere.

One key, two surfaces: the HTTP API and the MCP server expose the same registered direct-adapter conversion, with the same shared daily quota. Each fragment reports implementation separately from admissible semantic verification; exact-text regression establishes implementation only, and missing implementation is an honest gap.

Step 1

Get an API key

Keys are issued in the editor and shown exactly once — store yours in a secret manager. Rotating or revoking a key takes effect immediately on both the HTTP API and the MCP server.

  1. Sign in with GitHub or Google in the editor.
  2. Open the API & Usage panel and issue a key (format: lena_sk_…).
  3. Copy it immediately — only a short display prefix is ever shown again.
Open the editor

Step 2

REST quickstart

POST your source to /api/v1/convert with the key in the x-lena-api-key header. The response separates registered implementation from semantic verification: read each fragment, status, and gaps before using text.

The full request/response contract — every status value, error shape, and field — is pinned in the OpenAPI document below. The response carries schemaVersion so future envelope changes are explicit, never silent.

/api/openapi.json
Request
curl -X POST https://www.lenacode.com/api/v1/convert \
  -H "x-lena-api-key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "sourceLanguage": "python",
    "targetLanguage": "javascript",
    "code": "def add(a, b):\n    return a + b"
  }'
Response shape
{
  "schemaVersion": "1.1",
  "ok": true,                   // true only for complete conversion
  "status": "converted",        // or: partial | no-implemented-route | ...
  "sourceLanguage": "python",
  "targetLanguage": "javascript",
  "text": "...",                // complete or honest partial assembly
  "fragments": [ { "facetKey": "...", "text": "...", "implemented": true,
                   "semanticVerified": false, "verified": false } ], // verified is a deprecated semantic alias
  "gaps": [ { "facetKey": "...", "reason": "...", "message": "..." } ],
  "verification": { "inputLaw": "pass", "outputAdapters": "registered-direct-only", ... },
  "requestId": "..."
}

Read fragments and gaps for assembly completeness: fragments without gaps are complete, fragments with gaps are partial, and no fragments is none. These states do not establish semantic support. Each fragment exposes implemented and semanticVerified separately; the deprecated verified alias mirrors semanticVerified. Current transform receipts have no per-invocation semantic oracle, so both semantic fields fail closed to false. A partial result may have text null when no ordered assembly is available. Partial text keeps ok false, preserves each gap form in place as a target-language comment around its original source, and may not compile or run.

Step 3

Connect over MCP

The MCP server (streamable HTTP) gives agents the same conversion plus discovery tools. It is read/transform only: no tool edits files, applies patches, or executes code — applying results is always the caller’s decision.

Recommended call order: lena_list_languages → lena_check_route → lena_transform. Discovery tools are free; only submitting source code consumes the shared daily quota.

Claude Code
claude mcp add --transport http lena-code https://www.lenacode.com/api/mcp \
  --header "Authorization: Bearer YOUR_KEY"
Cursor / generic MCP client (mcp.json)
{
  "mcpServers": {
    "lena-code": {
      "url": "https://www.lenacode.com/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_KEY" }
    }
  }
}
ToolQuotaWhat it does
lena_list_languagesFreeCanonical language ids, accepted aliases, input verified counts, output implemented counts, and output semantic-verified counts. Call this first — never guess ids.
lena_check_routeFreePre-flight for a source/target pair: implemented and semantic-verified atomic intersections without spending quota or source tokens.
lena_transformCountsThe conversion itself. Read domain ok, status, each fragment's implemented and semanticVerified fields, gaps, and guidance. Current receipts have no per-invocation semantic oracle, so semanticVerified and verified fail closed to false. Partial text may preserve gap forms as comments and may not compile or run. An unassembled partial can keep text null.
lena_transform_batchCountsMultiple conversions in one call. Each item consumes quota individually, and any partial item may not compile or run.
lena_get_coverageFreeAggregate input verified coverage, legacy-inclusive output allocation, and separated output evidence indicators.
lena_get_language_coverageFreeInput verified, output implemented, and output semantic-verified numbers for one language.

Metering

Quotas & plans

API and MCP conversions draw from one shared daily pool per key. Editor conversions are metered separately. Quotas reset at UTC midnight.

Plans & pricing
PlanAPI + MCP / day (shared)Price
free25$0/mo
pro1,000$5/mo
max5,000$15/mo

Per-request input limit: 256 KB UTF-8; binary content is rejected. Rate limiting applies on top of daily quotas — exceeded requests return 429 with a retry-after header.

Contract

Errors & limits

Errors are JSON with a stable code and a requestId you can quote to support. The same key and quota semantics apply on MCP — tool errors carry the equivalent reason.

401
Missing, malformed, revoked, or rotated key.
429
Rate limit or daily quota exceeded — the body says which, and retry-after says when.
400 / 413
Invalid body, binary content, or input over the 256 KB limit.
503
Entitlement state temporarily unavailable — the API refuses rather than guessing your plan. Retry shortly.

Submitted source is processed in memory for the request only; generated results may use a short-window hash-keyed cache. Privacy details

For agents

Machine-readable resources

Agents can learn this surface without scraping HTML: the OpenAPI contract over HTTP, and MCP resources served by the server itself.

  • /api/openapi.jsonfull HTTP contract (also served as the MCP resource lena://openapi)
  • lena://usage-guideagent-directed guide served by the MCP server
  • lena://health-publicpublic health snapshot
  • /api/coverage/exposureseparated input verification, output implementation, and output semantic evidence; append /{languageId} for one language
  • /llms.txtthis guide’s entry points, in plain text

RELEASE LOG

Changelog

Slice-level release history derived from git log and curated public titles.

Changelog generated at 2026-09-21

Featured updates

30/50

  1. Update

    Merge branch 'develop' into main

    Update · 2026-09-21

    a01336956
  2. web

    Web surface update

    Open the plan page and sell only what production serves

    Update · 2026-09-21

    681c836be
  3. verification

    Verification system update

    Refresh the evidence ledger after the repaired sweep

    Update · 2026-09-21

    b64e70e7a
  4. verification

    Verification system update

    Re-measure the 46-pair golden sweep on the repaired observation profile

    Update · 2026-09-21

    c3f29350a

Recent changes

  1. verification

    Verification system update

    2026-09-21792654e03

    Observe Objective-C nil as the null tag

  2. verification

    Verification system update

    2026-09-21ae862eb98

    Declare the standard library the observation programs provide

  3. verification

    Verification system update

    2026-09-213d6054533

    Observe Objective-C booleans as BOOL rather than C _Bool

  4. verification

    Verification system update

    2026-09-204b0515995

    Refresh evidence ledger after native measurements

  5. verification

    Verification system update

    2026-09-20aa0e1292a

    Extend the native golden sweep to 46 language pairs

  6. verification

    Verification system update

    2026-09-205221909f7

    Refresh measurement report bindings and script graph

  7. verification

    Verification system update

    2026-09-2048747ecfa

    Record native execution evidence for 24 languages

  8. verification

    Verification system update

    2026-09-2053f06cfe7

    Declare division, operand order and index bases for systems languages

Earlier trail

  1. verification

    Verification system update

    Update · 2026-09-2016b0457e0

    Measure native execution for the C family, Go, Rust, Java and C#

  2. verification

    Verification system update

    Update · 2026-09-20f0bb71ff2

    Align the session bootstrap markers with the current agent rules

  3. Documentation update

    Update · 2026-09-20388528d4b

    Drop the model-generation gate from the agent rules

  4. Documentation update

    Update · 2026-09-19f961999d5

    Refresh the public changelog and codebase stats

  5. verification

    Verification system update

    Update · 2026-09-19923b8231c

    Resettle the reports behind the derived expectations

  6. verification

    Verification system update

    Update · 2026-09-190cff3dd1a

    Derive the stale public lineage expectations instead of pinning them

  7. verification

    Verification system update

    Update · 2026-09-1954f6edd07

    Carry the node type count into the coverage measurement and its derivations

  8. verification

    Verification system update

    Update · 2026-09-19e818bf8b8

    Resettle the derivations that read the regenerated lineage

  9. verification

    Verification system update

    Update · 2026-09-19701c4ea9e

    Regenerate the public lineage reports the owner approved

  10. Documentation update

    Update · 2026-09-18fcd63f6a8

    Rebuild the evidence ledger binding

  11. Documentation update

    Update · 2026-09-1841c3841db

    Refresh the public changelog and codebase stats

  12. verification

    Verification system update

    Update · 2026-09-187dd336d88

    Refresh the consumer differential and the report source graph

  13. verification

    Verification system update

    Update · 2026-09-188bfcd404d

    Refresh the golden lineage behind the registry citations

  14. Verification harness update

    Update · 2026-09-18b024ed469

    Run the depth readiness census inside the output credit chain

  15. verification

    Verification system update

    Update · 2026-09-18abe826627

    Reconverge the capability road cluster on the refreshed registry

  16. verification

    Verification system update

    Update · 2026-09-18473fbdf1f

    Classify the JS/TS projection frontier reason

  17. verification

    Verification system update

    Update · 2026-09-18e7a91def7

    Record the missing spec authority references

  18. verification

    Verification system update

    Update · 2026-09-1822f11af4e

    Regenerate the stale dev-only reports and the showcase surfaces

Lena Code · Hub