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

    storage status

    Reports Topaz-owned temporary build workspaces.

    Invocation, options and results

    Link

    topaz storage status

    Synopsis
    1. topaz storage status

    Input

    Use topaz storage status with no positional operands or options. Reject paths, compiler and language selectors, output format selectors, unknown flags and all extra arguments before inspecting storage.

    Select the managed build root from TOPAZ_STORAGE_DIR followed by builds, otherwise XDG_RUNTIME_DIR followed by topaz/builds, otherwise LOCALAPPDATA followed by Topaz/builds on Windows, otherwise the platform temporary directory followed by topaz-storage/builds.

    Options and conflicts

    OptionDefaultContractConflicts

    Output channels

    stdout

    stderr

    Exit status

    0

    The complete owned workspace report is written, including when no workspace exists.

    1

    Command arguments or inspection of managed storage fails.

    Effects

    Read only real child directories carrying valid ownership markers. Do not follow a workspace or marker symlink to claim ownership of another directory.

    Measure regular file bytes without following nested symlinks. Do not create the managed root, change markers, remove workspaces or write package files.

    Use local filesystem inspection and local process liveness only. Perform no registry or network access.

    The report depends on the managed root, filesystem bytes, process state and inspection time. Equal command arguments alone do not promise equal output.

    For an unchanged storage snapshot and the same liveness observations, path order and reported byte counts are deterministic.

    Managed build workspaces are independent of the current Topaz package. Do not load or update its manifest or lock and do not inspect or remove its vendor directory.

    Operation

    Link

    Inspect storage usage before cleanup. The report describes workspaces recognized as owned by Topaz.

    Example contract

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

    Example contract

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

    Reject the adapter-supplied extra positional operand before listing or removing any workspace. The current dispatcher falls back to an unknown-command error for the storage family.

    Why

    Storage inspection concerns workspaces owned by Topaz. Rejecting a path operand prevents the report from appearing to inspect an arbitrary user directory.

    Source evidence

    Behavior contract

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

    Command behavior

    Arguments and rejection

    Use topaz storage status with no positional operands or options. Reject paths, compiler and language selectors, output format selectors, unknown flags and all extra arguments before inspecting storage.

    Select the managed build root from TOPAZ_STORAGE_DIR followed by builds, otherwise XDG_RUNTIME_DIR followed by topaz/builds, otherwise LOCALAPPDATA followed by Topaz/builds on Windows, otherwise the platform temporary directory followed by topaz-storage/builds.

    Output

    Write a human report to standard output with each owned workspace path, byte usage, creation time and liveness classification in path order. Include the total byte usage. A missing managed root reports zero owned workspaces and succeeds.

    Recognize ownership only from a valid .topaz-workspace.json marker using topaz.storage.workspace.v1, an integer process identifier and integer creation epoch seconds.

    Classify a confirmed live owner as active regardless of workspace age. Classify an uncertain liveness result as retained. Only a confirmed inactive owner can be called safe to clean.

    Write inspection failures to standard error. There is no JSON report mode and --format json is rejected.

    Exit status

    Exit 0 after a complete report, including an empty report. Exit 1 for invalid arguments or failure to inspect the selected managed root or an owned workspace.

    Unowned entries and active or uncertain owners are retained rather than treated as inspection failures.

    Filesystem effects

    Read only real child directories carrying valid ownership markers. Do not follow a workspace or marker symlink to claim ownership of another directory.

    Measure regular file bytes without following nested symlinks. Do not create the managed root, change markers, remove workspaces or write package files.

    Network access

    Use local filesystem inspection and local process liveness only. Perform no registry or network access.

    Reproducibility

    The report depends on the managed root, filesystem bytes, process state and inspection time. Equal command arguments alone do not promise equal output.

    For an unchanged storage snapshot and the same liveness observations, path order and reported byte counts are deterministic.

    Packages and locks

    Managed build workspaces are independent of the current Topaz package. Do not load or update its manifest or lock and do not inspect or remove its vendor directory.

    Why

    Storage inspection describes managed temporary state rather than a user selected directory. Ownership and liveness must be visible before cleanup is considered. Treating a running owner as active avoids presenting its workspace as disposable merely because time has passed.

    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 only checks rejection of an extra operand. Storage enumeration and controlled process liveness require an isolated storage fixture outside the execution allowlist.

    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 before listing or removing any workspace. The current dispatcher falls back to an unknown-command error for the storage family.

    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