murmur8 4.3.1 → 4.3.3
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/SKILL.md +82 -7
- package/bin/cli.js +0 -0
- package/package.json +1 -1
- package/src/update.js +7 -0
package/SKILL.md
CHANGED
|
@@ -21,6 +21,7 @@ description: Run the Alex → Cass → Nigel → Codey pipeline using Task tool
|
|
|
21
21
|
| `{HISTORY}` | `.claude/pipeline-history.json` |
|
|
22
22
|
| `{RETRY_CONFIG}` | `.claude/retry-config.json` |
|
|
23
23
|
| `{FEEDBACK_CONFIG}` | `.claude/feedback-config.json` |
|
|
24
|
+
| `{COST_CONFIG}` | `.claude/cost-config.json` |
|
|
24
25
|
| `{HANDOFF_ALEX}` | `{FEAT_DIR}/handoff-alex.md` |
|
|
25
26
|
| `{HANDOFF_CASS}` | `{FEAT_DIR}/handoff-cass.md` |
|
|
26
27
|
| `{HANDOFF_NIGEL}` | `{FEAT_DIR}/handoff-nigel.md` |
|
|
@@ -43,6 +44,7 @@ description: Run the Alex → Cass → Nigel → Codey pipeline using Task tool
|
|
|
43
44
|
/implement-feature "user-auth" --interactive # Force interactive spec creation
|
|
44
45
|
/implement-feature "user-auth" --pause-after=alex|cass|nigel|codey-plan
|
|
45
46
|
/implement-feature "user-auth" --no-commit
|
|
47
|
+
/implement-feature "user-auth" --no-diff-preview # Skip diff preview before commit
|
|
46
48
|
/implement-feature "user-auth" --no-feedback # Skip feedback collection
|
|
47
49
|
/implement-feature "user-auth" --no-validate # Skip pre-flight validation
|
|
48
50
|
/implement-feature "user-auth" --no-history # Skip history recording
|
|
@@ -71,12 +73,12 @@ description: Run the Alex → Cass → Nigel → Codey pipeline using Task tool
|
|
|
71
73
|
▼
|
|
72
74
|
ALEX → [feedback] → CASS → [feedback] → NIGEL → [feedback] → CODEY
|
|
73
75
|
│ │
|
|
74
|
-
└──────────── Record timing in history.js
|
|
76
|
+
└──────────── Record timing + tokens in history.js ─────────┘
|
|
75
77
|
│ │
|
|
76
78
|
└──────────── On failure: retry.js strategy ────────────────┘
|
|
77
79
|
│
|
|
78
80
|
▼
|
|
79
|
-
AUTO-COMMIT → Record completion in history
|
|
81
|
+
DIFF-PREVIEW → AUTO-COMMIT → Record completion + cost in history
|
|
80
82
|
```
|
|
81
83
|
|
|
82
84
|
## Multi-Feature Pipeline Overview (Murmuration Mode)
|
|
@@ -327,9 +329,15 @@ Wait for ALL sub-agents to complete before proceeding.
|
|
|
327
329
|
|
|
328
330
|
---
|
|
329
331
|
|
|
330
|
-
## Step M5.5: Commit Worktree Changes
|
|
332
|
+
## Step M5.5: Diff Preview & Commit Worktree Changes
|
|
331
333
|
|
|
332
|
-
For each successful pipeline,
|
|
334
|
+
For each successful pipeline, show diff preview (unless `--no-diff-preview`) then commit the changes in its worktree.
|
|
335
|
+
|
|
336
|
+
**Diff Preview per Worktree:**
|
|
337
|
+
- Show changes for each worktree before committing
|
|
338
|
+
- User can approve/abort each worktree individually
|
|
339
|
+
- If user aborts a worktree, mark it as `user-aborted` (not failed)
|
|
340
|
+
- Continue to next worktree regardless
|
|
333
341
|
|
|
334
342
|
**IMPORTANT:** Use absolute paths to avoid context confusion.
|
|
335
343
|
|
|
@@ -946,6 +954,50 @@ For detailed guidance, see: .blueprint/agents/AGENT_DEVELOPER_CODEY.md
|
|
|
946
954
|
|
|
947
955
|
---
|
|
948
956
|
|
|
957
|
+
## Step 10.5: Diff Preview
|
|
958
|
+
|
|
959
|
+
**Module:** `src/diff-preview.js`
|
|
960
|
+
|
|
961
|
+
Before committing, show the user a preview of all changes unless skipped.
|
|
962
|
+
|
|
963
|
+
**Skip conditions** (any of these skips the preview):
|
|
964
|
+
- `--no-commit` flag is set
|
|
965
|
+
- `--no-diff-preview` flag is set
|
|
966
|
+
- `--yes` flag is set (non-interactive mode)
|
|
967
|
+
- No changes detected
|
|
968
|
+
|
|
969
|
+
**Display:**
|
|
970
|
+
```
|
|
971
|
+
Changes to commit for feature_{slug}:
|
|
972
|
+
|
|
973
|
+
Added (3 files):
|
|
974
|
+
+ .blueprint/features/feature_{slug}/FEATURE_SPEC.md
|
|
975
|
+
+ test/feature_{slug}.test.js
|
|
976
|
+
+ src/feature.js
|
|
977
|
+
|
|
978
|
+
Modified (1 file):
|
|
979
|
+
~ src/index.js
|
|
980
|
+
|
|
981
|
+
Deleted (0 files):
|
|
982
|
+
(none)
|
|
983
|
+
|
|
984
|
+
Total: 4 files changed
|
|
985
|
+
|
|
986
|
+
[c]ommit / [a]bort / [d]iff (show full diff)?
|
|
987
|
+
```
|
|
988
|
+
|
|
989
|
+
**User choices:**
|
|
990
|
+
- `c` or `commit`: Proceed to auto-commit
|
|
991
|
+
- `a` or `abort`: Exit pipeline cleanly (exit code 0, not a failure)
|
|
992
|
+
- `d` or `diff`: Show full `git diff` output, then re-prompt
|
|
993
|
+
|
|
994
|
+
**On abort:**
|
|
995
|
+
- Record in history: `status: "user-aborted"`, `reason: "User aborted at diff preview"`
|
|
996
|
+
- Do NOT record as failure
|
|
997
|
+
- Clean exit
|
|
998
|
+
|
|
999
|
+
---
|
|
1000
|
+
|
|
949
1001
|
## Step 11: Auto-commit & Backlog Cleanup
|
|
950
1002
|
|
|
951
1003
|
If not `--no-commit`:
|
|
@@ -1001,7 +1053,7 @@ After successful commit, remove the completed feature from `{BACKLOG}`:
|
|
|
1001
1053
|
|
|
1002
1054
|
## Step 12: Report Status & Finalize History (ENHANCED)
|
|
1003
1055
|
|
|
1004
|
-
**
|
|
1056
|
+
**Modules:** `src/history.js`, `src/cost.js`
|
|
1005
1057
|
|
|
1006
1058
|
Unless `--no-history` flag is set, finalize the history entry:
|
|
1007
1059
|
|
|
@@ -1010,6 +1062,8 @@ historyEntry.status = "success";
|
|
|
1010
1062
|
historyEntry.completedAt = new Date().toISOString();
|
|
1011
1063
|
historyEntry.totalDurationMs = completedAt - startedAt;
|
|
1012
1064
|
historyEntry.commitHash = "{hash}";
|
|
1065
|
+
historyEntry.totalTokens = { input: N, output: M };
|
|
1066
|
+
historyEntry.totalCost = X.XXX;
|
|
1013
1067
|
// Save to .claude/pipeline-history.json
|
|
1014
1068
|
```
|
|
1015
1069
|
|
|
@@ -1033,6 +1087,16 @@ historyEntry.commitHash = "{hash}";
|
|
|
1033
1087
|
- Cass stories: rated 5/5 by Nigel
|
|
1034
1088
|
- Nigel tests: rated 4/5 by Codey
|
|
1035
1089
|
|
|
1090
|
+
## Cost Summary
|
|
1091
|
+
STAGE INPUT OUTPUT COST
|
|
1092
|
+
alex 2,450 1,230 $0.014
|
|
1093
|
+
cass 3,100 1,850 $0.019
|
|
1094
|
+
nigel 2,800 2,100 $0.018
|
|
1095
|
+
codey-plan 1,500 890 $0.009
|
|
1096
|
+
codey-impl 4,200 3,500 $0.028
|
|
1097
|
+
─────────────────────────────────────────
|
|
1098
|
+
TOTAL 14,050 9,570 $0.088
|
|
1099
|
+
|
|
1036
1100
|
## Next Action
|
|
1037
1101
|
Pipeline complete. Run `npm test` to verify or `/implement-feature` for next feature.
|
|
1038
1102
|
```
|
|
@@ -1189,10 +1253,12 @@ The pipeline integrates these murmur8 modules:
|
|
|
1189
1253
|
| Module | File | Integration Points |
|
|
1190
1254
|
|--------|------|-------------------|
|
|
1191
1255
|
| **validate** | `src/validate.js` | Step 0: Pre-flight checks |
|
|
1192
|
-
| **history** | `src/history.js` | Steps 5-12: Record timing,
|
|
1256
|
+
| **history** | `src/history.js` | Steps 5-12: Record timing, tokens, cost |
|
|
1193
1257
|
| **insights** | `src/insights.js` | Step 3.5: Preview, On failure: Analysis |
|
|
1194
1258
|
| **feedback** | `src/feedback.js` | Steps 6.5, 7.5, 8.5: Quality gates |
|
|
1195
1259
|
| **retry** | `src/retry.js` | On failure: Strategy recommendation |
|
|
1260
|
+
| **cost** | `src/cost.js` | Steps 6-12: Track tokens, calculate cost |
|
|
1261
|
+
| **diff-preview** | `src/diff-preview.js` | Step 10.5: Show changes before commit |
|
|
1196
1262
|
|
|
1197
1263
|
### CLI Commands Available
|
|
1198
1264
|
|
|
@@ -1202,7 +1268,9 @@ npx murmur8 validate
|
|
|
1202
1268
|
|
|
1203
1269
|
# History management
|
|
1204
1270
|
npx murmur8 history
|
|
1271
|
+
npx murmur8 history --cost # Include cost breakdown
|
|
1205
1272
|
npx murmur8 history --stats
|
|
1273
|
+
npx murmur8 history --stats --cost # Include cost metrics
|
|
1206
1274
|
npx murmur8 history --all
|
|
1207
1275
|
|
|
1208
1276
|
# Pipeline insights
|
|
@@ -1211,6 +1279,12 @@ npx murmur8 insights --feedback
|
|
|
1211
1279
|
npx murmur8 insights --bottlenecks
|
|
1212
1280
|
npx murmur8 insights --failures
|
|
1213
1281
|
|
|
1282
|
+
# Cost configuration
|
|
1283
|
+
npx murmur8 cost-config
|
|
1284
|
+
npx murmur8 cost-config set inputPrice 3 # Per million tokens
|
|
1285
|
+
npx murmur8 cost-config set outputPrice 15 # Per million tokens
|
|
1286
|
+
npx murmur8 cost-config reset
|
|
1287
|
+
|
|
1214
1288
|
# Retry configuration
|
|
1215
1289
|
npx murmur8 retry-config
|
|
1216
1290
|
npx murmur8 retry-config set maxRetries 5
|
|
@@ -1224,7 +1298,8 @@ npx murmur8 feedback-config set minRatingThreshold 3.5
|
|
|
1224
1298
|
|
|
1225
1299
|
| File | Purpose |
|
|
1226
1300
|
|------|---------|
|
|
1227
|
-
| `.claude/pipeline-history.json` | Execution history with timing and
|
|
1301
|
+
| `.claude/pipeline-history.json` | Execution history with timing, feedback, and cost |
|
|
1228
1302
|
| `.claude/retry-config.json` | Retry strategies and thresholds |
|
|
1229
1303
|
| `.claude/feedback-config.json` | Feedback quality gate thresholds |
|
|
1304
|
+
| `.claude/cost-config.json` | Token pricing configuration |
|
|
1230
1305
|
| `.claude/implement-queue.json` | Pipeline queue state (existing) |
|
package/bin/cli.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
package/src/update.js
CHANGED
|
@@ -42,6 +42,13 @@ async function update() {
|
|
|
42
42
|
const skillSrc = path.join(PACKAGE_ROOT, 'SKILL.md');
|
|
43
43
|
const skillDest = path.join(TARGET_DIR, 'SKILL.md');
|
|
44
44
|
|
|
45
|
+
// Check if running in the package source directory (dev mode)
|
|
46
|
+
if (PACKAGE_ROOT === TARGET_DIR) {
|
|
47
|
+
console.log('Cannot run update in the murmur8 source directory.');
|
|
48
|
+
console.log('This command is for updating projects that use murmur8.');
|
|
49
|
+
process.exit(1);
|
|
50
|
+
}
|
|
51
|
+
|
|
45
52
|
// Check if .blueprint exists
|
|
46
53
|
if (!fs.existsSync(blueprintDest)) {
|
|
47
54
|
console.log('.blueprint directory not found. Run "agent-workflow init" first.');
|