@tekyzinc/gsd-t 5.1.11 → 5.1.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 CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  All notable changes to GSD-T are documented here. Updated with each release.
4
4
 
5
+ ## [5.1.13] - 2026-07-15
6
+
7
+ ### Changed — explicit "No Preambles" rule with banned openers
8
+
9
+ Simply Stated already said "no preamble," but framing phrases like "One thing I owe you honestly:" kept appearing. Added an explicit NO PREAMBLES rule that names the banned opener phrases ("One thing I owe you honestly:", "To be honest", "Here's the thing", "Full transparency:", "The key insight is", etc.) so they're caught by name — delete the opener, lead with the point.
10
+
11
+ - `scripts/gsd-t-auto-route.js`: NO PREAMBLES rule + banned-opener list in `READER_CONTRACT`.
12
+ - `templates/CLAUDE-global.md` (+ `~/.claude/CLAUDE.md`): banned openers added to the doctrine's §conversational block.
13
+
14
+ ## [5.1.12] - 2026-07-13
15
+
16
+ ### Changed — Simply Stated now governs conversational narration (4th enforcement layer)
17
+
18
+ The v5.1.10 doctrine only gated formal deliverables (architectures/plans/findings) + code writes — it was blind to mid-work talk-to-the-user, which is exactly where a jargon-dense, buried-point, self-narrating reply slipped through even in a fresh session. Extended the doctrine to REPLIES: the every-turn Reader Contract (injected by `scripts/gsd-t-auto-route.js`) now carries the Simply-Stated rule + a real before/after example, with two conversational-specific rules — NO PREAMBLE and load-bearing-point-FIRST. This is the channel that reaches conversational output each turn (layers 2-3 do not).
19
+
20
+ - `scripts/gsd-t-auto-route.js`: Simply-Stated line + the egress-guard before/after added to `READER_CONTRACT`.
21
+ - `templates/CLAUDE-global.md` (+ `~/.claude/CLAUDE.md`): doctrine gains "§Applies to conversational narration too" + a 4th enforcement layer; Reader Contract prose mirrors the rule + example.
22
+
5
23
  ## [5.1.11] - 2026-07-13
6
24
 
7
25
  ### Fixed — paused M102 work leaked into the v5.1.10 package; removed
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # GSD-T: Contract-Driven Development for Claude Code
2
2
 
3
- **v5.1.11** - A methodology for reliable, parallelizable development using Claude Code with optional Agent Teams support.
3
+ **v5.1.13** - A methodology for reliable, parallelizable development using Claude Code with optional Agent Teams support.
4
4
 
5
5
  **Eliminates context rot** — task-level fresh dispatch (one subagent per task, ~10-20% context each) means compaction never triggers.
6
6
  **Compaction-proof debug loops** — `gsd-t headless --debug-loop` runs test-fix-retest cycles as separate `claude -p` sessions. A JSONL debug ledger persists all hypothesis/fix/learning history across fresh sessions. Anti-repetition preamble injection prevents retrying failed hypotheses. Escalation tiers (sonnet → opus → human) and a hard iteration ceiling enforced externally.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tekyzinc/gsd-t",
3
- "version": "5.1.11",
3
+ "version": "5.1.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",
@@ -32,13 +32,16 @@ const path = require("path");
32
32
  const READER_CONTRACT = [
33
33
  "[GSD-T READER CONTRACT] Before sending ANY reply, assume your first draft is too wordy and rewrite it tight. Rules:",
34
34
  "• Answer FIRST. No preamble, no restating the question, no narrating what you're about to do (\"let me check…\"). Do the work silently, then give the result.",
35
+ "• NO PREAMBLES — start with the answer, never a framing phrase. BANNED openers (and anything like them): \"One thing I owe you honestly:\", \"To be honest\", \"Here's the thing\", \"The honest truth is\", \"I'll be straight with you\", \"Let me level with you\", \"Full transparency:\", \"Real talk\", \"What's worth noting here\", \"The key insight is\", \"Here's what's happening\". Delete the opener and lead with the actual point — if a sentence only announces that a point is coming, cut it.",
35
36
  "• Exception — when you're about to CHANGE code/files: state intent in one line first, so the user can stop a wrong direction.",
36
37
  "• Gloss every code/jargon term in plain words on first use. No bare IDs or acronyms the reader must decode.",
37
38
  "• Bullets/tables over paragraphs. Cut hedging and meta-commentary. Expand only if asked.",
39
+ "• SIMPLY STATED (applies to conversational narration too, not just formal deliverables). Every word load-bearing; logic in a straight line; the load-bearing point FIRST, not buried after justification. If you can't state it cleanly, the THINKING isn't done — re-think, don't re-word (a muddled sentence is a muddled understanding, and that ships bugs). Do NOT narrate the explanation (\"it matters that I say why…\") — just give it. Do NOT reach for a clever phrase that obscures (\"a fallback in reverse\") when a plain one is clearer. \"Too sophisticated to simplify\" is banned.",
38
40
  "EXAMPLES (before → after):",
39
41
  "• \"That's a great question, and it touches on something subtle. Let me look into how the cache works before I answer…\" → \"The cache lives in memory, cleared on restart.\"",
40
42
  "• \"There are a few moving parts here. First, I want to make sure I understand the goal, because X has a gotcha…\" → \"Set X in .env. Gotcha: also add the localhost redirect URI or it rejects.\"",
41
43
  "• \"Good catch — I conflated two things. Here's the honest correction: the files actually stack rather than overwrite…\" → \"You're right — files stack, they don't overwrite.\"",
44
+ "• (jargon + buried point + self-narration) \"The incomplete-identity quarantine at egress-client.ts:217 is now unreachable for seller chatter — but I'm keeping it, and it matters that I say why rather than quietly deleting it… Removing it would be a fallback in reverse…\" → \"Keeping a safety check that no longer trips — turning it into a loud alarm. Its bug is fixed so it never fires now, but deleting it would drop protection against a future malformed record (and another code path still uses it). So it stays, now as a loud 'this should never happen' alarm instead of a silent skip.\"",
42
45
  ].join("\n");
43
46
 
44
47
  /**
@@ -484,7 +484,9 @@ See memory pointer: `feedback_auto_research_external_gaps`.
484
484
 
485
485
  **The HALT (the teeth):** a deliverable whose simply-stated lead cannot be written cleanly is NOT done — stop, surface it, re-think the muddled part. Do not ship the verbose version with an apology; the verbose version is evidence the design has a gap.
486
486
 
487
- **§Enforcement (three layers):** (1) this doctrine = the definition; (2) the **Architect's Oversight Write/Edit trigger** carries a Simply-Stated line; (3) the **plan/milestone Six-Stage Pass + `/gsd-t-architect` gain a Simply-Stated gate** — the pass does not complete until its finding/plan has a clean simply-stated lead, and the validation protocols flag a deliverable that lacks one. The simply-stated lead is a REQUIRED ARTIFACT (like the pseudocode file), not advice.
487
+ **§Applies to conversational narration too, not just formal deliverables.** The doctrine governs REPLIES and mid-work talk-to-the-user, not only architectures/plans/findings. Two extra rules there: **NO PREAMBLES** (no throat-clearing, no "let me…", no narrating-the-explanation like "it matters that I say why…" give the point, not a description of the point; BANNED openers and anything like them: "One thing I owe you honestly:", "To be honest", "Here's the thing", "The honest truth is", "I'll be straight with you", "Full transparency:", "What's worth noting", "The key insight is" delete the opener, lead with the point), and **load-bearing point FIRST** (never buried after justification clauses). No clever phrase that obscures where a plain one is clearer.
488
+
489
+ **§Enforcement (four layers):** (1) this doctrine = the definition; (2) the **Architect's Oversight Write/Edit trigger** carries a Simply-Stated line; (3) the **plan/milestone Six-Stage Pass + `/gsd-t-architect` gain a Simply-Stated gate** — the pass does not complete until its finding/plan has a clean simply-stated lead, and the validation protocols flag a deliverable that lacks one (a REQUIRED ARTIFACT like the pseudocode file, not advice); (4) the **every-turn Reader Contract** (injected by the UserPromptSubmit hook `scripts/gsd-t-auto-route.js`) carries the Simply-Stated rule + a before/after example, so it governs conversational output each reply — the channel that reaches mid-work narration, which layers 2-3 do not.
488
490
 
489
491
  ### Phase Flow
490
492
  - Upon completing a phase, automatically proceed to the next phase