Feature status
This table is deliberately conservative. “Documented” means the contract or design exists; it does not mean every production path is complete.
| Area | Status | Notes |
|---|---|---|
| Rust workspace and Arqen HTTP server | Available | One arqen package provides the library and feature-gated CLI binary, with request limits, timeouts, CORS, correlation IDs, health, readiness, docs, agent routes, and Arqen response identity headers. |
| Typed configuration | Available / early | Layered CLI → environment → file → defaults loading, validation, and secret redaction are implemented. |
| Authentication and authorization | Available / partial | JWT, API-key, session adapters, constant-time API-key checks, hashing, and policy combinators exist; JWKS rotation, tenant/instance context, and deployment key lifecycle remain incomplete or application responsibilities. |
| Request validation | Available / partial | Validate and Validated<T> support field, enum, cross-field, and nested checks; no derive procedural macro is promised. |
| Typed request context | Available / early | RequestContext carries subject, tenant, instance, scopes, roles, and correlation ID; scoped repository helpers remain application work. |
| Stable error contracts | Available | Error codes, correlation IDs, redaction, timeout, dependency, auth, validation, and internal mappings exist. |
| Health and readiness | Available / partial | Parallel checks, liveness/readiness probes, statuses, timeouts, and HTTP mappings exist; applications must register real dependency checks. |
| In-memory storage mode | Available | Intended for local development, tests, and prototypes. |
| Native durable thingd | Available / early | Thingd 0.79.0 embedded persistence is supported through PersistentOpenOptions, including optional encryption; recovery, backups, and workload validation remain deployment responsibilities. |
| HTTP thingd adapter | Available / partial | Adapter and contract tests exist; validate against the current public thingd service and failure policy. |
| Thingd persistence encryption | Available / early | ARQEN_THINGD_ENCRYPTION_KEY configures Thingd 0.79.0 native encryption with fail-closed startup behavior; keys remain deployment secrets. |
.thingd schema loading and inspection | Available / partial | Arqen loads and hashes versioned schemas and can call Thingd /v1/schema/validate, /v1/schema/current, and /v1/migrations; remote migration application is intentionally operator-controlled. |
| Thingd replication sync | Experimental / opt-in | Thingd 0.79.0 HTTP and native endpoints support cursor pages, checkpoints, read-only retries, collection allowlists, snapshot fallback, conflict reporting, and capability metrics. The initial native path is embedded source to an HTTP Thingd/Cloud target. |
| Typed tools and manifests | Contract / partial | Types, registries, schemas, permissions, and manifests exist; broader discovery parity is still evolving. |
| Durable jobs and workers | Available / partial | Queue semantics, retries, leases, idempotency metadata, dead letters, shutdown hooks, structured job logging, and metrics exist; durable request idempotency, separate worker role support, and production failure testing remain incomplete. |
| Observability | Available / partial | Structured logging, correlation IDs, request metrics, percentiles, uptime, error rate, and status breakdowns exist. OpenTelemetry/Prometheus exporters are not included. |
| OpenAPI helpers | Available / partial | OpenAPI 3.0.3 generation, security schemes, schemas, and Swagger HTML generation exist; applications must wire and validate their public route document. |
| Module composition | Available | Module trait with lifecycle hooks (init, shutdown, register, health_check), ModuleBuilder with dependency validation (duplicates, missing deps, cycle detection), topological ordering, ModuleContext for tool/health registration, ModuleError for graph and registration errors, HttpModule trait for HTTP route composition (feature-gated), ArqenApp builder with async lifecycle (init → server → shutdown), CLI generators (arqen new, arqen generate module/tool/job). No hidden DI, no automatic handler discovery, no framework coupling. |
| Testing utilities | Available / early | TestApp, mock auth, fixtures, request builders, response readers, and assertion macros exist. |
| Cloud adapter | Future / blocked | Depends on a versioned public thingd-cloud customer contract; JWKS identity, tenant/instance routing, compatibility tests, and repository/job translation are planned. |
CLI new, dev, start, up, check, doctor, generate, lint, format, test, build, doc, thingd | Available / partial | Includes Thingd 0.78.0 schema validation and remote schema/migration inspection. Sync mode is explicit and native sync is opt-in. |
| Performance benchmarks | Available / evidence | Criterion benchmarks cover routing, manifest generation, validation, memory thingd CRUD/query, native adapter CRUD, cache hits, jobs, and health checks. HTTP remains an environment-specific service benchmark. |
| Developer tooling | Available | arqen lint, arqen format, arqen test, arqen build, arqen doc provide the full dev lifecycle. Generated projects include rustfmt.toml and clippy.toml. No external tooling installation required. |
| Node.js support | Future direction | Planned through HTTP, SDKs, templates, and manifests; no Node package is promised yet. |
| GitHub Pages docs | Available | Built and deployed from main; content follows the active repository documentation. |
Thingd schema inspection and sync entries target Thingd 0.79.0.
Do not infer completion from a roadmap heading. Check the implementation, tests, and phase acceptance evidence for the feature you need.