Skip to content
Topaz6.0 · Before release
Download

Search documentation

Specification 6.0 · Not released · Tested product 5.21.3

Use arrow keys to choose a result. Press Enter to open.

Type an API name, diagnostic number, rule, or project topic.

    Tools

    compiler status

    Reports installed compiler identities, default selection, and command support.

    Invocation, options and results

    Link

    topaz compiler status

    Synopsis
    1. topaz compiler status

    Input

    Use topaz compiler status with no positional operand. Accept only --format human or --format json, at most once, with human as the default.

    Reject --json, equals forms, repeated options, unsupported format values, missing values, source operands, compiler and language selectors and all other options before inspecting the installation.

    Options and conflicts

    OptionDefaultContractConflicts
    --format human|jsonhuman

    Selects human output or one JSON report. The default is human output.

    None listed

    Output channels

    stdout

    stderr

    Exit status

    0

    The complete installed compiler report is written, including an unhealthy compiler row.

    1

    Command arguments or report production fails.

    Effects

    Inspect the installed compiler identity and admitted metadata. Do not compile source, allocate a build workspace, repair the installation or write any user file.

    Perform no network access, update check, registry query or compiler download.

    The same executable, admitted identity records, target and installation health produce identical JSON bytes and inventory ordering.

    A changed installation or health state is changed input. Current directory contents, wall clock time and a user package do not choose a different report.

    Do not discover or load the current directory as a package. Do not read, create or rewrite its manifest, lock or vendor tree.

    Compiler route inventory describes installed support and does not promise that dependencies for an arbitrary package are available.

    Operation

    Link

    Use this command to confirm the available compiler families and supported operations. JSON output provides the machine-readable support record.

    Option conditions

    Link

    Use --format json for the JSON report. The --json spelling is rejected.

    Behavior contract

    Link
    Ruletools-commands-compiler-status.rule.behavior

    Command behavior

    Arguments and rejection

    Use topaz compiler status with no positional operand. Accept only --format human or --format json, at most once, with human as the default.

    Reject --json, equals forms, repeated options, unsupported format values, missing values, source operands, compiler and language selectors and all other options before inspecting the installation.

    Output

    Human output on standard output identifies the product release, language mode, default compiler and its scope, reference compiler, bootstrap seed engine, installed self compiler health and absence of silent fallback.

    --format json writes one UTF-8 JSON object followed by a newline using topaz.compiler-support/v5. Its top level fields are schema, productVersion, languageMode, selfCompilationProductSchema, defaultCompiler, defaultScope, referenceCompiler, bootstrapSeedEngine, silentFallback, selectionOrigins, compilers, routes and previewProducers.

    silentFallback is false. selectionOrigins and previewProducers are string arrays. Each compiler row has string selector, producer and status. A supported self row also records its producer stage, execution kind, source, link, toolchain, target and digest identities. An unhealthy self row carries a string reason.

    Each route row has string command, rust, self, omitted and condition fields. The omitted selector route agrees with the installed product default. Human and JSON forms describe the same inventory.

    Usage or report production failures use standard error. Do not mix human banners into JSON output.

    Exit status

    Exit 0 after producing the complete report even when a compiler row reports unhealthy. An unhealthy inspected compiler is report data rather than a failed inspection command.

    Exit 1 for invalid arguments or failure to produce the report. The status command does not execute a source program to determine its exit code.

    Filesystem effects

    Inspect the installed compiler identity and admitted metadata. Do not compile source, allocate a build workspace, repair the installation or write any user file.

    Network access

    Perform no network access, update check, registry query or compiler download.

    Reproducibility

    The same executable, admitted identity records, target and installation health produce identical JSON bytes and inventory ordering.

    A changed installation or health state is changed input. Current directory contents, wall clock time and a user package do not choose a different report.

    Packages and locks

    Do not discover or load the current directory as a package. Do not read, create or rewrite its manifest, lock or vendor tree.

    Compiler route inventory describes installed support and does not promise that dependencies for an arbitrary package are available.

    Why

    Inspecting a compiler can succeed while the inspected compiler is unhealthy. Keeping the health state in the report preserves that distinction. The format selector changes representation without changing the compiler identities being inspected.

    Source evidence

    The linked public CLI recipe checks the exact displayed argument rejection before the requested operation. It does not execute the successful operation or verify its effects.

    The reviewed recipe checks rejection of an extra source operand. A successful human or JSON inventory is outside that recipe and has not been executed in this sandbox.

    Example contract

    Link
    Ruletools-commands-compiler-status.rule.invocation

    Example contract

    The invocation topaz compiler status main.tpz --language-version 5.21 is expected to exit with 1.

    Reject the adapter-supplied extra positional operand. The status operation accepts no operand; the current dispatcher falls back to an unknown-command error for the compiler family. Status JSON is not exercised.

    Why

    Compiler status describes the installed toolchain. Rejecting a source operand prevents the report from appearing to describe compilation of that file.

    Source evidence

    Example

    Link

    Argument-rejection example

    Link
    main.tpzArgument-rejection exampleOpen in Playground
    1. function identity<T>(value: T) -> T {
    2. value
    3. }
    target product 5.21.3
    Expected result

    Expected result

    Textual rejection details remain Pending in the reference model. The independent Tools example gate expects exit 1.

    Reject the adapter-supplied extra positional operand. The status operation accepts no operand; the current dispatcher falls back to an unknown-command error for the compiler family. Status JSON is not exercised.

    Source evidence

    Verification scope

    Link

    Observed with Topaz 5.21.3 on 2026-11-06T08:36:29.642Z. This invocation passed; exit 1. 3 assertions were evaluated against the independent expected result. Execution record. This result covers the displayed invocation.

    Related references

    Link

    Compiler selection

    Packages, locks and targets

    Menu

    Download