Invocation, options and results
Linktopaz storage status
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_ followed by builds, otherwise XDG_ followed by topaz/, otherwise LOCALAPPDATA followed by Topaz/ on Windows, otherwise the platform temporary directory followed by topaz-.
Options and conflicts
| Option | Default | Contract | Conflicts |
|---|
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
LinkInspect storage usage before cleanup. The report describes workspaces recognized as owned by Topaz.
Example contract
LinkExample contract
The invocation topaz storage status main. 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
- compiler/crates/topaz_cli/src/command/flags.rs at
b48527d0a174 - compiler/crates/topaz_cli/src/command/dispatch.rs at
b48527d0a174
Behavior contract
LinkCommand 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_ followed by builds, otherwise XDG_ followed by topaz/, otherwise LOCALAPPDATA followed by Topaz/ on Windows, otherwise the platform temporary directory followed by topaz-.
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 . marker using topaz., 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 - 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
- compiler/crates/topaz_cli/src/command/flags.rs at
b48527d0a174 - compiler/crates/topaz_cli/src/command/dispatch.rs at
b48527d0a174
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
LinkArgument-rejection example
Linkfunction identity<T>(value: T) -> T {value}
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
- compiler/crates/topaz_cli/src/command/flags.rs at
b48527d0a174 - compiler/crates/topaz_cli/src/command/dispatch.rs at
b48527d0a174
Verification scope
LinkObserved 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.