create-principles-disciple 1.112.3 → 1.114.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/console/dist/server/routes/update.js +43 -0
- package/core/dist/runtime-v2/__tests__/activation-compatibility-read-model.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/activation-compatibility-read-model.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/activation-compatibility-read-model.test.js +148 -0
- package/core/dist/runtime-v2/__tests__/activation-compatibility-read-model.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/architecture-regression.test.js +6 -5
- package/core/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/golden-trace.test.js +2 -2
- package/core/dist/runtime-v2/__tests__/golden-trace.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/internalization-contracts.test.js +4 -6
- package/core/dist/runtime-v2/__tests__/internalization-contracts.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/rule-host-evaluator.test.js +4 -4
- package/core/dist/runtime-v2/__tests__/rule-host-evaluator.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/story-a-demo.test.js +8 -8
- package/core/dist/runtime-v2/__tests__/story-a-demo.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js +31 -0
- package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js.map +1 -1
- package/core/dist/runtime-v2/activation-compatibility-read-model.d.ts +24 -0
- package/core/dist/runtime-v2/activation-compatibility-read-model.d.ts.map +1 -0
- package/core/dist/runtime-v2/activation-compatibility-read-model.js +132 -0
- package/core/dist/runtime-v2/activation-compatibility-read-model.js.map +1 -0
- package/core/dist/runtime-v2/config/__tests__/pd-validate-profile-legacy-keys.test.d.ts +13 -0
- package/core/dist/runtime-v2/config/__tests__/pd-validate-profile-legacy-keys.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/config/__tests__/pd-validate-profile-legacy-keys.test.js +73 -0
- package/core/dist/runtime-v2/config/__tests__/pd-validate-profile-legacy-keys.test.js.map +1 -0
- package/core/dist/runtime-v2/config/pd-config-types.d.ts +0 -23
- package/core/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-config-types.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-profile-constants.d.ts +11 -5
- package/core/dist/runtime-v2/config/pd-profile-constants.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-profile-constants.js +10 -45
- package/core/dist/runtime-v2/config/pd-profile-constants.js.map +1 -1
- package/core/dist/runtime-v2/config/pd-validate-profile.d.ts.map +1 -1
- package/core/dist/runtime-v2/config/pd-validate-profile.js +27 -135
- package/core/dist/runtime-v2/config/pd-validate-profile.js.map +1 -1
- package/core/dist/runtime-v2/core-principles/core-principle-registry.d.ts +4 -4
- package/core/dist/runtime-v2/core-principles/core-principle-registry.d.ts.map +1 -1
- package/core/dist/runtime-v2/core-principles/core-principle-registry.js +2 -2
- 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 +8 -0
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/core/dist/runtime-v2/golden-trace-replay-validator.d.ts.map +1 -1
- package/core/dist/runtime-v2/golden-trace-replay-validator.js +0 -2
- package/core/dist/runtime-v2/golden-trace-replay-validator.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 -3
- package/core/dist/runtime-v2/golden-trace.js.map +1 -1
- package/core/dist/runtime-v2/index.d.ts +7 -5
- package/core/dist/runtime-v2/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/index.js +6 -5
- package/core/dist/runtime-v2/index.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.js +95 -0
- package/core/dist/runtime-v2/internalization/__tests__/artificer-output-retry-flag.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js +2 -2
- package/core/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/internalization-transition-decision.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/__tests__/legacy-rule-contract-scanner.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/legacy-rule-contract-scanner.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/legacy-rule-contract-scanner.test.js +101 -0
- package/core/dist/runtime-v2/internalization/__tests__/legacy-rule-contract-scanner.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.js +28 -28
- package/core/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.js.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.d.ts +25 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/artificer-runner.js +37 -3
- package/core/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/index.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/index.js +1 -0
- package/core/dist/runtime-v2/internalization/index.js.map +1 -1
- package/core/dist/runtime-v2/internalization/legacy-rule-contract-scanner.d.ts +51 -0
- package/core/dist/runtime-v2/internalization/legacy-rule-contract-scanner.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/legacy-rule-contract-scanner.js +81 -0
- package/core/dist/runtime-v2/internalization/legacy-rule-contract-scanner.js.map +1 -0
- package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js +0 -2
- package/core/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js.map +1 -1
- package/core/dist/runtime-v2/internalization/rule-host-contracts.d.ts +0 -3
- package/core/dist/runtime-v2/internalization/rule-host-contracts.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/rule-host-helpers.d.ts +4 -2
- package/core/dist/runtime-v2/internalization/rule-host-helpers.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/rule-host-helpers.js +4 -2
- package/core/dist/runtime-v2/internalization/rule-host-helpers.js.map +1 -1
- package/core/dist/runtime-v2/pain-signal-observability.js +3 -3
- package/core/dist/runtime-v2/pain-signal-observability.js.map +1 -1
- package/core/dist/runtime-v2/story-a-demo.d.ts.map +1 -1
- package/core/dist/runtime-v2/story-a-demo.js +2 -0
- package/core/dist/runtime-v2/story-a-demo.js.map +1 -1
- package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.d.ts.map +1 -1
- package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.js +0 -4
- package/core/dist/runtime-v2/tools/artificer-l2-tool-contract.js.map +1 -1
- package/core/dist/runtime-v2/types/event-payload.d.ts +1 -20
- package/core/dist/runtime-v2/types/event-payload.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/event-payload.js +0 -12
- package/core/dist/runtime-v2/types/event-payload.js.map +1 -1
- package/core/dist/runtime-v2/types/event-types.d.ts +3 -18
- package/core/dist/runtime-v2/types/event-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/event-types.js +0 -8
- package/core/dist/runtime-v2/types/event-types.js.map +1 -1
- package/core/dist/runtime-v2/types/index.d.ts +3 -3
- package/core/dist/runtime-v2/types/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/index.js +2 -2
- package/core/dist/runtime-v2/types/index.js.map +1 -1
- package/dist/installer.d.ts +49 -0
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +215 -3
- package/dist/installer.js.map +1 -1
- package/host-runtime/dist/legacy-rule-contract-symbols.d.ts +20 -0
- package/host-runtime/dist/legacy-rule-contract-symbols.js +37 -0
- package/host-runtime/dist/production-rulehost-gate.d.ts +0 -1
- package/host-runtime/dist/production-rulehost-gate.js +29 -5
- package/host-runtime/dist/rule-implementation-runtime.js +0 -2
- package/package.json +2 -2
- package/pd-cli/dist/commands/demo-story-a.d.ts +2 -0
- package/pd-cli/dist/commands/demo-story-a.d.ts.map +1 -1
- package/pd-cli/dist/commands/demo-story-a.js +41 -0
- package/pd-cli/dist/commands/demo-story-a.js.map +1 -1
- package/pd-cli/dist/commands/runtime-compatibility-scan.d.ts +32 -0
- package/pd-cli/dist/commands/runtime-compatibility-scan.d.ts.map +1 -0
- package/pd-cli/dist/commands/runtime-compatibility-scan.js +94 -0
- package/pd-cli/dist/commands/runtime-compatibility-scan.js.map +1 -0
- package/pd-cli/dist/commands/runtime-init.d.ts +6 -0
- package/pd-cli/dist/commands/runtime-init.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-init.js +127 -2
- package/pd-cli/dist/commands/runtime-init.js.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.js +6 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.js.map +1 -1
- package/pd-cli/dist/index.js +4 -0
- package/pd-cli/dist/index.js.map +1 -1
- package/pd-cli/dist/services/rulehost-pipeline-runner.d.ts.map +1 -1
- package/pd-cli/dist/services/rulehost-pipeline-runner.js +6 -1
- package/pd-cli/dist/services/rulehost-pipeline-runner.js.map +1 -1
- package/plugin/dist/bundle.js +529 -750
- package/plugin/dist/core/event-log.d.ts +1 -2
- package/plugin/dist/core/paths.d.ts +0 -2
- package/plugin/dist/core/profile.d.ts +0 -19
- package/plugin/dist/core/rule-host.d.ts +19 -0
- package/plugin/dist/core/session-tracker.d.ts +0 -13
- package/plugin/dist/core/thinking-os-parser.d.ts +0 -5
- package/plugin/dist/core/trajectory-types.d.ts +0 -1
- package/plugin/dist/core/trajectory.d.ts +0 -12
- package/plugin/dist/hooks/gate.d.ts +0 -1
- package/plugin/dist/templates/langs/en/skills/pd-mentor/SKILL.md +3 -4
- package/plugin/dist/templates/langs/zh/skills/pd-mentor/SKILL.md +3 -4
- package/plugin/dist/templates/workspace/.principles/PROFILE.json +0 -29
- package/plugin/dist/templates/workspace/.principles/PROFILE.schema.json +16 -25
- package/plugin/dist/templates/workspace/okr/CURRENT_FOCUS.md +0 -1
- 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/langs/en/skills/pd-mentor/SKILL.md +3 -4
- package/plugin/templates/langs/zh/skills/pd-mentor/SKILL.md +3 -4
- package/plugin/templates/workspace/.principles/PROFILE.json +0 -29
- package/plugin/templates/workspace/.principles/PROFILE.schema.json +16 -25
- package/plugin/templates/workspace/okr/CURRENT_FOCUS.md +0 -1
- package/templates/workspace/okr/CURRENT_FOCUS.md +0 -1
- package/core/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.d.ts +0 -2
- package/core/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.d.ts.map +0 -1
- package/core/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.js +0 -149
- package/core/dist/runtime-v2/thinking-models/__tests__/thinking-models-policy.test.js.map +0 -1
- package/core/dist/runtime-v2/thinking-models/index.d.ts +0 -3
- package/core/dist/runtime-v2/thinking-models/index.d.ts.map +0 -1
- package/core/dist/runtime-v2/thinking-models/index.js +0 -3
- package/core/dist/runtime-v2/thinking-models/index.js.map +0 -1
- package/core/dist/runtime-v2/thinking-models/thinking-models-policy.d.ts +0 -73
- package/core/dist/runtime-v2/thinking-models/thinking-models-policy.d.ts.map +0 -1
- package/core/dist/runtime-v2/thinking-models/thinking-models-policy.js +0 -227
- package/core/dist/runtime-v2/thinking-models/thinking-models-policy.js.map +0 -1
- package/plugin/dist/commands/thinking-os.d.ts +0 -2
- package/plugin/dist/core/control-ui-db.d.ts +0 -117
- package/plugin/dist/core/thinking-models.d.ts +0 -25
- package/plugin/dist/templates/workspace/.principles/THINKING_OS_CANDIDATES.md +0 -9
- package/plugin/templates/workspace/.principles/THINKING_OS_CANDIDATES.md +0 -9
- package/templates/langs/en/skills/admin/SKILL.md +0 -39
- package/templates/langs/en/skills/bootstrap-tools/SKILL.md +0 -53
- package/templates/langs/en/skills/deductive-audit/SKILL.md +0 -36
- package/templates/langs/en/skills/evolution-framework-update/SKILL.md +0 -31
- package/templates/langs/en/skills/evolve-system/SKILL.md +0 -46
- package/templates/langs/en/skills/evolve-task/SKILL.md +0 -83
- package/templates/langs/en/skills/feedback/SKILL.md +0 -51
- package/templates/langs/en/skills/init-strategy/SKILL.md +0 -54
- package/templates/langs/en/skills/inject-rule/SKILL.md +0 -19
- package/templates/langs/en/skills/manage-okr/SKILL.md +0 -96
- package/templates/langs/en/skills/pain/SKILL.md +0 -19
- package/templates/langs/en/skills/pd-mentor/SKILL.md +0 -211
- package/templates/langs/en/skills/profile/SKILL.md +0 -24
- package/templates/langs/en/skills/reflection/SKILL.md +0 -40
- package/templates/langs/en/skills/reflection-log/SKILL.md +0 -37
- package/templates/langs/en/skills/report/SKILL.md +0 -13
- package/templates/langs/en/skills/root-cause/SKILL.md +0 -33
- package/templates/langs/en/skills/triage/SKILL.md +0 -29
- package/templates/langs/en/skills/watch-evolution/SKILL.md +0 -33
- package/templates/langs/zh/skills/admin/SKILL.md +0 -41
- package/templates/langs/zh/skills/bootstrap-tools/SKILL.md +0 -52
- package/templates/langs/zh/skills/deductive-audit/SKILL.md +0 -36
- package/templates/langs/zh/skills/evolution-framework-update/SKILL.md +0 -31
- package/templates/langs/zh/skills/evolve-system/SKILL.md +0 -46
- package/templates/langs/zh/skills/evolve-task/SKILL.md +0 -83
- package/templates/langs/zh/skills/feedback/SKILL.md +0 -53
- package/templates/langs/zh/skills/init-strategy/SKILL.md +0 -54
- package/templates/langs/zh/skills/inject-rule/SKILL.md +0 -19
- package/templates/langs/zh/skills/manage-okr/SKILL.md +0 -109
- package/templates/langs/zh/skills/pain/SKILL.md +0 -30
- package/templates/langs/zh/skills/pd-auditor/SKILL.md +0 -61
- package/templates/langs/zh/skills/pd-explorer/SKILL.md +0 -65
- package/templates/langs/zh/skills/pd-implementer/SKILL.md +0 -68
- package/templates/langs/zh/skills/pd-mentor/SKILL.md +0 -211
- package/templates/langs/zh/skills/pd-planner/SKILL.md +0 -65
- package/templates/langs/zh/skills/pd-reporter/SKILL.md +0 -78
- package/templates/langs/zh/skills/pd-reviewer/SKILL.md +0 -66
- package/templates/langs/zh/skills/profile/SKILL.md +0 -24
- package/templates/langs/zh/skills/reflection/SKILL.md +0 -40
- package/templates/langs/zh/skills/reflection-log/SKILL.md +0 -37
- package/templates/langs/zh/skills/report/SKILL.md +0 -13
- package/templates/langs/zh/skills/root-cause/SKILL.md +0 -33
- package/templates/langs/zh/skills/triage/SKILL.md +0 -29
- package/templates/langs/zh/skills/watch-evolution/SKILL.md +0 -33
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { buildRuleHostAction, estimateLineChanges, mergeDecisions, SqliteConnection, UNAVAILABLE_RULE_CONTEXT, validateRuleContextV2, validateRuleHostResult, } from '@principles/core/runtime-v2';
|
|
4
|
+
import { scanRetiredContractSymbols } from './legacy-rule-contract-symbols.js';
|
|
4
5
|
import { createNodeRuleImplementationRuntime, MAX_ACTIVE_RULES, RULE_BATCH_SOURCE_BYTES, RULE_SOURCE_BYTES, } from './rule-implementation-runtime.js';
|
|
5
6
|
const WARNING_LIMIT = 500;
|
|
6
7
|
const MAX_WARNINGS = 16;
|
|
@@ -76,7 +77,7 @@ export function createProductionRuleHostGate(options = {}) {
|
|
|
76
77
|
if (action.normalizedPath === null)
|
|
77
78
|
return { decision: 'allow', source: event.source, metadata: { evaluatedLiveRules: 0 } };
|
|
78
79
|
let context;
|
|
79
|
-
let enrichment = { currentGfi: 0,
|
|
80
|
+
let enrichment = { currentGfi: 0, epTier: 0, bashRisk: 'unknown' };
|
|
80
81
|
const request = {
|
|
81
82
|
workspaceDir: event.context.workspaceDir, sessionId: event.context.sessionId,
|
|
82
83
|
targetPath: action.normalizedPath, toolName: input.toolName, rawPayload: event.rawPayload,
|
|
@@ -85,9 +86,9 @@ export function createProductionRuleHostGate(options = {}) {
|
|
|
85
86
|
try {
|
|
86
87
|
const candidate = await withinGateDeadline(options.ruleInputEnrichmentProvider(request), startedAt);
|
|
87
88
|
if (isRecord(candidate) && typeof candidate.currentGfi === 'number' && Number.isFinite(candidate.currentGfi)
|
|
88
|
-
&& typeof candidate.
|
|
89
|
+
&& typeof candidate.epTier === 'number' && Number.isFinite(candidate.epTier)
|
|
89
90
|
&& (candidate.bashRisk === 'safe' || candidate.bashRisk === 'normal' || candidate.bashRisk === 'dangerous' || candidate.bashRisk === 'unknown')) {
|
|
90
|
-
enrichment = { currentGfi: candidate.currentGfi,
|
|
91
|
+
enrichment = { currentGfi: candidate.currentGfi, epTier: candidate.epTier, bashRisk: candidate.bashRisk };
|
|
91
92
|
}
|
|
92
93
|
else
|
|
93
94
|
addWarning(warnings, 'rule_input_enrichment_invalid', 'repair the host enrichment provider');
|
|
@@ -216,6 +217,29 @@ export function createProductionRuleHostGate(options = {}) {
|
|
|
216
217
|
}
|
|
217
218
|
const ruleId = typeof content.ruleId === 'string' ? content.ruleId : typeof row.source_rule_id === 'string' ? row.source_rule_id : artifactId;
|
|
218
219
|
const principleId = typeof content.principleId === 'string' ? content.principleId : typeof row.source_principle_id === 'string' ? row.source_principle_id : ruleId;
|
|
220
|
+
// Retired-contract backstop (2026-08-19 / P0-1 2026-08-20):
|
|
221
|
+
// persisted LIVE RuleCode that references removed RuleHost
|
|
222
|
+
// contract symbols can never run safely against the new contract
|
|
223
|
+
// — reads silently resolve to undefined and change owner-approved
|
|
224
|
+
// behavior. Skipping the rule and then allowing the action would
|
|
225
|
+
// treat an owner-approved enforcement rule as if it did not exist
|
|
226
|
+
// (governance fail-open); the action must instead FAIL CLOSED
|
|
227
|
+
// with a structured deny naming the exact blocking symbols. The
|
|
228
|
+
// scan is a local copy (see legacy-rule-contract-symbols.ts) so
|
|
229
|
+
// the published bundle keeps working against the currently
|
|
230
|
+
// published core.
|
|
231
|
+
const retiredSymbols = scanRetiredContractSymbols(content.implementationCode);
|
|
232
|
+
if (retiredSymbols.length > 0) {
|
|
233
|
+
const nextAction = 'migrate the RuleCode off the retired contract symbols or deactivate the activation, then re-approve a migrated rule';
|
|
234
|
+
addWarning(warnings, `legacy_rule_contract_dependency: ${retiredSymbols.join(', ')} (activation=${activationId})`, nextAction);
|
|
235
|
+
return {
|
|
236
|
+
decision: 'deny',
|
|
237
|
+
reason: `legacy_rule_contract_dependency: active owner-approved rule ${ruleId} references retired contract symbols (${retiredSymbols.join(', ')}) and cannot run safely on this runtime`,
|
|
238
|
+
source: event.source,
|
|
239
|
+
...(warnings.length ? { warnings } : {}),
|
|
240
|
+
metadata: { evaluatedLiveRules: 0, ruleId, principleId },
|
|
241
|
+
};
|
|
242
|
+
}
|
|
219
243
|
const fallbackMeta = { name: activationId, version: '1', ruleId, coversCondition: 'all' };
|
|
220
244
|
candidates.push({ implId: activationId, ruleId, principleId, meta: isRuleMeta(content.meta) ? content.meta : fallbackMeta, source: content.implementationCode });
|
|
221
245
|
}
|
|
@@ -226,8 +250,8 @@ export function createProductionRuleHostGate(options = {}) {
|
|
|
226
250
|
}
|
|
227
251
|
const hostInput = {
|
|
228
252
|
action,
|
|
229
|
-
workspace: { isRiskPath: false
|
|
230
|
-
session: { sessionId: event.context.sessionId, currentGfi: enrichment.currentGfi
|
|
253
|
+
workspace: { isRiskPath: false },
|
|
254
|
+
session: { sessionId: event.context.sessionId, currentGfi: enrichment.currentGfi },
|
|
231
255
|
evolution: { epTier: enrichment.epTier },
|
|
232
256
|
derived: { estimatedLineChanges: estimateLineChanges({ toolName: input.toolName, params: input.params }), bashRisk: enrichment.bashRisk },
|
|
233
257
|
...(context ? { context } : {}),
|
|
@@ -37,8 +37,6 @@ try {
|
|
|
37
37
|
' getToolName: () => __pdCallInput.action.toolName,' +
|
|
38
38
|
' getEstimatedLineChanges: () => __pdCallInput.derived.estimatedLineChanges,' +
|
|
39
39
|
' getBashRisk: () => __pdCallInput.derived.bashRisk,' +
|
|
40
|
-
' hasPlanFile: () => __pdCallInput.workspace.hasPlanFile,' +
|
|
41
|
-
' getPlanStatus: () => __pdCallInput.workspace.planStatus,' +
|
|
42
40
|
' getEpTier: () => __pdCallInput.evolution.epTier' +
|
|
43
41
|
'});', { filename: rule.filename + '.bootstrap' }
|
|
44
42
|
).runInContext(context, { timeout: 1000 });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-principles-disciple",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.114.0",
|
|
4
4
|
"description": "Interactive CLI installer for Principles Disciple OpenClaw plugin",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -63,6 +63,6 @@
|
|
|
63
63
|
"directory": "packages/create-principles-disciple"
|
|
64
64
|
},
|
|
65
65
|
"pd": {
|
|
66
|
-
"bundledPluginVersion": "1.
|
|
66
|
+
"bundledPluginVersion": "1.211.1"
|
|
67
67
|
}
|
|
68
68
|
}
|
|
@@ -2,6 +2,8 @@ interface DemoStoryAOptions {
|
|
|
2
2
|
workspace?: string;
|
|
3
3
|
json?: boolean;
|
|
4
4
|
channels?: string;
|
|
5
|
+
/** Developer override for the demo-isolation guard (default false). */
|
|
6
|
+
allowDemoWriteToExistingWorkspace?: boolean;
|
|
5
7
|
}
|
|
6
8
|
export declare function cleanupTempWorkspace(workspaceDir: string, rmSyncImpl?: (dir: string, opts: {
|
|
7
9
|
recursive: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo-story-a.d.ts","sourceRoot":"","sources":["../../src/commands/demo-story-a.ts"],"names":[],"mappings":"AAMA,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"demo-story-a.d.ts","sourceRoot":"","sources":["../../src/commands/demo-story-a.ts"],"names":[],"mappings":"AAMA,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,iCAAiC,CAAC,EAAE,OAAO,CAAC;CAC7C;AAyED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,GAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,KAAK,IAAyB,GAAG,IAAI,CAOrK;AA4BD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwH7E"}
|
|
@@ -2,6 +2,17 @@ import * as path from 'path';
|
|
|
2
2
|
import * as os from 'os';
|
|
3
3
|
import * as fs from 'fs';
|
|
4
4
|
import { runStoryADemo } from '../services/demo-story-a-runner.js';
|
|
5
|
+
/**
|
|
6
|
+
* Demo isolation guard (2026-08-19): a demo run writes task/artifact/approval/
|
|
7
|
+
* activation rows into its target workspace. Refuse by default when the target
|
|
8
|
+
* already contains real PD state so demo data can never masquerade as
|
|
9
|
+
* owner-generated history. Detection = any marker of initialized PD state.
|
|
10
|
+
*/
|
|
11
|
+
function workspaceHasPdState(workspaceDir) {
|
|
12
|
+
return fs.existsSync(path.join(workspaceDir, '.pd', 'state.db'))
|
|
13
|
+
|| fs.existsSync(path.join(workspaceDir, '.pd', 'config.yaml'))
|
|
14
|
+
|| fs.existsSync(path.join(workspaceDir, '.principles', 'PROFILE.json'));
|
|
15
|
+
}
|
|
5
16
|
function formatStage(stage) {
|
|
6
17
|
const icon = stage.status === 'passed' ? '✓' : stage.status === 'degraded' ? '⚠' : '✗';
|
|
7
18
|
let line = ` ${icon} ${stage.name}: ${stage.status}`;
|
|
@@ -89,6 +100,36 @@ export async function handleDemoStoryA(opts) {
|
|
|
89
100
|
const workspaceDir = opts.workspace
|
|
90
101
|
? path.resolve(opts.workspace)
|
|
91
102
|
: fs.mkdtempSync(path.join(os.tmpdir(), 'pd-story-a-'));
|
|
103
|
+
// Demo isolation (cli-5: failure must not mutate): refuse BEFORE creating
|
|
104
|
+
// the RuntimeStateManager or writing anything when the target workspace
|
|
105
|
+
// already carries PD state and the developer override was not passed.
|
|
106
|
+
if (opts.workspace && !opts.allowDemoWriteToExistingWorkspace && workspaceHasPdState(workspaceDir)) {
|
|
107
|
+
const errorResult = {
|
|
108
|
+
status: 'refused',
|
|
109
|
+
generatedAt: new Date().toISOString(),
|
|
110
|
+
narrative: 'Refused: demo would write into an existing PD workspace.',
|
|
111
|
+
storyDescription: 'Demo isolation guard',
|
|
112
|
+
stages: [],
|
|
113
|
+
channelOutcomes: [],
|
|
114
|
+
isRuntimeV2Exclusive: true,
|
|
115
|
+
refusal: {
|
|
116
|
+
reason: 'demo_write_to_existing_workspace',
|
|
117
|
+
message: 'This command would write demo artifacts into an existing PD workspace.',
|
|
118
|
+
nextAction: 'Use a temporary workspace (omit --workspace), or pass --allow-demo-write-to-existing-workspace to explicitly opt in (developer only).',
|
|
119
|
+
targetWorkspace: workspaceDir,
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
if (opts.json) {
|
|
123
|
+
console.log(JSON.stringify(errorResult, null, 2));
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
console.error('Refused: this command would write demo artifacts into an existing PD workspace.');
|
|
127
|
+
console.error(`Target: ${workspaceDir}`);
|
|
128
|
+
console.error('Use a temporary workspace (omit --workspace), or pass --allow-demo-write-to-existing-workspace to explicitly opt in (developer only).');
|
|
129
|
+
}
|
|
130
|
+
process.exitCode = 1;
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
92
133
|
const parsed = parseChannelList(opts.channels);
|
|
93
134
|
// Fail loud on empty channels before workspace creation (ERR-029)
|
|
94
135
|
if (parsed.channels?.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo-story-a.js","sourceRoot":"","sources":["../../src/commands/demo-story-a.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"demo-story-a.js","sourceRoot":"","sources":["../../src/commands/demo-story-a.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pd runtime compatibility-scan — scan active RuleCode for retired
|
|
3
|
+
* RuleHost contract dependencies (2026-08-19).
|
|
4
|
+
*
|
|
5
|
+
* Read-only operator command and the installer's upgrade preflight entry
|
|
6
|
+
* point. Loads ACTIVE code_tool_hook activations (activations ⋈ pi_artifacts
|
|
7
|
+
* from .pd/state.db) and reports every rule whose implementationCode still
|
|
8
|
+
* references a contract symbol this runtime removed (recentThinking,
|
|
9
|
+
* planStatus, hasPlanFile, getPlanStatus(), hasPlanFile()).
|
|
10
|
+
*
|
|
11
|
+
* Output contract (cli-1 strict-json, cli-5 no mutation, cli-6 nextAction):
|
|
12
|
+
* - --json emits exactly one parseable JSON object on stdout.
|
|
13
|
+
* - clean / no_state_db → exit 0; legacy_dependency / scan_failed → exit 1
|
|
14
|
+
* with reason + nextAction. The command never writes to the workspace.
|
|
15
|
+
*
|
|
16
|
+
* ERR refs: ERR-001/ERR-005 (rows validated from unknown), ERR-002 (every
|
|
17
|
+
* refusal carries reason + nextAction), ERR-014 (bounded JSON output of
|
|
18
|
+
* known shapes).
|
|
19
|
+
*/
|
|
20
|
+
import type { Command } from 'commander';
|
|
21
|
+
export interface RuntimeCompatibilityScanOptions {
|
|
22
|
+
workspace?: string;
|
|
23
|
+
json?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare function handleRuntimeCompatibilityScan(opts: RuntimeCompatibilityScanOptions): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Register the compatibility-scan subcommand on the `pd runtime` command
|
|
28
|
+
* group. Exported so parser-level wiring tests exercise the same
|
|
29
|
+
* registration index.ts uses (cli-7).
|
|
30
|
+
*/
|
|
31
|
+
export declare function registerRuntimeCompatibilityScanCommand(runtimeCmd: Command): void;
|
|
32
|
+
//# sourceMappingURL=runtime-compatibility-scan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-compatibility-scan.d.ts","sourceRoot":"","sources":["../../src/commands/runtime-compatibility-scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkCzC,MAAM,WAAW,+BAA+B;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,8BAA8B,CAAC,IAAI,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBzG;AAED;;;;GAIG;AACH,wBAAgB,uCAAuC,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,CAYjF"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pd runtime compatibility-scan — scan active RuleCode for retired
|
|
3
|
+
* RuleHost contract dependencies (2026-08-19).
|
|
4
|
+
*
|
|
5
|
+
* Read-only operator command and the installer's upgrade preflight entry
|
|
6
|
+
* point. Loads ACTIVE code_tool_hook activations (activations ⋈ pi_artifacts
|
|
7
|
+
* from .pd/state.db) and reports every rule whose implementationCode still
|
|
8
|
+
* references a contract symbol this runtime removed (recentThinking,
|
|
9
|
+
* planStatus, hasPlanFile, getPlanStatus(), hasPlanFile()).
|
|
10
|
+
*
|
|
11
|
+
* Output contract (cli-1 strict-json, cli-5 no mutation, cli-6 nextAction):
|
|
12
|
+
* - --json emits exactly one parseable JSON object on stdout.
|
|
13
|
+
* - clean / no_state_db → exit 0; legacy_dependency / scan_failed → exit 1
|
|
14
|
+
* with reason + nextAction. The command never writes to the workspace.
|
|
15
|
+
*
|
|
16
|
+
* ERR refs: ERR-001/ERR-005 (rows validated from unknown), ERR-002 (every
|
|
17
|
+
* refusal carries reason + nextAction), ERR-014 (bounded JSON output of
|
|
18
|
+
* known shapes).
|
|
19
|
+
*/
|
|
20
|
+
import * as path from 'path';
|
|
21
|
+
import { ActivationCompatibilityReadModel, formatLegacyRuleContractRemediation, } from '@principles/core/runtime-v2';
|
|
22
|
+
import { resolveWorkspaceDir } from '../resolve-workspace.js';
|
|
23
|
+
import { emitResult, emitError } from '../services/cli-output.js';
|
|
24
|
+
function formatFinding(f) {
|
|
25
|
+
const rule = f.ruleId ?? f.artifactId;
|
|
26
|
+
const activation = f.activationId ? ` (activation ${f.activationId})` : '';
|
|
27
|
+
return ` ${rule}${activation}: ${f.symbol}`;
|
|
28
|
+
}
|
|
29
|
+
function formatTextOutput(output) {
|
|
30
|
+
const lines = [];
|
|
31
|
+
lines.push('PD Runtime Compatibility Scan');
|
|
32
|
+
lines.push(`workspace: ${output.workspaceDir}`);
|
|
33
|
+
lines.push(`status: ${output.status}`);
|
|
34
|
+
lines.push(`scannedActivations: ${output.scannedActivations}`);
|
|
35
|
+
lines.push('');
|
|
36
|
+
if (output.findings.length > 0) {
|
|
37
|
+
lines.push('Retired-contract dependencies (these rules will NOT execute on this runtime):');
|
|
38
|
+
for (const f of output.findings)
|
|
39
|
+
lines.push(formatFinding(f));
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
lines.push('No active rule references a retired RuleHost contract symbol.');
|
|
43
|
+
}
|
|
44
|
+
if (output.reason)
|
|
45
|
+
lines.push(`reason: ${output.reason}`);
|
|
46
|
+
if (output.nextAction)
|
|
47
|
+
lines.push(`nextAction: ${output.nextAction}`);
|
|
48
|
+
return lines.join('\n');
|
|
49
|
+
}
|
|
50
|
+
export async function handleRuntimeCompatibilityScan(opts) {
|
|
51
|
+
const workspaceDir = opts.workspace
|
|
52
|
+
? path.resolve(opts.workspace)
|
|
53
|
+
: resolveWorkspaceDir();
|
|
54
|
+
try {
|
|
55
|
+
const output = new ActivationCompatibilityReadModel({ workspaceDir }).scan();
|
|
56
|
+
if (output.status === 'legacy_dependency') {
|
|
57
|
+
// Surface the full remediation text in the payload (cli-6) while
|
|
58
|
+
// keeping --json a single parseable object.
|
|
59
|
+
const enriched = { ...output, remediation: formatLegacyRuleContractRemediation(output.findings) };
|
|
60
|
+
emitResult(enriched, { json: opts.json ?? false, formatText: formatTextOutput });
|
|
61
|
+
process.exitCode = 1; // cli-2: exit code only, no process.exit()
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
emitResult(output, { json: opts.json ?? false, formatText: formatTextOutput });
|
|
65
|
+
if (!output.ok) {
|
|
66
|
+
process.exitCode = 1;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
process.exitCode = emitError(err, {
|
|
71
|
+
json: opts.json ?? false,
|
|
72
|
+
nextAction: 'Check workspace directory and permissions, then retry.',
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Register the compatibility-scan subcommand on the `pd runtime` command
|
|
78
|
+
* group. Exported so parser-level wiring tests exercise the same
|
|
79
|
+
* registration index.ts uses (cli-7).
|
|
80
|
+
*/
|
|
81
|
+
export function registerRuntimeCompatibilityScanCommand(runtimeCmd) {
|
|
82
|
+
runtimeCmd
|
|
83
|
+
.command('compatibility-scan', { hidden: true })
|
|
84
|
+
.description('Scan active RuleCode for retired RuleHost contract dependencies (read-only; used by the installer upgrade preflight)')
|
|
85
|
+
.option('-w, --workspace <path>', 'Workspace directory')
|
|
86
|
+
.option('--json', 'Output raw JSON')
|
|
87
|
+
.action(async (opts) => {
|
|
88
|
+
await handleRuntimeCompatibilityScan({
|
|
89
|
+
workspace: opts.workspace,
|
|
90
|
+
json: opts.json === true,
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=runtime-compatibility-scan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-compatibility-scan.js","sourceRoot":"","sources":["../../src/commands/runtime-compatibility-scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,11 +23,17 @@ export interface DatabaseInitResult {
|
|
|
23
23
|
status: 'initialized' | 'verified' | 'skipped' | 'failed';
|
|
24
24
|
warnings: string[];
|
|
25
25
|
}
|
|
26
|
+
export interface ConfigInitResult {
|
|
27
|
+
path: string;
|
|
28
|
+
status: 'initialized' | 'skipped' | 'failed' | 'verified';
|
|
29
|
+
warnings: string[];
|
|
30
|
+
}
|
|
26
31
|
export interface RuntimeInitOutput {
|
|
27
32
|
ok: boolean;
|
|
28
33
|
mode: 'dry-run' | 'confirm';
|
|
29
34
|
workspace: string;
|
|
30
35
|
databases: DatabaseInitResult[];
|
|
36
|
+
config?: ConfigInitResult;
|
|
31
37
|
warnings: string[];
|
|
32
38
|
reason?: string;
|
|
33
39
|
nextAction?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-init.d.ts","sourceRoot":"","sources":["../../src/commands/runtime-init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"runtime-init.d.ts","sourceRoot":"","sources":["../../src/commands/runtime-init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAqCH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC1D,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC1D,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAwGD,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,iBAAiB,CAwLhG;AA0DD,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B/E"}
|
|
@@ -17,17 +17,117 @@
|
|
|
17
17
|
* - ERR-014: safe JSON.stringify on known output shapes
|
|
18
18
|
*/
|
|
19
19
|
import * as path from 'path';
|
|
20
|
-
import
|
|
21
|
-
import
|
|
20
|
+
import * as fs from 'fs';
|
|
21
|
+
import * as yaml from 'js-yaml';
|
|
22
|
+
import { SqliteConnection, SchemaConformanceReadModel } from '@principles/core/runtime-v2';
|
|
23
|
+
import { getDefaultPdConfig, validatePdConfig } from '@principles/core/runtime-v2';
|
|
22
24
|
import { initTrajectorySchema, initWorkflowSchema } from 'principles-disciple';
|
|
23
25
|
import { resolveWorkspaceDir } from '../resolve-workspace.js';
|
|
24
26
|
import { emitResult, emitFlagConflict, emitError } from '../services/cli-output.js';
|
|
27
|
+
// ── Constants ─────────────────────────────────────────────────────────────────
|
|
28
|
+
const CONFIG_DIR = '.pd';
|
|
29
|
+
const CONFIG_FILENAME = 'config.yaml';
|
|
30
|
+
const CONFIG_HEADER = `# PD Runtime Configuration — single source of truth (.pd/config.yaml, ADR-0016)\n` +
|
|
31
|
+
`# Auto-generated by 'pd runtime init'. Existing config files are never overwritten.\n` +
|
|
32
|
+
`# Edit to configure feature flags, runtime profiles, internal agents, and UI.\n`;
|
|
33
|
+
function isErrnoException(value) {
|
|
34
|
+
return typeof value === 'object' && value !== null && Object.hasOwn(value, 'code');
|
|
35
|
+
}
|
|
25
36
|
// ── Build output ─────────────────────────────────────────────────────────────
|
|
26
37
|
const DB_NAMES = {
|
|
27
38
|
state: 'state.db',
|
|
28
39
|
trajectory: 'trajectory.db',
|
|
29
40
|
workflow: 'subagent_workflows.db',
|
|
30
41
|
};
|
|
42
|
+
// ── Config file generation ─────────────────────────────────────────────────────
|
|
43
|
+
/**
|
|
44
|
+
* Build a clean YAML representation of the default PD config, injecting the
|
|
45
|
+
* workspace.default path so that discoverWorkspaceDefault() can find it.
|
|
46
|
+
*
|
|
47
|
+
* Returns the YAML string (with header comment) for writing to disk.
|
|
48
|
+
*/
|
|
49
|
+
function buildConfigYaml(workspaceDir) {
|
|
50
|
+
const config = getDefaultPdConfig();
|
|
51
|
+
const yamlObj = {
|
|
52
|
+
version: config.version,
|
|
53
|
+
workspace: {
|
|
54
|
+
default: workspaceDir,
|
|
55
|
+
},
|
|
56
|
+
features: config.features,
|
|
57
|
+
runtimeProfiles: config.runtimeProfiles,
|
|
58
|
+
internalAgents: config.internalAgents,
|
|
59
|
+
ui: config.ui,
|
|
60
|
+
};
|
|
61
|
+
return CONFIG_HEADER + yaml.dump(yamlObj, {
|
|
62
|
+
indent: 2,
|
|
63
|
+
lineWidth: 120,
|
|
64
|
+
noRefs: true,
|
|
65
|
+
sortKeys: false,
|
|
66
|
+
quotingType: '"',
|
|
67
|
+
forceQuotes: false,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Generate and write .pd/config.yaml if it does not already exist.
|
|
72
|
+
* Validates the generated file with a round-trip parse+validate check.
|
|
73
|
+
*/
|
|
74
|
+
function buildConfigInitResult(workspaceDir, confirm) {
|
|
75
|
+
const configPath = path.join(workspaceDir, CONFIG_DIR, CONFIG_FILENAME);
|
|
76
|
+
const warnings = [];
|
|
77
|
+
if (!confirm) {
|
|
78
|
+
return { path: configPath, status: 'skipped', warnings: [] };
|
|
79
|
+
}
|
|
80
|
+
// Ensure .pd directory exists
|
|
81
|
+
const configDir = path.dirname(configPath);
|
|
82
|
+
try {
|
|
83
|
+
fs.mkdirSync(configDir, { recursive: true });
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
87
|
+
return { path: configPath, status: 'failed', warnings: [`Failed to create ${configDir}: ${reason}`] };
|
|
88
|
+
}
|
|
89
|
+
// Build and write YAML
|
|
90
|
+
let yamlContent;
|
|
91
|
+
try {
|
|
92
|
+
yamlContent = buildConfigYaml(workspaceDir);
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
96
|
+
return { path: configPath, status: 'failed', warnings: [`Failed to build config YAML: ${reason}`] };
|
|
97
|
+
}
|
|
98
|
+
try {
|
|
99
|
+
// Atomic exclusive create ('wx'): the write itself is the authoritative
|
|
100
|
+
// existence check — fails with EEXIST if the file already exists (from a
|
|
101
|
+
// previous run or a concurrent process). No existsSync pre-check, so there
|
|
102
|
+
// is no TOCTOU window and the "never overwrite existing config" contract
|
|
103
|
+
// is race-free (CodeQL js/race-condition).
|
|
104
|
+
fs.writeFileSync(configPath, yamlContent, { encoding: 'utf8', flag: 'wx' });
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
if (isErrnoException(err) && err.code === 'EEXIST') {
|
|
108
|
+
return { path: configPath, status: 'skipped', warnings: ['config.yaml already exists, skipped'] };
|
|
109
|
+
}
|
|
110
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
111
|
+
return { path: configPath, status: 'failed', warnings: [`Failed to write ${configPath}: ${reason}`] };
|
|
112
|
+
}
|
|
113
|
+
// Round-trip validation: read back, parse, validate
|
|
114
|
+
try {
|
|
115
|
+
const raw = fs.readFileSync(configPath, 'utf8');
|
|
116
|
+
const parsed = yaml.load(raw, { schema: yaml.JSON_SCHEMA });
|
|
117
|
+
const validationResult = validatePdConfig(parsed);
|
|
118
|
+
if (!validationResult.ok) {
|
|
119
|
+
warnings.push(`config.yaml round-trip validation produced ${validationResult.errors.length} warnings`);
|
|
120
|
+
for (const ve of validationResult.errors) {
|
|
121
|
+
warnings.push(` [${ve.path}] ${ve.reason} — ${ve.nextAction}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
// Non-fatal: proceed even if round-trip check fails
|
|
127
|
+
warnings.push(`config.yaml round-trip check skipped: ${err instanceof Error ? err.message : String(err)}`);
|
|
128
|
+
}
|
|
129
|
+
return { path: configPath, status: 'initialized', warnings };
|
|
130
|
+
}
|
|
31
131
|
export function buildRuntimeInitOutput(workspaceDir, confirm) {
|
|
32
132
|
const resolvedWorkspace = path.resolve(workspaceDir);
|
|
33
133
|
const warnings = [];
|
|
@@ -192,11 +292,26 @@ export function buildRuntimeInitOutput(workspaceDir, confirm) {
|
|
|
192
292
|
warnings.push(`schema conformance verification skipped: ${err instanceof Error ? err.message : String(err)}`);
|
|
193
293
|
}
|
|
194
294
|
}
|
|
295
|
+
// 4. config.yaml — scaffold the single source of truth (P0: runtime discovery)
|
|
296
|
+
const config = buildConfigInitResult(resolvedWorkspace, confirm);
|
|
297
|
+
if (config.status === 'failed') {
|
|
298
|
+
return {
|
|
299
|
+
ok: false,
|
|
300
|
+
mode: 'confirm',
|
|
301
|
+
workspace: resolvedWorkspace,
|
|
302
|
+
databases,
|
|
303
|
+
config,
|
|
304
|
+
warnings,
|
|
305
|
+
reason: config.warnings[0] ?? 'config.yaml initialization failed',
|
|
306
|
+
nextAction: 'Check .pd directory permissions and disk space, then re-run `pd runtime init --confirm`.',
|
|
307
|
+
};
|
|
308
|
+
}
|
|
195
309
|
return {
|
|
196
310
|
ok: true,
|
|
197
311
|
mode: confirm ? 'confirm' : 'dry-run',
|
|
198
312
|
workspace: resolvedWorkspace,
|
|
199
313
|
databases,
|
|
314
|
+
config,
|
|
200
315
|
warnings,
|
|
201
316
|
};
|
|
202
317
|
}
|
|
@@ -220,6 +335,16 @@ function formatTextOutput(output) {
|
|
|
220
335
|
lines.push(` warning: ${w}`);
|
|
221
336
|
}
|
|
222
337
|
}
|
|
338
|
+
if (output.config) {
|
|
339
|
+
const icon = output.config.status === 'initialized' ? '[+]' :
|
|
340
|
+
output.config.status === 'verified' ? '[v]' :
|
|
341
|
+
output.config.status === 'skipped' ? '[ ]' : '[x]';
|
|
342
|
+
lines.push(`${icon} config.yaml (${output.config.status})`);
|
|
343
|
+
lines.push(` path: ${output.config.path}`);
|
|
344
|
+
for (const w of output.config.warnings) {
|
|
345
|
+
lines.push(` warning: ${w}`);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
223
348
|
if (output.warnings.length > 0) {
|
|
224
349
|
lines.push('');
|
|
225
350
|
lines.push('Warnings:');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-init.js","sourceRoot":"","sources":["../../src/commands/runtime-init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-init.js","sourceRoot":"","sources":["../../src/commands/runtime-init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-internalization-run-once.d.ts","sourceRoot":"","sources":["../../src/commands/runtime-internalization-run-once.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime-internalization-run-once.d.ts","sourceRoot":"","sources":["../../src/commands/runtime-internalization-run-once.ts"],"names":[],"mappings":"AAkCA,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyXD,wBAAsB,mCAAmC,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAsO7F"}
|
|
@@ -2,6 +2,7 @@ import * as path from 'path';
|
|
|
2
2
|
import { RuntimeStateManager, InternalizationOrchestrator, DreamerRunner, PhilosopherRunner, ScribeRunner, ArtificerRunner, EvaluatorRunner, RolloutReviewerRunner, StoreEventEmitter, DefaultDreamerValidator, DefaultPhilosopherValidator, DefaultScribeValidator, DefaultArtificerValidator, DefaultEvaluatorValidator, DefaultRolloutReviewerValidator, TestDoubleRuntimeAdapter, } from '@principles/core/runtime-v2';
|
|
3
3
|
import { resolveWorkspaceDir } from '../resolve-workspace.js';
|
|
4
4
|
import { readOutputLanguageFromWorkspace } from '../config-reader.js';
|
|
5
|
+
import { loadPdConfig } from '../services/pd-config-loader.js';
|
|
5
6
|
import { resolveRuntimeAdapterFromConfig, ConfigResolutionError, } from '../services/runtime-adapter-resolver.js';
|
|
6
7
|
// PRI-510 (DEFECT-004): centralize EvaluatorRunnerDeps construction so the
|
|
7
8
|
// repair-loop wiring (isRepairLoopEnabled + seeder) is invoked in this CLI
|
|
@@ -368,6 +369,10 @@ export async function handleRuntimeInternalizationRunOnce(opts) {
|
|
|
368
369
|
}
|
|
369
370
|
const stateManager = new RuntimeStateManager({ workspaceDir });
|
|
370
371
|
await stateManager.initialize();
|
|
372
|
+
// Issue 2: resolve effective config for feature-flag-aware runners
|
|
373
|
+
// (e.g. `artificer_output_retry`). Mirrors rulehost-pipeline-runner.
|
|
374
|
+
const configLoad = loadPdConfig(workspaceDir);
|
|
375
|
+
const effectiveConfig = configLoad.ok ? configLoad.effective : configLoad.defaults;
|
|
371
376
|
try {
|
|
372
377
|
const orchestrator = new InternalizationOrchestrator({ stateManager }, { owner: OWNER, runtimeKind: RUNTIME_KIND, dryRun: true });
|
|
373
378
|
let wakeResult = { decision: 'no_ready_tasks', reason: 'no_candidates', inspectedCount: 0 };
|
|
@@ -421,7 +426,7 @@ export async function handleRuntimeInternalizationRunOnce(opts) {
|
|
|
421
426
|
}
|
|
422
427
|
else if (runnerKind === 'artificer') {
|
|
423
428
|
const validator = new DefaultArtificerValidator();
|
|
424
|
-
const runner = new ArtificerRunner({ stateManager, runtimeAdapter, eventEmitter, validator, artifactStore, contentHashFn }, { owner: OWNER, runtimeKind: runtimeAdapter.kind(), pollIntervalMs: 100, timeoutMs: effectiveTimeoutMs });
|
|
429
|
+
const runner = new ArtificerRunner({ stateManager, runtimeAdapter, eventEmitter, validator, artifactStore, contentHashFn }, { owner: OWNER, runtimeKind: runtimeAdapter.kind(), pollIntervalMs: 100, timeoutMs: effectiveTimeoutMs, effectiveConfig });
|
|
425
430
|
runnerResult = await runner.run(wakeResult.taskId);
|
|
426
431
|
}
|
|
427
432
|
else if (runnerKind === 'evaluator') {
|