facett-jobview — crate card
Reverse-engineered (from source — verify, don't trust the name)
- One-line pitch: A Task-Manager-style job/task list Facet: one themed, sortable row per long-running job (kind · target · status · elapsed · detail).
- Does:
JobListrendersVec<JobEntry>with a kind filter, sortable columns, a live counts header, and foldable parent/child subtrees. Host-agnostic: knows no backend — the host pushes entries (set_jobs) or implements theJobSourcepull trait (set_source).JobEntrycarries free-formmetakey/values.JobStatusenum drives per-row colour/glyph. Implements canonicalFacetand exposes everything viastate_json(LAW 6). - Key deps:
facett-core(Facet, Theme),egui,serde_json. Deliberately no nornir/warehouse/gRPC deps. - Shape: lib, single module (~1355 lines). Key types:
JobStatus,JobEntry,JobSourcetrait,SortKey,JobList. - Observed role in the workspace: A generic UI pane; a host (e.g. nornir) feeds its live jobs in and mounts it in a FacetDeck.
Fill in (one line each — only the human knows these)
- Primary consumer(s):
- Why it exists (vs the obvious alternative):
- Hard constraint (airgap / no-C-deps / no-FFI / pure-Rust / etc.):
- Release cadence & independence (rides a parent? own repo someday?):
- Status (production / prototype / experimental / stubbed):
- Must-NOT-change invariant:
- Biggest known gap or TODO:
- Anything a newcomer would get wrong about it: