create-principles-disciple 1.147.5 → 1.147.6
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/_release/product-identity.json +1 -1
- package/codex-adapter/package.json +1 -1
- package/console/dist/server/models/HealthCheckModel.d.ts +0 -1
- package/console/dist/server/models/HealthCheckModel.js +0 -54
- package/console/dist/server/types/index.d.ts +1 -9
- package/console/dist/web/assets/app.js +18 -18
- package/core/dist/index.d.ts +1 -1
- package/core/dist/index.d.ts.map +1 -1
- package/core/dist/index.js +1 -1
- package/core/dist/index.js.map +1 -1
- package/core/dist/prompt-builder/index.d.ts +0 -1
- package/core/dist/prompt-builder/index.d.ts.map +1 -1
- package/core/dist/prompt-builder/index.js +0 -1
- package/core/dist/prompt-builder/index.js.map +1 -1
- package/core/dist/runtime-v2/adapter/output-schema-registry.js +2 -2
- package/core/dist/runtime-v2/control-plane-triage.d.ts +1 -1
- package/core/dist/runtime-v2/control-plane-triage.d.ts.map +1 -1
- package/core/dist/runtime-v2/control-plane-triage.js +0 -15
- package/core/dist/runtime-v2/control-plane-triage.js.map +1 -1
- package/core/dist/runtime-v2/evidence-triage/observation-resolver.d.ts +3 -6
- package/core/dist/runtime-v2/evidence-triage/observation-resolver.d.ts.map +1 -1
- package/core/dist/runtime-v2/evidence-triage/observation-resolver.js +5 -10
- package/core/dist/runtime-v2/evidence-triage/observation-resolver.js.map +1 -1
- package/core/dist/runtime-v2/evidence-triage/source-descriptors.d.ts +2 -1
- package/core/dist/runtime-v2/evidence-triage/source-descriptors.d.ts.map +1 -1
- package/core/dist/runtime-v2/evidence-triage/source-descriptors.js +3 -8
- package/core/dist/runtime-v2/evidence-triage/source-descriptors.js.map +1 -1
- package/core/dist/runtime-v2/evidence-triage/types.d.ts +1 -1
- package/core/dist/runtime-v2/evidence-triage/types.d.ts.map +1 -1
- package/core/dist/runtime-v2/evidence-triage/types.js +0 -1
- package/core/dist/runtime-v2/evidence-triage/types.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js +4 -1
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts.map +1 -1
- package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js +3 -8
- package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js.map +1 -1
- package/core/dist/runtime-v2/golden-trace.d.ts.map +1 -1
- package/core/dist/runtime-v2/golden-trace.js +0 -1
- package/core/dist/runtime-v2/golden-trace.js.map +1 -1
- package/core/dist/runtime-v2/index.d.ts +5 -9
- package/core/dist/runtime-v2/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/index.js +4 -8
- package/core/dist/runtime-v2/index.js.map +1 -1
- package/core/dist/runtime-v2/internalization/rule-host-contracts.d.ts +0 -1
- package/core/dist/runtime-v2/internalization/rule-host-contracts.d.ts.map +1 -1
- package/core/dist/runtime-v2/operator-health-read-model.d.ts +0 -2
- package/core/dist/runtime-v2/operator-health-read-model.d.ts.map +1 -1
- package/core/dist/runtime-v2/operator-health-read-model.js +1 -55
- package/core/dist/runtime-v2/operator-health-read-model.js.map +1 -1
- package/core/dist/runtime-v2/signal-collector/confidence-gate.d.ts +1 -5
- package/core/dist/runtime-v2/signal-collector/confidence-gate.d.ts.map +1 -1
- package/core/dist/runtime-v2/signal-collector/confidence-gate.js +0 -9
- package/core/dist/runtime-v2/signal-collector/confidence-gate.js.map +1 -1
- package/core/dist/runtime-v2/signal-collector/keyword-stage.d.ts +2 -2
- package/core/dist/runtime-v2/signal-collector/keyword-stage.d.ts.map +1 -1
- package/core/dist/runtime-v2/signal-collector/keyword-stage.js +6 -10
- package/core/dist/runtime-v2/signal-collector/keyword-stage.js.map +1 -1
- package/core/dist/runtime-v2/signal-collector/llm-stage.d.ts +1 -1
- package/core/dist/runtime-v2/signal-collector/llm-stage.d.ts.map +1 -1
- package/core/dist/runtime-v2/signal-collector/llm-stage.js +3 -4
- package/core/dist/runtime-v2/signal-collector/llm-stage.js.map +1 -1
- package/core/dist/runtime-v2/signal-collector/signal-collector.js +4 -4
- package/core/dist/runtime-v2/signal-collector/signal-collector.js.map +1 -1
- package/core/dist/runtime-v2/signal-collector/types.d.ts +6 -8
- package/core/dist/runtime-v2/signal-collector/types.d.ts.map +1 -1
- package/core/dist/runtime-v2/signal-collector/types.js +6 -6
- package/core/dist/runtime-v2/signal-collector/types.js.map +1 -1
- package/core/dist/runtime-v2/trajectory-schema.d.ts +24 -4
- package/core/dist/runtime-v2/trajectory-schema.d.ts.map +1 -1
- package/core/dist/runtime-v2/trajectory-schema.js +58 -2
- package/core/dist/runtime-v2/trajectory-schema.js.map +1 -1
- package/core/dist/runtime-v2/types/event-types.d.ts +0 -35
- package/core/dist/runtime-v2/types/event-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/event-types.js +0 -19
- package/core/dist/runtime-v2/types/event-types.js.map +1 -1
- package/core/dist/runtime-v2/types/index.d.ts +2 -2
- package/core/dist/runtime-v2/types/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/index.js +1 -1
- package/core/dist/runtime-v2/types/index.js.map +1 -1
- package/core/dist/trajectory-types.d.ts +0 -2
- package/core/dist/trajectory-types.d.ts.map +1 -1
- package/core/package.json +1 -1
- package/dist/mvp-config.d.ts +2 -2
- package/dist/mvp-config.d.ts.map +1 -1
- package/dist/mvp-config.js +4 -2
- package/dist/mvp-config.js.map +1 -1
- package/host-runtime/dist/governance-signal-admission.d.ts +0 -2
- package/host-runtime/dist/governance-signal-admission.js +14 -15
- package/host-runtime/dist/production-pain-evidence.d.ts +1 -1
- package/host-runtime/dist/production-pain-evidence.js +42 -7
- package/host-runtime/dist/production-rulehost-gate.d.ts +0 -1
- package/host-runtime/dist/production-rulehost-gate.js +3 -4
- package/host-runtime/dist/signal-classifier.d.ts +8 -0
- package/host-runtime/dist/signal-classifier.js +10 -2
- package/host-runtime/package.json +1 -1
- package/package.json +3 -3
- package/pd-cli/dist/commands/pain-evidence.d.ts +2 -4
- package/pd-cli/dist/commands/pain-evidence.d.ts.map +1 -1
- package/pd-cli/dist/commands/pain-evidence.js +2 -4
- package/pd-cli/dist/commands/pain-evidence.js.map +1 -1
- package/pd-cli/dist/commands/runtime-canary.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-canary.js +2 -68
- package/pd-cli/dist/commands/runtime-canary.js.map +1 -1
- package/pd-cli/dist/commands/runtime-diagnostics-export.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-diagnostics-export.js +1 -25
- package/pd-cli/dist/commands/runtime-diagnostics-export.js.map +1 -1
- package/pd-cli/dist/commands/runtime-health-snapshot.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-health-snapshot.js +0 -9
- package/pd-cli/dist/commands/runtime-health-snapshot.js.map +1 -1
- package/pd-cli/dist/index.js +0 -9
- package/pd-cli/dist/index.js.map +1 -1
- package/pd-mcp-server/dist/version.d.ts +1 -1
- package/pd-mcp-server/dist/version.js +1 -1
- package/pd-mcp-server/package.json +1 -1
- package/plugin/dist/bundle.js +492 -481
- package/plugin/dist/config/defaults/runtime.d.ts +0 -4
- package/plugin/dist/core/config.d.ts +0 -35
- package/plugin/dist/core/pain.d.ts +0 -1
- package/plugin/dist/core/session-tracker.d.ts +3 -51
- package/plugin/dist/core/signal-collector-host.d.ts +5 -13
- package/plugin/dist/core/signal-keyword-store.d.ts +2 -2
- package/plugin/dist/core/trajectory.d.ts +0 -2
- package/plugin/dist/governance-audit.js +2 -2
- package/plugin/dist/hooks/after-tool-call-helpers.d.ts +5 -12
- package/plugin/dist/hooks/after-tool-call-types.d.ts +0 -2
- package/plugin/dist/hooks/gate-block-helper.d.ts +1 -1
- package/plugin/dist/hooks/gate.d.ts +3 -4
- package/plugin/dist/hooks/pain.d.ts +4 -4
- package/plugin/dist/openclaw.plugin.json +1 -1
- package/plugin/dist/rulehost-evidence.js +45 -45
- package/plugin/dist/templates/pain_settings.json +0 -46
- package/plugin/dist/types/event-types.d.ts +1 -1
- package/plugin/openclaw.plugin.json +1 -1
- package/plugin/package.json +1 -1
- package/plugin/templates/pain_settings.json +0 -46
- package/release-manager/dist/mvp-config.js +4 -2
- package/release-manager/package.json +1 -1
- package/workbuddy-adapter/package.json +1 -1
- package/core/dist/prompt-builder/attitude-directive.d.ts +0 -7
- package/core/dist/prompt-builder/attitude-directive.d.ts.map +0 -1
- package/core/dist/prompt-builder/attitude-directive.js +0 -39
- package/core/dist/prompt-builder/attitude-directive.js.map +0 -1
- package/core/dist/runtime-v2/gfi/gfi-kernel.d.ts +0 -12
- package/core/dist/runtime-v2/gfi/gfi-kernel.d.ts.map +0 -1
- package/core/dist/runtime-v2/gfi/gfi-kernel.js +0 -148
- package/core/dist/runtime-v2/gfi/gfi-kernel.js.map +0 -1
- package/core/dist/runtime-v2/gfi/gfi-policy.d.ts +0 -3
- package/core/dist/runtime-v2/gfi/gfi-policy.d.ts.map +0 -1
- package/core/dist/runtime-v2/gfi/gfi-policy.js +0 -23
- package/core/dist/runtime-v2/gfi/gfi-policy.js.map +0 -1
- package/core/dist/runtime-v2/gfi/gfi-read-model.d.ts +0 -78
- package/core/dist/runtime-v2/gfi/gfi-read-model.d.ts.map +0 -1
- package/core/dist/runtime-v2/gfi/gfi-read-model.js +0 -129
- package/core/dist/runtime-v2/gfi/gfi-read-model.js.map +0 -1
- package/core/dist/runtime-v2/gfi/gfi-types.d.ts +0 -70
- package/core/dist/runtime-v2/gfi/gfi-types.d.ts.map +0 -1
- package/core/dist/runtime-v2/gfi/gfi-types.js +0 -2
- package/core/dist/runtime-v2/gfi/gfi-types.js.map +0 -1
- package/core/dist/runtime-v2/gfi/index.d.ts +0 -6
- package/core/dist/runtime-v2/gfi/index.d.ts.map +0 -1
- package/core/dist/runtime-v2/gfi/index.js +0 -4
- package/core/dist/runtime-v2/gfi/index.js.map +0 -1
- package/pd-cli/dist/commands/runtime-gfi-snapshot.d.ts +0 -7
- package/pd-cli/dist/commands/runtime-gfi-snapshot.d.ts.map +0 -1
- package/pd-cli/dist/commands/runtime-gfi-snapshot.js +0 -101
- package/pd-cli/dist/commands/runtime-gfi-snapshot.js.map +0 -1
|
@@ -35,7 +35,7 @@ import fs from 'node:fs';
|
|
|
35
35
|
import path from 'node:path';
|
|
36
36
|
import { randomUUID } from 'node:crypto';
|
|
37
37
|
import Database from 'better-sqlite3';
|
|
38
|
-
import { collectSync, computeFeatureFlagsFromConfig, CORRECTION_SEED_KEYWORDS, PainToPrincipleService, PrincipleTreeLedgerAdapter, RuntimeStateManager, createDiagnosticianTaskId, disposePainSignalBridgesForWorkspace, sanitizeString, boundCorrectionEvidenceText, MAX_EVIDENCE_VALUE_CHARS, evaluateStage2ConfidenceGate, evaluatePainIngress, STAGE2_MAX_ATTEMPTS, PENDING_CANDIDATE_TTL_MS, } from '@principles/core/runtime-v2';
|
|
38
|
+
import { collectSync, computeFeatureFlagsFromConfig, CORRECTION_SEED_KEYWORDS, PainToPrincipleService, PrincipleTreeLedgerAdapter, RuntimeStateManager, createDiagnosticianTaskId, disposePainSignalBridgesForWorkspace, sanitizeString, boundCorrectionEvidenceText, MAX_EVIDENCE_VALUE_CHARS, evaluateStage2ConfidenceGate, evaluatePainIngress, migrateLegacyGfiSchema, STAGE2_MAX_ATTEMPTS, PENDING_CANDIDATE_TTL_MS, } from '@principles/core/runtime-v2';
|
|
39
39
|
import { deriveProductionCorrectionPainIdentity, hasProductionPainSchema, } from './production-pain-evidence.js';
|
|
40
40
|
import { promoteGovernanceEvidence, ensureGovernanceSchema } from './governance-observation-store.js';
|
|
41
41
|
import { loadPdConfigForPlugin } from './pd-config.js';
|
|
@@ -86,10 +86,6 @@ export const AMBIGUOUS_CORRECTION_OVERLAY = [
|
|
|
86
86
|
['我说的是', 0.9],
|
|
87
87
|
['都说了', 0.8],
|
|
88
88
|
];
|
|
89
|
-
/** empathy seed overlay(检测行为不变) */
|
|
90
|
-
export const EMPATHY_SEED_OVERLAY = [
|
|
91
|
-
['搞什么', 0.5],
|
|
92
|
-
];
|
|
93
89
|
function isValidLearnedKeyword(v) {
|
|
94
90
|
if (typeof v !== 'object' || v === null)
|
|
95
91
|
return false;
|
|
@@ -147,7 +143,6 @@ function projectLearnedStore(raw) {
|
|
|
147
143
|
const weight = Math.max(0, Math.min(1, kw.weight));
|
|
148
144
|
terms[term] = {
|
|
149
145
|
term,
|
|
150
|
-
category: 'correction',
|
|
151
146
|
weight,
|
|
152
147
|
precision: precisionFor(kw.source, term, weight),
|
|
153
148
|
source: mapLearnedSource(kw.source),
|
|
@@ -160,22 +155,18 @@ function projectLearnedStore(raw) {
|
|
|
160
155
|
export function buildSharedSeedKeywordStore() {
|
|
161
156
|
const terms = {};
|
|
162
157
|
for (const [term, weight] of HIGH_PRECISION_CORRECTION_OVERLAY) {
|
|
163
|
-
terms[term] = { term,
|
|
164
|
-
}
|
|
165
|
-
for (const [term, weight] of EMPATHY_SEED_OVERLAY) {
|
|
166
|
-
terms[term] = { term, category: 'empathy', weight, precision: 'ambiguous', source: 'seed' };
|
|
158
|
+
terms[term] = { term, weight, precision: 'high', source: 'seed' };
|
|
167
159
|
}
|
|
168
160
|
for (const [term, weight] of AMBIGUOUS_CORRECTION_OVERLAY) {
|
|
169
161
|
if (Object.hasOwn(terms, term))
|
|
170
162
|
continue;
|
|
171
|
-
terms[term] = { term,
|
|
163
|
+
terms[term] = { term, weight, precision: 'ambiguous', source: 'seed' };
|
|
172
164
|
}
|
|
173
165
|
for (const kw of CORRECTION_SEED_KEYWORDS) {
|
|
174
166
|
if (Object.hasOwn(terms, kw.term))
|
|
175
167
|
continue;
|
|
176
168
|
terms[kw.term] = {
|
|
177
169
|
term: kw.term,
|
|
178
|
-
category: 'correction',
|
|
179
170
|
weight: kw.weight,
|
|
180
171
|
precision: kw.weight >= HIGH_PRECISION_LEARNED_WEIGHT ? 'high' : 'ambiguous',
|
|
181
172
|
source: 'seed',
|
|
@@ -355,6 +346,11 @@ function openAdmissionStore(workspaceDir, factory) {
|
|
|
355
346
|
db.pragma('busy_timeout = 5000');
|
|
356
347
|
db.pragma('journal_mode = WAL');
|
|
357
348
|
ensureGovernanceAdmissionSchema(db);
|
|
349
|
+
// GFI-COMPLETE-REMOVAL-001: the additive governance open does not retire
|
|
350
|
+
// the GFI columns, so a v1 workspace would be judged non-canonical by
|
|
351
|
+
// hasProductionPainSchema and refused. Converge it here with the SAME
|
|
352
|
+
// migration the other raw open paths use (idempotent, no-op on v2).
|
|
353
|
+
migrateLegacyGfiSchema(db);
|
|
358
354
|
// The reconciliation pass reads observation-owned tables (promotion
|
|
359
355
|
// tails): one open makes the whole governance schema ready.
|
|
360
356
|
ensureGovernanceSchema(db);
|
|
@@ -548,7 +544,7 @@ function parsePendingReviewMeta(value) {
|
|
|
548
544
|
if (!isRecord(reviewRaw))
|
|
549
545
|
return null;
|
|
550
546
|
const verdict = own(reviewRaw, 'verdict');
|
|
551
|
-
if (verdict !== 'correction' && verdict !== 'none'
|
|
547
|
+
if (verdict !== 'correction' && verdict !== 'none'
|
|
552
548
|
&& verdict !== 'pending_low_confidence' && verdict !== 'pending_llm_error')
|
|
553
549
|
return null;
|
|
554
550
|
const confidence = own(reviewRaw, 'confidence');
|
|
@@ -1524,14 +1520,17 @@ export async function settlePendingCorrection(input) {
|
|
|
1524
1520
|
close();
|
|
1525
1521
|
}
|
|
1526
1522
|
}
|
|
1527
|
-
/** P0: a four-term projection of existing canonical high-precision seeds. */
|
|
1523
|
+
/** P0: a four-term projection of existing canonical high-precision correction seeds. */
|
|
1528
1524
|
const WORKBUDDY_AUTO_TERMS = new Set(['这是错的', '不要自作主张', '不应该这么做', '又搞错']);
|
|
1529
1525
|
const WORKBUDDY_MAX_PROMPT_BYTES = 16 * 1024;
|
|
1530
1526
|
function workbuddyP0KeywordStore() {
|
|
1531
1527
|
const seed = buildSharedSeedKeywordStore();
|
|
1532
1528
|
const terms = {};
|
|
1533
1529
|
for (const [term, def] of Object.entries(seed.terms)) {
|
|
1534
|
-
|
|
1530
|
+
// The shared seed store only contains correction phrases (the empathy
|
|
1531
|
+
// keyword store was retired with GFI-COMPLETE-REMOVAL-001), so the term
|
|
1532
|
+
// membership + high precision is the whole filter.
|
|
1533
|
+
if (WORKBUDDY_AUTO_TERMS.has(term) && def.precision === 'high') {
|
|
1535
1534
|
terms[term] = def;
|
|
1536
1535
|
}
|
|
1537
1536
|
}
|
|
@@ -52,7 +52,7 @@ export type VerifiedToolOutcomeStatus = {
|
|
|
52
52
|
reason: 'outcome_already_final';
|
|
53
53
|
} | {
|
|
54
54
|
status: 'unavailable';
|
|
55
|
-
reason: 'trajectory_db_not_found' | 'trajectory_write_failed' | `trajectory_write_failed:${string}`;
|
|
55
|
+
reason: 'trajectory_db_not_found' | 'trajectory_write_failed' | `trajectory_write_failed:${string}` | `trajectory_migration_failed:${string}`;
|
|
56
56
|
};
|
|
57
57
|
/**
|
|
58
58
|
* SPEC-CODEX-PAIN-CLOSURE-001 CR-01: upgrade the live-hook observation of a
|
|
@@ -2,7 +2,7 @@ import { createHash } from 'node:crypto';
|
|
|
2
2
|
import fs from 'node:fs';
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import Database from 'better-sqlite3';
|
|
5
|
-
import { applyTrajectorySchemaBase, sanitizeToolParams, sanitizeValue, } from '@principles/core/runtime-v2';
|
|
5
|
+
import { applyTrajectorySchemaBase, migrateLegacyGfiSchema, sanitizeToolParams, sanitizeValue, } from '@principles/core/runtime-v2';
|
|
6
6
|
const MAX_PREVIEW = 500;
|
|
7
7
|
function isRecord(value) {
|
|
8
8
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
@@ -154,7 +154,7 @@ export function deriveProductionCorrectionPainIdentity(fields) {
|
|
|
154
154
|
}
|
|
155
155
|
const REQUIRED_COLUMNS = {
|
|
156
156
|
sessions: { session_id: 'TEXT', started_at: 'TEXT', updated_at: 'TEXT' },
|
|
157
|
-
tool_calls: { session_id: 'TEXT', tool_name: 'TEXT', outcome: 'TEXT', duration_ms: 'INTEGER', exit_code: 'INTEGER', error_type: 'TEXT', error_message: 'TEXT',
|
|
157
|
+
tool_calls: { session_id: 'TEXT', tool_name: 'TEXT', outcome: 'TEXT', duration_ms: 'INTEGER', exit_code: 'INTEGER', error_type: 'TEXT', error_message: 'TEXT', params_json: 'TEXT', result_preview: 'TEXT', created_at: 'TEXT', project_dir: 'TEXT' },
|
|
158
158
|
pain_events: { session_id: 'TEXT', source: 'TEXT', score: 'REAL', reason: 'TEXT', severity: 'TEXT', origin: 'TEXT', confidence: 'REAL', text: 'TEXT', canonical_pain_id: 'TEXT', runtime_task_id: 'TEXT', host_kind: 'TEXT', created_at: 'TEXT' },
|
|
159
159
|
};
|
|
160
160
|
function pragmaField(row, key) {
|
|
@@ -190,6 +190,12 @@ function hasCanonicalSchema(db) {
|
|
|
190
190
|
if (actual.get(name) !== type)
|
|
191
191
|
return false;
|
|
192
192
|
}
|
|
193
|
+
// GFI-COMPLETE-REMOVAL-001: a v1 database still carrying the retired GFI
|
|
194
|
+
// columns is NOT canonical, even though every required column is present.
|
|
195
|
+
// Without this check the raw open path judged v1 as canonical and the
|
|
196
|
+
// physical schema stayed at v1 forever.
|
|
197
|
+
if (table === 'tool_calls' && (actual.has('gfi_before') || actual.has('gfi_after')))
|
|
198
|
+
return false;
|
|
193
199
|
}
|
|
194
200
|
const indexes = db.prepare('PRAGMA index_list(pain_events)').all();
|
|
195
201
|
const canonical = indexes.find((row) => pragmaField(row, 'name') === 'idx_pain_events_canonical_pain_id');
|
|
@@ -206,7 +212,7 @@ function hasCanonicalSchema(db) {
|
|
|
206
212
|
db.prepare('SELECT 1 FROM tool_calls WHERE session_id = ? AND tool_name = ? AND params_json = ? AND outcome = ? AND exit_code IS ? AND error_message IS ? AND result_preview IS ?');
|
|
207
213
|
db.prepare('SELECT 1 FROM pain_events WHERE canonical_pain_id = ?');
|
|
208
214
|
db.prepare('INSERT INTO sessions (session_id, started_at, updated_at) VALUES (?, ?, ?) ON CONFLICT(session_id) DO UPDATE SET updated_at = excluded.updated_at');
|
|
209
|
-
db.prepare('INSERT INTO tool_calls (session_id, tool_name, outcome, duration_ms, exit_code, error_type, error_message,
|
|
215
|
+
db.prepare('INSERT INTO tool_calls (session_id, tool_name, outcome, duration_ms, exit_code, error_type, error_message, params_json, result_preview, created_at, tool_use_id, project_dir) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');
|
|
210
216
|
db.prepare('INSERT INTO pain_events (session_id, source, score, reason, severity, origin, confidence, text, canonical_pain_id, runtime_task_id, host_kind, created_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');
|
|
211
217
|
return true;
|
|
212
218
|
}
|
|
@@ -286,6 +292,18 @@ export function recordVerifiedToolOutcomes(args) {
|
|
|
286
292
|
const hasToolCalls = (db.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'tool_calls'").get() !== undefined);
|
|
287
293
|
if (!hasToolCalls)
|
|
288
294
|
applyTrajectorySchemaBase(db);
|
|
295
|
+
// GFI-COMPLETE-REMOVAL-001: the raw open path never applied the canonical
|
|
296
|
+
// migration for a pre-existing (v1) tool_calls table. Fail LOUDLY here:
|
|
297
|
+
// returning statuses that look successful while the legacy GFI columns
|
|
298
|
+
// survive would hide the bug (rc-9).
|
|
299
|
+
try {
|
|
300
|
+
migrateLegacyGfiSchema(db);
|
|
301
|
+
}
|
|
302
|
+
catch (error) {
|
|
303
|
+
const detail = error instanceof Error ? error.message.slice(0, 200) : String(error).slice(0, 200);
|
|
304
|
+
const reason = `trajectory_migration_failed:${detail}`;
|
|
305
|
+
return args.outcomes.map(() => ({ status: 'unavailable', reason }));
|
|
306
|
+
}
|
|
289
307
|
ensureToolCallsToolUseIdColumn(db);
|
|
290
308
|
ensureToolCallsHostKindColumn(db);
|
|
291
309
|
// Review R3/P2: a KNOWN host's call identity includes its attribution.
|
|
@@ -298,7 +316,7 @@ export function recordVerifiedToolOutcomes(args) {
|
|
|
298
316
|
? db.prepare('SELECT id, outcome FROM tool_calls WHERE session_id = ? AND tool_use_id = ? AND host_kind = ? ORDER BY id LIMIT 1')
|
|
299
317
|
: db.prepare('SELECT id, outcome FROM tool_calls WHERE session_id = ? AND tool_use_id = ? ORDER BY id LIMIT 1');
|
|
300
318
|
const upgradeUnknown = db.prepare("UPDATE tool_calls SET outcome = ?, exit_code = ?, result_preview = COALESCE(?, result_preview) WHERE id = ? AND outcome = 'unknown'");
|
|
301
|
-
const insertVerified = db.prepare('INSERT INTO tool_calls (session_id, tool_name, outcome, duration_ms, exit_code, error_type, error_message,
|
|
319
|
+
const insertVerified = db.prepare('INSERT INTO tool_calls (session_id, tool_name, outcome, duration_ms, exit_code, error_type, error_message, params_json, result_preview, created_at, tool_use_id, host_kind) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');
|
|
302
320
|
const upsertSession = db.prepare('INSERT INTO sessions (session_id, started_at, updated_at) VALUES (?, ?, ?) ON CONFLICT(session_id) DO UPDATE SET updated_at = excluded.updated_at');
|
|
303
321
|
const createdAt = new Date().toISOString();
|
|
304
322
|
db.transaction(() => {
|
|
@@ -324,7 +342,12 @@ export function recordVerifiedToolOutcomes(args) {
|
|
|
324
342
|
}
|
|
325
343
|
upsertSession.run(args.sessionId, createdAt, createdAt);
|
|
326
344
|
const sanitizedParams = sanitizeToolParams(input.params ?? {}, args.workspaceDir);
|
|
327
|
-
|
|
345
|
+
// GFI-COMPLETE-REMOVAL-001 follow-up: commit 62e2cab15 dropped the two
|
|
346
|
+
// retired GFI columns from this INSERT but left their placeholder
|
|
347
|
+
// arguments behind, so every verified-outcome write threw
|
|
348
|
+
// "Too many parameter values were provided". Keep the values aligned
|
|
349
|
+
// with the 12 remaining columns.
|
|
350
|
+
const info = insertVerified.run(args.sessionId, input.toolName, finalOutcome, null, input.exitCode, null, null, stable(sanitizedParams), boundedPreview, createdAt, input.toolUseId, args.hostKind ?? null);
|
|
328
351
|
results.push({ status: 'inserted', id: Number(info.lastInsertRowid) });
|
|
329
352
|
}
|
|
330
353
|
})();
|
|
@@ -390,6 +413,18 @@ export function createProductionPainEvidenceHandler(options = {}) {
|
|
|
390
413
|
ensureToolCallsToolUseIdColumn(db);
|
|
391
414
|
ensureToolCallsProjectDirColumn(db);
|
|
392
415
|
ensureToolCallsHostKindColumn(db);
|
|
416
|
+
// GFI-COMPLETE-REMOVAL-001: v1 databases are migrated before the canonical
|
|
417
|
+
// verdict; a failed migration is reported by name and never downgraded
|
|
418
|
+
// into "canonical" (rc-9 — no silent fallback).
|
|
419
|
+
try {
|
|
420
|
+
migrateLegacyGfiSchema(db);
|
|
421
|
+
}
|
|
422
|
+
catch (error) {
|
|
423
|
+
const detail = error instanceof Error ? error.message.slice(0, 200) : String(error).slice(0, 200);
|
|
424
|
+
db.close();
|
|
425
|
+
db = undefined;
|
|
426
|
+
return { decision: 'observe', source: event.source, warnings: [...(emissionWarning ? [emissionWarning] : []), `trajectory_migration_failed:${detail}`], metadata: { outcome: 'unavailable', duplicate: false, nextAction: 'repair the selected PD trajectory database (legacy GFI columns could not be dropped), then retry' } };
|
|
427
|
+
}
|
|
393
428
|
if (!hasCanonicalSchema(db)) {
|
|
394
429
|
db.close();
|
|
395
430
|
db = undefined;
|
|
@@ -466,8 +501,8 @@ export function createProductionPainEvidenceHandler(options = {}) {
|
|
|
466
501
|
return;
|
|
467
502
|
}
|
|
468
503
|
db.prepare(`INSERT INTO sessions (session_id, started_at, updated_at) VALUES (?, ?, ?) ON CONFLICT(session_id) DO UPDATE SET updated_at = excluded.updated_at`).run(event.context.sessionId, createdAt, createdAt);
|
|
469
|
-
db.prepare(`INSERT INTO tool_calls (session_id, tool_name, outcome, duration_ms, exit_code, error_type, error_message,
|
|
470
|
-
.run(event.context.sessionId, toolName, outcome.outcome, outcome.durationMs ?? null, outcome.exitCode, outcome.error ? outcome.error.split(/[\s:]/, 1)[0] : null, outcome.error ?? null,
|
|
504
|
+
db.prepare(`INSERT INTO tool_calls (session_id, tool_name, outcome, duration_ms, exit_code, error_type, error_message, params_json, result_preview, created_at, tool_use_id, project_dir, host_kind) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
|
505
|
+
.run(event.context.sessionId, toolName, outcome.outcome, outcome.durationMs ?? null, outcome.exitCode, outcome.error ? outcome.error.split(/[\s:]/, 1)[0] : null, outcome.error ?? null, paramsJson, resultPreview, createdAt, event.context.toolCallId ?? null, path.resolve(options.projectDir ?? event.context.workspaceDir), options.hostKind ?? null);
|
|
471
506
|
})();
|
|
472
507
|
}
|
|
473
508
|
catch (error) {
|
|
@@ -10,7 +10,6 @@ export interface ProductionRuleContextRequest {
|
|
|
10
10
|
}
|
|
11
11
|
export type RuleContextProvider = (request: ProductionRuleContextRequest) => unknown | Promise<unknown>;
|
|
12
12
|
export interface RuleInputEnrichment {
|
|
13
|
-
currentGfi: number;
|
|
14
13
|
epTier: number;
|
|
15
14
|
bashRisk: 'safe' | 'normal' | 'dangerous' | 'unknown';
|
|
16
15
|
}
|
|
@@ -114,7 +114,6 @@ export function createProductionRuleHostGate(options = {}) {
|
|
|
114
114
|
// so no approval-gate rule could ever exempt read-only investigation.
|
|
115
115
|
// A wired provider remains the host truth and overrides the default.
|
|
116
116
|
let enrichment = {
|
|
117
|
-
currentGfi: 0,
|
|
118
117
|
epTier: 0,
|
|
119
118
|
bashRisk: classifyBashRisk(canonicalKind === 'execute', input.params),
|
|
120
119
|
};
|
|
@@ -125,10 +124,10 @@ export function createProductionRuleHostGate(options = {}) {
|
|
|
125
124
|
if (options.ruleInputEnrichmentProvider) {
|
|
126
125
|
try {
|
|
127
126
|
const candidate = await withinGateDeadline(options.ruleInputEnrichmentProvider(request), startedAt);
|
|
128
|
-
if (isRecord(candidate)
|
|
127
|
+
if (isRecord(candidate)
|
|
129
128
|
&& typeof candidate.epTier === 'number' && Number.isFinite(candidate.epTier)
|
|
130
129
|
&& (candidate.bashRisk === 'safe' || candidate.bashRisk === 'normal' || candidate.bashRisk === 'dangerous' || candidate.bashRisk === 'unknown')) {
|
|
131
|
-
enrichment = {
|
|
130
|
+
enrichment = { epTier: candidate.epTier, bashRisk: candidate.bashRisk };
|
|
132
131
|
}
|
|
133
132
|
else
|
|
134
133
|
addWarning(warnings, 'rule_input_enrichment_invalid', 'repair the host enrichment provider');
|
|
@@ -490,7 +489,7 @@ export function createProductionRuleHostGate(options = {}) {
|
|
|
490
489
|
const hostInput = {
|
|
491
490
|
action,
|
|
492
491
|
workspace: { isRiskPath: isSensitiveSystemPath(action.normalizedPath) },
|
|
493
|
-
session: { sessionId: event.context.sessionId
|
|
492
|
+
session: { sessionId: event.context.sessionId },
|
|
494
493
|
evolution: { epTier: enrichment.epTier },
|
|
495
494
|
derived: { estimatedLineChanges: estimateLineChanges({ toolName: input.toolName, params: input.params }), bashRisk: enrichment.bashRisk },
|
|
496
495
|
...(context ? { context } : {}),
|
|
@@ -23,6 +23,14 @@ export interface CreateSignalClassifierOptions {
|
|
|
23
23
|
readonly log?: SignalClassifierLog;
|
|
24
24
|
readonly timeoutMs?: number;
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* The Stage-2 structured-output contract this classifier requests. It MUST stay
|
|
28
|
+
* in sync with the registry key in
|
|
29
|
+
* packages/principles-core/src/runtime-v2/adapter/output-schema-registry.ts:
|
|
30
|
+
* the adapter fails loud (`output_invalid`) on an unregistered ref, and the
|
|
31
|
+
* catch below would silently degrade Stage 2 to "no classification".
|
|
32
|
+
*/
|
|
33
|
+
export declare const SIGNAL_CLASSIFICATION_SCHEMA_REF = "signal-classification-output-v2";
|
|
26
34
|
/** Build the classifier from an already-resolved profile (no config I/O). */
|
|
27
35
|
export declare function createSignalLlmClassifier(profile: SignalClassifierProfile, workspaceDir: string, options?: CreateSignalClassifierOptions): SignalLlmClassifier;
|
|
28
36
|
export type SignalClassifierResolution = {
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* consume this instead of re-implementing startRun/pollRun/fetchOutput.
|
|
7
7
|
*
|
|
8
8
|
* The classifier contract is core-owned: `buildLlmPrompt`,
|
|
9
|
-
* `signal-classification-output-
|
|
9
|
+
* `signal-classification-output-v2` and `resolveLlmClassificationPayload`
|
|
10
10
|
* come from `@principles/core/runtime-v2`. This module only owns acquisition:
|
|
11
11
|
* reading the signalCollector runtime profile and calling the adapter.
|
|
12
12
|
*
|
|
@@ -15,6 +15,14 @@
|
|
|
15
15
|
import path from 'node:path';
|
|
16
16
|
import { PiAiRuntimeAdapter, SIGNAL_CLASSIFIER_SYSTEM_PROMPT, buildLlmPrompt, resolveLlmClassificationPayload, safeStringifyPreview, } from '@principles/core/runtime-v2';
|
|
17
17
|
import { loadPdConfigForPlugin } from './pd-config.js';
|
|
18
|
+
/**
|
|
19
|
+
* The Stage-2 structured-output contract this classifier requests. It MUST stay
|
|
20
|
+
* in sync with the registry key in
|
|
21
|
+
* packages/principles-core/src/runtime-v2/adapter/output-schema-registry.ts:
|
|
22
|
+
* the adapter fails loud (`output_invalid`) on an unregistered ref, and the
|
|
23
|
+
* catch below would silently degrade Stage 2 to "no classification".
|
|
24
|
+
*/
|
|
25
|
+
export const SIGNAL_CLASSIFICATION_SCHEMA_REF = 'signal-classification-output-v2';
|
|
18
26
|
/** Build the classifier from an already-resolved profile (no config I/O). */
|
|
19
27
|
export function createSignalLlmClassifier(profile, workspaceDir, options = {}) {
|
|
20
28
|
const timeoutMs = options.timeoutMs ?? profile.timeoutMs;
|
|
@@ -42,7 +50,7 @@ export function createSignalLlmClassifier(profile, workspaceDir, options = {}) {
|
|
|
42
50
|
inputPayload: { prompt },
|
|
43
51
|
contextItems: [],
|
|
44
52
|
timeoutMs: effectiveTimeoutMs,
|
|
45
|
-
outputSchemaRef:
|
|
53
|
+
outputSchemaRef: SIGNAL_CLASSIFICATION_SCHEMA_REF,
|
|
46
54
|
systemPrompt: SIGNAL_CLASSIFIER_SYSTEM_PROMPT,
|
|
47
55
|
});
|
|
48
56
|
let status = await adapter.pollRun(handle.runId);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-principles-disciple",
|
|
3
|
-
"version": "1.147.
|
|
3
|
+
"version": "1.147.6",
|
|
4
4
|
"description": "Interactive CLI installer for Principles Disciple OpenClaw plugin",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"directory": "packages/create-principles-disciple"
|
|
100
100
|
},
|
|
101
101
|
"pd": {
|
|
102
|
-
"bundledPluginVersion": "2.
|
|
102
|
+
"bundledPluginVersion": "2.6.0"
|
|
103
103
|
},
|
|
104
|
-
"gitHead": "
|
|
104
|
+
"gitHead": "48ab9505979feb0cb13757e30d41d8567715efe1"
|
|
105
105
|
}
|
|
@@ -10,10 +10,8 @@
|
|
|
10
10
|
* Shows the most recent TRIGGER_DECISION log entries.
|
|
11
11
|
*
|
|
12
12
|
* Note: TRIGGER_DECISION entries are pain-signal admission gate decisions
|
|
13
|
-
* (Gate B / TriggerController).
|
|
14
|
-
*
|
|
15
|
-
* session-level tool-friction resets and are NOT pain signals. This command
|
|
16
|
-
* does not surface GFI events; use `pd runtime health gfi` for GFI state.
|
|
13
|
+
* (Gate B / TriggerController). They are not pain signals themselves — this
|
|
14
|
+
* command surfaces only the gate's decision log.
|
|
17
15
|
*/
|
|
18
16
|
interface EvidenceOptions {
|
|
19
17
|
workspace?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pain-evidence.d.ts","sourceRoot":"","sources":["../../src/commands/pain-evidence.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pain-evidence.d.ts","sourceRoot":"","sources":["../../src/commands/pain-evidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,UAAU,eAAe;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,oBAAoB;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,iBAAS,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED;;;GAGG;AACH,iBAAS,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAsCzE;AA0DD,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAoE7E;AAID,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -10,10 +10,8 @@
|
|
|
10
10
|
* Shows the most recent TRIGGER_DECISION log entries.
|
|
11
11
|
*
|
|
12
12
|
* Note: TRIGGER_DECISION entries are pain-signal admission gate decisions
|
|
13
|
-
* (Gate B / TriggerController).
|
|
14
|
-
*
|
|
15
|
-
* session-level tool-friction resets and are NOT pain signals. This command
|
|
16
|
-
* does not surface GFI events; use `pd runtime health gfi` for GFI state.
|
|
13
|
+
* (Gate B / TriggerController). They are not pain signals themselves — this
|
|
14
|
+
* command surfaces only the gate's decision log.
|
|
17
15
|
*/
|
|
18
16
|
import * as fs from 'fs';
|
|
19
17
|
import * as path from 'path';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pain-evidence.js","sourceRoot":"","sources":["../../src/commands/pain-evidence.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pain-evidence.js","sourceRoot":"","sources":["../../src/commands/pain-evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-canary.d.ts","sourceRoot":"","sources":["../../src/commands/runtime-canary.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IAChD,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;CAC3D;AAaD,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"runtime-canary.d.ts","sourceRoot":"","sources":["../../src/commands/runtime-canary.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IAChD,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;CAC3D;AAaD,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAwDD,wBAAsB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAoLjF;AA8BD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB5E"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as path from 'path';
|
|
2
2
|
import { createRequire } from 'module';
|
|
3
|
-
import { OperatorHealthReadModel, SchemaConformanceReadModel, PruningReadModel, createInternalizationQueueReadModel, auditCandidateLedgerConsistency
|
|
3
|
+
import { OperatorHealthReadModel, SchemaConformanceReadModel, PruningReadModel, createInternalizationQueueReadModel, auditCandidateLedgerConsistency } from '@principles/core/runtime-v2';
|
|
4
4
|
import { resolveWorkspaceDir } from '../resolve-workspace.js';
|
|
5
5
|
import { loadPdConfig, computeFlagsFromLoadResult } from '../services/pd-config-loader.js';
|
|
6
6
|
const require = createRequire(import.meta.url);
|
|
@@ -40,16 +40,6 @@ function buildRecommendedActions(checks) {
|
|
|
40
40
|
case 'candidate_audit':
|
|
41
41
|
actions.push('Run `pd candidate audit --workspace <path> --json` for details.');
|
|
42
42
|
break;
|
|
43
|
-
case 'gfi_snapshot': {
|
|
44
|
-
const gfiDetails = check.details;
|
|
45
|
-
if (gfiDetails && gfiDetails.warnings && gfiDetails.warnings.length > 0) {
|
|
46
|
-
actions.push(`Review .pd/config.yaml and rerun \`pd runtime features --workspace <path> --json\`.`);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
actions.push('Investigate GFI sessions — consider cleanup or session lifecycle review.');
|
|
50
|
-
}
|
|
51
|
-
break;
|
|
52
|
-
}
|
|
53
43
|
case 'pruning_orphans':
|
|
54
44
|
actions.push('Run `pd runtime pruning orphans --workspace <path> --dry-run` to inspect orphan candidates.');
|
|
55
45
|
break;
|
|
@@ -85,7 +75,7 @@ function buildRecommendedActions(checks) {
|
|
|
85
75
|
}
|
|
86
76
|
export async function runCanaryChecks(workspaceDir) {
|
|
87
77
|
const generatedAt = new Date().toISOString();
|
|
88
|
-
// Single canonical config load — shared across
|
|
78
|
+
// Single canonical config load — shared across the internalization queue check (PRI-460).
|
|
89
79
|
const pdConfigResult = loadPdConfig(workspaceDir);
|
|
90
80
|
const pdFlags = computeFlagsFromLoadResult(pdConfigResult);
|
|
91
81
|
const checkPromises = [
|
|
@@ -125,62 +115,6 @@ export async function runCanaryChecks(workspaceDir) {
|
|
|
125
115
|
return { name: 'candidate_audit', status: 'error', summary: 'Candidate audit check failed.', error: String(err) };
|
|
126
116
|
}
|
|
127
117
|
})(),
|
|
128
|
-
(async () => {
|
|
129
|
-
try {
|
|
130
|
-
const gfiFlag = pdFlags.flags.gfi;
|
|
131
|
-
if (!gfiFlag || !gfiFlag.enabled) {
|
|
132
|
-
if (pdFlags.warnings.length > 0) {
|
|
133
|
-
return {
|
|
134
|
-
name: 'gfi_snapshot',
|
|
135
|
-
status: 'degraded',
|
|
136
|
-
summary: `GFI disabled but config has warnings: ${pdFlags.warnings.join('; ')}`,
|
|
137
|
-
details: { warnings: pdFlags.warnings, configPath: pdConfigResult.configPath },
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
return {
|
|
141
|
-
name: 'gfi_snapshot',
|
|
142
|
-
status: 'healthy',
|
|
143
|
-
summary: 'GFI feature flag disabled — skipping snapshot.',
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
const sessionDir = path.join(workspaceDir, '.state', 'sessions');
|
|
147
|
-
const fs = await import('fs');
|
|
148
|
-
const sessions = [];
|
|
149
|
-
if (fs.existsSync(sessionDir)) {
|
|
150
|
-
for (const file of fs.readdirSync(sessionDir)) {
|
|
151
|
-
if (!file.endsWith('.json'))
|
|
152
|
-
continue;
|
|
153
|
-
try {
|
|
154
|
-
const raw = fs.readFileSync(path.join(sessionDir, file), 'utf8');
|
|
155
|
-
const parsed = JSON.parse(raw);
|
|
156
|
-
if (parsed?.sessionId) {
|
|
157
|
-
sessions.push({
|
|
158
|
-
sessionId: parsed.sessionId,
|
|
159
|
-
currentGfi: parsed.currentGfi ?? 0,
|
|
160
|
-
lastActivityAt: parsed.lastActivityAt ?? parsed.lastControlActivityAt ?? 0,
|
|
161
|
-
consecutiveErrors: parsed.consecutiveErrors ?? 0,
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
catch { /* skip malformed */ }
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
const snapshot = buildGfiWorkspaceSnapshot({ sessions, nowMs: Date.now() });
|
|
169
|
-
const health = classifyGfiWorkspaceHealth(snapshot);
|
|
170
|
-
const { status } = health;
|
|
171
|
-
return {
|
|
172
|
-
name: 'gfi_snapshot',
|
|
173
|
-
status,
|
|
174
|
-
summary: status === 'healthy'
|
|
175
|
-
? `GFI snapshot OK. ${snapshot.activeSessionCount} active, ${snapshot.staleSessionCount} stale sessions.`
|
|
176
|
-
: `GFI degraded: ${health.reason}`,
|
|
177
|
-
details: { ...snapshot, healthAssessment: health },
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
catch (err) {
|
|
181
|
-
return { name: 'gfi_snapshot', status: 'error', summary: 'GFI snapshot check failed.', error: String(err) };
|
|
182
|
-
}
|
|
183
|
-
})(),
|
|
184
118
|
(async () => {
|
|
185
119
|
try {
|
|
186
120
|
const model = new PruningReadModel({ workspaceDir });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-canary.js","sourceRoot":"","sources":["../../src/commands/runtime-canary.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-canary.js","sourceRoot":"","sources":["../../src/commands/runtime-canary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-diagnostics-export.d.ts","sourceRoot":"","sources":["../../src/commands/runtime-diagnostics-export.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime-diagnostics-export.d.ts","sourceRoot":"","sources":["../../src/commands/runtime-diagnostics-export.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,GAAG,QAAQ,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,sBAAsB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAuDD,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA2F3G;AAED,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBlG"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as path from 'path';
|
|
2
2
|
import * as fs from 'fs';
|
|
3
|
-
import { OperatorHealthReadModel, SchemaConformanceReadModel, PruningReadModel, createInternalizationQueueReadModel, InternalizationChainIntegrityReadModel, auditCandidateLedgerConsistency,
|
|
3
|
+
import { OperatorHealthReadModel, SchemaConformanceReadModel, PruningReadModel, createInternalizationQueueReadModel, InternalizationChainIntegrityReadModel, auditCandidateLedgerConsistency, } from '@principles/core/runtime-v2';
|
|
4
4
|
import { runCanaryChecks } from './runtime-canary.js';
|
|
5
5
|
import { resolveWorkspaceDir } from '../resolve-workspace.js';
|
|
6
6
|
function validateOutputPath(outDir, workspaceDir) {
|
|
@@ -74,30 +74,6 @@ export async function exportDiagnosticsBundle(workspaceDir, outDir) {
|
|
|
74
74
|
await collectArtifact({ ...baseCtx, name: 'candidate-audit', fileName: 'candidate-audit.json', collector: async () => {
|
|
75
75
|
return await auditCandidateLedgerConsistency(workspaceDir);
|
|
76
76
|
} });
|
|
77
|
-
await collectArtifact({ ...baseCtx, name: 'gfi-snapshot', fileName: 'gfi-snapshot.json', collector: () => {
|
|
78
|
-
const sessionDir = path.join(workspaceDir, '.state', 'sessions');
|
|
79
|
-
const sessions = [];
|
|
80
|
-
if (fs.existsSync(sessionDir)) {
|
|
81
|
-
for (const file of fs.readdirSync(sessionDir)) {
|
|
82
|
-
if (!file.endsWith('.json'))
|
|
83
|
-
continue;
|
|
84
|
-
try {
|
|
85
|
-
const raw = fs.readFileSync(path.join(sessionDir, file), 'utf8');
|
|
86
|
-
const parsed = JSON.parse(raw);
|
|
87
|
-
if (parsed?.sessionId) {
|
|
88
|
-
sessions.push({
|
|
89
|
-
sessionId: parsed.sessionId,
|
|
90
|
-
currentGfi: parsed.currentGfi ?? 0,
|
|
91
|
-
lastActivityAt: parsed.lastActivityAt ?? parsed.lastControlActivityAt ?? 0,
|
|
92
|
-
consecutiveErrors: parsed.consecutiveErrors ?? 0,
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
catch { /* skip malformed */ }
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
return buildGfiWorkspaceSnapshot({ sessions, nowMs: Date.now() });
|
|
100
|
-
} });
|
|
101
77
|
await collectArtifact({ ...baseCtx, name: 'pruning-orphans', fileName: 'pruning-orphans.json', collector: () => {
|
|
102
78
|
const model = new PruningReadModel({ workspaceDir });
|
|
103
79
|
return model.getOrphanDerivedCandidates();
|