mirror of
https://github.com/KeygraphHQ/shannon.git
synced 2026-10-04 07:16:52 +02:00
feat(cli)!: default the scan target and add a JSON error contract
List local scans, resolve the active or most recent workspace automatically, and make logs, status, and stop use one canonical scan identity. Add stable machine-readable failures, richer status output, explicit help errors, and seven-day Temporal retention. Treat absent Temporal pending-activity failures as absent whether the decoder represents them as `null` or missing. BREAKING CHANGE: `status --json` now returns a fixed `failureMessage`. Read `partialReasons`, `agenticSast`, and `workflow.log` for diagnostic detail.
This commit is contained in:
1 parent
3bdcfac85d
commit
242f85f158
13 files changed
+651
-146
No files matched your search
@@ -1,11 +1,12 @@
|
||||
/**
|
||||
* Workspace → Temporal workflow-id resolution.
|
||||
*
|
||||
* A workspace name is not always its workflow id: a fresh scan's id equals the
|
||||
* workspace name, but each resume spawns a new workflow (`<workspace>_resume_<ts>`).
|
||||
* The workspace's session.json records the authoritative id — the latest resume
|
||||
* attempt, or the original — so commands that query Temporal (status, stop) resolve
|
||||
* through here instead of assuming the name is the id.
|
||||
* A workspace name is not always its workflow id: a fresh named workspace gets
|
||||
* `<workspace>_shannon-<timestamp>` as its workflow id (only an auto-named workspace's
|
||||
* directory name equals its original id), and each resume spawns a new workflow
|
||||
* (`<workspace>_resume_<ts>`). The workspace's session.json records the authoritative
|
||||
* id — the latest resume attempt, or the original — so commands that query Temporal
|
||||
* (status, stop) resolve through here instead of assuming the name is the id.
|
||||
*/
|
||||
|
||||
import fs from 'node:fs';
|
||||
|
||||
Reference in new issue
Block a user