@polderlabs/bizar-omp 0.6.3 → 0.6.5
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/README.md +17 -8
- package/dist/cli/doctor.d.ts +4 -4
- package/dist/cli/omb-commands.d.ts.map +1 -1
- package/dist/cli/omb-commands.js +7 -0
- package/dist/cli/omb-commands.js.map +1 -1
- package/dist/cli/omb-update.d.ts +23 -0
- package/dist/cli/omb-update.d.ts.map +1 -0
- package/dist/cli/omb-update.js +145 -0
- package/dist/cli/omb-update.js.map +1 -0
- package/dist/omp/compatibility.d.ts +5 -5
- package/dist/omp/compatibility.d.ts.map +1 -1
- package/dist/omp/compatibility.js +2 -2
- package/dist/omp/compatibility.js.map +1 -1
- package/docs/compatibility/baseline.json +9 -8
- package/docs/compatibility/supported-surfaces.json +2 -1
- package/docs/releases/0.6.3.md +1 -1
- package/docs/releases/0.6.4.md +25 -0
- package/docs/releases/0.6.5.md +12 -0
- package/docs/releases/native-stable.md +1 -1
- package/docs/releases/support-matrix.md +1 -1
- package/package.json +1 -1
- package/skills/omp-native-development/SKILL.md +1 -1
- package/skills/omp-native-development/references/accuracy-and-versioning.md +2 -2
- package/skills/omp-native-development/references/source-manifest.json +3 -3
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<p>
|
|
5
5
|
<a href="https://www.npmjs.com/package/@polderlabs/bizar-omp"><img src="https://img.shields.io/npm/v/%40polderlabs%2Fbizar-omp?style=flat-square&color=0f766e&label=npm" alt="npm version" /></a>
|
|
6
6
|
<a href="https://github.com/PolderLabsVOF/BizarHarness-OMP/releases"><img src="https://img.shields.io/github/v/release/PolderLabsVOF/BizarHarness-OMP?style=flat-square&color=2563eb&label=release" alt="latest GitHub release" /></a>
|
|
7
|
-
<img src="https://img.shields.io/badge/OMP-18.2.
|
|
7
|
+
<img src="https://img.shields.io/badge/OMP-18.2.7-2563eb?style=flat-square" alt="OMP 18.2.7" />
|
|
8
8
|
<img src="https://img.shields.io/badge/Node.js-22%2B-18181b?style=flat-square&logo=nodedotjs&logoColor=5fa04e" alt="Node.js 22 or newer" />
|
|
9
9
|
<img src="https://img.shields.io/badge/Bun-1.3.14%2B-18181b?style=flat-square&logo=bun&logoColor=fbf0df" alt="Bun 1.3.14 or newer" />
|
|
10
10
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-18181b?style=flat-square" alt="MIT license" /></a>
|
|
@@ -29,6 +29,7 @@ Choose the path that matches what you are trying to do:
|
|
|
29
29
|
| Switch between projects and sessions | `omb agents` | The full session hub and new-session picker |
|
|
30
30
|
| Watch sessions in a browser | `omb dashboard --open` | A local, loopback-only dashboard with a single-use link |
|
|
31
31
|
| Stop or restart everything Bizar owns | `omb stop` / `omb restart` | Bizar sessions, the daemon, and the tray, with a per-resource report |
|
|
32
|
+
| Update an installed Bizar command | `omb update` | The latest global `omb` package and, when OMP is available, its enabled plugin |
|
|
32
33
|
| Install only the OMP extension | `omp plugin install @polderlabs/bizar-omp` | Extension discovery without installing the `omb` and `bizar-omp` shell commands |
|
|
33
34
|
|
|
34
35
|
The shortest useful path is:
|
|
@@ -68,8 +69,8 @@ Bizar does not replace OMP's task system, add a parallel scheduler, or provide a
|
|
|
68
69
|
|
|
69
70
|
- Node.js 22 or newer
|
|
70
71
|
- Bun 1.3.14 or newer
|
|
71
|
-
- OMP 18.2.
|
|
72
|
-
- OMP 18.2.5 and 18.2.4 remain regression-qualified
|
|
72
|
+
- OMP 18.2.7 on `PATH`
|
|
73
|
+
- OMP 18.2.6, 18.2.5, and 18.2.4 remain regression-qualified
|
|
73
74
|
- tmux on Linux and macOS, or [psmux](https://github.com/psmux/psmux) on Windows for durable sessions
|
|
74
75
|
|
|
75
76
|
Check the host before installing:
|
|
@@ -100,7 +101,7 @@ The installer:
|
|
|
100
101
|
For a reproducible install, pin the version:
|
|
101
102
|
|
|
102
103
|
```sh
|
|
103
|
-
npx --yes @polderlabs/bizar-omp@0.5
|
|
104
|
+
npx --yes @polderlabs/bizar-omp@0.6.5 setup
|
|
104
105
|
```
|
|
105
106
|
|
|
106
107
|
For a named OMP profile or a non-standard OMP binary:
|
|
@@ -119,6 +120,14 @@ npx --yes @polderlabs/bizar-omp setup --json
|
|
|
119
120
|
|
|
120
121
|
The interactive installer shows detected versions, each phase, settings it will add, the recovery receipt, and the next commands. `--json` produces machine-readable output for shell automation.
|
|
121
122
|
|
|
123
|
+
To update an installed global `omb` command to the latest published release:
|
|
124
|
+
|
|
125
|
+
```sh
|
|
126
|
+
omb update
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Use `omb update --check` to inspect versions without changing anything, or `omb update --dry-run` to preview the package and plugin refresh. The global command is updated even when OMP is not available; the plugin refresh is skipped until OMP is installed.
|
|
130
|
+
|
|
122
131
|
### Extension-only installation
|
|
123
132
|
|
|
124
133
|
Use this when you already manage `omb` separately or only need the OMP extension:
|
|
@@ -353,7 +362,7 @@ omb help stop # one command's usage
|
|
|
353
362
|
omb help --json # { commands: [{ name, names, summary, usage }] }
|
|
354
363
|
```
|
|
355
364
|
|
|
356
|
-
`omb --help` and `omb -h` are omb's own tokens and print omb's table; use `omp --help` for OMP's own help.
|
|
365
|
+
`omb --help` and `omb -h` are omb's own tokens and print omb's table; use `omp --help` for OMP's own help. `--session ADDRESS`, `--session-id ADDRESS`, and `--new` are omb's launcher options and are consumed before OMP sees them; anything else `omb` does not recognise is passed through to OMP, so `omb --resume` and `omb "fix the failing test"` keep their OMP meaning.
|
|
357
366
|
|
|
358
367
|
## Native roles and assets
|
|
359
368
|
|
|
@@ -377,7 +386,7 @@ The role names are selectors, not guarantees of speed, cost, provider, or model
|
|
|
377
386
|
|
|
378
387
|
### Qualification boundary
|
|
379
388
|
|
|
380
|
-
The 0.5
|
|
389
|
+
The 0.6.5 release target qualifies the current OMP baseline and will be published on [npm](https://www.npmjs.com/package/@polderlabs/bizar-omp) and available as a [GitHub release](https://github.com/PolderLabsVOF/BizarHarness-OMP/releases/tag/v0.6.5) after the final release gate.
|
|
381
390
|
|
|
382
391
|
The release does not claim OS sandboxing, provider model quality, universal native task or eval interception, automatic cleanup of an unqualified native isolation backend, or Claude Code/AO compatibility. See the [support matrix](docs/releases/support-matrix.md) for the current boundary.
|
|
383
392
|
|
|
@@ -385,10 +394,10 @@ The release does not claim OS sandboxing, provider model quality, universal nati
|
|
|
385
394
|
|
|
386
395
|
| Component | Qualified baseline |
|
|
387
396
|
| --- | --- |
|
|
388
|
-
| OMP | 18.2.
|
|
397
|
+
| OMP | 18.2.7, with 18.2.6, 18.2.5, and 18.2.4 regression-qualified |
|
|
389
398
|
| Node.js | 22.x and 24.x |
|
|
390
399
|
| Bun | 1.3.14 compatibility job |
|
|
391
|
-
| Package | `@polderlabs/bizar-omp@0.5
|
|
400
|
+
| Package | `@polderlabs/bizar-omp@0.6.5` |
|
|
392
401
|
|
|
393
402
|
Upstream OMP changes require a new compatibility baseline and contract run. The package does not widen a version range to hide an unqualified runtime.
|
|
394
403
|
|
package/dist/cli/doctor.d.ts
CHANGED
|
@@ -7,8 +7,8 @@ export declare function doctor(cwd?: string): {
|
|
|
7
7
|
invalidLines: number;
|
|
8
8
|
};
|
|
9
9
|
omp: {
|
|
10
|
-
readonly version: "18.2.
|
|
11
|
-
readonly commit: "
|
|
10
|
+
readonly version: "18.2.7";
|
|
11
|
+
readonly commit: "d716bcf60ab0a2e7ece1fdf382c0d143fef1f307";
|
|
12
12
|
};
|
|
13
13
|
bun: string;
|
|
14
14
|
multiplexer: {
|
|
@@ -18,8 +18,8 @@ export declare function doctor(cwd?: string): {
|
|
|
18
18
|
};
|
|
19
19
|
compatibility: {
|
|
20
20
|
supportedBaseline: {
|
|
21
|
-
readonly version: "18.2.
|
|
22
|
-
readonly commit: "
|
|
21
|
+
readonly version: "18.2.7";
|
|
22
|
+
readonly commit: "d716bcf60ab0a2e7ece1fdf382c0d143fef1f307";
|
|
23
23
|
};
|
|
24
24
|
bun: string;
|
|
25
25
|
probe: import("../omp/compatibility.js").RuntimeProbe;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omb-commands.d.ts","sourceRoot":"","sources":["../../src/cli/omb-commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"omb-commands.d.ts","sourceRoot":"","sources":["../../src/cli/omb-commands.ts"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,MAAM,WAAW,UAAU;IACzB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D;AAED,eAAO,MAAM,UAAU,mbASL,CAAC;AAEnB,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAEpE;AAED,wBAAgB,cAAc,IAAI,MAAM,CAavC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAwBrD;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,UAAU,EAiDpC,CAAC"}
|
package/dist/cli/omb-commands.js
CHANGED
|
@@ -3,6 +3,7 @@ import { DAEMON_USAGE, runDaemonCommand } from "./omb-daemon.js";
|
|
|
3
3
|
import { DASHBOARD_USAGE, runDashboardCommand } from "./omb-dashboard.js";
|
|
4
4
|
import { RESTART_USAGE, STOP_USAGE, runRestartCommand, runStopCommand } from "./omb-runtime.js";
|
|
5
5
|
import { TRAY_USAGE, runTrayCommand } from "./omb-tray.js";
|
|
6
|
+
import { UPDATE_USAGE, runUpdateCommand } from "./omb-update.js";
|
|
6
7
|
export const HELP_USAGE = `omb help [command]
|
|
7
8
|
|
|
8
9
|
Lists every omb command, or prints one command's usage.
|
|
@@ -99,6 +100,12 @@ export const OMB_COMMANDS = [
|
|
|
99
100
|
usage: RESTART_USAGE,
|
|
100
101
|
run: (args, env) => runRestartCommand(args, env),
|
|
101
102
|
},
|
|
103
|
+
{
|
|
104
|
+
names: ["update"],
|
|
105
|
+
summary: "Update the global omb command and OMP plugin",
|
|
106
|
+
usage: UPDATE_USAGE,
|
|
107
|
+
run: (args, env) => runUpdateCommand(args, env),
|
|
108
|
+
},
|
|
102
109
|
{
|
|
103
110
|
names: ["help", "--help", "-h"],
|
|
104
111
|
summary: "List commands, or print one command's usage",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omb-commands.js","sourceRoot":"","sources":["../../src/cli/omb-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"omb-commands.js","sourceRoot":"","sources":["../../src/cli/omb-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const UPDATE_USAGE = "omb update [--check] [--dry-run] [--json]\n\n Updates the globally installed omb command to the latest published Bizar\n package and refreshes the enabled OMP plugin when omp is available.\n\n --check report the installed and latest versions without changing anything\n --dry-run show the update plan without changing anything\n --json print the result as a machine-readable object";
|
|
2
|
+
export interface UpdateReport {
|
|
3
|
+
ok: boolean;
|
|
4
|
+
command: "update";
|
|
5
|
+
currentVersion: string;
|
|
6
|
+
latestVersion: string;
|
|
7
|
+
updateAvailable: boolean;
|
|
8
|
+
dryRun: boolean;
|
|
9
|
+
checked: boolean;
|
|
10
|
+
global: "updated" | "planned" | "current" | "failed";
|
|
11
|
+
plugin: "updated" | "planned" | "skipped" | "failed";
|
|
12
|
+
pluginReason?: string;
|
|
13
|
+
error?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface UpdateServices {
|
|
16
|
+
currentVersion(): string;
|
|
17
|
+
latestVersion(): string;
|
|
18
|
+
installGlobal(spec: string): void;
|
|
19
|
+
refreshPlugin(spec: string, env: NodeJS.ProcessEnv): unknown;
|
|
20
|
+
}
|
|
21
|
+
export declare const updateServices: UpdateServices;
|
|
22
|
+
export declare function runUpdateCommand(args: string[], env?: NodeJS.ProcessEnv, services?: UpdateServices): Promise<number>;
|
|
23
|
+
//# sourceMappingURL=omb-update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omb-update.d.ts","sourceRoot":"","sources":["../../src/cli/omb-update.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY,kZAOmC,CAAC;AAE7D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,QAAQ,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrD,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,IAAI,MAAM,CAAC;IACzB,aAAa,IAAI,MAAM,CAAC;IACxB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC;CAC9D;AAuBD,eAAO,MAAM,cAAc,EAAE,cAS5B,CAAC;AA6BF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EAAE,EACd,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,cAA+B,GACxC,OAAO,CAAC,MAAM,CAAC,CAqEjB"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { manageInstallation, packageRoot } from "./install.js";
|
|
4
|
+
import { runNpm } from "./process.js";
|
|
5
|
+
import { findOnPath } from "../omp/tmux.js";
|
|
6
|
+
const PACKAGE = "@polderlabs/bizar-omp";
|
|
7
|
+
export const UPDATE_USAGE = `omb update [--check] [--dry-run] [--json]
|
|
8
|
+
|
|
9
|
+
Updates the globally installed omb command to the latest published Bizar
|
|
10
|
+
package and refreshes the enabled OMP plugin when omp is available.
|
|
11
|
+
|
|
12
|
+
--check report the installed and latest versions without changing anything
|
|
13
|
+
--dry-run show the update plan without changing anything
|
|
14
|
+
--json print the result as a machine-readable object`;
|
|
15
|
+
const packageVersion = () => {
|
|
16
|
+
const manifest = JSON.parse(readFileSync(join(packageRoot, "package.json"), "utf8"));
|
|
17
|
+
if (typeof manifest.version !== "string")
|
|
18
|
+
throw new Error("installed Bizar package has no version");
|
|
19
|
+
return manifest.version;
|
|
20
|
+
};
|
|
21
|
+
const validVersion = (version) => {
|
|
22
|
+
const normalized = version.trim().replace(/^"|"$/g, "");
|
|
23
|
+
if (!/^\d+\.\d+\.\d+$/.test(normalized))
|
|
24
|
+
throw new Error(`npm returned an invalid Bizar version: ${normalized || "<empty>"}`);
|
|
25
|
+
return normalized;
|
|
26
|
+
};
|
|
27
|
+
const compareVersions = (left, right) => {
|
|
28
|
+
const a = left.split(".").map(Number);
|
|
29
|
+
const b = right.split(".").map(Number);
|
|
30
|
+
for (let index = 0; index < 3; index += 1) {
|
|
31
|
+
if (a[index] !== b[index])
|
|
32
|
+
return a[index] - b[index];
|
|
33
|
+
}
|
|
34
|
+
return 0;
|
|
35
|
+
};
|
|
36
|
+
export const updateServices = {
|
|
37
|
+
currentVersion: packageVersion,
|
|
38
|
+
latestVersion: () => validVersion(String(runNpm(["view", PACKAGE, "version"], { encoding: "utf8", stdio: ["ignore", "pipe", "pipe"] }))),
|
|
39
|
+
installGlobal: spec => { runNpm(["install", "--global", spec], { stdio: "ignore" }); },
|
|
40
|
+
refreshPlugin: (spec, env) => {
|
|
41
|
+
const omp = findOnPath(env.BIZAR_OMP_BIN || "omp", env);
|
|
42
|
+
if (!omp)
|
|
43
|
+
return undefined;
|
|
44
|
+
return manageInstallation("install", { pluginSpec: spec, env, omp });
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
function emit(report, json) {
|
|
48
|
+
if (json) {
|
|
49
|
+
process.stdout.write(`${JSON.stringify(report, null, 2)}\n`);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (report.error) {
|
|
53
|
+
process.stderr.write(`omb update: ${report.error}\n`);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const state = report.checked || report.dryRun
|
|
57
|
+
? report.updateAvailable ? `update available: ${report.currentVersion} -> ${report.latestVersion}` : `already current at ${report.currentVersion}`
|
|
58
|
+
: report.global === "updated" ? `updated ${report.currentVersion} -> ${report.latestVersion}` : `already current at ${report.currentVersion}`;
|
|
59
|
+
const plugin = report.plugin === "updated" ? ", OMP plugin refreshed" : report.plugin === "planned" ? ", OMP plugin refresh planned" : report.plugin === "skipped" ? `, OMP plugin skipped${report.pluginReason ? ` (${report.pluginReason})` : ""}` : report.plugin === "failed" ? ", OMP plugin refresh failed" : "";
|
|
60
|
+
process.stdout.write(`omb update: ${state}${plugin}\n`);
|
|
61
|
+
}
|
|
62
|
+
function parseArgs(args) {
|
|
63
|
+
const options = { check: false, dryRun: false, json: false };
|
|
64
|
+
for (const arg of args) {
|
|
65
|
+
if (arg === "--check")
|
|
66
|
+
options.check = true;
|
|
67
|
+
else if (arg === "--dry-run")
|
|
68
|
+
options.dryRun = true;
|
|
69
|
+
else if (arg === "--json")
|
|
70
|
+
options.json = true;
|
|
71
|
+
else
|
|
72
|
+
return { error: `unknown argument "${arg}"` };
|
|
73
|
+
}
|
|
74
|
+
return options;
|
|
75
|
+
}
|
|
76
|
+
export async function runUpdateCommand(args, env = process.env, services = updateServices) {
|
|
77
|
+
if (args.includes("--help") || args.includes("-h")) {
|
|
78
|
+
process.stdout.write(`${UPDATE_USAGE}\n`);
|
|
79
|
+
return 0;
|
|
80
|
+
}
|
|
81
|
+
const parsed = parseArgs(args);
|
|
82
|
+
if ("error" in parsed) {
|
|
83
|
+
process.stderr.write(`omb update: ${parsed.error}\n\n${UPDATE_USAGE}\n`);
|
|
84
|
+
return 2;
|
|
85
|
+
}
|
|
86
|
+
let currentVersion;
|
|
87
|
+
let latestVersion;
|
|
88
|
+
try {
|
|
89
|
+
currentVersion = validVersion(services.currentVersion());
|
|
90
|
+
latestVersion = validVersion(services.latestVersion());
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
const report = {
|
|
94
|
+
ok: false, command: "update", currentVersion: "unknown", latestVersion: "unknown",
|
|
95
|
+
updateAvailable: false, dryRun: parsed.dryRun, checked: parsed.check, global: "failed", plugin: "skipped",
|
|
96
|
+
pluginReason: "version lookup failed", error: error instanceof Error ? error.message : String(error),
|
|
97
|
+
};
|
|
98
|
+
emit(report, parsed.json);
|
|
99
|
+
return 1;
|
|
100
|
+
}
|
|
101
|
+
const updateAvailable = compareVersions(latestVersion, currentVersion) > 0;
|
|
102
|
+
if (parsed.check || parsed.dryRun || !updateAvailable) {
|
|
103
|
+
const report = {
|
|
104
|
+
ok: true, command: "update", currentVersion, latestVersion, updateAvailable,
|
|
105
|
+
dryRun: parsed.dryRun, checked: parsed.check, global: parsed.dryRun && updateAvailable ? "planned" : "current",
|
|
106
|
+
plugin: parsed.dryRun && updateAvailable ? "planned" : "skipped",
|
|
107
|
+
...(parsed.dryRun && !updateAvailable ? { pluginReason: "no update required" } : {}),
|
|
108
|
+
};
|
|
109
|
+
emit(report, parsed.json);
|
|
110
|
+
return 0;
|
|
111
|
+
}
|
|
112
|
+
const spec = `${PACKAGE}@${latestVersion}`;
|
|
113
|
+
try {
|
|
114
|
+
services.installGlobal(spec);
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
const report = {
|
|
118
|
+
ok: false, command: "update", currentVersion, latestVersion, updateAvailable,
|
|
119
|
+
dryRun: false, checked: false, global: "failed", plugin: "skipped",
|
|
120
|
+
pluginReason: "global package was not updated", error: error instanceof Error ? error.message : String(error),
|
|
121
|
+
};
|
|
122
|
+
emit(report, parsed.json);
|
|
123
|
+
return 1;
|
|
124
|
+
}
|
|
125
|
+
try {
|
|
126
|
+
const pluginResult = services.refreshPlugin(spec, env);
|
|
127
|
+
const pluginSkipped = pluginResult === undefined;
|
|
128
|
+
emit({
|
|
129
|
+
ok: true, command: "update", currentVersion, latestVersion, updateAvailable,
|
|
130
|
+
dryRun: false, checked: false, global: "updated", plugin: pluginSkipped ? "skipped" : "updated",
|
|
131
|
+
...(pluginSkipped ? { pluginReason: "omp executable not found" } : {}),
|
|
132
|
+
}, parsed.json);
|
|
133
|
+
return 0;
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
const report = {
|
|
137
|
+
ok: false, command: "update", currentVersion, latestVersion, updateAvailable,
|
|
138
|
+
dryRun: false, checked: false, global: "updated", plugin: "failed",
|
|
139
|
+
error: `global package updated, but OMP plugin refresh failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
140
|
+
};
|
|
141
|
+
emit(report, parsed.json);
|
|
142
|
+
return 1;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=omb-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omb-update.js","sourceRoot":"","sources":["../../src/cli/omb-update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export declare const SUPPORTED_OMP: {
|
|
2
|
-
readonly version: "18.2.
|
|
3
|
-
readonly commit: "
|
|
2
|
+
readonly version: "18.2.7";
|
|
3
|
+
readonly commit: "d716bcf60ab0a2e7ece1fdf382c0d143fef1f307";
|
|
4
4
|
};
|
|
5
|
-
export declare const QUALIFIED_OMP_VERSIONS: readonly ["18.2.4", "18.2.5", "18.2.6"];
|
|
5
|
+
export declare const QUALIFIED_OMP_VERSIONS: readonly ["18.2.4", "18.2.5", "18.2.6", "18.2.7"];
|
|
6
6
|
export declare const SUPPORTED_BUN = ">=1.3.14";
|
|
7
7
|
export declare function isQualifiedOmpVersion(version: string): boolean;
|
|
8
8
|
export interface GitTagResolution {
|
|
@@ -20,8 +20,8 @@ export interface RuntimeProbe {
|
|
|
20
20
|
}
|
|
21
21
|
export declare function compatibilityReport(probe: RuntimeProbe): {
|
|
22
22
|
supportedBaseline: {
|
|
23
|
-
readonly version: "18.2.
|
|
24
|
-
readonly commit: "
|
|
23
|
+
readonly version: "18.2.7";
|
|
24
|
+
readonly commit: "d716bcf60ab0a2e7ece1fdf382c0d143fef1f307";
|
|
25
25
|
};
|
|
26
26
|
bun: string;
|
|
27
27
|
probe: RuntimeProbe;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compatibility.d.ts","sourceRoot":"","sources":["../../src/omp/compatibility.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;aAAK,OAAO,EAAE,QAAQ;aAAE,MAAM,EAAE,0CAA0C;CAAW,CAAC;AAChH,eAAO,MAAM,sBAAsB,YAAI,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"compatibility.d.ts","sourceRoot":"","sources":["../../src/omp/compatibility.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;aAAK,OAAO,EAAE,QAAQ;aAAE,MAAM,EAAE,0CAA0C;CAAW,CAAC;AAChH,eAAO,MAAM,sBAAsB,YAAI,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AACxF,eAAO,MAAM,aAAa,aAAa,CAAC;AAExC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG9D;AAED,MAAM,WAAW,gBAAgB;IAAG,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAAE;AAC3F,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAUlE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKjE;AAED,MAAM,WAAW,YAAY;IAAG,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,sBAAsB,EAAE,OAAO,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAC;CAAE;AACvI,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY;;0BA9Bf,QAAQ;yBAAU,0CAA0C;;;;;;EA8BqM"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export const SUPPORTED_OMP = { version: "18.2.
|
|
2
|
-
export const QUALIFIED_OMP_VERSIONS = ["18.2.4", "18.2.5", "18.2.6"];
|
|
1
|
+
export const SUPPORTED_OMP = { version: "18.2.7", commit: "d716bcf60ab0a2e7ece1fdf382c0d143fef1f307" };
|
|
2
|
+
export const QUALIFIED_OMP_VERSIONS = ["18.2.4", "18.2.5", "18.2.6", "18.2.7"];
|
|
3
3
|
export const SUPPORTED_BUN = ">=1.3.14";
|
|
4
4
|
export function isQualifiedOmpVersion(version) {
|
|
5
5
|
const normalized = version.trim().replace(/^omp\//, "");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../../src/omp/compatibility.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,0CAA0C,EAAW,CAAC;AAChH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"compatibility.js","sourceRoot":"","sources":["../../src/omp/compatibility.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,0CAA0C,EAAW,CAAC;AAChH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AACxF,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AAExC,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACxD,OAAO,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;AAC5E,CAAC;AAGD,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACpF,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG;YAAE,SAAS;QACxE,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC;aAC3C,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;IACrD,CAAC;IACD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC;IAClD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,KAAa;IACvD,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9F,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAAC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAAC,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAAC,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;IAAC,CAAC;IACvI,OAAO,CAAC,CAAC;AACX,CAAC;AAGD,MAAM,UAAU,mBAAmB,CAAC,KAAmB,IAAI,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,sBAAsB,IAAI,KAAK,CAAC,gBAAgB,EAAE,UAAU,EAAE,oFAAoF,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"researchDate": "2026-09-
|
|
3
|
+
"researchDate": "2026-09-21",
|
|
4
4
|
"bizarReference": {
|
|
5
5
|
"repository": "../BizarHarness",
|
|
6
6
|
"commit": "e13aa131bdcd368548118464f0da1bace302e64b",
|
|
@@ -8,16 +8,17 @@
|
|
|
8
8
|
},
|
|
9
9
|
"omp": {
|
|
10
10
|
"repository": "https://github.com/can1357/oh-my-pi",
|
|
11
|
-
"testedVersion": "18.2.
|
|
12
|
-
"testedCommit": "
|
|
11
|
+
"testedVersion": "18.2.7",
|
|
12
|
+
"testedCommit": "d716bcf60ab0a2e7ece1fdf382c0d143fef1f307",
|
|
13
13
|
"previouslyQualifiedVersions": [
|
|
14
14
|
"18.2.4",
|
|
15
|
-
"18.2.5"
|
|
15
|
+
"18.2.5",
|
|
16
|
+
"18.2.6"
|
|
16
17
|
],
|
|
17
18
|
"researchedMainCommit": "dbf3afad4894bde827d90f965e77b3fe1c5a95e5",
|
|
18
|
-
"releaseVersionSeenInResearch": "18.2.
|
|
19
|
-
"releaseCommitSeenInResearch": "
|
|
20
|
-
"qualification": "The npm package was tested at 18.2.
|
|
19
|
+
"releaseVersionSeenInResearch": "18.2.7",
|
|
20
|
+
"releaseCommitSeenInResearch": "d716bcf60ab0a2e7ece1fdf382c0d143fef1f307",
|
|
21
|
+
"qualification": "The npm package was tested at 18.2.7 with integrity sha512-lVNXaRv5US4DTa79djiicoL3Mil284nKiZLReMd2j7XcwfVI2Bnx9yy0UQ1NevbhF/e0LtQ+fk6OSgEy9N3tew==; 18.2.6 remains a separately qualified compatibility version. Package version alone does not prove source commit identity."
|
|
21
22
|
},
|
|
22
23
|
"bun": {
|
|
23
24
|
"minimum": "1.3.14",
|
|
@@ -25,7 +26,7 @@
|
|
|
25
26
|
},
|
|
26
27
|
"package": {
|
|
27
28
|
"name": "@polderlabs/bizar-omp",
|
|
28
|
-
"version": "0.6.
|
|
29
|
+
"version": "0.6.5",
|
|
29
30
|
"integrity": "computed by npm pack in CI",
|
|
30
31
|
"extensionEntry": "dist/extension.js"
|
|
31
32
|
}
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
"dry-run migration"
|
|
16
16
|
],
|
|
17
17
|
"qualified": [
|
|
18
|
-
"OMP 18.2.
|
|
18
|
+
"OMP 18.2.7 / release commit d716bcf60ab0a2e7ece1fdf382c0d143fef1f307",
|
|
19
|
+
"OMP 18.2.6 compatibility regression",
|
|
19
20
|
"OMP 18.2.5 compatibility regression",
|
|
20
21
|
"OMP 18.2.4 compatibility regression",
|
|
21
22
|
"Node 22 and 24 CI",
|
package/docs/releases/0.6.3.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
- Every `omb stop` row is reported as `stopped`, `skipped` with a reason, `planned` for a dry run, or `failed`, both in the human summary and in `--json`, and the exit code is nonzero only when a resource failed. `omb restart` rows also use `started` for a resource it stopped and started again. Stopping something that is not running stays a success.
|
|
7
7
|
- `omb restart` stops the whole runtime and starts it again: the daemon, the tray only when hub settings enable it, and a fresh single-use dashboard link. It reports one row per resource — each session, the daemon, the tray, and the dashboard — refuses every `omb stop` target flag including `--idle` with exit code 2, and `--dry-run` reports that same one-row shape with action `planned`. `--json` always carries `url`: the new dashboard link, or `null` when none was minted.
|
|
8
8
|
- `omb help` lists the commands and `omb help <command>` prints one command's own usage, and `--help` works on every command. Usage text now lives beside the command that owns it, so the help table cannot drift from the implementation.
|
|
9
|
-
- The OMP pass-through contract is unchanged and now stated in the help itself: anything `omb` does not recognise is handed to OMP, so `omb --resume
|
|
9
|
+
- The OMP pass-through contract is unchanged and now stated in the help itself: `--session ADDRESS`, `--session-id ADDRESS`, and `--new` are omb's own launcher options, consumed before OMP sees them, while anything else `omb` does not recognise is handed to OMP, so `omb --resume` and a bare prompt keep their meaning. `help`, `--help`, and `-h` are omb's own tokens: `omb --help` and `omb -h` print omb's table, and `omp --help` prints OMP's.
|
|
10
10
|
|
|
11
11
|
## Safety
|
|
12
12
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# 0.6.4
|
|
2
|
+
|
|
3
|
+
Documentation correction. No file under `src/` changed, so the built CLI behaves exactly as it did in 0.6.3.
|
|
4
|
+
|
|
5
|
+
## What was wrong
|
|
6
|
+
|
|
7
|
+
`README.md` said that "anything else `omb` does not recognise is passed through to OMP, so `omb --resume`, `omb --session`, and `omb "fix the failing test"` keep their OMP meaning". `--session ADDRESS`, `--session-id ADDRESS`, and `--new` are omb's own launcher options: `parseOmbInvocation` (`src/cli/omb-invocation.ts:26-32`) consumes them before OMP is started, so `omb --session api-retries` attaches that session instead of forwarding `--session`. The README's own "Your first durable session" section documents `omb --session api-retries` as an omb feature, so the pass-through sentence contradicted the page it lives on, and the 0.6.3 changelog entry and release note repeated the same wrong example. The defect was found by an independent audit of the shipped 0.6.3 claims: 32 claims checked, 31 hold, this one contradicted.
|
|
8
|
+
|
|
9
|
+
## What changed
|
|
10
|
+
|
|
11
|
+
- `README.md` — the pass-through sentence names `--session ADDRESS`, `--session-id ADDRESS`, and `--new` as omb's launcher options, consumed before OMP sees them, and keeps `omb --resume` and `omb "fix the failing test"` as the examples that really do reach OMP.
|
|
12
|
+
- `CHANGELOG.md` and `docs/releases/0.6.3.md` — the same correction in the 0.6.3 entry, so the released notes no longer contradict the tool.
|
|
13
|
+
- `tests/omb-runtime.test.ts` — the README drift guard read the shell blocks only, which is how a prose example naming an omb-owned flag could ship. It now also reads the pass-through sentence and proves each example there survives `parseOmbInvocation` unchanged. Restoring the old sentence makes it fail (1 failed, 37 skipped); the corrected text passes.
|
|
14
|
+
- `package.json`, `package-lock.json`, and `docs/compatibility/baseline.json` — version 0.6.4.
|
|
15
|
+
|
|
16
|
+
## Verification
|
|
17
|
+
|
|
18
|
+
- `npm run typecheck` — clean.
|
|
19
|
+
- `npm test` — 215 tests across 28 files pass, including the extended README guard.
|
|
20
|
+
- `npm run verify:package` — `{"ok":true,"version":"0.6.4","checked":11}`.
|
|
21
|
+
- `npm run verify:docs` — `{"ok":true,"docs":5,"inventoryCategories":8}`.
|
|
22
|
+
- `npm run verify:security` — 271 tracked and non-ignored files scanned, no credential material detected.
|
|
23
|
+
- `npm run pack:check` — 748 files, 439.5 kB packaged.
|
|
24
|
+
- `bun scripts/verify-omp-install.mjs` with `BIZAR_OMP_PACKAGE_ROOT` at an OMP 18.2.6 scratch tree — `{"ok":true,"tools":8,"agents":8,"skills":8}`, and packed install, repeat install, native discovery/tools, profile isolation, and uninstall PASS.
|
|
25
|
+
- `node scripts/verify-omp-plugin-install.mjs` against the published `@polderlabs/bizar-omp@0.6.4` — registry plugin install, native discovery, and doctor PASS.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# 0.6.5
|
|
2
|
+
|
|
3
|
+
## Highlights
|
|
4
|
+
|
|
5
|
+
- Qualifies the plugin against OMP 18.2.7 at release commit d716bcf60ab0a2e7ece1fdf382c0d143fef1f307.
|
|
6
|
+
- Keeps OMP 18.2.6 as a separately tested compatibility version.
|
|
7
|
+
- Adds `omb update` for updating the global command and refreshing its enabled OMP plugin.
|
|
8
|
+
- Updates CI, release qualification, installation diagnostics, and the native-development skill fingerprint.
|
|
9
|
+
|
|
10
|
+
## Validation
|
|
11
|
+
|
|
12
|
+
The automated OMP compatibility workflow opens this release PR only after the packed native install qualification passes.
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
# Native release policy
|
|
2
2
|
|
|
3
|
-
The package is releasable when typecheck, tests, packed-install qualification, and documentation checks pass against the supported OMP/Bun baseline. A GitHub release is created from an exact `v<version>` tag; npm publication uses trusted publishing. See npm-publishing.md for setup and 0.
|
|
3
|
+
The package is releasable when typecheck, tests, packed-install qualification, and documentation checks pass against the supported OMP/Bun baseline. A GitHub release is created from an exact `v<version>` tag; npm publication uses trusted publishing. See npm-publishing.md for setup and 0.6.5.md for the current release notes. A passing release gate does not imply every native provider or worker route has been tested.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
| --- | --- |
|
|
5
5
|
| Node | 22.x and 24.x in CI |
|
|
6
6
|
| Bun | 1.3.14 compatibility job |
|
|
7
|
-
| OMP | 18.2.
|
|
7
|
+
| OMP | 18.2.7 at release commit `d716bcf60ab0a2e7ece1fdf382c0d143fef1f307`; 18.2.6 remains regression-qualified |
|
|
8
8
|
| Install | `npx --yes @polderlabs/bizar-omp setup` is the supported full install; `omp plugin install <package-spec>` is extension-only and `omp plugin link <checkout>` is for development |
|
|
9
9
|
| Security | Trusted in-process extension; native task isolation required for managed editing |
|
|
10
10
|
| Workflow state | Journal v2 validation, candidate-bound acceptance, bounded inspection/projection, and offline evidence bundles are locally qualified; v1 state remains legacy input |
|
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@ Treat this skill as a source-grounded engineering procedure, not an assertion of
|
|
|
9
9
|
|
|
10
10
|
## Establish the target before implementing
|
|
11
11
|
|
|
12
|
-
Read [accuracy-and-versioning.md](references/accuracy-and-versioning.md) first. The current qualification target is `can1357/oh-my-pi` v18.2.
|
|
12
|
+
Read [accuracy-and-versioning.md](references/accuracy-and-versioning.md) first. The current qualification target is `can1357/oh-my-pi` v18.2.7 at commit `d716bcf60ab0a2e7ece1fdf382c0d143fef1f307`; OMP 18.2.6, 18.2.5, and 18.2.4 remain separately tested compatibility versions. The bundled research corpus remains pinned to main commit `dbf3afad4894bde827d90f965e77b3fe1c5a95e5`, dated 2026-09-17, and must not be presented as the current release source.
|
|
13
13
|
|
|
14
14
|
Record the developer's actual OMP package version, lockfile/integrity, source commit when available, Bun version, execution mode, profile, cwd, and relevant settings. Never print secrets. Verify the exact exports and behavior of that target, rather than assuming these snapshots apply unchanged. A missing environment or unrun test means UNKNOWN or NOT RUN, never PASS.
|
|
15
15
|
|
|
@@ -18,8 +18,8 @@ Separate five kinds of statement: DOCUMENTED, SOURCE-OBSERVED, TESTED, PROPOSED
|
|
|
18
18
|
|
|
19
19
|
## Target fingerprint
|
|
20
20
|
|
|
21
|
-
Current qualification target: `v18.2.
|
|
22
|
-
Previous compatibility targets: `v18.2.5@37273117021129e96bd05d8277b140ec3fd61990` and `v18.2.4@1c0303b1f2ec515cbf4b44a9a49d68a029531aac`.
|
|
21
|
+
Current qualification target: `v18.2.7@d716bcf60ab0a2e7ece1fdf382c0d143fef1f307`, npm integrity `sha512-lVNXaRv5US4DTa79djiicoL3Mil284nKiZLReMd2j7XcwfVI2Bnx9yy0UQ1NevbhF/e0LtQ+fk6OSgEy9N3tew==`.
|
|
22
|
+
Previous compatibility targets: `v18.2.6@78b753124d11f8dd3ae73e2524125890ff7c977e`, `v18.2.5@37273117021129e96bd05d8277b140ec3fd61990` and `v18.2.4@1c0303b1f2ec515cbf4b44a9a49d68a029531aac`.
|
|
23
23
|
Research source: `can1357/oh-my-pi@dbf3afad4894bde827d90f965e77b3fe1c5a95e5`; it remains a source/documentation corpus pin, not a claim about the current package release. Compare artifacts/commits, not just a semver string.
|
|
24
24
|
|
|
25
25
|
Record the installed package name/version, lockfile integrity or binary checksum, source SHA when available, Bun version, OS/architecture, execution mode, profile, agent directory, cwd, project settings and overlays. Include which facts are unavailable. Do not assert an installed binary's source commit solely because its version matches a Git tag.
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
"reference_date": "2026-09-17",
|
|
6
6
|
"docs_tree_sha": "c0055f49ceb172ff6da9490cf74773e9b187966b",
|
|
7
7
|
"current_qualification": {
|
|
8
|
-
"tag": "v18.2.
|
|
9
|
-
"commit": "
|
|
10
|
-
"npm_integrity": "sha512-
|
|
8
|
+
"tag": "v18.2.7",
|
|
9
|
+
"commit": "d716bcf60ab0a2e7ece1fdf382c0d143fef1f307",
|
|
10
|
+
"npm_integrity": "sha512-lVNXaRv5US4DTa79djiicoL3Mil284nKiZLReMd2j7XcwfVI2Bnx9yy0UQ1NevbhF/e0LtQ+fk6OSgEy9N3tew==",
|
|
11
11
|
"qualification": "Runtime-qualified by the Bizar packed-install contract; the bundled docs/source inventory remains pinned to the research commit below."
|
|
12
12
|
},
|
|
13
13
|
"comparison_release": {
|