@tekyzinc/gsd-t 3.13.12 → 3.13.13
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/CHANGELOG.md +16 -0
- package/bin/gsd-t.js +10 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to GSD-T are documented here. Updated with each release.
|
|
4
4
|
|
|
5
|
+
## [3.13.13] - 2026-04-17
|
|
6
|
+
|
|
7
|
+
### Fixed — Stray sweep now matches older-version installer artifacts
|
|
8
|
+
|
|
9
|
+
v3.13.12 shipped the defensive require + DEPRECATED_BIN_STRAYS sweep, but the sweep's safety check was too narrow: it only deleted strays whose bytes matched the **current** source. Projects left behind with a v3.13.11 (or earlier) `bin/gsd-t.js` would not match the current source (different body), so the sweep refused to delete them and those projects stayed crashed.
|
|
10
|
+
|
|
11
|
+
**Fix**: sweep now uses a **signature** check rather than a byte-identity check. A stray is deleted when it starts with `#!/usr/bin/env node` AND contains the verbatim JSDoc header `GSD-T CLI Installer` in the first 400 characters. That combination is unique enough to rule out user-owned files (a user's own script would not contain our header) while matching every historical version of this installer — so older-version artifacts are swept correctly.
|
|
12
|
+
|
|
13
|
+
**Files**:
|
|
14
|
+
- `bin/gsd-t.js` — sweep loop now uses signature match instead of byte-match.
|
|
15
|
+
- `test/bin-gsd-t-resilience.test.js` — new test case covering older-version stray (shebang + header + different body) → must be deleted. Existing byte-match test kept. Existing user-owned test kept.
|
|
16
|
+
|
|
17
|
+
**Tests**: 1239/1239 pass (+1 new assertion vs v3.13.12). E2E: N/A.
|
|
18
|
+
|
|
19
|
+
**Impact**: bee-poc and any other project carrying a pre-v3.13.12 `bin/gsd-t.js` now self-heals on the next `gsd-t update-all` pass after installing v3.13.13.
|
|
20
|
+
|
|
5
21
|
## [3.13.12] - 2026-04-17
|
|
6
22
|
|
|
7
23
|
### Fixed — Project-local `bin/gsd-t.js` crash on missing `debug-ledger.js` + self-heal sweep
|
package/bin/gsd-t.js
CHANGED
|
@@ -2157,13 +2157,19 @@ function copyBinToolsToProject(projectDir, projectName) {
|
|
|
2157
2157
|
let cleaned = 0;
|
|
2158
2158
|
for (const stray of DEPRECATED_BIN_STRAYS) {
|
|
2159
2159
|
const strayPath = path.join(projectBinDir, stray);
|
|
2160
|
-
const srcPath = path.join(PKG_ROOT, "bin", stray);
|
|
2161
2160
|
if (!fs.existsSync(strayPath)) continue;
|
|
2162
|
-
if (!fs.existsSync(srcPath)) continue;
|
|
2163
2161
|
try {
|
|
2164
2162
|
const strayContent = fs.readFileSync(strayPath, "utf8");
|
|
2165
|
-
const
|
|
2166
|
-
|
|
2163
|
+
const head = strayContent.slice(0, 400);
|
|
2164
|
+
// Signature-match any version this installer ever shipped. The marker
|
|
2165
|
+
// is unique enough to rule out user-owned files: node shebang + the
|
|
2166
|
+
// verbatim JSDoc header "GSD-T CLI Installer". Matches every historical
|
|
2167
|
+
// version of bin/gsd-t.js, not just the current one, so older strays
|
|
2168
|
+
// (e.g. v3.13.11 left behind on v3.13.12+) are still swept.
|
|
2169
|
+
const isOurs =
|
|
2170
|
+
head.startsWith("#!/usr/bin/env node") &&
|
|
2171
|
+
head.includes("GSD-T CLI Installer");
|
|
2172
|
+
if (isOurs) {
|
|
2167
2173
|
fs.unlinkSync(strayPath);
|
|
2168
2174
|
cleaned++;
|
|
2169
2175
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tekyzinc/gsd-t",
|
|
3
|
-
"version": "3.13.
|
|
3
|
+
"version": "3.13.13",
|
|
4
4
|
"description": "GSD-T: Contract-Driven Development for Claude Code — 54 slash commands with headless-by-default workflow spawning, unattended supervisor relay with event stream, graph-powered code analysis, real-time agent dashboard, task telemetry, doc-ripple enforcement, backlog management, impact analysis, test sync, milestone archival, and PRD generation",
|
|
5
5
|
"author": "Tekyz, Inc.",
|
|
6
6
|
"license": "MIT",
|