@shardworks/astrolabe-apparatus 0.1.192 → 0.1.194

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shardworks/astrolabe-apparatus",
3
- "version": "0.1.192",
3
+ "version": "0.1.194",
4
4
  "license": "ISC",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,16 +20,16 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "zod": "4.3.6",
23
- "@shardworks/stacks-apparatus": "0.1.192",
24
- "@shardworks/tools-apparatus": "0.1.192",
25
- "@shardworks/clerk-apparatus": "0.1.192",
26
- "@shardworks/loom-apparatus": "0.1.192",
27
- "@shardworks/fabricator-apparatus": "0.1.192",
28
- "@shardworks/spider-apparatus": "0.1.192"
23
+ "@shardworks/stacks-apparatus": "0.1.194",
24
+ "@shardworks/tools-apparatus": "0.1.194",
25
+ "@shardworks/clerk-apparatus": "0.1.194",
26
+ "@shardworks/fabricator-apparatus": "0.1.194",
27
+ "@shardworks/spider-apparatus": "0.1.194",
28
+ "@shardworks/loom-apparatus": "0.1.194"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "25.5.0",
32
- "@shardworks/nexus-core": "0.1.192"
32
+ "@shardworks/nexus-core": "0.1.194"
33
33
  },
34
34
  "files": [
35
35
  "dist",
package/sage-analyst.md CHANGED
@@ -95,9 +95,10 @@ Each decision needs:
95
95
  - `options` — key → description map of reasonable approaches (keep descriptions to one line each)
96
96
  - `recommendation` — the option key you recommend
97
97
  - `rationale` — why this option, in one line
98
- - `selected` — pre-fill with your recommendation; the patron changes it only when overriding
99
98
  - `analysis` — classification metadata (see below)
100
99
 
100
+ Do **not** write to `selected` — that field is owned by the patron-review pass. The analyst writes `recommendation`; the patron's choice populates `selected` (or `patronOverride` for custom write-ins) during decision review.
101
+
101
102
  Order decisions by scope item, then by category (product → api → implementation).
102
103
 
103
104
  Write all decisions using `decisions-write`.
@@ -33,7 +33,7 @@ You also have the standard file-reading tools (Read, Glob, Grep) for exploring t
33
33
  2. Read the codebase — but let your growing understanding of the change guide which files you read. You do not need to do a full repo walk followed by a separate analysis turn. As you read, you will naturally form scope boundaries, identify decision points, and notice observations. Let that understanding steer your exploration.
34
34
  3. Write the codebase inventory using `inventory-write`. The inventory must meet the full quality bar described below.
35
35
  4. Write scope items using `scope-write`. Break the brief into coarse, independently deliverable capabilities. Each item should be something the patron might include or exclude.
36
- 5. Write decisions using `decisions-write`. Be exhaustive — capture every design question including ones where the answer seems obvious from codebase conventions. Each decision needs: id, scope references, question, context, options, recommendation, rationale, selected (pre-fill with recommendation), and analysis metadata (category, observable, confidence, stakes).
36
+ 5. Write decisions using `decisions-write`. Be exhaustive — capture every design question including ones where the answer seems obvious from codebase conventions. Each decision needs: id, scope references, question, context, options, recommendation, rationale, and analysis metadata (category, observable, confidence, stakes). Do **not** write to `selected` — that field is owned by the patron-review pass.
37
37
  6. Write observations using `observations-write`. Record refactoring opportunities, risks, suboptimal conventions, doc/code discrepancies, and potential bugs noticed during your pass.
38
38
 
39
39
  You may interleave reading and writing — for example, write partial inventory as you go and refine it, or write scope items as they become clear and adjust later. The key constraint is that when you finish, all four artifacts (inventory, scope, decisions, observations) must be complete and written to the plan via the write tools.
@@ -132,9 +132,10 @@ Each decision needs:
132
132
  - `options` — key → description map of reasonable approaches (keep descriptions to one line each)
133
133
  - `recommendation` — the option key you recommend
134
134
  - `rationale` — why this option, in one line
135
- - `selected` — pre-fill with your recommendation; the patron changes it only when overriding
136
135
  - `analysis` — classification metadata (see below)
137
136
 
137
+ Do **not** write to `selected` — that field is owned by the patron-review pass. The analyst writes `recommendation`; the patron's choice populates `selected` (or `patronOverride` for custom write-ins) during decision review.
138
+
138
139
  Order decisions by scope item, then by category (product → api → implementation).
139
140
 
140
141
  #### Decision Analysis Metadata
package/sage-writer.md CHANGED
@@ -31,9 +31,8 @@ You also have the standard file-reading tools (Read, Glob, Grep) for exploring t
31
31
 
32
32
  **Authority hierarchy** — when inputs conflict, follow this precedence order:
33
33
 
34
- 1. **Patron overrides** — decisions where `patronOverride` is set. These are direct patron directives and override everything else, including the original brief.
35
- 2. **Selected decisions** — decisions where `selected` is set. These were reviewed and accepted by the patron.
36
- 3. **Scope and inventory** — for context, structure, and gap detection.
34
+ 1. **Decisions** — each decision has **either** a `selected` field (the patron chose a listed option) **or** a `patronOverride` field (the patron wrote a custom directive), never both. A `patronOverride` is a direct patron directive and overrides everything else, including the original brief.
35
+ 2. **Scope and inventory** — for context, structure, and gap detection.
37
36
 
38
37
  ---
39
38
 
@@ -42,7 +41,7 @@ You also have the standard file-reading tools (Read, Glob, Grep) for exploring t
42
41
  From `plan-show`, examine:
43
42
 
44
43
  - **`scope`** — items with `included: true` are in scope; `included: false` are excluded. Only spec features that are included.
45
- - **`decisions`** — each decision has a `selected` field (the chosen option key) and/or a `patronOverride` field (freeform patron directive). These are **locked**. Use them exactly as written. Do not evaluate whether it was the right choice, do not adjust it to fit your own analysis, do not "improve" on it. When `patronOverride` is set, it supersedes all enumerated options — follow it literally.
44
+ - **`decisions`** — each decision has **either** a `selected` field (the patron chose a listed option) **or** a `patronOverride` field (freeform patron directive), never both. These are **locked**. Use them exactly as written. Do not evaluate whether it was the right choice, do not adjust it to fit your own analysis, do not "improve" on it. A `patronOverride` is a direct patron directive — follow it literally.
46
45
  - **`inventory`** — the codebase inventory. Cross-reference for completeness.
47
46
 
48
47
  The **decision summary** in your prompt provides a quick-reference digest. When in doubt, the full decisions from `plan-show` are authoritative.
@@ -189,7 +188,7 @@ Re-read the plan's decisions (via `plan-show`) and verify the spec you just wrot
189
188
  For each decision in the plan:
190
189
 
191
190
  1. **Quote** the specific spec text (requirement, design paragraph, type definition, or behavioral rule) that implements this decision.
192
- 2. **Verify** the spec text is consistent with the decision's `selected` value (or `patronOverride` if set). Pay special attention to patron overrides — these are direct patron directives and must not be contradicted.
191
+ 2. **Verify** the spec text is consistent with whichever field is present — `selected` or `patronOverride`. Patron overrides are direct patron directives and must not be contradicted.
193
192
  3. **Flag** any decision that is:
194
193
  - **Contradicted** — the spec says the opposite of the selected answer
195
194
  - **Unaddressed** — no spec text implements this decision