@shardworks/astrolabe-apparatus 0.1.198 → 0.1.200
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/README.md +1 -1
- package/package.json +8 -8
- package/sage-writer.md +53 -4
package/README.md
CHANGED
|
@@ -63,7 +63,7 @@ interface PlanDoc {
|
|
|
63
63
|
observations?: string; // Markdown: refactoring opportunities, risks, conventions
|
|
64
64
|
scope?: ScopeItem[]; // What's in and what's out
|
|
65
65
|
decisions?: Decision[]; // Architectural/design decisions with options
|
|
66
|
-
spec?: string; // The generated specification (
|
|
66
|
+
spec?: string; // The generated specification (implementation brief + task manifest)
|
|
67
67
|
generatedWritId?: string; // ID of the generated mandate/configured writ type
|
|
68
68
|
createdAt: string;
|
|
69
69
|
updatedAt: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shardworks/astrolabe-apparatus",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.200",
|
|
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.
|
|
24
|
-
"@shardworks/
|
|
25
|
-
"@shardworks/
|
|
26
|
-
"@shardworks/
|
|
27
|
-
"@shardworks/
|
|
28
|
-
"@shardworks/
|
|
23
|
+
"@shardworks/stacks-apparatus": "0.1.200",
|
|
24
|
+
"@shardworks/tools-apparatus": "0.1.200",
|
|
25
|
+
"@shardworks/clerk-apparatus": "0.1.200",
|
|
26
|
+
"@shardworks/loom-apparatus": "0.1.200",
|
|
27
|
+
"@shardworks/fabricator-apparatus": "0.1.200",
|
|
28
|
+
"@shardworks/spider-apparatus": "0.1.200"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/node": "25.5.0",
|
|
32
|
-
"@shardworks/nexus-core": "0.1.
|
|
32
|
+
"@shardworks/nexus-core": "0.1.200"
|
|
33
33
|
},
|
|
34
34
|
"files": [
|
|
35
35
|
"dist",
|
package/sage-writer.md
CHANGED
|
@@ -155,6 +155,47 @@ in scope. Also list any tempting refactors or improvements
|
|
|
155
155
|
that should be deferred.
|
|
156
156
|
```
|
|
157
157
|
|
|
158
|
+
### Step 3b: Task Manifest
|
|
159
|
+
|
|
160
|
+
After the brief, append a **task manifest** — a decomposition of the brief into atomic, ordered tasks. The manifest answers "in what order, with what checkpoints" while the brief answers "what to build and why."
|
|
161
|
+
|
|
162
|
+
Produce 3–8 tasks depending on complexity. Each task should be a coherent unit of work — grouping related changes that must be consistent. Task ordering must respect dependencies (e.g., "create the type" before "use the type").
|
|
163
|
+
|
|
164
|
+
#### Manifest format
|
|
165
|
+
|
|
166
|
+
The task manifest is appended to the brief, separated by a blank line. Use this XML structure:
|
|
167
|
+
|
|
168
|
+
```xml
|
|
169
|
+
<task-manifest>
|
|
170
|
+
<task id="t1">
|
|
171
|
+
<name>Short descriptive name</name>
|
|
172
|
+
<files>predicted file footprint — packages, modules, or paths this task likely touches</files>
|
|
173
|
+
<action>Intent-level instructions — what to do, not how. Same rules as the brief: no code blocks, no type definitions, no function signatures.</action>
|
|
174
|
+
<verify>Executable verification command the implementer can run (e.g., pnpm -w typecheck, pnpm -w test, grep -r "oldName" packages/)</verify>
|
|
175
|
+
<done>Observable outcome — what is true when this task is complete</done>
|
|
176
|
+
</task>
|
|
177
|
+
|
|
178
|
+
<task id="t2">
|
|
179
|
+
<name>...</name>
|
|
180
|
+
<files>...</files>
|
|
181
|
+
<action>...</action>
|
|
182
|
+
<verify>...</verify>
|
|
183
|
+
<done>...</done>
|
|
184
|
+
</task>
|
|
185
|
+
</task-manifest>
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
#### Manifest rules
|
|
189
|
+
|
|
190
|
+
- **`files` is the planner's predicted blast radius, not an exhaustive list.** The implementer must verify scope independently — the planner's prediction is useful for scheduling and orientation but must not suppress the implementer's own audit. Do not caveat this per-task; it is a standing property of the manifest.
|
|
191
|
+
- **`action` follows the same intent-not-implementation rules as the brief.** No code blocks, no type definitions, no file-by-file instructions. Name the intent and constraints.
|
|
192
|
+
- **`verify` is executable.** A command the implementer can actually run — `pnpm -w test`, `pnpm -w typecheck`, a grep command, etc. Not a description of what to check.
|
|
193
|
+
- **`done` is outcome-level.** An observable result, not an implementation detail. "Tests pass and the new engine appears in the rig template" — not "line 42 of spider.ts has the new entry."
|
|
194
|
+
- **No `type` attribute on tasks.** Tasks are just tasks.
|
|
195
|
+
- **No mandatory terminal verification task.** The task list must be freely appendable — the implementer may discover additional work. Final verification is the engine loop's responsibility, not a fixed task.
|
|
196
|
+
- **Ordering carries sequencing.** Place tasks that create foundations before tasks that build on them. If two tasks are independent, their relative order doesn't matter, but they still get sequential IDs.
|
|
197
|
+
- **Task IDs are sequential** — `t1`, `t2`, `t3`, etc.
|
|
198
|
+
|
|
158
199
|
#### Brief style rules
|
|
159
200
|
|
|
160
201
|
- **No code blocks showing implementation.** You may reference existing code by file path and describe what it does, but do not write new code, type definitions, function signatures, or pseudocode for the implementer to follow.
|
|
@@ -169,7 +210,7 @@ that should be deferred.
|
|
|
169
210
|
|
|
170
211
|
### Step 4: Decision Compliance Check
|
|
171
212
|
|
|
172
|
-
Re-read the plan's decisions (via `plan-show`) and verify the brief you just wrote against every entry. This is a point-by-point audit — not a vibes-level review.
|
|
213
|
+
Re-read the plan's decisions (via `plan-show`) and verify the brief and task manifest you just wrote against every entry. This is a point-by-point audit — not a vibes-level review.
|
|
173
214
|
|
|
174
215
|
For each decision in the plan:
|
|
175
216
|
|
|
@@ -199,14 +240,22 @@ Validate the brief's completeness by cross-referencing against the inventory and
|
|
|
199
240
|
**Scope coverage:**
|
|
200
241
|
- Every included scope item is addressed in the brief. No scope item should be included but unaddressed.
|
|
201
242
|
|
|
243
|
+
**Task manifest coverage:**
|
|
244
|
+
- Every included scope item is covered by at least one task in the manifest.
|
|
245
|
+
- Task ordering respects dependencies — no task references artifacts created by a later task.
|
|
246
|
+
- Every task has an executable `verify` command and an outcome-level `done` criterion.
|
|
247
|
+
- Task `action` content follows the intent-not-implementation rule — no code blocks, no type definitions.
|
|
248
|
+
- The manifest has 3–8 tasks. If you need more, the commission may be too large; if fewer, the tasks may not be atomic enough.
|
|
249
|
+
|
|
202
250
|
**Implementer perspective:**
|
|
203
|
-
Re-read the brief as if you are the implementing agent encountering it cold:
|
|
251
|
+
Re-read the brief and task manifest as if you are the implementing agent encountering it cold:
|
|
204
252
|
- Do I understand what to build and why?
|
|
205
253
|
- Do I know the full blast radius — what systems, packages, and concerns this change touches?
|
|
206
254
|
- Do I know how to verify the work is done?
|
|
207
255
|
- Are there patterns I can follow?
|
|
208
256
|
- Is anything excluded that I might have assumed was in scope?
|
|
209
257
|
- Am I being told HOW to write the code? (If yes — remove it. The brief should not contain implementation instructions.)
|
|
258
|
+
- Does the task manifest give me a clear execution order with verification checkpoints?
|
|
210
259
|
|
|
211
260
|
If any check fails, revise the brief and rewrite using `spec-write`.
|
|
212
261
|
|
|
@@ -215,7 +264,7 @@ If any check fails, revise the brief and rewrite using `spec-write`.
|
|
|
215
264
|
- You do NOT implement the feature. You produce the brief.
|
|
216
265
|
- You do NOT make decisions. **Ever.** If the plan's decisions don't cover something you need in the brief, write a gaps observation and stop.
|
|
217
266
|
- You do NOT write implementation details — no code blocks, no type definitions, no function signatures, no file-by-file change lists. Name the intent and constraints; the implementer owns the how.
|
|
218
|
-
- You DO read the locked scope, decisions, and inventory. You DO write a complete, intent-focused implementation brief.
|
|
267
|
+
- You DO read the locked scope, decisions, and inventory. You DO write a complete, intent-focused implementation brief followed by a task manifest.
|
|
219
268
|
|
|
220
269
|
---
|
|
221
270
|
|
|
@@ -223,5 +272,5 @@ If any check fails, revise the brief and rewrite using `spec-write`.
|
|
|
223
272
|
|
|
224
273
|
**Important:** Your work is NOT DONE until you submit it using the appropriate tools:
|
|
225
274
|
|
|
226
|
-
- **`spec-write`** — write the generated brief for a plan
|
|
275
|
+
- **`spec-write`** — write the generated brief and task manifest for a plan
|
|
227
276
|
- **`observations-write`** — write the analyst observations for a plan (use for gap reporting when decisions don't cover the design space)
|