Roadmap
Development status and roadmap
Every item carries an accurate status. This roadmap is descriptive of the current verified state, not a promise of dates.
Verified and stable
Compile and run a program
The released 1.1.0 compiler, ruxc, builds a .rux source file into a native Linux x86-64 executable. Run it with ./output.
Evidence: A sample suite compiled with the released ruxc and ran with the expected output; see the Transparency page.
Limits: Linux x86-64 only. Imports resolve only for modules next to the source; the rudra wrapper copies the standard library there for you.
Self-hosting compiler
The RUDRA compiler is written in RUDRA and rebuilds itself into a byte-identical binary.
Evidence: The project team reproduced the byte-identical fixed point and ran the language and negative test suites (83 of 84 language tests exit 0, the remaining test returns a computed value by design; all 19 negative tests are rejected in the repository suite).
Limits: This is the project team's own verification, not an independent audit. Generics are erased; closures, traits and tuples are not implemented.
Static zero-dependency binaries
ruxc is a statically linked ELF written in RUDRA with no runtime dependencies, and it emits static ELF executables directly.
Runtime safety checks
Integer division by zero traps, list access is bounds-checked and lists are capped at 512 elements.
Partially verified (standard-library modules shipped in 1.1.0)
Channels (std/chan)
A FIFO channel library carrying full 64-bit signed values, with blocking, non-blocking and timeout receive and explicit status codes.
Evidence: Values sent in order were received in order, and an empty channel reports a distinct status code on a non-blocking receive. Earlier measurements: boundary values including the 64-bit minimum and maximum round-trip exactly, and 5000 messages from a separate process arrived in order.
Limits: Capacity is finite (about 64 KB by default, configurable). Channels are an ordinary module, not a language builtin.
JSON (std/json)
json_get reads a value from a JSON object by key and json_valid validates a document following RFC 8259.
Evidence: json_get returned the expected values for a string and an integer key, and json_valid accepted a good document and rejected a malformed one. A 51-case RFC 8259 conformance matrix passed 51 of 51 in the project's tests.
Limits: No nesting-depth limit yet. Surrogate pairs are not fully decoded and raw UTF-8 bytes are not validated. There is no json_parse function.
DNS resolution (std/dns)
Hostname resolution reads the system resolver configuration, uses timeouts, checks response IDs, follows CNAME chains and reports explicit error codes.
Evidence: dns_resolve returned 127.0.0.1 for localhost. 21 adversarial scenarios against a local test DNS server passed in the project's tests, including spoofed IDs, truncated, malformed and looping responses.
Limits: IPv4 A records only. AAAA (IPv6) and TCP fallback are not supported and are reported as unsupported.
HTTP helpers and sockets (std/http, std/net)
Request and response builders and parsers plus raw TCP socket calls, for plain HTTP to a numeric IP address.
Evidence: The request and response helpers produced and parsed the expected method, path, status and body.
Limits: No http_get builtin and no HTTPS.
P-384 ECDSA signatures (std/ecdsa384)
ECDSA signature verification on the P-384 curve with strict input checks.
Evidence: Signatures generated by OpenSSL with three independent keys verified correctly, and 21 tampered or out-of-range signatures were rejected in the project's tests.
Limits: About 2 seconds per verification on current hardware. Performance work is pending.
X.509 certificate validation (std/x509*, std/certval)
A strict, fail-closed certificate validator checks DER encoding, signatures, validity dates, hostnames, CA constraints, key usage, chain building and explicitly configured trust anchors.
Evidence: A real public certificate chain was authenticated against a root from the system trust store, on two machines, and more than 30 invalid cases were rejected in the project's tests.
Limits: ECDSA P-256 and P-384 only. RSA, Ed25519 and P-521 certificates are rejected. No revocation checking. Not connected to TLS.
Planned and not yet verified
Authenticated HTTPS (TLS 1.3)
An encrypted TLS 1.3 handshake works in the standard library, but the server's identity is not verified during the connection.
Evidence: A live TLS 1.3 handshake reached encrypted application data. Certificate authentication exists separately but is not wired into the connection.
Limits: Not secure HTTPS. The connection is encrypted but unauthenticated and must not be relied on against an active attacker.
Mutex and shared-memory threads
There is no mutex module and no spawn builtin in the self-hosted compiler. Process-based concurrency exists in std/thread.
Missing language features
Traits, closures, tuples, fixed-size arrays, hex and binary literals and specialized generics are not implemented in the self-hosted compiler.
In the source repository, not yet released
These tools are written in RUDRA and exist in the source repository. None of them is part of the published 1.1.0 archive, which contains only ruxc, the rudra wrapper, the standard library and examples. They are expected to ship in a later release.
Driver
A driver written in RUDRA with the commands rudra build, run, check, vscode-init, toolchain and version.
Limits: Not in 1.1.0: the released rudra command only accepts a source file and an output name.
Language server
lsp/serve.rux is a language server written in RUDRA that works with editors that have a built-in LSP client.
Evidence: It answers the standard initialize request with its capabilities.
Limits: No released binary yet.
Formatter and package tool
fmt/fmt.rux re-indents code and package-manager/ruxpkg.rux verifies a package manifest's module SHA-256.
Evidence: The formatter produces compilable output.
Limits: The formatter only re-indents. The profiler and the package-registry server do not currently build.
VS Code extension and Ruxel Studio
A VS Code extension with grammar, snippets and a problem matcher (no JavaScript), and Ruxel Studio, a full-screen terminal IDE.
Limits: Ruxel Studio is a terminal IDE; a graphical IDE does not exist yet.
How items advance
An item moves to VERIFIED only after it is compiled, run and confirmed against a published release. See Transparency for the evidence behind each status.