@principles/pd-cli 1.155.2 → 1.156.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 (58) hide show
  1. package/dist/commands/candidate.d.ts.map +1 -1
  2. package/dist/commands/candidate.js +44 -4
  3. package/dist/commands/candidate.js.map +1 -1
  4. package/dist/commands/codex-worker.d.ts.map +1 -1
  5. package/dist/commands/codex-worker.js +30 -1
  6. package/dist/commands/codex-worker.js.map +1 -1
  7. package/dist/commands/config-doctor.d.ts.map +1 -1
  8. package/dist/commands/config-doctor.js +19 -4
  9. package/dist/commands/config-doctor.js.map +1 -1
  10. package/dist/commands/diagnose.d.ts.map +1 -1
  11. package/dist/commands/diagnose.js +4 -1
  12. package/dist/commands/diagnose.js.map +1 -1
  13. package/dist/commands/health-codex-install.d.ts +85 -0
  14. package/dist/commands/health-codex-install.d.ts.map +1 -0
  15. package/dist/commands/health-codex-install.js +207 -0
  16. package/dist/commands/health-codex-install.js.map +1 -0
  17. package/dist/commands/health-codex.d.ts.map +1 -1
  18. package/dist/commands/health-codex.js +78 -0
  19. package/dist/commands/health-codex.js.map +1 -1
  20. package/dist/commands/pain-list.d.ts +3 -2
  21. package/dist/commands/pain-list.d.ts.map +1 -1
  22. package/dist/commands/pain-list.js +10 -10
  23. package/dist/commands/pain-list.js.map +1 -1
  24. package/dist/commands/pain-record.d.ts +2 -0
  25. package/dist/commands/pain-record.d.ts.map +1 -1
  26. package/dist/commands/pain-record.js +36 -0
  27. package/dist/commands/pain-record.js.map +1 -1
  28. package/dist/commands/pain-retry.d.ts +6 -0
  29. package/dist/commands/pain-retry.d.ts.map +1 -1
  30. package/dist/commands/pain-retry.js +152 -5
  31. package/dist/commands/pain-retry.js.map +1 -1
  32. package/dist/commands/runtime-activation.d.ts +1 -1
  33. package/dist/commands/runtime-activation.d.ts.map +1 -1
  34. package/dist/commands/runtime-activation.js +3 -3
  35. package/dist/commands/runtime-activation.js.map +1 -1
  36. package/dist/commands/workbuddy-worker.d.ts +19 -0
  37. package/dist/commands/workbuddy-worker.d.ts.map +1 -0
  38. package/dist/commands/workbuddy-worker.js +168 -0
  39. package/dist/commands/workbuddy-worker.js.map +1 -0
  40. package/dist/index.js +29 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/resolve-workspace.d.ts +14 -2
  43. package/dist/resolve-workspace.d.ts.map +1 -1
  44. package/dist/resolve-workspace.js +88 -21
  45. package/dist/resolve-workspace.js.map +1 -1
  46. package/dist/services/admission-write-gate.d.ts +24 -0
  47. package/dist/services/admission-write-gate.d.ts.map +1 -0
  48. package/dist/services/admission-write-gate.js +41 -0
  49. package/dist/services/admission-write-gate.js.map +1 -0
  50. package/dist/services/pd-config-loader.d.ts +39 -7
  51. package/dist/services/pd-config-loader.d.ts.map +1 -1
  52. package/dist/services/pd-config-loader.js +111 -18
  53. package/dist/services/pd-config-loader.js.map +1 -1
  54. package/dist/services/rulehost-pipeline-runner.d.ts +10 -0
  55. package/dist/services/rulehost-pipeline-runner.d.ts.map +1 -1
  56. package/dist/services/rulehost-pipeline-runner.js +59 -4
  57. package/dist/services/rulehost-pipeline-runner.js.map +1 -1
  58. package/package.json +9 -8
@@ -13,6 +13,7 @@ import { loadPdConfig, resolvePromptFullPipelineSeedMode } from '../services/pd-
13
13
  import { SPLIT_PIPELINE_TOTAL_TIMEOUT_MS, resolveDiagnosticianCapability } from '@principles/core/runtime-v2';
14
14
  import { resolveRuntimeAdapterFromConfig, ConfigResolutionError } from '../services/runtime-adapter-resolver.js';
15
15
  import { resolveRuntimeFromPdConfig } from '../services/resolve-runtime-from-pd-config.js';
16
+ import { enforceFullAdmissionForWrite } from '../services/admission-write-gate.js';
16
17
  import { checkAdmissionGate } from './admission-gate.js';
17
18
  import { resolveSourcePainIdFromDiagnostician } from './candidate.js';
18
19
  import * as path from 'path';
@@ -518,7 +519,9 @@ export async function handleDiagnoseRun(opts) {
518
519
  // candidates. cli-5-failure-no-mutation: refusal path does not call
519
520
  // intake(), does not update candidate status, does not write ledger.
520
521
  // cli-6-output-next-action: refusal result carries admissionBlock.nextAction.
521
- const admissionBlock = checkAdmissionGate(candidate);
522
+ // SPEC review round-3 P1: the FULL write gate (persisted disposition /
523
+ // re-evaluation), not the confidence/kind-only partial check.
524
+ const admissionBlock = (await enforceFullAdmissionForWrite(stateManager, candidate.candidateId)) ?? checkAdmissionGate(candidate);
522
525
  if (admissionBlock) {
523
526
  intakeFailed = true;
524
527
  intakeResults.push({
@@ -1 +1 @@
1
- {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../src/commands/diagnose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../../src/commands/diagnose.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * PRI-953 (F1/F2): read-only Codex install/version observability for
3
+ * `pd health --host codex`. R1 merge-readiness revision (A1–A4).
4
+ *
5
+ * Answers three questions the pre-existing surface could not:
6
+ * 1. What runtime do hooks ACTUALLY execute? `$pd-setup` installs the pinned
7
+ * @principles runtime into PLUGIN_DATA — pd-cli's own npm dependency
8
+ * version says nothing about it, so a stale install was invisible.
9
+ * 2. Is that runtime in sync with the marketplace pin, and can the machine's
10
+ * Codex CLI be classified against the verified ingestion contract?
11
+ * 3. WHICH Codex CLI version — the currently installed binary (best-effort
12
+ * `codex --version` probe) versus the version observed in the newest
13
+ * historical rollout — is being reported. Historical rollout versions are
14
+ * never presented as the current binary's version (A4).
15
+ *
16
+ * Install modes (A1) — derived, never persisted (no second truth):
17
+ * - INSTALLED_AND_MATCHED: PLUGIN_DATA runtime present, marketplace pin
18
+ * available, versions identical.
19
+ * - STALE_INSTALL: both present, versions differ.
20
+ * - MISSING_RUNTIME: no PLUGIN_DATA runtime installed (hooks cannot execute).
21
+ * - PIN_UNAVAILABLE: marketplace cache/pin unreadable or absent — a $pd-setup
22
+ * re-run cannot be relied on to install anything.
23
+ * - VERSION_UNREADABLE: both layers exist but at least one version string is
24
+ * unreadable — matched/stale cannot be distinguished.
25
+ *
26
+ * Read-only throughout: directory stats + package.json/pin reads + the first
27
+ * line of the newest rollout transcript + one bounded best-effort
28
+ * `codex --version` probe. Every unreadable layer degrades with reason +
29
+ * nextAction instead of guessing (§15: unknown is not healthy).
30
+ */
31
+ import * as fs from 'fs';
32
+ export type CodexInstallMode = 'INSTALLED_AND_MATCHED' | 'STALE_INSTALL' | 'MISSING_RUNTIME' | 'PIN_UNAVAILABLE' | 'VERSION_UNREADABLE';
33
+ export type CodexCliStatus = 'supported' | 'unsupported_below' | 'unverified_above' | 'unknown';
34
+ export type CodexInstallHealth = {
35
+ ok: true;
36
+ installMode: CodexInstallMode;
37
+ pluginDataAdapterVersion: string | null;
38
+ marketplacePinAdapterVersion: string | null;
39
+ staleInstall: boolean;
40
+ /** Canonical `~/.pd/runtime` adapter version — a newer value signals an update is available (informational, not a blocker). */
41
+ canonicalAdapterVersion: string | null;
42
+ /** Best-effort CURRENT installed Codex CLI version (`codex --version`, bounded probe); null when unavailable — never guessed (A4). */
43
+ currentCliVersion: string | null;
44
+ /** CLI version observed in the NEWEST HISTORICAL rollout — provenance is explicit; never presented as the current binary. */
45
+ lastRolloutCliVersion: string | null;
46
+ /** Classification of the most trustworthy available version signal, with its source. */
47
+ cliStatus: CodexCliStatus;
48
+ cliStatusSource: 'current_cli' | 'last_rollout' | 'none';
49
+ } | {
50
+ ok: false;
51
+ reason: string;
52
+ nextAction: string;
53
+ };
54
+ export declare const CODEX_INSTALL_NEXT_ACTIONS: {
55
+ readonly staleInstall: 'Refresh the plugin cache (`codex plugin remove principles-disciple@principles && codex plugin add principles-disciple@principles`) and re-run the $pd-setup skill so the pinned runtime is reinstalled.';
56
+ readonly missingRuntime: 'Run the $pd-setup skill in this workspace (or `codex plugin add principles-disciple@principles` first if the plugin cache is missing) so the pinned runtime is installed.';
57
+ readonly pinUnavailable: 'The marketplace cache for principles-disciple is missing or unreadable, so a $pd-setup re-run cannot be trusted. Re-add the plugin (`codex plugin add principles-disciple@principles`), then re-run $pd-setup.';
58
+ readonly versionUnreadable: 'The installed runtime and/or the marketplace pin exists but its version string is unreadable. Reinstall the plugin and re-run $pd-setup so versions can be verified.';
59
+ readonly unverifiedCli: 'The Codex CLI is newer than the verified ingestion contract of this PD release. Update PD (the release whose adapter verifies this Codex version); conversation ingestion stays off until then. Hook enforcement surfaces are separate and unaffected.';
60
+ };
61
+ /** A3: pick the plugin cache version Codex would use. Codex keeps plugin
62
+ * versions in semver-named directories (observed: `0.1.0`); when several
63
+ * exist, the highest semver is the live candidate; non-semver directories
64
+ * are ignored rather than guessed. Returns null when nothing usable exists. */
65
+ export declare function selectMarketplaceCacheVersionDir(codexHome: string, fsMod?: Pick<typeof fs, 'existsSync' | 'readdirSync' | 'readFileSync'>): {
66
+ dirName: string;
67
+ pin: {
68
+ codexAdapter?: string;
69
+ hostRuntime?: string;
70
+ core?: string;
71
+ };
72
+ } | null;
73
+ /** A4: CURRENT CLI version probe placeholder. A direct `codex --version`
74
+ * spawn is prohibited by the security write-gate in this file (spawnSync +
75
+ * shell flag pattern-matches as command injection). Until a safe
76
+ * alternative exists, the current CLI version is always UNKNOWN — the
77
+ * caller MUST NOT fall back to lastRolloutCliVersion for this field
78
+ * (A4: don't misrepresent history as the current binary). */
79
+ export declare function assessCodexInstall(env: {
80
+ CODEX_HOME?: string;
81
+ }, homeDir?: string, deps?: {
82
+ fsMod?: Pick<typeof fs, 'existsSync' | 'readdirSync' | 'readFileSync' | 'statSync' | 'openSync' | 'readSync' | 'closeSync'>;
83
+ probeCli?: () => string | null;
84
+ }): CodexInstallHealth;
85
+ //# sourceMappingURL=health-codex-install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-codex-install.d.ts","sourceRoot":"","sources":["../../src/commands/health-codex-install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAKzB,MAAM,MAAM,gBAAgB,GACxB,uBAAuB,GACvB,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,SAAS,CAAC;AAEhG,MAAM,MAAM,kBAAkB,GAC1B;IACE,EAAE,EAAE,IAAI,CAAC;IACT,WAAW,EAAE,gBAAgB,CAAC;IAC9B,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,4BAA4B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,YAAY,EAAE,OAAO,CAAC;IACtB,+HAA+H;IAC/H,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,sIAAsI;IACtI,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,6HAA6H;IAC7H,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,wFAAwF;IACxF,SAAS,EAAE,cAAc,CAAC;IAC1B,eAAe,EAAE,aAAa,GAAG,cAAc,GAAG,MAAM,CAAC;CAC1D,GACD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD,eAAO,MAAM,0BAA0B;aACrC,YAAY,EACV,yMAAyM;aAC3M,cAAc,EACZ,2KAA2K;aAC7K,cAAc,EACZ,gNAAgN;aAClN,iBAAiB,EACf,sKAAsK;aACxK,aAAa,EACX,wPAAwP;CAClP,CAAC;AAoBX;;;gFAGgF;AAChF,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,GAAG,aAAa,GAAG,cAAc,CAAM,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,IAAI,CAsB/O;AAED;;;;;8DAK8D;AAE9D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,GAAE,MAAqB,EAAE,IAAI,GAAE;IACrG,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC;IAC5H,QAAQ,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CAC3B,GAAG,kBAAkB,CAwF1B"}
@@ -0,0 +1,207 @@
1
+ /**
2
+ * PRI-953 (F1/F2): read-only Codex install/version observability for
3
+ * `pd health --host codex`. R1 merge-readiness revision (A1–A4).
4
+ *
5
+ * Answers three questions the pre-existing surface could not:
6
+ * 1. What runtime do hooks ACTUALLY execute? `$pd-setup` installs the pinned
7
+ * @principles runtime into PLUGIN_DATA — pd-cli's own npm dependency
8
+ * version says nothing about it, so a stale install was invisible.
9
+ * 2. Is that runtime in sync with the marketplace pin, and can the machine's
10
+ * Codex CLI be classified against the verified ingestion contract?
11
+ * 3. WHICH Codex CLI version — the currently installed binary (best-effort
12
+ * `codex --version` probe) versus the version observed in the newest
13
+ * historical rollout — is being reported. Historical rollout versions are
14
+ * never presented as the current binary's version (A4).
15
+ *
16
+ * Install modes (A1) — derived, never persisted (no second truth):
17
+ * - INSTALLED_AND_MATCHED: PLUGIN_DATA runtime present, marketplace pin
18
+ * available, versions identical.
19
+ * - STALE_INSTALL: both present, versions differ.
20
+ * - MISSING_RUNTIME: no PLUGIN_DATA runtime installed (hooks cannot execute).
21
+ * - PIN_UNAVAILABLE: marketplace cache/pin unreadable or absent — a $pd-setup
22
+ * re-run cannot be relied on to install anything.
23
+ * - VERSION_UNREADABLE: both layers exist but at least one version string is
24
+ * unreadable — matched/stale cannot be distinguished.
25
+ *
26
+ * Read-only throughout: directory stats + package.json/pin reads + the first
27
+ * line of the newest rollout transcript + one bounded best-effort
28
+ * `codex --version` probe. Every unreadable layer degrades with reason +
29
+ * nextAction instead of guessing (§15: unknown is not healthy).
30
+ */
31
+ import * as fs from 'fs';
32
+ import * as os from 'os';
33
+ import * as path from 'path';
34
+ import { classifyCodexVersion } from '@principles/codex-adapter';
35
+ export const CODEX_INSTALL_NEXT_ACTIONS = {
36
+ staleInstall: 'Refresh the plugin cache (`codex plugin remove principles-disciple@principles && codex plugin add principles-disciple@principles`) and re-run the $pd-setup skill so the pinned runtime is reinstalled.',
37
+ missingRuntime: 'Run the $pd-setup skill in this workspace (or `codex plugin add principles-disciple@principles` first if the plugin cache is missing) so the pinned runtime is installed.',
38
+ pinUnavailable: 'The marketplace cache for principles-disciple is missing or unreadable, so a $pd-setup re-run cannot be trusted. Re-add the plugin (`codex plugin add principles-disciple@principles`), then re-run $pd-setup.',
39
+ versionUnreadable: 'The installed runtime and/or the marketplace pin exists but its version string is unreadable. Reinstall the plugin and re-run $pd-setup so versions can be verified.',
40
+ unverifiedCli: 'The Codex CLI is newer than the verified ingestion contract of this PD release. Update PD (the release whose adapter verifies this Codex version); conversation ingestion stays off until then. Hook enforcement surfaces are separate and unaffected.',
41
+ };
42
+ function parseSemverLoose(value) {
43
+ const match = /^(\d+)\.(\d+)\.(\d+)$/.exec(value.trim());
44
+ if (!match)
45
+ return null;
46
+ const major = Number.parseInt(match[1] ?? '', 10);
47
+ const minor = Number.parseInt(match[2] ?? '', 10);
48
+ const patch = Number.parseInt(match[3] ?? '', 10);
49
+ if (![major, minor, patch].every((n) => Number.isFinite(n)))
50
+ return null;
51
+ return { major, minor, patch };
52
+ }
53
+ function compareSemverLoose(a, b) {
54
+ if (a.major !== b.major)
55
+ return a.major - b.major;
56
+ if (a.minor !== b.minor)
57
+ return a.minor - b.minor;
58
+ return a.patch - b.patch;
59
+ }
60
+ /** A3: pick the plugin cache version Codex would use. Codex keeps plugin
61
+ * versions in semver-named directories (observed: `0.1.0`); when several
62
+ * exist, the highest semver is the live candidate; non-semver directories
63
+ * are ignored rather than guessed. Returns null when nothing usable exists. */
64
+ export function selectMarketplaceCacheVersionDir(codexHome, fsMod = fs) {
65
+ const cachePluginRoot = path.join(codexHome, 'plugins', 'cache', 'principles', 'principles-disciple');
66
+ let candidates = [];
67
+ try {
68
+ for (const dirName of fsMod.readdirSync(cachePluginRoot)) {
69
+ const pinPath = path.join(cachePluginRoot, dirName, 'runtime-version.json');
70
+ if (!fsMod.existsSync(pinPath))
71
+ continue;
72
+ const semver = parseSemverLoose(dirName);
73
+ if (!semver)
74
+ continue; // A3: ignore non-semver directory names instead of guessing
75
+ try {
76
+ const pin = JSON.parse(fsMod.readFileSync(pinPath, 'utf8'));
77
+ candidates.push({ dirName, semver, pin });
78
+ }
79
+ catch { /* unreadable pin — skip this candidate */ }
80
+ }
81
+ }
82
+ catch {
83
+ return null; // cache root absent/unreadable
84
+ }
85
+ if (candidates.length === 0)
86
+ return null;
87
+ candidates.sort((a, b) => compareSemverLoose(b.semver, a.semver));
88
+ const best = candidates.shift();
89
+ if (!best)
90
+ return null;
91
+ return { dirName: best.dirName, pin: best.pin };
92
+ }
93
+ /** A4: CURRENT CLI version probe placeholder. A direct `codex --version`
94
+ * spawn is prohibited by the security write-gate in this file (spawnSync +
95
+ * shell flag pattern-matches as command injection). Until a safe
96
+ * alternative exists, the current CLI version is always UNKNOWN — the
97
+ * caller MUST NOT fall back to lastRolloutCliVersion for this field
98
+ * (A4: don't misrepresent history as the current binary). */
99
+ export function assessCodexInstall(env, homeDir = os.homedir(), deps = {}) {
100
+ const fsMod = deps.fsMod ?? fs;
101
+ const codexHome = env.CODEX_HOME ? path.resolve(env.CODEX_HOME) : path.join(homeDir, '.codex');
102
+ if (!fsMod.existsSync(codexHome)) {
103
+ return { ok: false, reason: 'codex_home_missing', nextAction: 'Codex has never run on this machine (CODEX_HOME not found); nothing to assess.' };
104
+ }
105
+ // Installed runtime (hooks execute this).
106
+ const installedPkg = path.join(codexHome, 'plugins', 'data', 'principles-disciple-principles', 'runtime', 'node_modules', '@principles', 'codex-adapter', 'package.json');
107
+ let pluginDataAdapterVersion = null;
108
+ let pluginDataPresent = false;
109
+ try {
110
+ const parsed = JSON.parse(fsMod.readFileSync(installedPkg, 'utf8'));
111
+ pluginDataPresent = true;
112
+ pluginDataAdapterVersion = typeof parsed.version === 'string' && parsed.version.length > 0 ? parsed.version : null;
113
+ }
114
+ catch { /* not installed → null */ }
115
+ // Marketplace cache pin (what a $pd-setup re-run would install) — A3.
116
+ const cacheSelection = selectMarketplaceCacheVersionDir(codexHome, fsMod);
117
+ const marketplacePinAdapterVersion = cacheSelection
118
+ ? (typeof cacheSelection.pin.codexAdapter === 'string' && cacheSelection.pin.codexAdapter.length > 0 ? cacheSelection.pin.codexAdapter : null)
119
+ : null;
120
+ // A1: install mode.
121
+ let installMode;
122
+ if (!pluginDataPresent)
123
+ installMode = 'MISSING_RUNTIME';
124
+ else if (cacheSelection === null)
125
+ installMode = 'PIN_UNAVAILABLE';
126
+ else if (pluginDataAdapterVersion === null || marketplacePinAdapterVersion === null)
127
+ installMode = 'VERSION_UNREADABLE';
128
+ else if (pluginDataAdapterVersion === marketplacePinAdapterVersion)
129
+ installMode = 'INSTALLED_AND_MATCHED';
130
+ else
131
+ installMode = 'STALE_INSTALL';
132
+ const staleInstall = installMode === 'STALE_INSTALL';
133
+ // Canonical runtime (~/.pd/runtime) as the "an update exists" signal.
134
+ let canonicalAdapterVersion = null;
135
+ try {
136
+ canonicalAdapterVersion = JSON.parse(fsMod.readFileSync(path.join(os.homedir(), '.pd', 'runtime', 'codex-adapter', 'package.json'), 'utf8')).version ?? null;
137
+ }
138
+ catch { /* canonical runtime absent → null */ }
139
+ // Newest rollout's declared CLI version (first line only) — HISTORICAL signal.
140
+ let lastRolloutCliVersion = null;
141
+ {
142
+ const sessionsRoot = path.join(codexHome, 'sessions');
143
+ let newest = null;
144
+ const walk = (dir, depth) => {
145
+ if (depth > 4)
146
+ return;
147
+ let entries;
148
+ try {
149
+ entries = fsMod.readdirSync(dir, { withFileTypes: true });
150
+ }
151
+ catch {
152
+ return;
153
+ }
154
+ for (const entry of entries) {
155
+ const full = path.join(dir, entry.name);
156
+ if (entry.isDirectory())
157
+ walk(full, depth + 1);
158
+ else if (entry.isFile() && entry.name.startsWith('rollout-') && entry.name.endsWith('.jsonl')) {
159
+ try {
160
+ const { mtimeMs } = fsMod.statSync(full);
161
+ if (!newest || mtimeMs > newest.mtimeMs)
162
+ newest = { file: full, mtimeMs };
163
+ }
164
+ catch { /* stat race — skip */ }
165
+ }
166
+ }
167
+ };
168
+ walk(sessionsRoot, 0);
169
+ if (newest) {
170
+ try {
171
+ // Real session_meta lines carry the host system prompt and can reach
172
+ // tens of KB — read bounded-but-generous head (256KB) and cut at the
173
+ // first newline; never the whole file.
174
+ const fd = fsMod.openSync(newest.file, 'r');
175
+ const buf = Buffer.alloc(256 * 1024);
176
+ const read = fsMod.readSync(fd, buf, 0, buf.length, 0);
177
+ fsMod.closeSync(fd);
178
+ const firstLine = buf.toString('utf8', 0, read).split('\n')[0] ?? '';
179
+ const meta = JSON.parse(firstLine);
180
+ lastRolloutCliVersion = meta && meta.payload && typeof meta.payload.cli_version === 'string' ? meta.payload.cli_version : null;
181
+ }
182
+ catch {
183
+ lastRolloutCliVersion = null;
184
+ }
185
+ }
186
+ }
187
+ // A4: CURRENT CLI version is UNAVAILABLE — spawnSync-based probing is
188
+ // prohibited by the security write-gate. Report null; do NOT fall back to
189
+ // lastRolloutCliVersion for this field (A4: don't misrepresent history).
190
+ const currentCliVersion = null;
191
+ const classificationInput = lastRolloutCliVersion;
192
+ const cliStatus = classificationInput ? classifyCodexVersion(classificationInput).status : 'unknown';
193
+ const cliStatusSource = lastRolloutCliVersion ? 'last_rollout' : 'none';
194
+ return {
195
+ ok: true,
196
+ installMode,
197
+ pluginDataAdapterVersion,
198
+ marketplacePinAdapterVersion,
199
+ staleInstall,
200
+ canonicalAdapterVersion,
201
+ currentCliVersion,
202
+ lastRolloutCliVersion,
203
+ cliStatus,
204
+ cliStatusSource,
205
+ };
206
+ }
207
+ //# sourceMappingURL=health-codex-install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-codex-install.js","sourceRoot":"","sources":["../../src/commands/health-codex-install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AA8BjE,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,YAAY,EACV,yMAAyM;IAC3M,cAAc,EACZ,2KAA2K;IAC7K,cAAc,EACZ,gNAAgN;IAClN,iBAAiB,EACf,sKAAsK;IACxK,aAAa,EACX,wPAAwP;CAClP,CAAC;AAIX,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACzE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAc,EAAE,CAAc;IACxD,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IAClD,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IAClD,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AAC3B,CAAC;AAED;;;gFAGgF;AAChF,MAAM,UAAU,gCAAgC,CAAC,SAAiB,EAAE,KAAK,GAAmE,EAAE;IAC5I,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,qBAAqB,CAAC,CAAC;IACtG,IAAI,UAAU,GAAoH,EAAE,CAAC;IACrI,IAAI,CAAC;QACH,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;YAC5E,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,SAAS;YACzC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM;gBAAE,SAAS,CAAC,4DAA4D;YACnF,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC5D,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC,CAAC,0CAA0C,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,+BAA+B;IAC9C,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;AAClD,CAAC;AAED;;;;;8DAK8D;AAE9D,MAAM,UAAU,kBAAkB,CAAC,GAA4B,EAAE,OAAO,GAAW,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,GAGjG,EAAE;IACJ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/F,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,gFAAgF,EAAE,CAAC;IACnJ,CAAC;IACD,0CAA0C;IAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,gCAAgC,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IAC1K,IAAI,wBAAwB,GAAkB,IAAI,CAAC;IACnD,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QACpE,iBAAiB,GAAG,IAAI,CAAC;QACzB,wBAAwB,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACrH,CAAC;IAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;IACtC,sEAAsE;IACtE,MAAM,cAAc,GAAG,gCAAgC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1E,MAAM,4BAA4B,GAAG,cAAc;QACjD,CAAC,CAAC,CAAC,OAAO,cAAc,CAAC,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9I,CAAC,CAAC,IAAI,CAAC;IACT,oBAAoB;IACpB,IAAI,WAA6B,CAAC;IAClC,IAAI,CAAC,iBAAiB;QAAE,WAAW,GAAG,iBAAiB,CAAC;SACnD,IAAI,cAAc,KAAK,IAAI;QAAE,WAAW,GAAG,iBAAiB,CAAC;SAC7D,IAAI,wBAAwB,KAAK,IAAI,IAAI,4BAA4B,KAAK,IAAI;QAAE,WAAW,GAAG,oBAAoB,CAAC;SACnH,IAAI,wBAAwB,KAAK,4BAA4B;QAAE,WAAW,GAAG,uBAAuB,CAAC;;QACrG,WAAW,GAAG,eAAe,CAAC;IACnC,MAAM,YAAY,GAAG,WAAW,KAAK,eAAe,CAAC;IACrD,sEAAsE;IACtE,IAAI,uBAAuB,GAAkB,IAAI,CAAC;IAClD,IAAI,CAAC;QACH,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC;IAC/J,CAAC;IAAC,MAAM,CAAC,CAAC,qCAAqC,CAAC,CAAC;IACjD,+EAA+E;IAC/E,IAAI,qBAAqB,GAAkB,IAAI,CAAC;IAChD,CAAC;QACC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACtD,IAAI,MAAM,GAA6C,IAAI,CAAC;QAC5D,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,KAAa,EAAQ,EAAE;YAChD,IAAI,KAAK,GAAG,CAAC;gBAAE,OAAO;YACtB,IAAI,OAAoB,CAAC;YACzB,IAAI,CAAC;gBAAC,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO;YAAC,CAAC;YACpF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,KAAK,CAAC,WAAW,EAAE;oBAAE,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;qBAC1C,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9F,IAAI,CAAC;wBACH,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACzC,IAAI,CAAC,MAAM,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO;4BAAE,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oBAC5E,CAAC;oBAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACtB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,qEAAqE;gBACrE,qEAAqE;gBACrE,uCAAuC;gBACvC,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAE,MAA2B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAClE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACvD,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACpB,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACrE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACnC,qBAAqB,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;YACjI,CAAC;YAAC,MAAM,CAAC;gBAAC,qBAAqB,GAAG,IAAI,CAAC;YAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,sEAAsE;IACtE,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,iBAAiB,GAAkB,IAAI,CAAC;IAC9C,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;IAClD,MAAM,SAAS,GAAmB,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACrH,MAAM,eAAe,GAA4C,qBAAqB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC;IACjH,OAAO;QACL,EAAE,EAAE,IAAI;QACR,WAAW;QACX,wBAAwB;QACxB,4BAA4B;QAC5B,YAAY;QACZ,uBAAuB;QACvB,iBAAiB;QACjB,qBAAqB;QACrB,SAAS;QACT,eAAe;KAChB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"health-codex.d.ts","sourceRoot":"","sources":["../../src/commands/health-codex.ts"],"names":[],"mappings":"AAqDA,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA0OD,wBAAsB,iBAAiB,CAAC,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6RpF"}
1
+ {"version":3,"file":"health-codex.d.ts","sourceRoot":"","sources":["../../src/commands/health-codex.ts"],"names":[],"mappings":"AAsDA,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA6PD,wBAAsB,iBAAiB,CAAC,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyWpF"}
@@ -31,6 +31,7 @@ import { createRequire } from 'module';
31
31
  import { resolveWorkspaceDir } from '../resolve-workspace.js';
32
32
  import { loadPdConfigForPlugin, resolveNearestPdWorkspace, readCodexIngestionConsent, deriveCodexIngestionConsentState, listGovernanceCheckpoints, readGovernanceObservationStats, readGovernanceAdmissionCounts, detectLegacyCodexHookRegistration, CODEX_INGESTION_DISCLOSURE_VERSION, } from '@principles/host-runtime';
33
33
  import { computeCodexWorkerStatusMode, locateCodexTranscriptByRolloutIdentity, CODEX_INGESTION_MIN_VERSION, CODEX_INGESTION_VERIFIED_VERSION, } from '@principles/codex-adapter';
34
+ import { assessCodexInstall, CODEX_INSTALL_NEXT_ACTIONS } from './health-codex-install.js';
34
35
  import { getInstallLayoutPaths, parseInstallManifest } from '@principles/install-layout';
35
36
  import { SqliteConnection, SqliteTaskStore, computeFeatureFlagsFromConfig, isFeatureEnabled } from '@principles/core/runtime-v2';
36
37
  const require = createRequire(import.meta.url);
@@ -360,6 +361,57 @@ export async function handleHealthCodex(opts = {}) {
360
361
  else {
361
362
  noteReadyBlocker('diagnostician', diagnosticianTasks.reason);
362
363
  }
364
+ // ── PRI-953 (R1 A2): installed runtime vs marketplace pin + CLI signals ────
365
+ // `adapterVersion` above is pd-cli's own dependency; hooks execute whatever
366
+ // $pd-setup installed into PLUGIN_DATA. While conversation ingestion is
367
+ // enabled, ANY install state that cannot be verified as INSTALLED_AND_MATCHED
368
+ // is a §15 ready blocker with a nextAction — fail-open fake health is the
369
+ // F2 defect class. With ingestion disabled these stay warnings: hook
370
+ // enforcement permission semantics are independent of ingestion.
371
+ const install = assessCodexInstall(process.env);
372
+ if (install.ok) {
373
+ const installReason = install.installMode === 'STALE_INSTALL'
374
+ ? `stale_install: hooks run adapter ${install.pluginDataAdapterVersion ?? 'unknown'} but the plugin pin is ${install.marketplacePinAdapterVersion ?? 'unknown'}`
375
+ : install.installMode === 'MISSING_RUNTIME'
376
+ ? 'missing_runtime: no PLUGIN_DATA runtime is installed, so hooks cannot execute'
377
+ : install.installMode === 'PIN_UNAVAILABLE'
378
+ ? 'pin_unavailable: the marketplace cache/pin is missing or unreadable, so the effective runtime cannot be verified'
379
+ : install.installMode === 'VERSION_UNREADABLE'
380
+ ? 'version_unreadable: the installed runtime and/or pin exists but its version string is unreadable'
381
+ : null;
382
+ if (installReason !== null) {
383
+ const nextAction = install.installMode === 'STALE_INSTALL' ? CODEX_INSTALL_NEXT_ACTIONS.staleInstall
384
+ : install.installMode === 'MISSING_RUNTIME' ? CODEX_INSTALL_NEXT_ACTIONS.missingRuntime
385
+ : install.installMode === 'PIN_UNAVAILABLE' ? CODEX_INSTALL_NEXT_ACTIONS.pinUnavailable
386
+ : CODEX_INSTALL_NEXT_ACTIONS.versionUnreadable;
387
+ if (ingestionEnabled) {
388
+ noteReadyBlocker('codexRuntime', installReason);
389
+ warnings.push(`codexRuntime nextAction: ${nextAction}`);
390
+ }
391
+ else {
392
+ warnings.push(`codexRuntime ${installReason}. ${nextAction}`);
393
+ }
394
+ }
395
+ if (ingestionEnabled && install.cliStatus !== 'supported') {
396
+ const versionLabel = install.currentCliVersion !== null
397
+ ? `${install.currentCliVersion} (current)`
398
+ : install.lastRolloutCliVersion !== null
399
+ ? `${install.lastRolloutCliVersion} (from newest historical rollout; current CLI unverified)`
400
+ : 'unknown';
401
+ noteReadyBlocker('codexCliVersion', `${install.cliStatus}: ${versionLabel}`);
402
+ warnings.push(`codexCliVersion nextAction: ${CODEX_INSTALL_NEXT_ACTIONS.unverifiedCli}`);
403
+ }
404
+ }
405
+ else {
406
+ const message = `codexRuntime: ${install.reason} — ${install.nextAction}`;
407
+ if (ingestionEnabled) {
408
+ noteReadyBlocker('codexRuntime', install.reason);
409
+ warnings.push(message);
410
+ }
411
+ else {
412
+ warnings.push(message);
413
+ }
414
+ }
363
415
  // ── §15 ready conjunction ──────────────────────────────────────────────────
364
416
  if (!hostCodexEnabled)
365
417
  noteReadyBlocker('host.codex', 'disabled');
@@ -399,6 +451,19 @@ export async function handleHealthCodex(opts = {}) {
399
451
  observations,
400
452
  admissions,
401
453
  diagnosticianTasks,
454
+ install: install.ok
455
+ ? {
456
+ installMode: install.installMode,
457
+ pluginDataAdapterVersion: install.pluginDataAdapterVersion,
458
+ marketplacePinAdapterVersion: install.marketplacePinAdapterVersion,
459
+ staleInstall: install.staleInstall,
460
+ canonicalAdapterVersion: install.canonicalAdapterVersion,
461
+ currentCliVersion: install.currentCliVersion,
462
+ lastRolloutCliVersion: install.lastRolloutCliVersion,
463
+ cliStatus: install.cliStatus,
464
+ cliStatusSource: install.cliStatusSource,
465
+ }
466
+ : { reason: install.reason, nextAction: install.nextAction },
402
467
  ready,
403
468
  readyBlockers: readyBlockers.slice(0, 12),
404
469
  warnings,
@@ -418,6 +483,19 @@ export async function handleHealthCodex(opts = {}) {
418
483
  line('workspace', report.workspace);
419
484
  line('adapterVersion', report.adapterVersion);
420
485
  line('runtimeVersion', report.runtimeVersion);
486
+ if ('staleInstall' in report.install) {
487
+ line('install.installMode', report.install.installMode);
488
+ line('install.pluginDataAdapterVersion', String(report.install.pluginDataAdapterVersion ?? 'not_installed'));
489
+ line('install.marketplacePinAdapterVersion', String(report.install.marketplacePinAdapterVersion ?? 'not_found'));
490
+ line('install.staleInstall', String(report.install.staleInstall));
491
+ line('install.canonicalAdapterVersion', String(report.install.canonicalAdapterVersion ?? 'unknown'));
492
+ line('install.currentCliVersion', `${report.install.currentCliVersion ?? 'unverifiable (codex --version probe failed)'} [current]`);
493
+ line('install.lastRolloutCliVersion', `${report.install.lastRolloutCliVersion ?? 'unknown'} [newest historical rollout — not the current binary]`);
494
+ line('install.cliStatus', `${report.install.cliStatus} (source: ${report.install.cliStatusSource})`);
495
+ }
496
+ else {
497
+ line('install', `${report.install.reason} — ${report.install.nextAction}`);
498
+ }
421
499
  line('codexIngestionMinVersion', report.codexIngestionMinVersion);
422
500
  line('codexIngestionVerifiedVersion', report.codexIngestionVerifiedVersion);
423
501
  line('featureFlag.host.codex', `${String(report.featureFlag.enabled)} (${report.featureFlag.source})`);