mirror of
https://github.com/obra/superpowers.git
synced 2026-06-21 18:19:05 +08:00
Compare commits
7 Commits
fix/1780-s
...
fix/render
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ffc29fa077 | ||
|
|
81f860a993 | ||
|
|
80f810a4c2 | ||
|
|
528be9f974 | ||
|
|
ce8fd59f33 | ||
|
|
f660e9e9d6 | ||
|
|
78ec255a2d |
@@ -1,5 +1,11 @@
|
|||||||
# Superpowers Release Notes
|
# Superpowers Release Notes
|
||||||
|
|
||||||
|
## v6.0.3 (2026-06-18)
|
||||||
|
|
||||||
|
### Subagent-Driven Development
|
||||||
|
|
||||||
|
- **SDD scratch files moved out of `.git/`.** Claude Code treats `.git/` as a protected path and denies agent writes there, so an implementer subagent writing its report into `.git/sdd/` got blocked mid-run. Task briefs, implementer reports, review diffs, and the progress ledger now live in a self-ignoring `.superpowers/sdd/` directory in the working tree — kept out of `git status` and out of commits, and resolved per worktree by a shared `sdd-workspace` helper. One caveat: because the workspace is git-ignored working-tree scratch, `git clean -fdx` will delete the progress ledger; recover from `git log` if that happens. (#1780)
|
||||||
|
|
||||||
## v6.0.2 (2026-06-16)
|
## v6.0.2 (2026-06-16)
|
||||||
|
|
||||||
### Install Fixes
|
### Install Fixes
|
||||||
|
|||||||
@@ -260,6 +260,8 @@ a ledger file, not only in todos.
|
|||||||
- The ledger is your recovery map: the commits it names exist in git even
|
- The ledger is your recovery map: the commits it names exist in git even
|
||||||
when your context no longer remembers creating them. After compaction,
|
when your context no longer remembers creating them. After compaction,
|
||||||
trust the ledger and `git log` over your own recollection.
|
trust the ledger and `git log` over your own recollection.
|
||||||
|
- `git clean -fdx` will destroy the ledger (it's git-ignored scratch); if
|
||||||
|
that happens, recover from `git log`.
|
||||||
|
|
||||||
## Prompt Templates
|
## Prompt Templates
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const { execSync } = require('child_process');
|
const { execFileSync } = require('child_process');
|
||||||
|
|
||||||
function extractDotBlocks(markdown) {
|
function extractDotBlocks(markdown) {
|
||||||
const blocks = [];
|
const blocks = [];
|
||||||
@@ -69,7 +69,7 @@ ${bodies.join('\n\n')}
|
|||||||
|
|
||||||
function renderToSvg(dotContent) {
|
function renderToSvg(dotContent) {
|
||||||
try {
|
try {
|
||||||
return execSync('dot -Tsvg', {
|
return execFileSync('dot', ['-Tsvg'], {
|
||||||
input: dotContent,
|
input: dotContent,
|
||||||
encoding: 'utf-8',
|
encoding: 'utf-8',
|
||||||
maxBuffer: 10 * 1024 * 1024
|
maxBuffer: 10 * 1024 * 1024
|
||||||
@@ -107,9 +107,10 @@ function main() {
|
|||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if dot is available
|
// Check if dot is available. Run the binary directly rather than probing
|
||||||
|
// with `which`, which is not a command on Windows.
|
||||||
try {
|
try {
|
||||||
execSync('which dot', { encoding: 'utf-8' });
|
execFileSync('dot', ['-V'], { stdio: 'ignore' });
|
||||||
} catch {
|
} catch {
|
||||||
console.error('Error: graphviz (dot) not found. Install with:');
|
console.error('Error: graphviz (dot) not found. Install with:');
|
||||||
console.error(' brew install graphviz # macOS');
|
console.error(' brew install graphviz # macOS');
|
||||||
|
|||||||
8
tests/brainstorm-server/package-lock.json
generated
8
tests/brainstorm-server/package-lock.json
generated
@@ -8,13 +8,13 @@
|
|||||||
"name": "brainstorm-server-tests",
|
"name": "brainstorm-server-tests",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ws": "^8.19.0"
|
"ws": "^8.21.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ws": {
|
"node_modules/ws": {
|
||||||
"version": "8.19.0",
|
"version": "8.21.0",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz",
|
||||||
"integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==",
|
"integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.0.0"
|
"node": ">=10.0.0"
|
||||||
|
|||||||
@@ -5,6 +5,6 @@
|
|||||||
"test": "node ws-protocol.test.js && node helper.test.js && node browser-launcher.test.js && node auth.test.js && node branding.test.js && node server.test.js && node lifecycle.test.js && bash start-server.test.sh && bash stop-server.test.sh"
|
"test": "node ws-protocol.test.js && node helper.test.js && node browser-launcher.test.js && node auth.test.js && node branding.test.js && node server.test.js && node lifecycle.test.js && bash start-server.test.sh && bash stop-server.test.sh"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ws": "^8.19.0"
|
"ws": "^8.21.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ done
|
|||||||
# List of skill tests to run (fast unit tests)
|
# List of skill tests to run (fast unit tests)
|
||||||
tests=(
|
tests=(
|
||||||
"test-worktree-path-policy.sh"
|
"test-worktree-path-policy.sh"
|
||||||
|
"test-sdd-workspace.sh"
|
||||||
"test-subagent-driven-development.sh"
|
"test-subagent-driven-development.sh"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user