@pareto4/pp-core 1.8.1 → 1.9.0

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.
Files changed (37) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/NOTICE +23 -0
  3. package/README.md +10 -1
  4. package/bin/install.js +34 -1
  5. package/gemini-extension.json +1 -1
  6. package/package.json +8 -3
  7. package/pareto-skills/pp-project-setup/SKILL.md +32 -440
  8. package/pp-core/bin/lib/capability-state.cjs +13 -7
  9. package/pp-core/bin/lib/config.cjs +7 -22
  10. package/pp-core/bin/lib/init.cjs +4 -4
  11. package/pp-core/bin/lib/installer-migration-report.cjs +1 -1
  12. package/pp-core/bin/lib/loop-resolver.cjs +6 -0
  13. package/pp-core/bin/lib/profile-output.cjs +4 -2
  14. package/pp-core/bin/lib/runtime-name-policy.cjs +0 -1
  15. package/pp-core/bin/lib/surface.cjs +2 -2
  16. package/pp-core/bin/shared/config-schema.manifest.json +4 -0
  17. package/pp-core/references/workstream-flag.md +13 -0
  18. package/pp-core/workflows/discovery-sprint.md +409 -16
  19. package/pp-core/workflows/discovery-to-build/steps/architecture-deliverables.md +250 -0
  20. package/pp-core/workflows/discovery-to-build.md +218 -48
  21. package/pp-core/workflows/discuss-phase/modes/chain.md +5 -0
  22. package/pp-core/workflows/discuss-phase.md +4 -0
  23. package/pp-core/workflows/execute-phase.md +4 -0
  24. package/pp-core/workflows/new-milestone.md +4 -0
  25. package/pp-core/workflows/plan-phase.md +4 -0
  26. package/pp-core/workflows/progress.md +4 -0
  27. package/pp-core/workflows/quick.md +4 -0
  28. package/pp-core/workflows/resume-project.md +4 -0
  29. package/pp-core/workflows/ship.md +4 -0
  30. package/pp-core/workflows/transition.md +4 -0
  31. package/pp-core/workflows/validate-phase.md +4 -0
  32. package/scripts/changeset/lint.cjs +20 -5
  33. package/scripts/lint-docs-required.cjs +10 -3
  34. package/scripts/release-channel.cjs +58 -0
  35. package/scripts/release-tarball-smoke.cjs +4 -0
  36. package/scripts/verify-opengsd-sweep.cjs +12 -0
  37. package/scripts/verify-rename-guard.cjs +333 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "pp-core",
3
3
  "displayName": "PP Core",
4
- "version": "1.8.1",
4
+ "version": "1.9.0",
5
5
  "description": "PP Core is a meta-prompting, context engineering, and spec-driven development system for AI coding agents.",
6
6
  "author": {
7
7
  "name": "pareto4",
package/NOTICE ADDED
@@ -0,0 +1,23 @@
1
+ pp-core
2
+ =======
3
+
4
+ pp-core is based on gsd-core by Open GSD.
5
+
6
+ ## Upstream Attribution
7
+
8
+ Copyright (c) 2026 Open GSD
9
+
10
+ gsd-core is licensed under the MIT License.
11
+ Source: https://github.com/open-gsd/gsd-core
12
+ npm package: @opengsd/gsd-core @ version 1.5.0
13
+
14
+ The full text of the MIT License is reproduced in the LICENSE file at the root of
15
+ this repository.
16
+
17
+ ## Fork Information
18
+
19
+ pp-core is a hard fork of gsd-core v1.5.0, maintained by The Pareto Project.
20
+ It is not affiliated with or endorsed by OpenGSD.
21
+
22
+ pp-core diverges from gsd-core as of 2026-06-24. The Pareto Project develops and
23
+ maintains pp-core independently; no upstream merges from gsd-core are planned.
package/README.md CHANGED
@@ -75,6 +75,9 @@ New here? Follow [Your first project](docs/tutorials/your-first-project.md) for
75
75
  - [The phase loop](docs/explanation/the-phase-loop.md)
76
76
  - [Architecture](docs/ARCHITECTURE.md)
77
77
 
78
+ **No lock-in** — pp-core never ships inside the app it helps you build:
79
+ - [Escape hatch](docs/ESCAPE-HATCH.md)
80
+
78
81
  Full index: [docs/README.md](docs/README.md).
79
82
 
80
83
  ---
@@ -87,10 +90,16 @@ Troubleshooting? See [docs/how-to/recover-and-troubleshoot.md](docs/how-to/recov
87
90
 
88
91
  ---
89
92
 
90
- ## License
93
+ ## License & Attribution
91
94
 
92
95
  MIT License. See [LICENSE](LICENSE) for details.
93
96
 
97
+ pp-core is a hard fork of [gsd-core](https://github.com/open-gsd/gsd-core) by
98
+ Open GSD (MIT), rebranded and extended by The Pareto Project. The original
99
+ copyright and permission notice are preserved in [LICENSE](LICENSE), and
100
+ upstream attribution is recorded in [NOTICE](NOTICE) — both files ship in the
101
+ npm package and in every installed footprint.
102
+
94
103
  ---
95
104
 
96
105
  <div align="center">
package/bin/install.js CHANGED
@@ -7055,7 +7055,15 @@ function _removeGsdEntries(destDir, kind) {
7055
7055
  return;
7056
7056
  }
7057
7057
  for (const entry of fs.readdirSync(destDir, { withFileTypes: true })) {
7058
- if (!entry.name.startsWith(kind.prefix)) continue;
7058
+ // Match both the current kind.prefix (now always 'pp-') AND the legacy
7059
+ // 'gsd-' prefix, so a reinstall also prunes stale pre-1.8.0 gsd-<stem>
7060
+ // directories left over from before the pp- rename (#3810/D-13/D-14).
7061
+ // `kind.prefix &&` guards against the empty-string prefix, which is
7062
+ // handled by the whole-namespace early-return above and never reaches
7063
+ // this loop today — defensive only.
7064
+ const matchesCurrentPrefix = kind.prefix && entry.name.startsWith(kind.prefix);
7065
+ const matchesLegacyPrefix = entry.name.startsWith('gsd-');
7066
+ if (!matchesCurrentPrefix && !matchesLegacyPrefix) continue;
7059
7067
  fs.rmSync(path.join(destDir, entry.name), { recursive: true, force: true });
7060
7068
  }
7061
7069
  }
@@ -10434,6 +10442,31 @@ function install(isGlobal, runtime = 'claude', options = {}) {
10434
10442
  }
10435
10443
  }
10436
10444
 
10445
+ // Copy NOTICE (MIT attribution to upstream gsd-core) — the installed
10446
+ // footprint is a distributed copy, so the attribution must travel with it.
10447
+ const noticeSrc = path.join(src, 'NOTICE');
10448
+ const noticeDest = path.join(targetDir, 'pp-core', 'NOTICE');
10449
+ if (fs.existsSync(noticeSrc)) {
10450
+ fs.copyFileSync(noticeSrc, noticeDest);
10451
+ if (verifyFileInstalled(noticeDest, 'NOTICE')) {
10452
+ console.log(` ${green}✓${reset} Installed NOTICE`);
10453
+ } else {
10454
+ failures.push('NOTICE');
10455
+ }
10456
+ }
10457
+
10458
+ // Copy LICENSE alongside it for the same reason.
10459
+ const licenseSrc = path.join(src, 'LICENSE');
10460
+ const licenseDest = path.join(targetDir, 'pp-core', 'LICENSE');
10461
+ if (fs.existsSync(licenseSrc)) {
10462
+ fs.copyFileSync(licenseSrc, licenseDest);
10463
+ if (verifyFileInstalled(licenseDest, 'LICENSE')) {
10464
+ console.log(` ${green}✓${reset} Installed LICENSE`);
10465
+ } else {
10466
+ failures.push('LICENSE');
10467
+ }
10468
+ }
10469
+
10437
10470
  // Write VERSION file
10438
10471
  const versionDest = path.join(targetDir, 'pp-core', 'VERSION');
10439
10472
  fs.writeFileSync(versionDest, pkg.version);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pp-core",
3
- "version": "1.8.1",
3
+ "version": "1.9.0",
4
4
  "description": "PP Core — a meta-prompting, context engineering, and spec-driven development system for AI coding agents. Loads pp-core's operating context into every Gemini CLI session.",
5
5
  "contextFileName": "GEMINI.md"
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pareto4/pp-core",
3
- "version": "1.8.1",
3
+ "version": "1.9.0",
4
4
  "description": "Pareto pp-core — The Pareto Project's AI-assisted engineering framework: meta-prompting, context engineering, and spec-driven development for AI coding agents.",
5
5
  "bin": {
6
6
  "pp-core": "bin/install.js",
@@ -8,6 +8,8 @@
8
8
  "pp_run": "pp-core/bin/pp_run"
9
9
  },
10
10
  "files": [
11
+ "LICENSE",
12
+ "NOTICE",
11
13
  "bin",
12
14
  "commands",
13
15
  "pp-core",
@@ -50,7 +52,7 @@
50
52
  "npm": ">=10.0.0"
51
53
  },
52
54
  "dependencies": {
53
- "@anthropic-ai/claude-agent-sdk": "^0.2.84",
55
+ "@anthropic-ai/claude-agent-sdk": "^0.3.218",
54
56
  "ws": "^8.21.0"
55
57
  },
56
58
  "devDependencies": {
@@ -68,7 +70,8 @@
68
70
  "typescript-eslint": "^8.60.0"
69
71
  },
70
72
  "overrides": {
71
- "qs": ">=6.15.2"
73
+ "qs": ">=6.15.2",
74
+ "@hono/node-server": ">=2.0.5"
72
75
  },
73
76
  "optionalDependencies": {
74
77
  "fallow": "^2.70.0"
@@ -105,6 +108,8 @@
105
108
  "lint:changeset": "node scripts/changeset/lint.cjs",
106
109
  "lint:docs": "node scripts/lint-docs-required.cjs",
107
110
  "lint:legacy-name": "node scripts/lint-legacy-dir-name.cjs",
111
+ "rename-guard": "node scripts/verify-rename-guard.cjs",
112
+ "rename-guard:baseline": "node scripts/verify-rename-guard.cjs --update-baseline",
108
113
  "ci:test-scope": "node scripts/ci-test-scope.cjs",
109
114
  "size:baseline": "node scripts/update-size-baseline.cjs",
110
115
  "changeset": "node scripts/changeset/new.cjs",