Internal · design review aid

Status reference — by artifact

Every repository status the product surfaces, grouped by the artifact or action it describes. Each row shows where SaaS renders it (label, page, element) and what triggers the equivalent CLI string. The CLI is the fixed reference.

SaaS chips here are replicas driven by Neo's --neo-status-*-{light,medium,dark} tokens. Production pulls colors/icons from icons/icon-assets.ts; CLI strings come from modernecli source files cited beneath each section.
Color buckets · from icons/icon-assets.ts
Infoinfo · blue
Warningwarning · amber
Errorerror · red
Successsuccess · green
Unavailableunavailable · grey
Canceledcanceled · #F8BC3B
Runningrunning · primary blue
Queuedqueued · grey
Mergedmerged · violet
1
Artifact

LST — the analyzed source artifact

SaaS + CLI

Build LST

CLI · mod build produces the artifact in the store
Situation SaaSlabel · where CLItrigger · command
Not startedno build attempted yet
SaaS doesn't surface CLI build state
NOT_STARTED
lst_status · tray icon
Building
BUILDING
lst_status during mod build · tray
Built & available
LST available
Organizations & repositories · LST available column
READY
lst_status
available: true
build_status
Partially built
no SaaS concept
PARTIALLY_READY
lst_status · defined but never emitted
Build failed
surfaces downstream as "Missing"
FAILED
cache clear / orchestrator threw · lst_status
Missing / never builtno LST artifact exists for this repo
Unknown
Organizations & repositories · LST available column
No LST
Run results · Status column · Visualizations page
"…type-blind…" / "no build step produced an LST"
lst_status, mod build

Sync LST

SaaS · Run results pulls a built artifact into a run
Situation SaaSlabel · where CLItrigger · command
Not started
Pending
Run results · Sync column
CLI owns the artifact locally · no sync
Syncing
Syncing
Run results · Sync column · run header
Synced
Synced
Run results · Sync column
Sync failed
Failed Sync failed
Run results · Sync column
Canceled
Canceled
Run results · Sync column · renders neutral grey here vs gold in Status column
CLI strings: mcp/LstManager.java, mcp/LstStatusTool.java
2
Artifact

Recipe run (per repository)

SaaS + CLI
SituationSaaSlabel · whereCLItrigger · command
Queued
Queued
Run results · Status column
CLI runs synchronously
Running
Running
Run results · Status column
12 / 24
live progress bar · mod run, mod build
Still syncingsync precedence overrides changeset
Syncing
Run results · Status column
see LST → Being prepared
Succeeded
Finished
Run results · Status column
SUCCEEDED
"Built (…)" · mod run, mod build · Succeeded row in trace
Succeeded, with markersicon recolored by worst marker
Finished Finished Finished
Run results · Status column · same label, icon + color shift to worst marker (info → warn → error) · hover shows counts
markers in changes.json
produced by mod run, read by mod report · not shown in terminal
Ran, no matches / no output
no distinct SaaS run-state
Skipped
mod run · also covers dry-run & preconditions
Failed
Error
Run results · Status column
FAILED
mod run, mod build · Failed row in trace
reason: LST load failed
LST loading failedFAILED_LOAD_AST
hover + Details column
"…type-blind…"
lst_status failureReason
reason: recipe load failed
Recipe loading failedFAILED_LOAD_RECIPE
hover + Details column
no distinct value
reason: recipe threw
Recipe errorRECIPE_ERROR
hover + Details column
stacktrace tail
mod run log
reason: timeout
TimeoutTIMEOUT
hover + Details column
no timeout state
Canceled
Canceled
Run results · Status column
Canceled
Ctrl-C · in trace · no glyph / rollup bucket
Unknown / fallbacktypename fallback
Unknown
Run results · Status column
Whole-run rollup
Queued Syncing Running Finished Canceled Error
run header · Recent activity
"Processed N/M repos (X successful, Y skipped, Z failed)"
end of mod run / mod build
CLI strings: glyphs ui/Icons.java · outcomes + rollup ui/AnimatedProgressBar.java · per-repo lines commands/build/Build.java, commands/run/Run.java · trace trace/Outcome.java · failure reasons mcp/LstStatusTool.java
4
Artifact

Local repository (CLI git sync, on disk)

CLI only
SituationSaaSlabel · whereCLItrigger · command
Already on disk
"Repository already exists"
Skipped · mod git sync
Checked out
"Checked out {sha7} on branch {branch}"
Succeeded · mod git sync
Working tree dirty
uncommitted-changes message
Failed · mod git sync
Clone / checkout failed
exception message
Failed · mod git sync
LST file corrupt
"re-download queued"
warning · mod git sync
Dry run
"Dry run — skipped"
mod build --dry-run
CLI strings: RepositoryCloneTask, RepositoryCheckoutTask, LstDownloadTask (mod git sync) · dry-run commands/build/Build.java
5
Artifact

Commit — results written back to SCM

SaaS only
SituationSaaSlabel · whereCLItrigger · command
Queued
Queued
Commit jobs & PRs · commit grid
Processing
Processing
Commit jobs & PRs · commit grid
Completedsub-types: Direct / PR / Fork / Fork+PR
Completed · Direct Completed · PR Completed · Fork Completed · Fork + PR
Commit jobs & PRs · commit grid
No changes to commit
No changes
Commit jobs & PRs · commit grid
Failed
Failed
Commit jobs & PRs · commit grid
Canceled
Canceled
Commit jobs & PRs · commit grid
Quirk"Queued" commits are filed under the running display bucket — they count as active in the grid filter / grouping. (commit-job.helper.ts:43)
6
Artifact

Pull request

SaaS only
SituationSaaSlabel · whereCLItrigger · command
PR state
Open Draft Closed Merged Blocked
Commit jobs & PRs · PR column · Changelog filter
Mergeability
Mergeable Blocked
Commit jobs & PRs · PR popover
CI checks
Pending In progress Success Failure Skipped Not required
PR popover · Changelog filter
Review decision
Needs approval Approved Changes requested Not required
PR popover · Changelog filter
7
Artifact

Visualization

SaaS only
SituationSaaSlabel · whereCLItrigger · command
Per-repo
Queued Processing Finished Finished empty No LST Error
Visualizations · run grid
Whole visualization
Available Processing Finished Finished empty Error
Visualizations · header · Recent activity
8
Artifact

Repository authorization

SaaS only
SituationSaaSlabel · whereCLItrigger · command
Allowed
renders content
result-diff pages & PR action buttons
CLI uses local git access
Not authenticated
Authorize
prompt · result-diff pages
Denied
You don't have access
EmptyState · result-diff pages
9
Artifact

Activity feed (cross-object rollup)

SaaS + CLI
SituationSaaSlabel · whereCLItrigger · command
Mixed run / commit / viz outcomesgetStatusBadgeColor accepts many synonyms
Recipe runChangesetStatus
Finished Running Syncing Queued Error Canceled
CommitRepositoryCommitStatus
Completed No changes Processing Pending Failed Canceled
VisualizationVisualizationState (aggregate)
Success Processing Finished empty Error
rolled-up status badge · Recent activity / dashboard · getStatusBadgeColor normalizes the synonyms above into one color bucket per row
per-row Outcome in trace
mod trace, mod report
CLI strings: trace/Outcome.java · Commit, PR, Visualization, and Authorization have no CLI source.

Notes · v2-sandbox vs main

Exact source file + line references for each status live in the spreadsheet — CLI Inventory and SaaS Inventory tabs.