@principles/pd-cli 1.145.0 → 1.145.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"diagnose.d.ts","sourceRoot":"","sources":["../../src/commands/diagnose.ts"],"names":[],"mappings":"AAiEA,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmErF;AAkCD;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkhB/E"}
1
+ {"version":3,"file":"diagnose.d.ts","sourceRoot":"","sources":["../../src/commands/diagnose.ts"],"names":[],"mappings":"AAgEA,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmErF;AAkCD;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0iB/E"}
@@ -5,11 +5,11 @@
5
5
  * pd diagnose status --task-id <taskId> --workspace <path>
6
6
  * pd diagnose run --task-id <taskId> --workspace <path>
7
7
  */
8
- import { RuntimeStateManager, SqliteHistoryQuery, SqliteContextAssembler, SqliteDiagnosticianCommitter, SqliteTrajectoryLocator, SqliteSourceTraceLocator, StoreEventEmitter, storeEmitter, SplitDiagnosticianRunner, DiagRootCauseRunner, DiagDistillerRunner, DiagRouterRunner, DefaultDiagRootCauseValidator, DefaultDiagDistillerValidator, DisabledDiagnosticianRunner, TestDoubleRuntimeAdapter, PDRuntimeError, isRuntimeConfigError, CandidateIntakeService, run as diagnoseRun, status as diagnoseStatus, PrincipleTreeLedgerAdapter, buildDreamerSeedFromCandidate, CANDIDATE_KIND_TO_ROUTE, ROUTE_CHANNEL_MAP, MVP_ENABLED_CHANNELS, } from '@principles/core/runtime-v2';
8
+ import { RuntimeStateManager, SqliteHistoryQuery, SqliteContextAssembler, SqliteDiagnosticianCommitter, SqliteTrajectoryLocator, SqliteSourceTraceLocator, StoreEventEmitter, storeEmitter, SplitDiagnosticianRunner, DiagRootCauseRunner, DiagDistillerRunner, DiagRouterRunner, DefaultDiagRootCauseValidator, DefaultDiagDistillerValidator, TestDoubleRuntimeAdapter, PDRuntimeError, isRuntimeConfigError, CandidateIntakeService, run as diagnoseRun, status as diagnoseStatus, PrincipleTreeLedgerAdapter, buildDreamerSeedFromCandidate, CANDIDATE_KIND_TO_ROUTE, ROUTE_CHANNEL_MAP, MVP_ENABLED_CHANNELS, } from '@principles/core/runtime-v2';
9
9
  import { resolveWorkspaceDir } from '../resolve-workspace.js';
10
10
  import { readOutputLanguageFromWorkspace } from '../config-reader.js';
11
- import { loadPdConfig, computeFlagsFromLoadResult } from '../services/pd-config-loader.js';
12
- import { isFeatureEnabled, SPLIT_PIPELINE_TOTAL_TIMEOUT_MS } from '@principles/core/runtime-v2';
11
+ import { loadPdConfig } from '../services/pd-config-loader.js';
12
+ import { SPLIT_PIPELINE_TOTAL_TIMEOUT_MS, resolveDiagnosticianCapability } from '@principles/core/runtime-v2';
13
13
  import { createHash } from 'node:crypto';
14
14
  /** Layer 0 content-hash (design §6.1); injected so diag writers can attach predecessorSummary hashes. */
15
15
  const contentHashFn = (input) => createHash('sha256').update(input).digest('hex');
@@ -147,6 +147,33 @@ export async function handleDiagnoseRun(opts) {
147
147
  process.exit(1);
148
148
  return;
149
149
  }
150
+ // PRI-638: this is the CLI's ONLY capability disable check. It reads the
151
+ // canonical authority (internalAgents.agents.diagnostician.enabled) through
152
+ // the same resolver the runtime factory uses, so `pd diagnose` can never
153
+ // mislabel a deliberate Owner kill switch as a missing runtime, a provider
154
+ // failure or a malformed config. No runtime adapter is constructed and no
155
+ // provider is contacted on this path.
156
+ const configLoadResult = loadPdConfig(workspaceDir);
157
+ const capability = resolveDiagnosticianCapability(configLoadResult.ok ? configLoadResult.effective : configLoadResult.defaults);
158
+ if (!capability.available) {
159
+ const disabledResult = {
160
+ ok: false,
161
+ status: 'failed',
162
+ reason: capability.reason,
163
+ message: capability.message,
164
+ nextAction: capability.nextAction,
165
+ };
166
+ if (opts.json) {
167
+ console.log(JSON.stringify(disabledResult, null, 2));
168
+ }
169
+ else {
170
+ console.error(`error: ${capability.message}`);
171
+ console.error(`reason: ${capability.reason}`);
172
+ console.error(`nextAction: ${capability.nextAction}`);
173
+ }
174
+ process.exit(1);
175
+ return;
176
+ }
150
177
  // Resolve runtime kind. P1 fix (mirrors pain-retry.ts): pd diagnose run
151
178
  // must NOT default to test-double. Without --runtime, the split pipeline
152
179
  // would validate the test-double's stale DiagnosticianOutputV1-shaped
@@ -330,11 +357,11 @@ export async function handleDiagnoseRun(opts) {
330
357
  // PRI-336: Read outputLanguage from workspace config
331
358
  const outputLangResult = readOutputLanguageFromWorkspace(workspaceDir);
332
359
  const outputLanguage = outputLangResult.outputLanguage;
333
- // Check if split pipeline is enabled 3 serial LLM calls need more time
334
- const configLoadResult = loadPdConfig(workspaceDir);
335
- const featureFlags = computeFlagsFromLoadResult(configLoadResult);
336
- const isSplitPipeline = isFeatureEnabled(featureFlags, 'diagnostician_split_pipeline');
337
- const pipelineTimeoutMs = isSplitPipeline ? SPLIT_PIPELINE_TOTAL_TIMEOUT_MS : 300_000;
360
+ // PRI-638: implementation selection is gone. The split pipeline is the only
361
+ // Diagnostician implementation in the tree, so it always runs with its
362
+ // documented 3-stage budget; `diagnostician_split_pipeline` no longer
363
+ // selects a runner nor disables capability.
364
+ const pipelineTimeoutMs = SPLIT_PIPELINE_TOTAL_TIMEOUT_MS;
338
365
  // BUG-1 (PRI-442): extract effectiveConfig so ADR-0019 LLM rate-limit
339
366
  // degradation (isDegradationEnabled in base-peer-runner) can read the
340
367
  // diagnostician_llm_degradation feature flag. Without this, the runners
@@ -348,25 +375,19 @@ export async function handleDiagnoseRun(opts) {
348
375
  console.warn(`[pd diagnose] .pd/config.yaml at ${configLoadResult.configPath} is malformed — falling back to default feature flags. Errors: ${errSummary}. Next action: ${configLoadResult.errors[0]?.nextAction ?? 'fix config errors and retry'}`);
349
376
  }
350
377
  const effectiveConfig = configLoadResult.ok ? configLoadResult.effective : configLoadResult.defaults;
351
- let runner;
352
- if (isSplitPipeline) {
353
- const resolvedKind = typeof runtimeAdapter.kind === 'function' ? runtimeAdapter.kind() : runtimeKind;
354
- const perStageTimeoutMs = pipelineTimeoutMs / 3;
355
- const rootCauseRunner = new DiagRootCauseRunner({ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, validator: new DefaultDiagRootCauseValidator(), contextAssembler, contentHashFn }, { owner: 'pd-cli-diagnose', runtimeKind: resolvedKind, outputLanguage, timeoutMs: perStageTimeoutMs, effectiveConfig });
356
- const distillerRunner = new DiagDistillerRunner({ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, validator: new DefaultDiagDistillerValidator(), contentHashFn }, { owner: 'pd-cli-diagnose', runtimeKind: resolvedKind, outputLanguage, timeoutMs: perStageTimeoutMs, effectiveConfig });
357
- const routerRunner = new DiagRouterRunner({ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, committer, contentHashFn }, { owner: 'pd-cli-diagnose', runtimeKind: resolvedKind, outputLanguage, timeoutMs: perStageTimeoutMs, effectiveConfig });
358
- runner = new SplitDiagnosticianRunner({
359
- rootCauseRunner,
360
- distillerRunner,
361
- routerRunner,
362
- stateManager,
363
- committer,
364
- perStageTimeoutMs,
365
- });
366
- }
367
- else {
368
- runner = new DisabledDiagnosticianRunner();
369
- }
378
+ const resolvedKind = typeof runtimeAdapter.kind === 'function' ? runtimeAdapter.kind() : runtimeKind;
379
+ const perStageTimeoutMs = pipelineTimeoutMs / 3;
380
+ const rootCauseRunner = new DiagRootCauseRunner({ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, validator: new DefaultDiagRootCauseValidator(), contextAssembler, contentHashFn }, { owner: 'pd-cli-diagnose', runtimeKind: resolvedKind, outputLanguage, timeoutMs: perStageTimeoutMs, effectiveConfig });
381
+ const distillerRunner = new DiagDistillerRunner({ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, validator: new DefaultDiagDistillerValidator(), contentHashFn }, { owner: 'pd-cli-diagnose', runtimeKind: resolvedKind, outputLanguage, timeoutMs: perStageTimeoutMs, effectiveConfig });
382
+ const routerRunner = new DiagRouterRunner({ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, committer, contentHashFn }, { owner: 'pd-cli-diagnose', runtimeKind: resolvedKind, outputLanguage, timeoutMs: perStageTimeoutMs, effectiveConfig });
383
+ const runner = new SplitDiagnosticianRunner({
384
+ rootCauseRunner,
385
+ distillerRunner,
386
+ routerRunner,
387
+ stateManager,
388
+ committer,
389
+ perStageTimeoutMs,
390
+ });
370
391
  if (!opts.json) {
371
392
  console.log(`\nRunning diagnostician for task: ${opts.taskId}`);
372
393
  console.log(`Workspace: ${workspaceDir}\n`);
@@ -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,45 @@
1
+ /**
2
+ * pd pain list command — PRI-640 (Governance Signal Host Attribution v0.1)
3
+ *
4
+ * Read-only: lists canonical pain_events rows from trajectory.db with their
5
+ * host attribution. `--host` filters by openclaw / codex / unknown.
6
+ *
7
+ * Usage:
8
+ * pd pain list [--workspace <path>] [--limit N] [--host openclaw|codex|unknown] [--json]
9
+ *
10
+ * Host semantics (SPEC §6/§12): host_kind is observability metadata only.
11
+ * NULL (legacy / manual / unprovable) is reported as `unknown` — never guessed.
12
+ * On a pre-PRI-640 database without the host_kind column every row reports
13
+ * `unknown` and a `host_kind_column_missing` warning is emitted (rc-9).
14
+ */
15
+ export type PainListHostFilter = 'openclaw' | 'codex' | 'unknown';
16
+ export interface PainListOptions {
17
+ workspace?: string;
18
+ limit?: number;
19
+ host?: string;
20
+ json?: boolean;
21
+ }
22
+ export interface PainListEntry {
23
+ /** Canonical pain identity; `row:<id>` when the legacy row has none. */
24
+ painId: string;
25
+ source: string;
26
+ /** 'openclaw' | 'codex' | 'unknown' — unknown covers NULL/unprovable. */
27
+ host: PainListHostFilter | 'unknown';
28
+ score: number;
29
+ severity: string | null;
30
+ createdAt: string;
31
+ runtimeTaskId: string | null;
32
+ }
33
+ export interface PainListResult {
34
+ count: number;
35
+ pains: PainListEntry[];
36
+ workspace: string;
37
+ hostFilter: PainListHostFilter | null;
38
+ warnings: string[];
39
+ }
40
+ export declare function listPains(dbPath: string, options?: {
41
+ limit?: number;
42
+ host?: PainListHostFilter;
43
+ }): Promise<PainListResult>;
44
+ export declare function handlePainList(opts: PainListOptions): Promise<void>;
45
+ //# sourceMappingURL=pain-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pain-list.d.ts","sourceRoot":"","sources":["../../src/commands/pain-list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,IAAI,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACtC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAoCD,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,kBAAkB,CAAA;CAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CA+CpI;AAoBD,wBAAsB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDzE"}
@@ -0,0 +1,165 @@
1
+ /**
2
+ * pd pain list command — PRI-640 (Governance Signal Host Attribution v0.1)
3
+ *
4
+ * Read-only: lists canonical pain_events rows from trajectory.db with their
5
+ * host attribution. `--host` filters by openclaw / codex / unknown.
6
+ *
7
+ * Usage:
8
+ * pd pain list [--workspace <path>] [--limit N] [--host openclaw|codex|unknown] [--json]
9
+ *
10
+ * Host semantics (SPEC §6/§12): host_kind is observability metadata only.
11
+ * NULL (legacy / manual / unprovable) is reported as `unknown` — never guessed.
12
+ * On a pre-PRI-640 database without the host_kind column every row reports
13
+ * `unknown` and a `host_kind_column_missing` warning is emitted (rc-9).
14
+ */
15
+ import * as fs from 'fs';
16
+ import * as path from 'path';
17
+ import { resolveWorkspaceDir } from '../resolve-workspace.js';
18
+ function isRecord(value) {
19
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
20
+ }
21
+ function ownField(row, key) {
22
+ return isRecord(row) && Object.hasOwn(row, key) ? row[key] : undefined;
23
+ }
24
+ /** Runtime Contract #1/#4: validate each DB row; skip malformed rows loudly. */
25
+ function toPainEntry(row) {
26
+ const id = ownField(row, 'id');
27
+ const source = ownField(row, 'source');
28
+ const score = ownField(row, 'score');
29
+ const createdAt = ownField(row, 'created_at');
30
+ if (typeof id !== 'number' || typeof source !== 'string' || typeof score !== 'number' || typeof createdAt !== 'string') {
31
+ return null;
32
+ }
33
+ const canonicalPainId = ownField(row, 'canonical_pain_id');
34
+ const hostKind = ownField(row, 'host_kind');
35
+ const severity = ownField(row, 'severity');
36
+ const runtimeTaskId = ownField(row, 'runtime_task_id');
37
+ const host = hostKind === 'openclaw' || hostKind === 'codex' ? hostKind : 'unknown';
38
+ return {
39
+ painId: typeof canonicalPainId === 'string' && canonicalPainId.length > 0 ? canonicalPainId : `row:${id}`,
40
+ source,
41
+ host,
42
+ score,
43
+ severity: typeof severity === 'string' ? severity : null,
44
+ createdAt,
45
+ runtimeTaskId: typeof runtimeTaskId === 'string' && runtimeTaskId.length > 0 ? runtimeTaskId : null,
46
+ };
47
+ }
48
+ export async function listPains(dbPath, options = {}) {
49
+ const Database = (await import('better-sqlite3')).default;
50
+ const db = new Database(dbPath, { readonly: true });
51
+ try {
52
+ const warnings = [];
53
+ const columns = db.prepare('PRAGMA table_info(pain_events)').all();
54
+ const hasHostKindColumn = columns.some((row) => ownField(row, 'name') === 'host_kind');
55
+ if (!hasHostKindColumn) {
56
+ warnings.push('host_kind_column_missing');
57
+ }
58
+ const params = [];
59
+ let query = 'SELECT id, source, score, severity, created_at, canonical_pain_id, runtime_task_id';
60
+ query += hasHostKindColumn ? ', host_kind' : ", NULL AS host_kind";
61
+ query += ' FROM pain_events WHERE 1=1';
62
+ if (options.host === 'unknown') {
63
+ query += hasHostKindColumn ? ' AND host_kind IS NULL' : '';
64
+ }
65
+ else if (options.host === 'openclaw' || options.host === 'codex') {
66
+ if (!hasHostKindColumn) {
67
+ return { count: 0, pains: [], workspace: path.dirname(path.dirname(dbPath)), hostFilter: options.host, warnings };
68
+ }
69
+ query += ' AND host_kind = ?';
70
+ params.push(options.host);
71
+ }
72
+ query += ' ORDER BY created_at DESC, id DESC';
73
+ const limit = options.limit ?? 20;
74
+ query += ' LIMIT ?';
75
+ params.push(limit);
76
+ const rawRows = db.prepare(query).all(...params);
77
+ const skipped = rawRows.length - rawRows.map(toPainEntry).filter((entry) => entry !== null).length;
78
+ if (skipped > 0) {
79
+ warnings.push(`malformed_rows_skipped:${skipped}`);
80
+ }
81
+ const pains = rawRows
82
+ .map(toPainEntry)
83
+ .filter((entry) => entry !== null);
84
+ return {
85
+ count: pains.length,
86
+ pains,
87
+ workspace: path.dirname(path.dirname(dbPath)),
88
+ hostFilter: options.host ?? null,
89
+ warnings,
90
+ };
91
+ }
92
+ finally {
93
+ db.close();
94
+ }
95
+ }
96
+ function printHuman(result) {
97
+ const filterNote = result.hostFilter ? ` (host: ${result.hostFilter})` : '';
98
+ console.log(`Pain events — ${result.count} shown${filterNote}`);
99
+ console.log('─'.repeat(96));
100
+ for (const pain of result.pains) {
101
+ const painId = pain.painId.length > 40 ? `${pain.painId.slice(0, 37)}...` : pain.painId;
102
+ console.log(` ${pain.createdAt} host=${pain.host.padEnd(8)} score=${String(pain.score).padEnd(3)} ${pain.severity ?? '-'.padEnd(6)} ${pain.source}`);
103
+ console.log(` id: ${painId}${pain.runtimeTaskId ? ` | task: ${pain.runtimeTaskId}` : ''}`);
104
+ }
105
+ console.log('─'.repeat(96));
106
+ for (const warning of result.warnings) {
107
+ console.error(`WARN: ${warning}`);
108
+ }
109
+ if (result.warnings.includes('host_kind_column_missing')) {
110
+ console.error('Next: run `pd runtime init --workspace <dir>` (or restart the OpenClaw plugin) to migrate this workspace schema.');
111
+ }
112
+ }
113
+ export async function handlePainList(opts) {
114
+ const { workspace, limit: rawLimit, host: rawHost, json } = opts;
115
+ if (rawHost !== undefined && rawHost !== 'openclaw' && rawHost !== 'codex' && rawHost !== 'unknown') {
116
+ const message = `invalid host filter: expected openclaw | codex | unknown, got ${rawHost}`;
117
+ if (json) {
118
+ console.log(JSON.stringify({ status: 'failed', reason: 'invalid_host_filter', message, nextAction: 'Pass --host openclaw, --host codex, or --host unknown.' }));
119
+ }
120
+ else {
121
+ console.error('Error: ' + message);
122
+ console.error('Next: Pass --host openclaw, --host codex, or --host unknown.');
123
+ }
124
+ process.exit(1);
125
+ return; // guard: test stubs of process.exit continue execution (cli-2-exit-stops)
126
+ }
127
+ const hostFilter = rawHost;
128
+ let effectiveLimit = 20;
129
+ if (rawLimit !== undefined) {
130
+ if (!Number.isInteger(rawLimit) || rawLimit < 1 || rawLimit > 10000) {
131
+ const message = `invalid limit: limit must be an integer between 1 and 10000, got ${rawLimit}`;
132
+ if (json) {
133
+ console.log(JSON.stringify({ status: 'failed', reason: 'invalid_limit', message, nextAction: 'Pass --limit with a valid integer (1-10000).' }));
134
+ }
135
+ else {
136
+ console.error('Error: ' + message);
137
+ console.error('Next: Pass --limit with a valid integer (1-10000).');
138
+ }
139
+ process.exit(1);
140
+ return; // guard: test stubs of process.exit continue execution (cli-2-exit-stops)
141
+ }
142
+ effectiveLimit = rawLimit;
143
+ }
144
+ const workspaceDir = resolveWorkspaceDir(workspace);
145
+ const dbPath = path.join(workspaceDir, '.state', 'trajectory.db');
146
+ if (!fs.existsSync(dbPath)) {
147
+ const message = `trajectory database not found at ${dbPath}`;
148
+ if (json) {
149
+ console.log(JSON.stringify({ status: 'failed', reason: 'trajectory_db_not_found', message, nextAction: 'Initialize the PD workspace first (pd runtime init), or pass --workspace pointing at an initialized workspace.' }));
150
+ }
151
+ else {
152
+ console.error('Error: ' + message);
153
+ console.error('Next: Initialize the PD workspace first (pd runtime init), or pass --workspace pointing at an initialized workspace.');
154
+ }
155
+ process.exit(1);
156
+ return; // guard: test stubs of process.exit continue execution (cli-2-exit-stops)
157
+ }
158
+ const result = await listPains(dbPath, { limit: effectiveLimit, ...(hostFilter ? { host: hostFilter } : {}) });
159
+ if (json) {
160
+ console.log(JSON.stringify(result, null, 2));
161
+ return;
162
+ }
163
+ printHuman(result);
164
+ }
165
+ //# sourceMappingURL=pain-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pain-list.js","sourceRoot":"","sources":["../../src/commands/pain-list.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pain-retry.d.ts","sourceRoot":"","sources":["../../src/commands/pain-retry.ts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgKD,wBAAsB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsnB3E;AAED,wFAAwF;AACxF,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAmB,GACnE,OAAO,CAsBT"}
1
+ {"version":3,"file":"pain-retry.d.ts","sourceRoot":"","sources":["../../src/commands/pain-retry.ts"],"names":[],"mappings":"AA4CA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmKD,wBAAsB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwoB3E;AAED,wFAAwF;AACxF,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAmB,GACnE,OAAO,CAsBT"}
@@ -10,8 +10,8 @@
10
10
  * IMPORTANT: --runtime is required (no default). test-double would generate fake
11
11
  * candidates/ledger in a real workspace, so it must be explicitly requested.
12
12
  */
13
- import { RuntimeStateManager, SqliteHistoryQuery, SqliteContextAssembler, SqliteDiagnosticianCommitter, SqliteTrajectoryLocator, SqliteSourceTraceLocator, StoreEventEmitter, SplitDiagnosticianRunner, DiagRootCauseRunner, DiagDistillerRunner, DiagRouterRunner, DefaultDiagRootCauseValidator, DefaultDiagDistillerValidator, DisabledDiagnosticianRunner, TestDoubleRuntimeAdapter, OpenClawCliRuntimeAdapter, PiAiRuntimeAdapter, PDRuntimeError, isRuntimeConfigError, CandidateIntakeService, run as diagnoseRun, isFeatureEnabled, SPLIT_PIPELINE_TOTAL_TIMEOUT_MS, PrincipleTreeLedgerAdapter, SqliteDeadLetterStore, PainSignalBridge, } from '@principles/core/runtime-v2';
14
- import { loadPdConfig, computeFlagsFromLoadResult } from '../services/pd-config-loader.js';
13
+ import { RuntimeStateManager, SqliteHistoryQuery, SqliteContextAssembler, SqliteDiagnosticianCommitter, SqliteTrajectoryLocator, SqliteSourceTraceLocator, StoreEventEmitter, SplitDiagnosticianRunner, DiagRootCauseRunner, DiagDistillerRunner, DiagRouterRunner, DefaultDiagRootCauseValidator, DefaultDiagDistillerValidator, TestDoubleRuntimeAdapter, OpenClawCliRuntimeAdapter, PiAiRuntimeAdapter, PDRuntimeError, isRuntimeConfigError, CandidateIntakeService, run as diagnoseRun, SPLIT_PIPELINE_TOTAL_TIMEOUT_MS, resolveDiagnosticianCapability, PrincipleTreeLedgerAdapter, SqliteDeadLetterStore, PainSignalBridge, } from '@principles/core/runtime-v2';
14
+ import { loadPdConfig } from '../services/pd-config-loader.js';
15
15
  import { resolveRuntimeFromPdConfig } from '../services/resolve-runtime-from-pd-config.js';
16
16
  import { createHash } from 'node:crypto';
17
17
  /** Layer 0 content-hash (design §6.1); injected so diag writers can attach predecessorSummary hashes. */
@@ -164,6 +164,9 @@ function refuseExit(opts, payload) {
164
164
  }
165
165
  else {
166
166
  console.error(`error: ${payload.message ?? payload.reason}`);
167
+ // PRI-638: the reason must be visible in text mode too — an Owner kill
168
+ // switch (capability_disabled) must not read like a runtime fault.
169
+ console.error(`reason: ${payload.reason}`);
167
170
  console.error(`nextAction: ${payload.nextAction}`);
168
171
  }
169
172
  process.exit(1);
@@ -178,6 +181,25 @@ export async function handlePainRetry(opts) {
178
181
  return refuseExit(opts, { painId: opts.painId, reason: resolution.reason, nextAction: resolution.nextAction });
179
182
  }
180
183
  const { taskId } = resolution;
184
+ // PRI-638: the capability gate comes BEFORE runtime resolution. Previously an
185
+ // Owner-disabled Diagnostician surfaced here as `missing_runtime` ("no
186
+ // .pd/config.yaml runtime binding found"), which told the Owner their config
187
+ // was broken when they had deliberately switched the agent off. This reads the
188
+ // same canonical authority (`internalAgents.agents.diagnostician.enabled`) the
189
+ // runtime factory uses — the CLI owns no kill switch of its own.
190
+ const capability = resolveDiagnosticianCapability((() => {
191
+ const loaded = loadPdConfig(workspaceDir);
192
+ return loaded.ok ? loaded.effective : loaded.defaults;
193
+ })());
194
+ if (!capability.available) {
195
+ return refuseExit(opts, {
196
+ painId: opts.painId,
197
+ taskId,
198
+ reason: capability.reason,
199
+ message: capability.message,
200
+ nextAction: capability.nextAction,
201
+ });
202
+ }
181
203
  // Step 2: Look up task and validate
182
204
  const stateManager = new RuntimeStateManager({ workspaceDir });
183
205
  try {
@@ -439,17 +461,18 @@ export async function handlePainRetry(opts) {
439
461
  // PRI-336: Read outputLanguage from workspace config
440
462
  const outputLangResult = readOutputLanguageFromWorkspace(workspaceDir);
441
463
  const outputLanguage = outputLangResult.outputLanguage;
442
- // Check if split pipeline is enabled 3 serial LLM calls need more time
443
- const configLoadResult = loadPdConfig(workspaceDir);
444
- const featureFlags = computeFlagsFromLoadResult(configLoadResult);
445
- const isSplitPipeline = isFeatureEnabled(featureFlags, 'diagnostician_split_pipeline');
446
- const pipelineTimeoutMs = isSplitPipeline ? SPLIT_PIPELINE_TOTAL_TIMEOUT_MS : 300_000;
464
+ // PRI-638: implementation selection is gone. The split pipeline is the only
465
+ // Diagnostician implementation, so it always runs with its documented
466
+ // 3-stage budget; `diagnostician_split_pipeline` no longer selects a runner
467
+ // nor disables capability (the capability gate above owns that).
468
+ const pipelineTimeoutMs = SPLIT_PIPELINE_TOTAL_TIMEOUT_MS;
447
469
  // BUG-1 (PRI-442): extract effectiveConfig so ADR-0019 LLM rate-limit
448
470
  // degradation (isDegradationEnabled in base-peer-runner) can read the
449
471
  // diagnostician_llm_degradation feature flag. Without this, the runners
450
472
  // receive no effectiveConfig and degradation silently never fires.
451
473
  // CR-1 (CodeRabbit P2, rc-9): warn when config load failed so the
452
474
  // fallback to defaults is observable — no silent degradation.
475
+ const configLoadResult = loadPdConfig(workspaceDir);
453
476
  if (!configLoadResult.ok) {
454
477
  const errSummary = configLoadResult.errors
455
478
  .map((e) => `${e.path}: ${e.reason}`)
@@ -457,25 +480,19 @@ export async function handlePainRetry(opts) {
457
480
  console.warn(`[pd pain retry] .pd/config.yaml at ${configLoadResult.configPath} is malformed — falling back to default feature flags. Errors: ${errSummary}. Next action: ${configLoadResult.errors[0]?.nextAction ?? 'fix config errors and retry'}`);
458
481
  }
459
482
  const effectiveConfig = configLoadResult.ok ? configLoadResult.effective : configLoadResult.defaults;
460
- let runner;
461
- if (isSplitPipeline) {
462
- const resolvedKind = typeof runtimeAdapter.kind === 'function' ? runtimeAdapter.kind() : runtimeKind;
463
- const perStageTimeoutMs = pipelineTimeoutMs / 3;
464
- const rootCauseRunner = new DiagRootCauseRunner({ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, validator: new DefaultDiagRootCauseValidator(), contextAssembler, contentHashFn }, { owner: 'pd-cli-pain-retry', runtimeKind: resolvedKind, outputLanguage, timeoutMs: perStageTimeoutMs, effectiveConfig });
465
- const distillerRunner = new DiagDistillerRunner({ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, validator: new DefaultDiagDistillerValidator(), contentHashFn }, { owner: 'pd-cli-pain-retry', runtimeKind: resolvedKind, outputLanguage, timeoutMs: perStageTimeoutMs, effectiveConfig });
466
- const routerRunner = new DiagRouterRunner({ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, committer, contentHashFn }, { owner: 'pd-cli-pain-retry', runtimeKind: resolvedKind, outputLanguage, timeoutMs: perStageTimeoutMs, effectiveConfig });
467
- runner = new SplitDiagnosticianRunner({
468
- rootCauseRunner,
469
- distillerRunner,
470
- routerRunner,
471
- stateManager,
472
- committer,
473
- perStageTimeoutMs,
474
- });
475
- }
476
- else {
477
- runner = new DisabledDiagnosticianRunner();
478
- }
483
+ const resolvedKind = typeof runtimeAdapter.kind === 'function' ? runtimeAdapter.kind() : runtimeKind;
484
+ const perStageTimeoutMs = pipelineTimeoutMs / 3;
485
+ const rootCauseRunner = new DiagRootCauseRunner({ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, validator: new DefaultDiagRootCauseValidator(), contextAssembler, contentHashFn }, { owner: 'pd-cli-pain-retry', runtimeKind: resolvedKind, outputLanguage, timeoutMs: perStageTimeoutMs, effectiveConfig });
486
+ const distillerRunner = new DiagDistillerRunner({ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, validator: new DefaultDiagDistillerValidator(), contentHashFn }, { owner: 'pd-cli-pain-retry', runtimeKind: resolvedKind, outputLanguage, timeoutMs: perStageTimeoutMs, effectiveConfig });
487
+ const routerRunner = new DiagRouterRunner({ stateManager, runtimeAdapter, eventEmitter, artifactStore: stateManager.piArtifactStore, committer, contentHashFn }, { owner: 'pd-cli-pain-retry', runtimeKind: resolvedKind, outputLanguage, timeoutMs: perStageTimeoutMs, effectiveConfig });
488
+ const runner = new SplitDiagnosticianRunner({
489
+ rootCauseRunner,
490
+ distillerRunner,
491
+ routerRunner,
492
+ stateManager,
493
+ committer,
494
+ perStageTimeoutMs,
495
+ });
479
496
  // ── Dead letter replay branch ──────────────────────────────────────────
480
497
  // When task was null but a dead letter was found, replay the pain signal
481
498
  // through PainSignalBridge.onPainDetected instead of calling diagnoseRun.