@zalom/plastic 2.0.0-alpha.21 → 2.0.0-alpha.22
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/PLASTIC.md +20 -18
- package/package.json +1 -1
- package/scripts/doctor.rb +79 -4
- package/scripts/hook-session-start +293 -321
- package/scripts/insight-append +18 -4
- package/scripts/lib/installer_core.rb +3 -3
- package/scripts/skill-lint +115 -6
- package/skills/auto/SKILL.md +53 -55
- package/skills/auto/references/agent-architecture.md +10 -8
- package/skills/auto/references/human-report-contract.md +1 -1
- package/skills/conventions/references/completion-and-done.md +7 -7
- package/skills/conventions/references/locks-and-worktrees.md +3 -3
- package/skills/conventions/references/maintenance-and-revisions.md +1 -1
- package/skills/doctor/report.md +1 -1
- package/skills/intent-continuing/references/boarding-matrix.md +2 -2
- package/skills/intent-creating/SKILL.md +58 -133
- package/skills/intent-ending/SKILL.md +48 -56
- package/skills/intent-ending/evals/evals.json +1 -1
- package/skills/intent-executing/SKILL.md +38 -137
- package/skills/intent-speccing/SKILL.md +3 -0
- package/skills/releasing/SKILL.md +1 -1
- package/skills/releasing/references/release-lines.md +1 -1
- package/skills/tutorial/SKILL.md +2 -1
- package/skills/tutorial/references/track-1-guided.md +21 -40
- package/skills/tutorial/references/track-2-auto.md +2 -2
- package/templates/agents.md +2 -2
|
@@ -312,7 +312,7 @@ A release IS a delivery. The active intent that drove this work must be complete
|
|
|
312
312
|
2. For each active intent being delivered:
|
|
313
313
|
a. Write a real `outcome.md` (never leave the scaffold placeholder), `disposition: delivered`, referencing the release tag.
|
|
314
314
|
b. Update `## Insights` with final observations.
|
|
315
|
-
c. Run the mechanical close (`scripts/end-intent`'s steps 1-5): this stamps the intent file's `## Outcome` summary, moves the INDEX.md line to `## Completed` (dated today, with a rich entry description via `--index-note`), appends the savepoint
|
|
315
|
+
c. Run the mechanical close (`scripts/end-intent`'s steps 1-5): this stamps the intent file's `## Outcome` summary, moves the INDEX.md line to `## Completed` (dated today, with a rich entry description via `--index-note`), appends the terminal savepoint line, commits the store, and disarms (releases the worktree - already gone from step 8 above - and clears `delivery.lock`), all in one call:
|
|
316
316
|
```bash
|
|
317
317
|
ruby ~/.plastic/scripts/end-intent --store <store_path> --id <ID> --disposition delivered \
|
|
318
318
|
--session "$CLAUDE_CODE_SESSION_ID" \
|
|
@@ -81,7 +81,7 @@ this playbook describes what happens next, not a pending action.
|
|
|
81
81
|
**Preconditions**, both required before any publish of `1.2.0-beta.1`:
|
|
82
82
|
|
|
83
83
|
- (a) One documentation pass over beta-line skills and docs for the hybrid savepoint contract:
|
|
84
|
-
on beta, only the terminal
|
|
84
|
+
on beta, only the terminal savepoint line still writes a live `savepoint.md`; every other
|
|
85
85
|
milestone lives in `savepoint_events` plus a committed JSONL export. Beta-line prose that
|
|
86
86
|
still assumes an always-live ledger needs updating first, so a beta-line reader does not
|
|
87
87
|
mistake an empty ledger for a broken one.
|
package/skills/tutorial/SKILL.md
CHANGED
|
@@ -21,7 +21,8 @@ reference. Every checkpoint inside a track is prose, never another menu.
|
|
|
21
21
|
|
|
22
22
|
1. **Guided**: deliver a first intent, stage by stage, approving each step yourself. Routes to
|
|
23
23
|
`references/track-1-guided.md`.
|
|
24
|
-
2. **Auto**:
|
|
24
|
+
2. **Auto**: create the intent, write its `graph.md`, then hand it to `scripts/runner step` to
|
|
25
|
+
drive every node to the end, watching the record and reports as it works. Routes to
|
|
25
26
|
`references/track-2-auto.md`.
|
|
26
27
|
3. **Projects and roadmaps**: grow a founding intent into a small real project, add more
|
|
27
28
|
intents, and plan a delivery batch with a roadmap. Routes to
|
|
@@ -58,66 +58,47 @@ next, it does not write `spec.md` itself.
|
|
|
58
58
|
Checkpoint: after two or three answers, look at the intent file. Every ruling given out loud
|
|
59
59
|
is already sitting in `### Decisions` and in `## Insights`, in writing.
|
|
60
60
|
|
|
61
|
-
### 4.
|
|
61
|
+
### 4. How, write the graph
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
Ask the same conversation (`/plastic-intent-speccing`) to turn the rulings into the graph.
|
|
64
64
|
|
|
65
|
-
Artifact: `
|
|
65
|
+
Artifact: `graph.md` (nodes, edges, dispatch policy) and one `nodes/N.md` file per node this
|
|
66
|
+
small delivery needs. A delivery this size is one node; many independent tasks instead get
|
|
67
|
+
one node each, dispatched in parallel by the runner.
|
|
66
68
|
|
|
67
|
-
Checkpoint:
|
|
68
|
-
station 3.
|
|
69
|
+
Checkpoint: open `graph.md` and point at the one node this worked example needs.
|
|
69
70
|
|
|
70
|
-
### 5.
|
|
71
|
-
|
|
72
|
-
Ask the same conversation to write the action files and the plan.
|
|
73
|
-
|
|
74
|
-
Artifact: `plan.md`, `checklist.md`, and at least one real `actions/ACTION_N.md`. A small
|
|
75
|
-
delivery like this one consolidates the whole delivery into a single `actions/ACTION_1.md`
|
|
76
|
-
(the ordered steps plus the exact changes); many independent tasks, dispatched in parallel,
|
|
77
|
-
instead get one `actions/ACTION_N.md` file per task. `checklist.md` follows a fixed form: tasks start under `## In Progress`, move to
|
|
78
|
-
`## Completed` as they land, and a `## Session Log` table records what happened each session.
|
|
79
|
-
A task that depends on an owner decision landing first (a destructive step, a structural
|
|
80
|
-
ruling) gets an `[ORCHESTRATOR]` prefix and blocks every other item until that decision is
|
|
81
|
-
made; this worked example has none.
|
|
82
|
-
|
|
83
|
-
Checkpoint: open `checklist.md`. Every task in `plan.md` has a matching checkbox under
|
|
84
|
-
`## In Progress`; that checklist, not `plan.md` itself, is what gets ticked off and moved to
|
|
85
|
-
`## Completed` during Exec.
|
|
86
|
-
|
|
87
|
-
### 6. Exec, verify before you report
|
|
71
|
+
### 5. Exec, drive the runner loop
|
|
88
72
|
|
|
89
73
|
Type `/plastic-intent-executing`.
|
|
90
74
|
|
|
91
|
-
Teach the
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
always comes before checking a box, never after, and each task is ticked the moment it lands,
|
|
97
|
-
never batched for later.
|
|
75
|
+
Teach the loop: `ruby scripts/runner step <intent_dir>` computes which nodes are ready and
|
|
76
|
+
prints a spawn block to dispatch, `ruby scripts/runner status <intent_dir>` reads the
|
|
77
|
+
ledger (running, done, blocked, or waiting on a decision), and `ruby scripts/runner answer`
|
|
78
|
+
closes a node that needs an owner's ruling. Call `step` again after each dispatched node
|
|
79
|
+
returns, until the graph is empty.
|
|
98
80
|
|
|
99
81
|
Artifact: the actual change on disk (the new README Usage section, or, in the global-store
|
|
100
|
-
fallback, a short written note saved as the intent's deliverable) and
|
|
101
|
-
`
|
|
82
|
+
fallback, a short written note saved as the intent's deliverable) and every node in
|
|
83
|
+
`graph.md` at a terminal status.
|
|
102
84
|
|
|
103
|
-
Checkpoint:
|
|
104
|
-
|
|
105
|
-
this session, before moving to station 7.
|
|
85
|
+
Checkpoint: run `runner status` and confirm no node is left running or blocked, before
|
|
86
|
+
moving to station 6.
|
|
106
87
|
|
|
107
|
-
###
|
|
88
|
+
### 6. End
|
|
108
89
|
|
|
109
90
|
Type `/plastic-intent-ending`.
|
|
110
91
|
|
|
111
|
-
Artifact: a real `outcome.md` (Summary, Delivered, Verification, Follow-ups)
|
|
112
|
-
|
|
113
|
-
`savepoint.
|
|
92
|
+
Artifact: a real `outcome.md` (Summary, Delivered, Verification, Follow-ups) generated by
|
|
93
|
+
`scripts/outcome-report` from `graph.md` and the ledger, the intent moved from `## Active`
|
|
94
|
+
to `## Completed` in `INDEX.md`, and the terminal savepoint line.
|
|
114
95
|
|
|
115
96
|
Checkpoint: open `outcome.md` and read its Summary. It should describe, in a sentence or
|
|
116
97
|
two, exactly the README section (or note) just delivered.
|
|
117
98
|
|
|
118
99
|
## Wrap and where to go next
|
|
119
100
|
|
|
120
|
-
That is the full cycle once: create,
|
|
101
|
+
That is the full cycle once: create, graph, runner step, end. Read
|
|
121
102
|
[`your-first-intent-in-10-minutes.md`](https://github.com/zalom/plastic/blob/main/docs/guides/your-first-intent-in-10-minutes.md) for the same path condensed to a single
|
|
122
103
|
read, and [`reading-the-ledgers.md`](https://github.com/zalom/plastic/blob/main/docs/guides/reading-the-ledgers.md) for where each station wrote its
|
|
123
104
|
work down.
|
|
@@ -33,7 +33,7 @@ queued intent from the dashboard's queue itself.)
|
|
|
33
33
|
|
|
34
34
|
No new command at this station. Watch how the work splits.
|
|
35
35
|
|
|
36
|
-
Auto owns How (
|
|
36
|
+
Auto owns How (`graph.md`, `nodes/`) and Exec (the code, the tests, the
|
|
37
37
|
mechanical close) from here on. Inside Exec it follows a few fixed habits: it syncs its
|
|
38
38
|
working copy with the main line before touching anything, ticks each task the moment it
|
|
39
39
|
lands rather than batching several into one later edit, and independently verifies its own
|
|
@@ -63,7 +63,7 @@ Checkpoint: open the intent's `savepoint.md` and name the stage its last line re
|
|
|
63
63
|
|
|
64
64
|
### 4. Reading the per-stage reports
|
|
65
65
|
|
|
66
|
-
No new command. At each stage boundary (What, Why, How, Exec
|
|
66
|
+
No new command. At each stage boundary (What, Why, How, Exec) the agent briefs in a
|
|
67
67
|
fixed three-line shape: State (what happened and why it matters), Risk (the one thing that
|
|
68
68
|
could bite, or "nothing flagged"), and Call (the decision left to the user, or the call the
|
|
69
69
|
agent is taking on its own). That is the depth for a medium or large intent. A small intent
|
package/templates/agents.md
CHANGED
|
@@ -58,10 +58,10 @@ Plastic has its own lifecycle skills. When a Plastic skill exists for the curren
|
|
|
58
58
|
| Why | `plastic-intent-speccing` | Rulings as insights, `resources/*.md`, `spec.md` |
|
|
59
59
|
| How | `plastic-intent-speccing` | `actions/`, `plan.md`, `checklist.md` |
|
|
60
60
|
| Exec | `plastic-intent-executing` | Code + `outcome.md` |
|
|
61
|
-
|
|
|
61
|
+
| End | `plastic-intent-ending` | Lifecycle transition |
|
|
62
62
|
|
|
63
63
|
**Artifact convention:** ALL lifecycle artifacts go to the active intent directory (`store/{id}--{slug}/`). Never write specs to `docs/superpowers/specs/` or plans to `docs/superpowers/plans/`.
|
|
64
64
|
|
|
65
|
-
## When
|
|
65
|
+
## When the Project Wraps
|
|
66
66
|
|
|
67
67
|
When this project satisfies the governing intent's goal, report back. The orchestrator will complete the strategic intent.
|