Skip to content

Commit 733accb

Browse files
hannsxpeterclaude
andcommitted
Release 5.2.0: voice gate (sycophancy / gratitude-loop lint)
Promote the anti-sycophancy half of the 5.1 voice contract from prose guidance to a mechanical gate, closing the caveat that the voice contract was unenforced. Additive over 5.1; public command surface unchanged (122 skills, 40 agents). Added: - lib/voice-lint.js: high-precision detector for sycophancy and gratitude-loop filler (praising the question, thanking for the message, help-eagerness, hope-this-helps, forced engagement). Reusable by agents on their own output. - Have-not U-14 (sycophancy or gratitude loop) in references/HAVE-NOTS.md, wired as a universal check in lib/have-nots-validator.js (warning on artifacts) with a good/bad worked example. - Self-dogfood gate in scripts/static-check.js and scripts/test-voice-lint.js: shipped skills/ and agents/ prose must contain no gratitude-loop filler, enforced in CI. The surface is already clean, so this locks it in. Counts: have-nots 157 to 158, lib modules 95 to 96. Verified: full npm test and npm run release:check both green (voice-lint.js 100% coverage, per-file floor, audit, surface, pack). Adversarial review run; its 6 confirmed findings fixed and re-verified: a praise-question regex false positive on "question bank/type" (tightened with a negative lookahead) and stale have-not counts (157) in HAVE-NOTS.md's own tally, the architecture map, and three docs, all reconciled to 158. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 3bf55e2 commit 733accb

23 files changed

Lines changed: 299 additions & 46 deletions

ARCHITECTURE-MAP.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -640,7 +640,7 @@ godpowers/
640640
├── README.md, CHANGELOG.md, LICENSE, CONTRIBUTING.md, SECURITY.md, USERS.md
641641
├── ARCHITECTURE.md <- Design doc
642642
├── ARCHITECTURE-MAP.md <- This file
643-
├── package.json (v5.1.0)
643+
├── package.json (v5.2.0)
644644
├── .github/workflows/ <- CI + npm publish workflows
645645
646646
├── bin/install.js <- CLI installer (15 runtimes)
@@ -660,7 +660,7 @@ godpowers/
660660
│ ├── PRD.mdx, ARCH.mdx, ROADMAP.mdx, ...
661661
662662
├── references/
663-
│ ├── HAVE-NOTS.md <- 157 named failure modes (canonical)
663+
│ ├── HAVE-NOTS.md <- 158 named failure modes (canonical)
664664
│ ├── orchestration/ <- Mode/scale detection patterns
665665
│ ├── planning/ <- PRD/ARCH/ROADMAP/STACK anatomies + antipatterns
666666
│ ├── building/ <- Vertical slices, waves
@@ -673,7 +673,7 @@ godpowers/
673673
│ ├── events.v1.json
674674
│ └── workflow.v1.json
675675
676-
├── lib/ <- Real JS runtime (95 modules)
676+
├── lib/ <- Real JS runtime (96 modules)
677677
│ ├── state.js <- state model + drift detection
678678
│ ├── events.js <- OTel-shape event log + hash chain
679679
│ ├── router.js <- command routing
@@ -736,7 +736,7 @@ godpowers/
736736

737737
---
738738

739-
## Numbers (as of v5.1.0)
739+
## Numbers (as of v5.2.0)
740740

741741
| Component | Count |
742742
|-----------|-------|
@@ -747,11 +747,11 @@ godpowers/
747747
| Specialist agents | 40 |
748748
| Workflows (core YAMLs) | 13 |
749749
| Intent recipes | 44 |
750-
| Have-nots | 157 documented + 30+ mechanically validated by linter |
750+
| Have-nots | 158 documented + 30+ mechanically validated by linter |
751751
| Templates | 14 |
752752
| Reference documents | 39 |
753753
| JSON Schemas | 7 |
754-
| **JS runtime modules** | **95** |
754+
| **JS runtime modules** | **96** |
755755
| **External integrations** | **5** (all detect-and-delegate; none vendored): Google Labs design.md, Impeccable, awesome-design-md, SkillUI, vercel-labs/agent-browser + Playwright |
756756
| Hooks | 2 |
757757
| Dogfood scenarios | 5 |

ARCHITECTURE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Godpowers Architecture (v3 Design Target)
22

3-
> Status: STABLE v5.1.0 (concierge surface, first-run guidance, sandbox demo, surface control, compact next commands, surface contraction, core default install profile, verb dispatchers, one-directional state authority, generated state views, executable tier gates, executable proof, adoption metrics, dogfood, host guarantees, MCP companion tools, release surface sync, request-trace review, release hardening, maintenance hardening, security and drift hardening, deliverable progress tracking, accountability hardening, extension authoring, parser hardening, external CLI canaries, Codex host proof studies, prompt-size guardrails, coverage gating, Phase 2 blocker fixes, release documentation cleanup, the evidence producer that writes the verification records the gate consumes, enforced executed evidence on the build and harden gates, the can-close gate the orchestrator consults before closing a sub-step, the quarterback entry router that refuses new work on red and right-sizes ceremony, the work report play-by-play from the evidence ledger, structured reflections recorded after each significant action, a durable key/value memory store, a reusable lessons store that auto-records from reflections, bounded outcome retry loops that record each iteration and verdict, the read-only MCP tools work_report, route, and verification_history, the optional one-time .mythify/ ledger importer that complete the Mythify fusion, a codeauditor-grade scored code audit with an audit-remediation loop that drives findings to zero, a default greenfield arc that runs a whole-codebase code audit after the build and a documentation pass after harden so the one-shot product ships audited and documented, sibling superskill interop that detects and imports .godplans/PLAN.mdx and .godaudits/AUDIT.mdx for plan-aware arcs and GA-task remediation dispatch with sync-back companion files and staleness drift checks, mdx-first artifacts with legacy .md read fallback, and an MDX-safety artifact lint backed by the U-13 have-not)
3+
> Status: STABLE v5.2.0 (concierge surface, first-run guidance, sandbox demo, surface control, compact next commands, surface contraction, core default install profile, verb dispatchers, one-directional state authority, generated state views, executable tier gates, executable proof, adoption metrics, dogfood, host guarantees, MCP companion tools, release surface sync, request-trace review, release hardening, maintenance hardening, security and drift hardening, deliverable progress tracking, accountability hardening, extension authoring, parser hardening, external CLI canaries, Codex host proof studies, prompt-size guardrails, coverage gating, Phase 2 blocker fixes, release documentation cleanup, the evidence producer that writes the verification records the gate consumes, enforced executed evidence on the build and harden gates, the can-close gate the orchestrator consults before closing a sub-step, the quarterback entry router that refuses new work on red and right-sizes ceremony, the work report play-by-play from the evidence ledger, structured reflections recorded after each significant action, a durable key/value memory store, a reusable lessons store that auto-records from reflections, bounded outcome retry loops that record each iteration and verdict, the read-only MCP tools work_report, route, and verification_history, the optional one-time .mythify/ ledger importer that complete the Mythify fusion, a codeauditor-grade scored code audit with an audit-remediation loop that drives findings to zero, a default greenfield arc that runs a whole-codebase code audit after the build and a documentation pass after harden so the one-shot product ships audited and documented, sibling superskill interop that detects and imports .godplans/PLAN.mdx and .godaudits/AUDIT.mdx for plan-aware arcs and GA-task remediation dispatch with sync-back companion files and staleness drift checks, mdx-first artifacts with legacy .md read fallback, and an MDX-safety artifact lint backed by the U-13 have-not)
44
> Authors: Godpowers Team
55
> Last updated: 2026-07-03
66

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [5.2.0] - 2026-07-04
11+
12+
Voice gate release. Promotes the anti-sycophancy half of the 5.1 voice contract
13+
from prose guidance to a mechanical gate: a new have-not (U-14) backed by a
14+
phrase detector, wired into both the artifact linter and a self-dogfood check on
15+
the framework's own shipped prose.
16+
17+
### Added
18+
19+
- `lib/voice-lint.js`: a high-precision detector for sycophancy and
20+
gratitude-loop filler (praising the question, thanking for the message,
21+
help-eagerness, hope-this-helps, forced engagement). Reusable by agents on
22+
their own drafted output.
23+
- Have-not **U-14 (sycophancy or gratitude loop)** in `references/HAVE-NOTS.md`,
24+
wired as a universal check in `lib/have-nots-validator.js` (warning severity on
25+
generated artifacts) with a good/bad worked example.
26+
- Self-dogfood gate in `scripts/static-check.js` and `scripts/test-voice-lint.js`:
27+
the shipped `skills/` and `agents/` prose must contain no gratitude-loop filler,
28+
enforced in CI. The current surface is already clean, so this locks it in.
29+
30+
### Changed
31+
32+
- Have-not count moves from 157 to 158; lib module count from 95 to 96. No public
33+
command, agent, workflow, or recipe surface change.
34+
1035
## [5.1.0] - 2026-07-04
1136

1237
Craft and connectors release. Adopts a set of proven agent-prompting patterns as

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[![CI](https://github.com/hannsxpeter/godpowers/actions/workflows/ci.yml/badge.svg)](https://github.com/hannsxpeter/godpowers/actions/workflows/ci.yml)
44
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
5-
[![Version](https://img.shields.io/badge/version-5.1.0-blue)](CHANGELOG.md)
5+
[![Version](https://img.shields.io/badge/version-5.2.0-blue)](CHANGELOG.md)
66
[![npm](https://img.shields.io/npm/v/godpowers.svg)](https://www.npmjs.com/package/godpowers)
77

88
**Ship fast. Ship right. Ship everything. Ship accountably.**

RELEASE.md

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,36 @@
1-
# Godpowers 5.1.0 Release
1+
# Godpowers 5.2.0 Release
22

3-
> Status: Published
3+
> Status: Ready to publish
44
> Date: 2026-07-04
55
6-
[DECISION] Godpowers 5.1.0 is the craft and connectors release. It adopts a set of proven agent-prompting patterns (drawn from studying a current Anthropic system prompt) as a single shared voice and craft contract, and extends the 5.0 connector work with a capability priority ladder.
7-
[DECISION] The release is additive over 5.0. Surface counts are unchanged: 122 slash commands, 40 specialist agents, 13 workflows, 44 recipes, 95 lib modules, 157 have-nots. The `@godpowers/mcp` companion stays at nine read-only tools. No project migration is required.
6+
[DECISION] Godpowers 5.2.0 is the voice gate release. It promotes the anti-sycophancy half of the 5.1 voice and craft contract from prose guidance to a mechanical gate, closing the caveat that the voice contract was prompt-level and unenforced.
7+
[DECISION] The release is additive over 5.1. Public command surface is unchanged: 122 slash commands, 40 specialist agents, 13 workflows, 44 recipes. Counts that move: have-nots 157 to 158, lib modules 95 to 96. The `@godpowers/mcp` companion stays at nine read-only tools. No project migration is required.
88

9-
## What's new in 5.1.0
9+
## What's new in 5.2.0
1010

11-
- [DECISION] Voice and craft contract (`references/shared/VOICE.md`), wired globally as Core Principle 15 in `SKILL.md`. Every agent adopts it alongside the have-nots. It defines: constraint tiers (Guideline / Requirement / HARD LIMIT, with the have-nots as the hard-limit tier), an honest anti-sycophancy voice (no gratitude loops, no forced engagement, accountability without self-abasement, scoped uncertainty), minimal formatting for human-facing output, an example-driven-rules convention, and silent application of memory and lessons.
12-
- [DECISION] Worked good/bad example pairs on the highest-traffic have-nots (U-01 substitution, U-02 three-label, U-05 rubber-stamp) so the most-misread rules are resolved by example, not restated.
13-
- [DECISION] Connector capability ladder: `connectors.pickConnector(capability)` walks a priority order (for example Linear then GitHub for issue work) and stops at the first available, enabled connector. A disabled connector is skipped. Documented in `/god-connect`.
14-
- [DECISION] Silent-memory wiring at the memory site: `skills/god-extract-learnings.md` documents applying recalled lessons without narrating the recall, pointing at `VOICE.md`.
11+
- [DECISION] `lib/voice-lint.js`: a high-precision detector for sycophancy and gratitude-loop filler (praising the question, thanking merely for the message, help-eagerness such as "happy to help", a "hope this helps" sign-off, and forced engagement such as "let me know if you" or "feel free to reach out"). It keeps false positives low by matching only phrases that are almost always filler in engineering communication. Agents can run it on their own drafted output before sending.
12+
- [DECISION] Have-not U-14 (sycophancy or gratitude loop) in `references/HAVE-NOTS.md`, wired as a universal check in `lib/have-nots-validator.js`. It flags generated artifacts at warning severity and carries a good/bad worked example. This is the mechanical enforcement of the honest-voice section of `references/shared/VOICE.md`.
13+
- [DECISION] Self-dogfood gate: `scripts/static-check.js` and `scripts/test-voice-lint.js` assert that the framework's own shipped `skills/` and `agents/` prose contains no gratitude-loop filler, enforced in CI. The current surface is already clean, so the gate locks in the clean state going forward. References that intentionally quote the filler as examples (`VOICE.md`, `HAVE-NOTS.md`) are out of scope for the self-dogfood scan.
1514

1615
## Changes
1716

18-
- [DECISION] One new shared reference (`references/shared/VOICE.md`) and its index entry in `references/shared/README.md`. No new skill, agent, workflow, recipe, or lib module, so public surface counts are unchanged.
19-
- [DECISION] `lib/connectors.js` gains `CAPABILITY_LADDER` and `pickConnector(...)`, covered by new cases in `scripts/test-connectors.js`.
20-
- [DECISION] `SKILL.md` adds Core Principle 15 (Voice and Craft). `references/HAVE-NOTS.md`, `skills/god-connect.md`, and `skills/god-extract-learnings.md` are updated accordingly.
21-
- [DECISION] `package.json` and `packages/mcp/package.json` publish the 5.1.0 version; CHANGELOG, roadmap, reference, architecture, the architecture map, MCP docs, security supported-versions, and the surface docs now reflect 5.1.0.
17+
- [DECISION] One new runtime module (`lib/voice-lint.js`; lib module count 95 to 96) with a dedicated test (`scripts/test-voice-lint.js`) wired into `scripts/run-tests.js`.
18+
- [DECISION] One new documented have-not (U-14; count 157 to 158). `lib/have-nots-validator.js` registers U-14 as a universal check and updates its header count.
19+
- [DECISION] `package.json` and `packages/mcp/package.json` publish the 5.2.0 version; CHANGELOG, roadmap, reference, architecture, the architecture map, MCP docs, security supported-versions, and the surface docs now reflect 5.2.0.
2220

2321
## Validation
2422

2523
- [DECISION] `npm test` passes across all command groups (the full `scripts/run-tests.js` suite, 0 failures).
2624
- [DECISION] The offline release gate passes: `npm run coverage:lib` (90% lines / 75% branches aggregate, per-file floors), `node scripts/check-per-file-coverage.js`, `git diff --check`, `npm run pack:check`, `npm run pack:mcp:check`, and `npm run test:surface`. The registry-only step (`npm audit --omit=dev`) runs in the tag-triggered publish workflow's `release:check`.
27-
- [DECISION] `node scripts/test-doc-surface-counts.js` passes public surface docs for version 5.1.0 with 122 skills, 40 agents, 13 workflows, 44 recipes, and 95 lib modules.
25+
- [DECISION] `node scripts/test-doc-surface-counts.js` passes public surface docs for version 5.2.0 with 122 skills, 40 agents, 13 workflows, 44 recipes, and 96 lib modules.
2826

2927
## Upgrade
3028

31-
- [DECISION] Use `npm install -g godpowers@5.1.0` or `npx godpowers@5.1.0`.
32-
- [DECISION] Upgrading from 5.0 needs no artifact-format change. Re-run `npx godpowers install` (or your runtime flags, e.g. `npx godpowers --claude --global`) so installed runtimes pick up the refreshed contracts.
33-
- [DECISION] The voice contract and connector ladder are behavioral: they change how agents communicate and choose connectors, not the command surface or on-disk artifacts.
29+
- [DECISION] Use `npm install -g godpowers@5.2.0` or `npx godpowers@5.2.0`.
30+
- [DECISION] Upgrading from 5.x needs no artifact-format change. Re-run `npx godpowers install` (or your runtime flags, e.g. `npx godpowers --claude --global`) so installed runtimes pick up the refreshed contracts and the new have-not.
31+
- [DECISION] The voice gate is additive: it flags gratitude-loop filler in generated artifacts (warning) and blocks it in the framework's own shipped prose (CI). No existing project artifact changes until it is re-linted.
3432

3533
## Notes
3634

37-
- [DECISION] The publish targets are npm `godpowers@5.1.0`, npm `@godpowers/mcp@5.1.0`, and GitHub release `https://github.com/hannsxpeter/godpowers/releases/tag/v5.1.0`.
38-
- [DECISION] Publishing is tag-triggered: pushing the `v5.1.0` tag runs `.github/workflows/publish.yml`, which runs `npm run release:check` and publishes both `godpowers` and `@godpowers/mcp` to npm with provenance. Do not `npm publish` by hand; the tag path carries provenance and the release gate.
35+
- [DECISION] The publish targets are npm `godpowers@5.2.0`, npm `@godpowers/mcp@5.2.0`, and GitHub release `https://github.com/hannsxpeter/godpowers/releases/tag/v5.2.0`.
36+
- [DECISION] Publishing is tag-triggered: pushing the `v5.2.0` tag runs `.github/workflows/publish.yml`, which runs `npm run release:check` and publishes both `godpowers` and `@godpowers/mcp` to npm with provenance. Do not `npm publish` by hand; the tag path carries provenance and the release gate.

SECURITY.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ When using Godpowers in a sensitive context:
7373

7474
| Version | Supported |
7575
|---------|-----------|
76-
| 5.1.x | Yes |
76+
| 5.2.x | Yes |
77+
| 5.1.x | Security fixes only |
7778
| 5.0.x | Security fixes only |
7879
| 4.0.x | Security fixes only |
7980
| 3.14.x | Security fixes only |

USERS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Users and Community
22

3-
Godpowers is at v5.1.0. Stable release.
3+
Godpowers is at v5.2.0. Stable release.
44

55
## Track record
66

docs/ROADMAP.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
> Status: ACTIVE
44
> Model: Pure-skill for durable work. CLI provides install plus read-only status helpers.
55
> Last updated: 2026-07-03
6-
> Current shipped: v5.1.0
6+
> Current shipped: v5.2.0
77
88
This roadmap tracks releases, what's shipped, and what is frozen during the
99
3.x public adoption window. Everything user-facing remains slash-command based.

docs/agent-specs.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ Each agent has these fields:
329329
| **Inputs** | Any artifact in `.godpowers/<tier>/`; for preflight mode, repo structure, org context, docs, tests, CI, deploy, and agent instruction signals |
330330
| **Outputs** | `.godpowers/preflight/PREFLIGHT.mdx` (preflight) OR `.godpowers/AUDIT-REPORT.mdx` (full audit) OR PASS/FAIL verdict (gate check) |
331331
| **Downstream consumers** | Orchestrator (for routing decisions), tier agents (for gate checks) |
332-
| **Artifact awareness** | All 157 have-nots; all tier artifact contracts; preflight lens for arc-ready, pillars, Godpowers, suite, and refactor risk |
332+
| **Artifact awareness** | All 158 have-nots; all tier artifact contracts; preflight lens for arc-ready, pillars, Godpowers, suite, and refactor risk |
333333
| **Handoff** | Returns score per artifact + prioritized remediation. |
334334
| **Standards check** | This IS the standards check |
335335

docs/concepts.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ is preparation context for PRD, ARCH, ROADMAP, STACK, and docs. It does not
103103
replace those artifacts.
104104

105105
### Have-nots
106-
157 named failure modes. ~30 are mechanical (regex-checkable);
106+
158 named failure modes. ~30 are mechanical (regex-checkable);
107107
the rest are interpretive. Examples:
108108
- P-01: Generic problem statement (passes substitution test)
109109
- A-04: ADR without flip point

0 commit comments

Comments
 (0)