@gluecharm-lab/easyspecs-cli 0.1.1 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/error-code.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # EasySpecs CLI — error codes
2
2
 
3
- Single reference for **process exit codes**, structured **`failureExitId`** subcodes, and how they appear in **`--json`** and stderr. **Normative:** **[SRS-39](../../.gluecharm/docs/srs/srs-39.md)** (**R1.3**), **[SRS-70](../../.gluecharm/docs/srs/srs-70.md)** / **[PLAN-SRS-70](../../.gluecharm/docs/srs/PLAN-SRS-70.md)** (retired OS **5**; dedicated integers **49–83**), **[SRS-57](../../.gluecharm/docs/srs/srs-57.md)**, **[SRS-58](../../.gluecharm/docs/srs/srs-58.md)**.
3
+ Single reference for **process exit codes**, structured **`failureExitId`** subcodes, and how they appear in **`--json`** and stderr. **Normative:** **[SRS-39](../../.gluecharm/docs/srs/srs-39.md)** (**R1.3**), **[SRS-70](../../.gluecharm/docs/srs/srs-70.md)** / **[PLAN-SRS-70](../../.gluecharm/docs/srs/PLAN-SRS-70.md)** (retired OS **5**; dedicated integers **49–87**), **[SRS-57](../../.gluecharm/docs/srs/srs-57.md)**, **[SRS-58](../../.gluecharm/docs/srs/srs-58.md)**, **[SRS-72](../../.gluecharm/docs/srs/srs-72.md)** (readiness **84–87**).
4
4
 
5
5
  **Maintenance:** When you add an **`OsExit`** value or change **`describeExitCode`**, update this file **in the same change** as [`src/cli/exitCodes.ts`](../../src/cli/exitCodes.ts), [`src/factory/factoryValidationFailures.ts`](../../src/factory/factoryValidationFailures.ts), and [`src/cli/failureExitRegistry.ts`](../../src/cli/failureExitRegistry.ts).
6
6
 
@@ -8,7 +8,7 @@ Single reference for **process exit codes**, structured **`failureExitId`** subc
8
8
 
9
9
  ## 1. Process exit codes (OS / `process.exit`)
10
10
 
11
- **Breaking (SRS-70):** The CLI **never** exits with **OS code `5`**. Former “validation / factory pipeline” outcomes use **dedicated integers** (**49–83**) so **`$?`** in CI is actionable without parsing JSON.
11
+ **Breaking (SRS-70):** The CLI **never** exits with **OS code `5`**. Former “validation / factory pipeline” outcomes use **dedicated integers** (**49–87**) so **`$?`** in CI is actionable without parsing JSON.
12
12
 
13
13
  **`failureExitId`:** string **`{major}.{minor}`** where **`major`** is the **decimal digits of the same integer** passed to **`process.exit`**.
14
14
 
@@ -23,17 +23,21 @@ Single reference for **process exit codes**, structured **`failureExitId`** subc
23
23
  | **8** | Cancelled. |
24
24
  | **99** | Internal unexpected error. |
25
25
  | **49** | Factory unknown / unclassified failure. |
26
- | **50–58** | Generate Context — one code per pipeline phase (worktree → cloud sync). |
26
+ | **50–58** | Generate Context — one code per pipeline phase (after readiness; worktree → cloud sync). |
27
27
  | **59** | Multiple failed generate_context phases with **distinct** phase codes in one run (rollup). |
28
28
  | **60–64** | Context drift — validation-class drift outcomes (see §3.2). |
29
29
  | **70–79** | `diagnose` / `context link-graph` / `run synthesis resume-*` index failures (see **PLAN-SRS-70 §2.4**). |
30
30
  | **80** | `run synthesis` (standalone pipeline) failed. |
31
31
  | **81–82** | `ace learn` / `ace auto-learn` failures. |
32
- | **83** | `update context` factory failure. |
32
+ | **83** | `update context` factory failure (non-readiness). |
33
+ | **84** | **SRS-72:** OpenCode CLI not installed / not callable (`analysis`, `update context`, `context drift` readiness). |
34
+ | **85** | **SRS-72:** OpenCode credentials not ready (readiness gate **b**). |
35
+ | **86** | **SRS-72:** OpenCode default model not configured (readiness gate **c**). |
36
+ | **87** | **SRS-72:** Mandatory repo-root **`opencode.json`** missing under effective analysis root (readiness gate **d**). |
33
37
 
34
38
  **SRS-61:** HTTP **`HttpApiError`** handling unchanged — may map to **3**, **6**, **7**, or **99** per existing rules.
35
39
 
36
- One-line summaries for **49–83** live in **`describeExitCode`** in **`exitCodes.ts`**.
40
+ One-line summaries for **49–87** live in **`describeExitCode`** in **`exitCodes.ts`**.
37
41
 
38
42
  ---
39
43
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gluecharm-lab/easyspecs-cli",
3
- "version": "0.1.1",
3
+ "version": "0.2.1",
4
4
  "description": "EasySpecs headless CLI (synthesis, analysis, diagnose, download/upload context, auth, ACE)",
5
5
  "license": "Elastic-2.0",
6
6
  "homepage": "https://easyspecs.ai/",