create-pmos 0.247.0 → 0.248.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.
- package/package.json +1 -1
- package/payload/KIT-VERSION +1 -1
- package/payload/planning/evals/eval-calibration.md +1 -1
- package/payload/planning/okrs/health-budgets.md +1 -1
- package/payload/state/discoveries.md +1 -1
- package/workspace/lib/find-browser.js +19 -4
- package/workspace/package-lock.json +2 -2
- package/workspace/package.json +1 -1
- package/workspace/test-files.json +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-pmos",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.248.0",
|
|
4
4
|
"description": "Scaffold the PMOS portable kit — run the PMOS product-management workflow (initiative → lane-fit spec → contract → build → three gates, with work-type lanes for features, research, maintenance, incidents, and content) entirely inside your own repo, with all state as git-versioned files. Includes `workflow-sweep`, which audits the state every board derives from and separates real defects from work you simply have not done. `create-pmos workspace` also installs + launches the local Terminal Workspace GUI. No database, no network, no telemetry.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bin": {
|
package/payload/KIT-VERSION
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
type: Reference
|
|
3
3
|
title: "Eval calibration log"
|
|
4
4
|
description: "Append-only record of every PM override of an evaluator verdict."
|
|
5
|
-
generated: {by: process:create-pmos, at: "2026-10-15T07:
|
|
5
|
+
generated: {by: process:create-pmos, at: "2026-10-15T07:57:22Z"}
|
|
6
6
|
status: stable
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
type: Reference
|
|
3
3
|
title: "Health budgets"
|
|
4
4
|
description: "Closed registry of health-budget anchors (D59), edited only by the PM."
|
|
5
|
-
generated: {by: process:create-pmos, at: "2026-10-15T07:
|
|
5
|
+
generated: {by: process:create-pmos, at: "2026-10-15T07:57:22Z"}
|
|
6
6
|
status: stable
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
type: Reference
|
|
3
3
|
title: "Discoveries and friction log"
|
|
4
4
|
description: "Append-only record of what runs discovered and where the process rubbed."
|
|
5
|
-
generated: {by: process:create-pmos, at: "2026-10-15T07:
|
|
5
|
+
generated: {by: process:create-pmos, at: "2026-10-15T07:57:22Z"}
|
|
6
6
|
status: stable
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -26,13 +26,21 @@ const path = require('path');
|
|
|
26
26
|
// matching (which is the same skip-looks-like-pass failure, arriving later).
|
|
27
27
|
function playwrightCandidates() {
|
|
28
28
|
const roots = [process.env.PLAYWRIGHT_BROWSERS_PATH, '/opt/pw-browsers',
|
|
29
|
-
path.join(process.env.HOME || '', '.cache', 'ms-playwright')
|
|
29
|
+
path.join(process.env.HOME || '', '.cache', 'ms-playwright'),
|
|
30
|
+
path.join(process.env.HOME || '', 'Library', 'Caches', 'ms-playwright')].filter(Boolean);
|
|
30
31
|
const out = [];
|
|
31
32
|
for (const root of roots) {
|
|
32
33
|
let entries = [];
|
|
33
34
|
try { entries = fs.readdirSync(root); } catch { continue; }
|
|
34
35
|
for (const dir of entries.sort().reverse()) { // newest version first
|
|
35
36
|
if (!/^chromium/.test(dir)) continue;
|
|
37
|
+
// On a Mac or Windows PC a full Chromium shows in the Dock or taskbar, so a headless shell goes first there. Linux
|
|
38
|
+
// keeps its order: CI runs the browser suites on the browser it always picked.
|
|
39
|
+
if (process.platform !== 'linux') out.push(
|
|
40
|
+
path.join(root, dir, 'chrome-headless-shell-mac-arm64', 'chrome-headless-shell'),
|
|
41
|
+
path.join(root, dir, 'chrome-headless-shell-mac-x64', 'chrome-headless-shell'),
|
|
42
|
+
path.join(root, dir, 'chrome-headless-shell-win64', 'chrome-headless-shell.exe'),
|
|
43
|
+
);
|
|
36
44
|
out.push(
|
|
37
45
|
path.join(root, dir, 'chrome-linux', 'chrome'),
|
|
38
46
|
path.join(root, dir, 'chrome-linux', 'headless_shell'),
|
|
@@ -44,15 +52,22 @@ function playwrightCandidates() {
|
|
|
44
52
|
return out;
|
|
45
53
|
}
|
|
46
54
|
|
|
55
|
+
/* THE PM'S OWN CHROME IS NOT A TEST BROWSER. A suite that launches /Applications/Google Chrome.app opens a second Chrome
|
|
56
|
+
* that shows in the Dock and the taskbar for a few seconds, so a parallel run makes Chrome icons flicker on the PM's screen
|
|
57
|
+
* (and they cannot be opened). Only a headless browser is picked unless PMOS_CHROME / PMOS_CHROMIUM names one, or
|
|
58
|
+
* PMOS_ALLOW_SYSTEM_CHROME=1 says the visible app is fine (initiative chrome-dock-flicker). */
|
|
47
59
|
function findBrowser() {
|
|
60
|
+
const visible = process.env.PMOS_ALLOW_SYSTEM_CHROME === '1' ? [
|
|
61
|
+
'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
|
|
62
|
+
'/Applications/Chromium.app/Contents/MacOS/Chromium',
|
|
63
|
+
'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',
|
|
64
|
+
] : [];
|
|
48
65
|
const cands = [
|
|
49
66
|
process.env.PMOS_CHROME,
|
|
50
67
|
process.env.PMOS_CHROMIUM,
|
|
51
68
|
...playwrightCandidates(),
|
|
52
|
-
'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
|
|
53
|
-
'/Applications/Chromium.app/Contents/MacOS/Chromium',
|
|
54
69
|
'/usr/bin/google-chrome', '/usr/bin/chromium', '/usr/bin/chromium-browser',
|
|
55
|
-
|
|
70
|
+
...visible,
|
|
56
71
|
].filter(Boolean);
|
|
57
72
|
return cands.find((c) => { try { fs.accessSync(c, fs.constants.X_OK); return true; } catch { return false; } });
|
|
58
73
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pmos-workspace",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.248.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pmos-workspace",
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.248.0",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@xterm/addon-fit": "^0.11.0",
|
package/workspace/package.json
CHANGED