create-principles-disciple 1.147.5 → 1.147.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/_release/product-identity.json +1 -1
  2. package/codex-adapter/package.json +1 -1
  3. package/console/dist/server/models/HealthCheckModel.d.ts +0 -1
  4. package/console/dist/server/models/HealthCheckModel.js +0 -54
  5. package/console/dist/server/types/index.d.ts +1 -9
  6. package/console/dist/web/assets/app.js +18 -18
  7. package/core/dist/index.d.ts +1 -1
  8. package/core/dist/index.d.ts.map +1 -1
  9. package/core/dist/index.js +1 -1
  10. package/core/dist/index.js.map +1 -1
  11. package/core/dist/prompt-builder/index.d.ts +0 -1
  12. package/core/dist/prompt-builder/index.d.ts.map +1 -1
  13. package/core/dist/prompt-builder/index.js +0 -1
  14. package/core/dist/prompt-builder/index.js.map +1 -1
  15. package/core/dist/runtime-v2/adapter/output-schema-registry.js +2 -2
  16. package/core/dist/runtime-v2/control-plane-triage.d.ts +1 -1
  17. package/core/dist/runtime-v2/control-plane-triage.d.ts.map +1 -1
  18. package/core/dist/runtime-v2/control-plane-triage.js +0 -15
  19. package/core/dist/runtime-v2/control-plane-triage.js.map +1 -1
  20. package/core/dist/runtime-v2/evidence-triage/observation-resolver.d.ts +3 -6
  21. package/core/dist/runtime-v2/evidence-triage/observation-resolver.d.ts.map +1 -1
  22. package/core/dist/runtime-v2/evidence-triage/observation-resolver.js +5 -10
  23. package/core/dist/runtime-v2/evidence-triage/observation-resolver.js.map +1 -1
  24. package/core/dist/runtime-v2/evidence-triage/source-descriptors.d.ts +2 -1
  25. package/core/dist/runtime-v2/evidence-triage/source-descriptors.d.ts.map +1 -1
  26. package/core/dist/runtime-v2/evidence-triage/source-descriptors.js +3 -8
  27. package/core/dist/runtime-v2/evidence-triage/source-descriptors.js.map +1 -1
  28. package/core/dist/runtime-v2/evidence-triage/types.d.ts +1 -1
  29. package/core/dist/runtime-v2/evidence-triage/types.d.ts.map +1 -1
  30. package/core/dist/runtime-v2/evidence-triage/types.js +0 -1
  31. package/core/dist/runtime-v2/evidence-triage/types.js.map +1 -1
  32. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
  33. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js +4 -1
  34. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
  35. package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts.map +1 -1
  36. package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js +3 -8
  37. package/core/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js.map +1 -1
  38. package/core/dist/runtime-v2/golden-trace.d.ts.map +1 -1
  39. package/core/dist/runtime-v2/golden-trace.js +0 -1
  40. package/core/dist/runtime-v2/golden-trace.js.map +1 -1
  41. package/core/dist/runtime-v2/index.d.ts +5 -9
  42. package/core/dist/runtime-v2/index.d.ts.map +1 -1
  43. package/core/dist/runtime-v2/index.js +4 -8
  44. package/core/dist/runtime-v2/index.js.map +1 -1
  45. package/core/dist/runtime-v2/internalization/artificer-run-correlation.d.ts +1 -1
  46. package/core/dist/runtime-v2/internalization/artificer-run-correlation.js +1 -1
  47. package/core/dist/runtime-v2/internalization/consumer-evidence-preflight.d.ts +1 -1
  48. package/core/dist/runtime-v2/internalization/evidence-readiness.js +1 -1
  49. package/core/dist/runtime-v2/internalization/owner-evidence-recovery.d.ts +1 -1
  50. package/core/dist/runtime-v2/internalization/rule-host-contracts.d.ts +0 -1
  51. package/core/dist/runtime-v2/internalization/rule-host-contracts.d.ts.map +1 -1
  52. package/core/dist/runtime-v2/operator-health-read-model.d.ts +0 -2
  53. package/core/dist/runtime-v2/operator-health-read-model.d.ts.map +1 -1
  54. package/core/dist/runtime-v2/operator-health-read-model.js +1 -55
  55. package/core/dist/runtime-v2/operator-health-read-model.js.map +1 -1
  56. package/core/dist/runtime-v2/principle-reuse/reuse-domain.d.ts +1 -1
  57. package/core/dist/runtime-v2/principle-reuse/reuse-domain.js +1 -1
  58. package/core/dist/runtime-v2/principle-reuse/reuse-proposal.d.ts +1 -1
  59. package/core/dist/runtime-v2/principle-reuse/reuse-proposal.js +1 -1
  60. package/core/dist/runtime-v2/principle-reuse/reuse-retrieval.d.ts +1 -1
  61. package/core/dist/runtime-v2/principle-reuse/reuse-retrieval.js +1 -1
  62. package/core/dist/runtime-v2/signal-collector/confidence-gate.d.ts +1 -5
  63. package/core/dist/runtime-v2/signal-collector/confidence-gate.d.ts.map +1 -1
  64. package/core/dist/runtime-v2/signal-collector/confidence-gate.js +0 -9
  65. package/core/dist/runtime-v2/signal-collector/confidence-gate.js.map +1 -1
  66. package/core/dist/runtime-v2/signal-collector/keyword-stage.d.ts +2 -2
  67. package/core/dist/runtime-v2/signal-collector/keyword-stage.d.ts.map +1 -1
  68. package/core/dist/runtime-v2/signal-collector/keyword-stage.js +6 -10
  69. package/core/dist/runtime-v2/signal-collector/keyword-stage.js.map +1 -1
  70. package/core/dist/runtime-v2/signal-collector/llm-stage.d.ts +1 -1
  71. package/core/dist/runtime-v2/signal-collector/llm-stage.d.ts.map +1 -1
  72. package/core/dist/runtime-v2/signal-collector/llm-stage.js +3 -4
  73. package/core/dist/runtime-v2/signal-collector/llm-stage.js.map +1 -1
  74. package/core/dist/runtime-v2/signal-collector/signal-collector.js +4 -4
  75. package/core/dist/runtime-v2/signal-collector/signal-collector.js.map +1 -1
  76. package/core/dist/runtime-v2/signal-collector/types.d.ts +6 -8
  77. package/core/dist/runtime-v2/signal-collector/types.d.ts.map +1 -1
  78. package/core/dist/runtime-v2/signal-collector/types.js +6 -6
  79. package/core/dist/runtime-v2/signal-collector/types.js.map +1 -1
  80. package/core/dist/runtime-v2/trajectory-schema.d.ts +25 -5
  81. package/core/dist/runtime-v2/trajectory-schema.d.ts.map +1 -1
  82. package/core/dist/runtime-v2/trajectory-schema.js +58 -2
  83. package/core/dist/runtime-v2/trajectory-schema.js.map +1 -1
  84. package/core/dist/runtime-v2/types/event-types.d.ts +0 -35
  85. package/core/dist/runtime-v2/types/event-types.d.ts.map +1 -1
  86. package/core/dist/runtime-v2/types/event-types.js +0 -19
  87. package/core/dist/runtime-v2/types/event-types.js.map +1 -1
  88. package/core/dist/runtime-v2/types/index.d.ts +2 -2
  89. package/core/dist/runtime-v2/types/index.d.ts.map +1 -1
  90. package/core/dist/runtime-v2/types/index.js +1 -1
  91. package/core/dist/runtime-v2/types/index.js.map +1 -1
  92. package/core/dist/trajectory-types.d.ts +0 -2
  93. package/core/dist/trajectory-types.d.ts.map +1 -1
  94. package/core/package.json +1 -1
  95. package/dist/installer.d.ts +0 -7
  96. package/dist/installer.d.ts.map +1 -1
  97. package/dist/installer.js +112 -28
  98. package/dist/installer.js.map +1 -1
  99. package/dist/mvp-config.d.ts +2 -2
  100. package/dist/mvp-config.d.ts.map +1 -1
  101. package/dist/mvp-config.js +4 -2
  102. package/dist/mvp-config.js.map +1 -1
  103. package/host-runtime/dist/governance-signal-admission.d.ts +0 -2
  104. package/host-runtime/dist/governance-signal-admission.js +14 -15
  105. package/host-runtime/dist/production-pain-evidence.d.ts +1 -1
  106. package/host-runtime/dist/production-pain-evidence.js +42 -7
  107. package/host-runtime/dist/production-rulehost-gate.d.ts +0 -1
  108. package/host-runtime/dist/production-rulehost-gate.js +3 -4
  109. package/host-runtime/dist/signal-classifier.d.ts +8 -0
  110. package/host-runtime/dist/signal-classifier.js +10 -2
  111. package/host-runtime/package.json +1 -1
  112. package/package.json +3 -3
  113. package/pd-cli/dist/commands/pain-evidence.d.ts +2 -4
  114. package/pd-cli/dist/commands/pain-evidence.d.ts.map +1 -1
  115. package/pd-cli/dist/commands/pain-evidence.js +2 -4
  116. package/pd-cli/dist/commands/pain-evidence.js.map +1 -1
  117. package/pd-cli/dist/commands/runtime-canary.d.ts.map +1 -1
  118. package/pd-cli/dist/commands/runtime-canary.js +2 -68
  119. package/pd-cli/dist/commands/runtime-canary.js.map +1 -1
  120. package/pd-cli/dist/commands/runtime-diagnostics-export.d.ts.map +1 -1
  121. package/pd-cli/dist/commands/runtime-diagnostics-export.js +1 -25
  122. package/pd-cli/dist/commands/runtime-diagnostics-export.js.map +1 -1
  123. package/pd-cli/dist/commands/runtime-health-snapshot.d.ts.map +1 -1
  124. package/pd-cli/dist/commands/runtime-health-snapshot.js +0 -9
  125. package/pd-cli/dist/commands/runtime-health-snapshot.js.map +1 -1
  126. package/pd-cli/dist/index.js +0 -9
  127. package/pd-cli/dist/index.js.map +1 -1
  128. package/pd-cli/package.json +1 -1
  129. package/pd-mcp-server/dist/version.d.ts +1 -1
  130. package/pd-mcp-server/dist/version.js +1 -1
  131. package/pd-mcp-server/package.json +1 -1
  132. package/plugin/dist/bundle.js +492 -481
  133. package/plugin/dist/config/defaults/runtime.d.ts +0 -4
  134. package/plugin/dist/core/config.d.ts +0 -35
  135. package/plugin/dist/core/pain.d.ts +0 -1
  136. package/plugin/dist/core/session-tracker.d.ts +3 -51
  137. package/plugin/dist/core/signal-collector-host.d.ts +5 -13
  138. package/plugin/dist/core/signal-keyword-store.d.ts +2 -2
  139. package/plugin/dist/core/trajectory.d.ts +0 -2
  140. package/plugin/dist/governance-audit.js +2 -2
  141. package/plugin/dist/hooks/after-tool-call-helpers.d.ts +5 -12
  142. package/plugin/dist/hooks/after-tool-call-types.d.ts +0 -2
  143. package/plugin/dist/hooks/gate-block-helper.d.ts +1 -1
  144. package/plugin/dist/hooks/gate.d.ts +3 -4
  145. package/plugin/dist/hooks/pain.d.ts +4 -4
  146. package/plugin/dist/openclaw.plugin.json +1 -1
  147. package/plugin/dist/rulehost-evidence.js +45 -45
  148. package/plugin/dist/templates/pain_settings.json +0 -46
  149. package/plugin/dist/types/event-types.d.ts +1 -1
  150. package/plugin/openclaw.plugin.json +1 -1
  151. package/plugin/package.json +1 -1
  152. package/plugin/templates/pain_settings.json +0 -46
  153. package/release-manager/dist/installer.js +112 -28
  154. package/release-manager/dist/mvp-config.js +4 -2
  155. package/release-manager/package.json +1 -1
  156. package/workbuddy-adapter/package.json +1 -1
  157. package/core/dist/prompt-builder/attitude-directive.d.ts +0 -7
  158. package/core/dist/prompt-builder/attitude-directive.d.ts.map +0 -1
  159. package/core/dist/prompt-builder/attitude-directive.js +0 -39
  160. package/core/dist/prompt-builder/attitude-directive.js.map +0 -1
  161. package/core/dist/runtime-v2/gfi/gfi-kernel.d.ts +0 -12
  162. package/core/dist/runtime-v2/gfi/gfi-kernel.d.ts.map +0 -1
  163. package/core/dist/runtime-v2/gfi/gfi-kernel.js +0 -148
  164. package/core/dist/runtime-v2/gfi/gfi-kernel.js.map +0 -1
  165. package/core/dist/runtime-v2/gfi/gfi-policy.d.ts +0 -3
  166. package/core/dist/runtime-v2/gfi/gfi-policy.d.ts.map +0 -1
  167. package/core/dist/runtime-v2/gfi/gfi-policy.js +0 -23
  168. package/core/dist/runtime-v2/gfi/gfi-policy.js.map +0 -1
  169. package/core/dist/runtime-v2/gfi/gfi-read-model.d.ts +0 -78
  170. package/core/dist/runtime-v2/gfi/gfi-read-model.d.ts.map +0 -1
  171. package/core/dist/runtime-v2/gfi/gfi-read-model.js +0 -129
  172. package/core/dist/runtime-v2/gfi/gfi-read-model.js.map +0 -1
  173. package/core/dist/runtime-v2/gfi/gfi-types.d.ts +0 -70
  174. package/core/dist/runtime-v2/gfi/gfi-types.d.ts.map +0 -1
  175. package/core/dist/runtime-v2/gfi/gfi-types.js +0 -2
  176. package/core/dist/runtime-v2/gfi/gfi-types.js.map +0 -1
  177. package/core/dist/runtime-v2/gfi/index.d.ts +0 -6
  178. package/core/dist/runtime-v2/gfi/index.d.ts.map +0 -1
  179. package/core/dist/runtime-v2/gfi/index.js +0 -4
  180. package/core/dist/runtime-v2/gfi/index.js.map +0 -1
  181. package/pd-cli/dist/commands/runtime-gfi-snapshot.d.ts +0 -7
  182. package/pd-cli/dist/commands/runtime-gfi-snapshot.d.ts.map +0 -1
  183. package/pd-cli/dist/commands/runtime-gfi-snapshot.js +0 -101
  184. package/pd-cli/dist/commands/runtime-gfi-snapshot.js.map +0 -1
@@ -11,40 +11,9 @@ import * as path from 'path';
11
11
  import { PainChainReadModel } from './pain-chain-read-model.js';
12
12
  import { PruningReadModel } from './pruning-read-model.js';
13
13
  import { auditCandidateLedgerConsistency } from './candidate-audit.js';
14
- import { buildGfiWorkspaceSnapshot, classifyGfiWorkspaceHealth } from './gfi/gfi-read-model.js';
15
14
  // ── Thresholds ────────────────────────────────────────────────────────────────
16
15
  const ORPHAN_DERIVED_CANDIDATE_COUNT_THRESHOLD = 10;
17
- function readPersistedSessions(workspaceDir) {
18
- const sessionDir = path.join(workspaceDir, '.state', 'sessions');
19
- if (!fs.existsSync(sessionDir)) {
20
- return [];
21
- }
22
- const sessions = [];
23
- for (const file of fs.readdirSync(sessionDir)) {
24
- if (!file.endsWith('.json'))
25
- continue;
26
- try {
27
- const raw = fs.readFileSync(path.join(sessionDir, file), 'utf8');
28
- const parsed = JSON.parse(raw);
29
- if (parsed?.sessionId) {
30
- sessions.push({
31
- sessionId: parsed.sessionId ?? file.replace('.json', ''),
32
- currentGfi: parsed.currentGfi ?? 0,
33
- gfiBySource: parsed.gfiBySource,
34
- lastErrorSource: parsed.lastErrorSource,
35
- consecutiveErrors: parsed.consecutiveErrors ?? 0,
36
- lastGfiDecayAt: parsed.lastGfiDecayAt,
37
- dailyGfiPeak: parsed.dailyGfiPeak,
38
- lastActivityAt: parsed.lastActivityAt ?? parsed.lastControlActivityAt ?? 0,
39
- });
40
- }
41
- }
42
- catch {
43
- // skip malformed session files
44
- }
45
- }
46
- return sessions;
47
- }
16
+ // ── Read model ───────────────────────────────────────────────────────────────
48
17
  export class OperatorHealthReadModel {
49
18
  workspaceDir;
50
19
  injectedPainChainReadModel;
@@ -104,25 +73,7 @@ export class OperatorHealthReadModel {
104
73
  catch {
105
74
  // Graceful — pruning section stays zeroed
106
75
  }
107
- // ── GFI ───────────────────────────────────────────────────────────────
108
- const gfi = (() => {
109
- try {
110
- const sessions = readPersistedSessions(this.workspaceDir);
111
- return buildGfiWorkspaceSnapshot({ sessions, nowMs: Date.now() });
112
- }
113
- catch {
114
- return {
115
- active: null,
116
- staleSessionCount: 0,
117
- staleGfiRange: null,
118
- totalSessionCount: 0,
119
- activeSessionCount: 0,
120
- generatedAt: new Date().toISOString(),
121
- };
122
- }
123
- })();
124
76
  // ── Compute overallStatus ─────────────────────────────────────────────
125
- const gfiHealth = classifyGfiWorkspaceHealth(gfi);
126
77
  let overallStatus = 'healthy';
127
78
  if (!dbExists || audit.status === 'error') {
128
79
  overallStatus = 'error';
@@ -131,7 +82,6 @@ export class OperatorHealthReadModel {
131
82
  || watchCount > 0
132
83
  || reviewCount > 0
133
84
  || orphanDerivedCandidateCount > ORPHAN_DERIVED_CANDIDATE_COUNT_THRESHOLD
134
- || gfiHealth.status === 'degraded'
135
85
  || (lastSuccessfulChain === null && totalTaskCount > 0)) {
136
86
  overallStatus = 'degraded';
137
87
  }
@@ -151,9 +101,6 @@ export class OperatorHealthReadModel {
151
101
  if (orphanDerivedCandidateCount > ORPHAN_DERIVED_CANDIDATE_COUNT_THRESHOLD) {
152
102
  recommendedActions.push(`High orphan-derived-candidate count (${orphanDerivedCandidateCount}) — run pruning to clean up.`);
153
103
  }
154
- if (gfiHealth.status === 'degraded') {
155
- recommendedActions.push(`GFI degraded: ${gfiHealth.reason} — run cleanup or investigate session lifecycle.`);
156
- }
157
104
  if (lastSuccessfulChain === null && dbExists && totalTaskCount > 0) {
158
105
  recommendedActions.push('Run `pd runtime uat --workspace <path> --count 3` to establish baseline.');
159
106
  }
@@ -170,7 +117,6 @@ export class OperatorHealthReadModel {
170
117
  missingLedgerCount: audit.missingLedgerCount,
171
118
  },
172
119
  pruning: { watchCount, reviewCount, orphanDerivedCandidateCount },
173
- gfi,
174
120
  overallStatus,
175
121
  recommendedActions,
176
122
  totalTaskCount,
@@ -1 +1 @@
1
- {"version":3,"file":"operator-health-read-model.js","sourceRoot":"","sources":["../../src/runtime-v2/operator-health-read-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operator-health-read-model.js","sourceRoot":"","sources":["../../src/runtime-v2/operator-health-read-model.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAGvE,iFAAiF;AAEjF,MAAM,wCAAwC,GAAG,EAAE,CAAC;AAmCpD,gFAAgF;AAEhF,MAAM,OAAO,uBAAuB;IACjB,YAAY,CAAS;IACrB,0BAA0B,CAAiC;IAC3D,wBAAwB,CAA+B;IAChE,uBAAuB,GAA8B,IAAI,CAAC;IAC1D,qBAAqB,GAA4B,IAAI,CAAC;IAE9D,YAAY,IAAoC;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC1D,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAEzC,yEAAyE;QACzE,MAAM,KAAK,GAAyB,MAAM,+BAA+B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE7F,0EAA0E;QAC1E,MAAM,kBAAkB,GAAG,IAAI,CAAC,0BAA0B;eACrD,IAAI,kBAAkB,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAEjE,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACrC,IAAI,CAAC,uBAAuB,GAAG,kBAAkB,CAAC;QACpD,CAAC;QAED,yEAAyE;QACzE,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,kBAAkB,CAAC,iBAAiB,EAAE,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;QAED,yEAAyE;QACzE,IAAI,mBAAmB,GAA0B,IAAI,CAAC;QACtD,IAAI,eAAe,GAAkB,IAAI,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,sBAAsB,EAAE,CAAC;YAChE,mBAAmB,GAAG,KAAK,IAAI,IAAI,CAAC;YACpC,eAAe,GAAG,KAAK,EAAE,eAAe,IAAI,IAAI,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,sCAAsC;QACxC,CAAC;QAED,yEAAyE;QACzE,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,2BAA2B,GAAG,CAAC,CAAC;QAEpC,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB;eACjD,IAAI,gBAAgB,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAE/D,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnC,IAAI,CAAC,qBAAqB,GAAG,gBAAgB,CAAC;QAChD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;YACpD,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,2BAA2B,EAAE,GAAG,OAAO,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;QAED,yEAAyE;QACzE,IAAI,aAAa,GAAwB,SAAS,CAAC;QAEnD,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC1C,aAAa,GAAG,OAAO,CAAC;QAC1B,CAAC;aAAM,IACL,KAAK,CAAC,MAAM,KAAK,UAAU;eACxB,UAAU,GAAG,CAAC;eACd,WAAW,GAAG,CAAC;eACf,2BAA2B,GAAG,wCAAwC;eACtE,CAAC,mBAAmB,KAAK,IAAI,IAAI,cAAc,GAAG,CAAC,CAAC,EACvD,CAAC;YACD,aAAa,GAAG,UAAU,CAAC;QAC7B,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,kBAAkB,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,IAAI,QAAQ,EAAE,CAAC;YACzC,kBAAkB,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;QACvH,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAChC,kBAAkB,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QAC7F,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACtC,kBAAkB,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;QAC9G,CAAC;QAED,IAAI,2BAA2B,GAAG,wCAAwC,EAAE,CAAC;YAC3E,kBAAkB,CAAC,IAAI,CAAC,wCAAwC,2BAA2B,8BAA8B,CAAC,CAAC;QAC7H,CAAC;QAED,IAAI,mBAAmB,KAAK,IAAI,IAAI,QAAQ,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACnE,kBAAkB,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACtG,CAAC;QAED,IAAI,cAAc,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YACrC,kBAAkB,CAAC,IAAI,CAAC,+IAA+I,CAAC,CAAC;QAC3K,CAAC;QAED,OAAO;YACL,WAAW;YACX,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,SAAS,EAAE,EAAE,mBAAmB,EAAE,eAAe,EAAE;YACnD,eAAe,EAAE;gBACf,WAAW,EAAE,KAAK,CAAC,MAAM;gBACzB,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;gBAChD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;aAC7C;YACD,OAAO,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,2BAA2B,EAAE;YACjE,aAAa;YACb,kBAAkB;YAClB,cAAc;SACf,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;YAC3C,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;CACF"}
@@ -10,7 +10,7 @@
10
10
  * surface (PRI-775) is a public contract, and this is an internal capability
11
11
  * until it is proven by production use.
12
12
  *
13
- * @see docs/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
13
+ * @see docs/archive/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
14
14
  */
15
15
  /** The candidate fields that carry a Principle's semantic claim. */
16
16
  export type ReuseSemanticField = 'text' | 'triggerPattern' | 'action';
@@ -10,7 +10,7 @@
10
10
  * surface (PRI-775) is a public contract, and this is an internal capability
11
11
  * until it is proven by production use.
12
12
  *
13
- * @see docs/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
13
+ * @see docs/archive/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
14
14
  */
15
15
  export {};
16
16
  //# sourceMappingURL=reuse-domain.js.map
@@ -10,7 +10,7 @@
10
10
  * - any Console page, new approval subsystem, or automated decision model
11
11
  * - any change to `derivedFromPainIds`, the ledger schema, or candidate status
12
12
  *
13
- * @see docs/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
13
+ * @see docs/archive/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
14
14
  */
15
15
  import type { ReuseShortlist } from './reuse-domain.js';
16
16
  import type { ReuseEvidenceActor } from '../types/principle-schema.js';
@@ -10,7 +10,7 @@
10
10
  * - any Console page, new approval subsystem, or automated decision model
11
11
  * - any change to `derivedFromPainIds`, the ledger schema, or candidate status
12
12
  *
13
- * @see docs/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
13
+ * @see docs/archive/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
14
14
  */
15
15
  /**
16
16
  * Converts a deterministic shortlist into the proposal contract.
@@ -7,7 +7,7 @@
7
7
  * vector store, and no embedding service. It never writes: `derivedFromPainIds`,
8
8
  * the ledger schema, and `activation_decisions` are all untouched.
9
9
  *
10
- * @see docs/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
10
+ * @see docs/archive/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
11
11
  */
12
12
  import type { ReuseCandidateInput, ReusablePrinciple, ReuseShortlist, ReuseShortlistOptions } from './reuse-domain.js';
13
13
  /**
@@ -7,7 +7,7 @@
7
7
  * vector store, and no embedding service. It never writes: `derivedFromPainIds`,
8
8
  * the ledger schema, and `activation_decisions` are all untouched.
9
9
  *
10
- * @see docs/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
10
+ * @see docs/archive/specs/PRI-917-reuse-before-create-v0.1.md (SPEC v0.2)
11
11
  */
12
12
  import { existsSync, readFileSync } from 'fs';
13
13
  import { getLedgerFilePathPublic, loadLedger } from '../../principle-tree-ledger.js';
@@ -7,16 +7,12 @@ import type { LlmClassificationResult } from './types.js';
7
7
  * - NONE 且 confidence ≥ θ_none → none(终态 resolved_none);
8
8
  * - 低置信度 → pending_low_confidence(attempts+1 后回 pending,绝不伪装终态);
9
9
  * - LLM 超时/异常/无结果 → pending_llm_error(绝不记为 NONE)。
10
- *
11
- * empathy 不属于 CORRECTION/NONE 二元契约。OpenClaw 的 WEAK/GFI 路径在 Phase B
12
- * 仍保留,因此这里把它原样标为 unclassified_empathy,由宿主决定既有行为;
13
- * Codex/WorkBuddy 的 pending 状态机会把未归类结果继续视为 pending。
14
10
  */
15
11
  export declare const STAGE2_CONFIRM_THRESHOLD = 0.7;
16
12
  export declare const STAGE2_NONE_THRESHOLD = 0.7;
17
13
  export declare const STAGE2_MAX_ATTEMPTS = 5;
18
14
  export declare const PENDING_CANDIDATE_TTL_MS: number;
19
- export type Stage2GateVerdict = 'correction' | 'none' | 'unclassified_empathy' | 'pending_low_confidence' | 'pending_llm_error';
15
+ export type Stage2GateVerdict = 'correction' | 'none' | 'pending_low_confidence' | 'pending_llm_error';
20
16
  export interface Stage2GateResult {
21
17
  verdict: Stage2GateVerdict;
22
18
  reason: string;
@@ -1 +1 @@
1
- {"version":3,"file":"confidence-gate.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/confidence-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,wBAAwB,QAAsB,CAAC;AAE5D,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,MAAM,GACN,sBAAsB,GACtB,wBAAwB,GACxB,mBAAmB,CAAC;AAExB,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAOD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,uBAAuB,GAAG,IAAI,EACtC,UAAU,GAAE,gBAAqC,GAChD,gBAAgB,CAuBlB"}
1
+ {"version":3,"file":"confidence-gate.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/confidence-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,wBAAwB,QAAsB,CAAC;AAE5D,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,MAAM,GACN,wBAAwB,GACxB,mBAAmB,CAAC;AAExB,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAOD;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,uBAAuB,GAAG,IAAI,EACtC,UAAU,GAAE,gBAAqC,GAChD,gBAAgB,CAiBlB"}
@@ -6,10 +6,6 @@
6
6
  * - NONE 且 confidence ≥ θ_none → none(终态 resolved_none);
7
7
  * - 低置信度 → pending_low_confidence(attempts+1 后回 pending,绝不伪装终态);
8
8
  * - LLM 超时/异常/无结果 → pending_llm_error(绝不记为 NONE)。
9
- *
10
- * empathy 不属于 CORRECTION/NONE 二元契约。OpenClaw 的 WEAK/GFI 路径在 Phase B
11
- * 仍保留,因此这里把它原样标为 unclassified_empathy,由宿主决定既有行为;
12
- * Codex/WorkBuddy 的 pending 状态机会把未归类结果继续视为 pending。
13
9
  */
14
10
  export const STAGE2_CONFIRM_THRESHOLD = 0.7;
15
11
  export const STAGE2_NONE_THRESHOLD = 0.7;
@@ -34,11 +30,6 @@ export function evaluateStage2ConfidenceGate(result, thresholds = DEFAULT_THRESH
34
30
  ? { verdict: 'correction', reason: result.reason, confidence }
35
31
  : { verdict: 'pending_low_confidence', reason: result.reason, confidence };
36
32
  }
37
- if (result.type === 'empathy' && result.is_feedback) {
38
- // OpenClaw 的既有 WEAK/GFI 语义在 Phase B 保持;它既不是 correction,
39
- // 也不构成高置信度的 none。
40
- return { verdict: 'unclassified_empathy', reason: result.reason, confidence };
41
- }
42
33
  // `none`(以及 is_feedback=false 的伪 correction)只有在达到否定阈值时
43
34
  // 才允许成为终态;低置信度的否定只是不确定性。
44
35
  return confidence >= thresholds.none
@@ -1 +1 @@
1
- {"version":3,"file":"confidence-gate.js","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/confidence-gate.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAC5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAoB5D,MAAM,kBAAkB,GAAqB;IAC3C,OAAO,EAAE,wBAAwB;IACjC,IAAI,EAAE,qBAAqB;CAC5B,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,MAAsC,EACtC,UAAU,GAAqB,kBAAkB;IAEjD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,uCAAuC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC7G,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvD,OAAO,UAAU,IAAI,UAAU,CAAC,OAAO;YACrC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE;YAC9D,CAAC,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;IAC/E,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACpD,wDAAwD;QACxD,kBAAkB;QAClB,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;IAChF,CAAC;IAED,uDAAuD;IACvD,yBAAyB;IACzB,OAAO,UAAU,IAAI,UAAU,CAAC,IAAI;QAClC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE;QACxD,CAAC,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"confidence-gate.js","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/confidence-gate.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAC5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AACrC,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAmB5D,MAAM,kBAAkB,GAAqB;IAC3C,OAAO,EAAE,wBAAwB;IACjC,IAAI,EAAE,qBAAqB;CAC5B,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,MAAsC,EACtC,UAAU,GAAqB,kBAAkB;IAEjD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,uCAAuC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC7G,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvD,OAAO,UAAU,IAAI,UAAU,CAAC,OAAO;YACrC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE;YAC9D,CAAC,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;IAC/E,CAAC;IAED,uDAAuD;IACvD,yBAAyB;IACzB,OAAO,UAAU,IAAI,UAAU,CAAC,IAAI;QAClC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE;QACxD,CAAC,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC;AAC/E,CAAC"}
@@ -1,10 +1,10 @@
1
- import type { UnifiedKeywordStore, KeywordCategory, MatchedPrecision } from './types.js';
1
+ import type { UnifiedKeywordStore, MatchedPrecision } from './types.js';
2
2
  export interface KeywordScanResult {
3
3
  matched: boolean;
4
4
  matchedTerms: string[];
5
5
  matchedPrecision: MatchedPrecision;
6
6
  needsLlmConfirmation: boolean;
7
- suggestedType: KeywordCategory | null;
7
+ suggestedType: 'correction' | null;
8
8
  }
9
9
  /**
10
10
  * Stage 1: 同步关键词快扫。零成本,纯函数。
@@ -1 +1 @@
1
- {"version":3,"file":"keyword-stage.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/keyword-stage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEzF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,aAAa,EAAE,eAAe,GAAG,IAAI,CAAC;CACvC;AAwGD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,iBAAiB,CAmExF"}
1
+ {"version":3,"file":"keyword-stage.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/keyword-stage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,aAAa,EAAE,YAAY,GAAG,IAAI,CAAC;CACpC;AAwGD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,iBAAiB,CA+DxF"}
@@ -100,15 +100,12 @@ export function scanKeywords(text, store) {
100
100
  .map((index) => classifyHighOccurrence(normalized, lowered, { index, quotedRanges }));
101
101
  const strong = dispositions.includes('strong');
102
102
  if (strong) {
103
- // CodeRabbit #10: 不 break,遍历所有 high 命中,correction 优先于 empathy
104
- // (避免结果依赖 terms 对象的键插入顺序)
105
- if (!highHit || kw.category === 'correction') {
106
- highHit = { term, category: kw.category };
107
- }
103
+ // 不 break,遍历所有 high 命中。
104
+ highHit = { term };
108
105
  }
109
106
  else if (dispositions.includes('downgraded')) {
110
107
  // 第三人称/否定语境命中仍是候选,但必须经 Stage 2 确认。
111
- ambiguousHits.push({ term, category: kw.category });
108
+ ambiguousHits.push({ term });
112
109
  }
113
110
  // quoted-only: 不进入任何结果(引号内不单独构成信号,也不消耗候选)。
114
111
  continue;
@@ -119,7 +116,7 @@ export function scanKeywords(text, store) {
119
116
  const hasOutsideQuotes = findOccurrences(normalized, lowered)
120
117
  .some((index) => !isInsideQuotes(index, index + lowered.length, quotedRanges));
121
118
  if (hasOutsideQuotes) {
122
- ambiguousHits.push({ term, category: kw.category });
119
+ ambiguousHits.push({ term });
123
120
  }
124
121
  }
125
122
  if (highHit) {
@@ -128,17 +125,16 @@ export function scanKeywords(text, store) {
128
125
  matchedTerms: [highHit.term],
129
126
  matchedPrecision: 'high',
130
127
  needsLlmConfirmation: false,
131
- suggestedType: highHit.category,
128
+ suggestedType: 'correction',
132
129
  };
133
130
  }
134
131
  if (ambiguousHits.length > 0) {
135
- const [first] = ambiguousHits;
136
132
  return {
137
133
  matched: true,
138
134
  matchedTerms: ambiguousHits.map((h) => h.term),
139
135
  matchedPrecision: 'ambiguous',
140
136
  needsLlmConfirmation: true,
141
- suggestedType: first ? first.category : null,
137
+ suggestedType: 'correction',
142
138
  };
143
139
  }
144
140
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"keyword-stage.js","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/keyword-stage.ts"],"names":[],"mappings":"AA2BA,sCAAsC;AACtC,MAAM,WAAW,GAA2C;IAC1D,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;CACtE,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,yHAAyH,CAAC;AAEtJ,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAClD,MAAM,cAAc,GAAG,4CAA4C,CAAC;AACpE,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEjD,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;QACxC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,OAAO,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3C,IAAI,SAAS,GAAG,CAAC;gBAAE,MAAM;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI,UAAU,GAAG,CAAC;gBAAE,MAAM;YAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;YACjE,IAAI,GAAG,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,GAAW,EAAE,MAA8B;IAChF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED,iCAAiC;AACjC,SAAS,YAAY,CAAC,IAAY,EAAE,KAAa;IAC/C,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,IAAY;IACrD,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,8CAA8C;IAC9C,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB,EAAE,MAAc;IACvD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,OAAO,IAAI,IAAI,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM;QACrB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAID,SAAS,sBAAsB,CAC7B,cAAsB,EACtB,IAAY,EACZ,UAAmE;IAEnE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC;IAC3C,MAAM,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;IAChC,IAAI,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC9D,MAAM,MAAM,GAAG,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,oBAAoB,CAAC,MAAM,CAAC;QAAE,OAAO,YAAY,CAAC;IACtD,IAAI,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,KAA0B;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAElD,IAAI,OAAO,GAAuD,IAAI,CAAC;IACvE,MAAM,aAAa,GAAkD,EAAE,CAAC;IAExE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;YAAE,SAAS,CAAE,OAAO;QACzD,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,EAAE;YAAE,SAAS;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,EAAE,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC;iBACtD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YACxF,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,MAAM,EAAE,CAAC;gBACX,8DAA8D;gBAC9D,0BAA0B;gBAC1B,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;oBAC7C,OAAO,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC5C,CAAC;YACH,CAAC;iBAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC/C,mCAAmC;gBACnC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,2CAA2C;YAC3C,SAAS;QACX,CAAC;QACD,sEAAsE;QACtE,yEAAyE;QACzE,6DAA6D;QAC7D,MAAM,gBAAgB,GAAG,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC;aAC1D,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;QACjF,IAAI,gBAAgB,EAAE,CAAC;YACrB,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5B,gBAAgB,EAAE,MAAM;YACxB,oBAAoB,EAAE,KAAK;YAC3B,aAAa,EAAE,OAAO,CAAC,QAAQ;SAChC,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9C,gBAAgB,EAAE,WAAW;YAC7B,oBAAoB,EAAE,IAAI;YAC1B,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;SAC7C,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,EAAE;QAChB,gBAAgB,EAAE,IAAI;QACtB,oBAAoB,EAAE,IAAI;QAC1B,aAAa,EAAE,IAAI;KACpB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"keyword-stage.js","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/keyword-stage.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ export interface PayloadResolveResult {
28
28
  * 解析 RuntimeAdapter fetchOutput 的 payload 为分类结果。
29
29
  *
30
30
  * Canonical path 是 structured object(分类器以 outputSchemaRef 请求
31
- * signal-classification-output-v1,adapter 完成 JSON extraction + schema
31
+ * signal-classification-output-v2,adapter 完成 JSON extraction + schema
32
32
  * validation + bounded repair)。string / {output: string} 仅是未实现 schema
33
33
  * ref 的 adapter 的 compatibility fallback——消费侧仍对 unknown payload 做
34
34
  * 类型守卫(rc-1/rc-2,纵深防御: producer contract 不替代 consumer 校验)。
@@ -1 +1 @@
1
- {"version":3,"file":"llm-stage.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/llm-stage.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,6EAAiB,CAAC;AAE9D;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAW1D;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,uBAAuB,GAAG,IAAI,CAAC;CACvC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAU/D;AAID,MAAM,MAAM,qBAAqB,GAC7B,YAAY,GACZ,eAAe,GACf,iBAAiB,GACjB,SAAS,CAAC;AAEd,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,uBAAuB,GAAG,IAAI,CAAC;CACvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,oBAAoB,CAetF"}
1
+ {"version":3,"file":"llm-stage.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/llm-stage.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,6EAAiB,CAAC;AAE9D;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAU1D;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,uBAAuB,GAAG,IAAI,CAAC;CACvC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAU/D;AAID,MAAM,MAAM,qBAAqB,GAC7B,YAAY,GACZ,eAAe,GACf,iBAAiB,GACjB,SAAS,CAAC;AAEd,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,uBAAuB,GAAG,IAAI,CAAC;CACvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,oBAAoB,CAetF"}
@@ -12,12 +12,11 @@ export const SIGNAL_CLASSIFIER_SYSTEM_PROMPT = '你是一个用户反馈分类
12
12
  export function buildLlmPrompt(userMessage) {
13
13
  return `判断下面这条用户消息是否表达对 AI 助手行为的不满或纠正。
14
14
 
15
- 只输出 JSON,格式:{"is_feedback": bool, "type": "correction"|"empathy"|"none", "confidence": 0-1, "reason": "一句话理由"}
15
+ 只输出 JSON,格式:{"is_feedback": bool, "type": "correction"|"none", "confidence": 0-1, "reason": "一句话理由"}
16
16
 
17
17
  定义:
18
18
  - correction:用户明确指出 AI 做错了什么、应该改什么(如"这是错的""不要自作主张""应该先确认")
19
- - empathy:用户表达挫败/不满情绪,但没明确指出 AI 错在哪(如"搞什么啊""又来了""算了")
20
- - none:正常任务指令或闲聊
19
+ - none:正常任务指令、闲聊,或只表达情绪但没指出 AI 错在哪(如"搞什么啊""又来了""算了")
21
20
 
22
21
  用户消息:${userMessage}`;
23
22
  }
@@ -41,7 +40,7 @@ export function parseLlmClassification(raw) {
41
40
  * 解析 RuntimeAdapter fetchOutput 的 payload 为分类结果。
42
41
  *
43
42
  * Canonical path 是 structured object(分类器以 outputSchemaRef 请求
44
- * signal-classification-output-v1,adapter 完成 JSON extraction + schema
43
+ * signal-classification-output-v2,adapter 完成 JSON extraction + schema
45
44
  * validation + bounded repair)。string / {output: string} 仅是未实现 schema
46
45
  * ref 的 adapter 的 compatibility fallback——消费侧仍对 unknown payload 做
47
46
  * 类型守卫(rc-1/rc-2,纵深防御: producer contract 不替代 consumer 校验)。
@@ -1 +1 @@
1
- {"version":3,"file":"llm-stage.js","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/llm-stage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAgC,MAAM,YAAY,CAAC;AAErF;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,cAAc,CAAC;AAE9D;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,OAAO;;;;;;;;;OASF,WAAW,EAAE,CAAC;AACrB,CAAC;AAOD;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;AACH,CAAC;AAeD;;;;;;;;GAQG;AACH,MAAM,UAAU,+BAA+B,CAAC,OAAgB;IAC9D,IAAI,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC1F,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC/F,MAAM,WAAW,GAAI,OAAgC,CAAC,MAAM,CAAC;QAC7D,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;YACnD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;gBAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAC5F,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"llm-stage.js","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/llm-stage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAgC,MAAM,YAAY,CAAC;AAErF;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,cAAc,CAAC;AAE9D;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,OAAO;;;;;;;;OAQF,WAAW,EAAE,CAAC;AACrB,CAAC;AAOD;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;AACH,CAAC;AAeD;;;;;;;;GAQG;AACH,MAAM,UAAU,+BAA+B,CAAC,OAAgB;IAC9D,IAAI,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;YAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAC1F,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC/F,MAAM,WAAW,GAAI,OAAgC,CAAC,MAAM,CAAC;QAC7D,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;YACnD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;gBAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAC5F,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC1C,CAAC"}
@@ -20,8 +20,8 @@ export function collectSync(text, sessionId, store, config, detectedAt) {
20
20
  if (scan.matched && scan.matchedPrecision === 'high' && scan.suggestedType) {
21
21
  return {
22
22
  isSignal: true,
23
- type: scan.suggestedType,
24
- strength: scan.suggestedType === 'correction' ? 'STRONG' : 'WEAK',
23
+ type: 'correction',
24
+ strength: 'STRONG',
25
25
  matchedTerms: scan.matchedTerms,
26
26
  matchedPrecision: 'high',
27
27
  detectionSource: 'keyword',
@@ -58,8 +58,8 @@ export function mapLlmResultToOutput(llm, text, _sessionId, _config, detectedAt)
58
58
  }
59
59
  return {
60
60
  isSignal: true,
61
- type: llm.type,
62
- strength: llm.type === 'correction' ? 'STRONG' : 'WEAK',
61
+ type: 'correction',
62
+ strength: 'STRONG',
63
63
  matchedTerms: [],
64
64
  matchedPrecision: null,
65
65
  detectionSource: 'llm',
@@ -1 +1 @@
1
- {"version":3,"file":"signal-collector.js","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/signal-collector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,MAAM,WAAW,GAAG,GAAG,CAAC;AAExB,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,UAAkB;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,wIAAwI;AACxI,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,SAAiB,EACjB,KAA0B,EAC1B,MAA6B,EAC7B,UAAkB;IAElB,KAAK,SAAS,CAAC;IACf,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAEjD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3E,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI,CAAC,aAAa;YACxB,QAAQ,EAAE,IAAI,CAAC,aAAa,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;YACjE,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,gBAAgB,EAAE,MAAM;YACxB,eAAe,EAAE,SAAS;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,eAAe,EAAE,MAAM;QACvB,oBAAoB,EAAE,MAAM,CAAC,cAAc;QAC3C,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,2GAA2G;AAC3G,MAAM,UAAU,oBAAoB,CAClC,GAA4B,EAC5B,IAAY,EACZ,UAAkB,EAClB,OAA8B,EAC9B,UAAkB;IAElB,KAAK,UAAU,CAAC;IAChB,KAAK,OAAO,CAAC;IACb,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAEjD,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5C,OAAO;YACL,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE;YAC7D,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK;YAC3E,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ;SAChC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,QAAQ,EAAE,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;QACvD,YAAY,EAAE,EAAE;QAChB,gBAAgB,EAAE,IAAI;QACtB,eAAe,EAAE,KAAK;QACtB,oBAAoB,EAAE,KAAK;QAC3B,SAAS,EAAE,GAAG,CAAC,MAAM;QACrB,QAAQ;KACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"signal-collector.js","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/signal-collector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,MAAM,WAAW,GAAG,GAAG,CAAC;AAExB,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,UAAkB;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,wIAAwI;AACxI,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,SAAiB,EACjB,KAA0B,EAC1B,MAA6B,EAC7B,UAAkB;IAElB,KAAK,SAAS,CAAC;IACf,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAEjD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3E,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,gBAAgB,EAAE,MAAM;YACxB,eAAe,EAAE,SAAS;YAC1B,oBAAoB,EAAE,KAAK;YAC3B,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,eAAe,EAAE,MAAM;QACvB,oBAAoB,EAAE,MAAM,CAAC,cAAc;QAC3C,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,2GAA2G;AAC3G,MAAM,UAAU,oBAAoB,CAClC,GAA4B,EAC5B,IAAY,EACZ,UAAkB,EAClB,OAA8B,EAC9B,UAAkB;IAElB,KAAK,UAAU,CAAC;IAChB,KAAK,OAAO,CAAC;IACb,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAEjD,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5C,OAAO;YACL,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE;YAC7D,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK;YAC3E,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ;SAChC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,EAAE;QAChB,gBAAgB,EAAE,IAAI;QACtB,eAAe,EAAE,KAAK;QACtB,oBAAoB,EAAE,KAAK;QAC3B,SAAS,EAAE,GAAG,CAAC,MAAM;QACrB,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -1,9 +1,7 @@
1
1
  import { type Static } from '@sinclair/typebox';
2
- export type KeywordCategory = 'correction' | 'empathy';
3
2
  export type TermSource = 'seed' | 'migrated' | 'owner_promoted' | 'llm_learned';
4
3
  export interface UnifiedKeyword {
5
4
  term: string;
6
- category: KeywordCategory;
7
5
  weight: number;
8
6
  precision: 'high' | 'ambiguous';
9
7
  source: TermSource;
@@ -27,7 +25,7 @@ export interface SignalCollectorConfig {
27
25
  */
28
26
  discoveryRateLimitPerHour?: number;
29
27
  }
30
- export type SignalStrength = 'STRONG' | 'WEAK';
28
+ export type SignalStrength = 'STRONG';
31
29
  export type DetectionSource = 'keyword' | 'llm' | 'none';
32
30
  export type MatchedPrecision = 'high' | 'ambiguous' | null;
33
31
  export interface SignalEvidence {
@@ -36,7 +34,7 @@ export interface SignalEvidence {
36
34
  }
37
35
  export interface SignalCollectorOutput {
38
36
  isSignal: boolean;
39
- type: 'correction' | 'empathy' | null;
37
+ type: 'correction' | null;
40
38
  strength: SignalStrength | null;
41
39
  matchedTerms: string[];
42
40
  matchedPrecision: MatchedPrecision;
@@ -50,16 +48,16 @@ export declare const SignalCollectorOutputSchema: {
50
48
  };
51
49
  export interface LlmClassificationResult {
52
50
  is_feedback: boolean;
53
- type: 'correction' | 'empathy' | 'none';
51
+ type: 'correction' | 'none';
54
52
  confidence: number;
55
53
  reason: string;
56
54
  }
57
55
  export declare function validateLlmClassification(value: unknown): value is LlmClassificationResult;
58
- export declare const SignalClassificationOutputV1Schema: import("@sinclair/typebox").TObject<{
56
+ export declare const SignalClassificationOutputV2Schema: import("@sinclair/typebox").TObject<{
59
57
  is_feedback: import("@sinclair/typebox").TBoolean;
60
- type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"correction">, import("@sinclair/typebox").TLiteral<"empathy">, import("@sinclair/typebox").TLiteral<"none">]>;
58
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"correction">, import("@sinclair/typebox").TLiteral<"none">]>;
61
59
  confidence: import("@sinclair/typebox").TNumber;
62
60
  reason: import("@sinclair/typebox").TString;
63
61
  }>;
64
- export type SignalClassificationOutputV1 = Static<typeof SignalClassificationOutputV1Schema>;
62
+ export type SignalClassificationOutputV2 = Static<typeof SignalClassificationOutputV2Schema>;
65
63
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAItD,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,SAAS,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAEhF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC;IAChC,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACvC;AAUD,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,sBAAsB,EAAE,MAAM,CAAC;IAC/B;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC/C,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AACzD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAAC;IACtC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,eAAe,EAAE,eAAe,CAAC;IACjC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAID,eAAO,MAAM,2BAA2B;IACtC,QAAQ,QAAQ,OAAO,GAAG,KAAK,IAAI,qBAAqB;CAgBzD,CAAC;AAIF,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB,CAQ1F;AASD,eAAO,MAAM,kCAAkC;;;;;EAK7C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC,OAAO,kCAAkC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAItD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAEhF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC;IAChC,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACvC;AAUD,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,sBAAsB,EAAE,MAAM,CAAC;IAC/B;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;AACtC,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AACzD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,eAAe,EAAE,eAAe,CAAC;IACjC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAID,eAAO,MAAM,2BAA2B;IACtC,QAAQ,QAAQ,OAAO,GAAG,KAAK,IAAI,qBAAqB;CAgBzD,CAAC;AAIF,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB,CAQ1F;AASD,eAAO,MAAM,kCAAkC;;;;;EAK7C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC,OAAO,kCAAkC,CAAC,CAAC"}
@@ -7,9 +7,9 @@ export const SignalCollectorOutputSchema = {
7
7
  const v = value;
8
8
  if (typeof v.isSignal !== 'boolean')
9
9
  return false;
10
- if (v.type !== null && v.type !== 'correction' && v.type !== 'empathy')
10
+ if (v.type !== null && v.type !== 'correction')
11
11
  return false;
12
- if (v.strength !== null && v.strength !== 'STRONG' && v.strength !== 'WEAK')
12
+ if (v.strength !== null && v.strength !== 'STRONG')
13
13
  return false;
14
14
  if (!Array.isArray(v.matchedTerms))
15
15
  return false;
@@ -34,7 +34,7 @@ export function validateLlmClassification(value) {
34
34
  const v = value;
35
35
  if (typeof v.is_feedback !== 'boolean')
36
36
  return false;
37
- if (v.type !== 'correction' && v.type !== 'empathy' && v.type !== 'none')
37
+ if (v.type !== 'correction' && v.type !== 'none')
38
38
  return false;
39
39
  if (typeof v.confidence !== 'number' || v.confidence < 0 || v.confidence > 1)
40
40
  return false;
@@ -42,15 +42,15 @@ export function validateLlmClassification(value) {
42
42
  return false;
43
43
  return true;
44
44
  }
45
- // ── Stage2 structured-output contract (signal-classification-output-v1) ──
45
+ // ── Stage2 structured-output contract (signal-classification-output-v2) ──
46
46
  //
47
47
  // RuntimeAdapter 的 canonical 输出契约: 分类器以 outputSchemaRef 引用本 schema,
48
48
  // adapter 负责 JSON extraction + schema validation (+ bounded repair),分类器直接
49
49
  // 消费 validated structured payload (MVP_CORE_LOOP_CONTRACT INV-01)。
50
50
  // 字段名与 LlmClassificationResult 保持一致(snake_case 即 prompt 中的字面格式)。
51
- export const SignalClassificationOutputV1Schema = Type.Object({
51
+ export const SignalClassificationOutputV2Schema = Type.Object({
52
52
  is_feedback: Type.Boolean(),
53
- type: Type.Union([Type.Literal('correction'), Type.Literal('empathy'), Type.Literal('none')]),
53
+ type: Type.Union([Type.Literal('correction'), Type.Literal('none')]),
54
54
  confidence: Type.Number({ minimum: 0, maximum: 1 }),
55
55
  reason: Type.String(),
56
56
  });
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/runtime-v2/signal-collector/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Canonical trajectory.db schema definition (PRI-774; SPEC:
3
- * docs/specs/trajectory-data-plane-single-truth.md).
3
+ * docs/archive/specs/trajectory-data-plane-single-truth.md).
4
4
  *
5
5
  * Single source of truth for the schema applied by BOTH build paths:
6
6
  * - openclaw-plugin applyTrajectorySchema() → Profile B/C (views: true)
@@ -12,9 +12,11 @@
12
12
  * evolution_tasks column backfill, TRAJECTORY_SCHEMA_VERSION and
13
13
  * TRAJECTORY_TABLES declarations.
14
14
  * - does NOT own: path resolution, directory creation, connection lifecycle,
15
- * WAL/pragmas, schema_version ROW writes (TrajectoryDatabase.initSchema and
16
- * initTrajectorySchema keep that), v_daily_metrics (plugin migrateSchema),
17
- * governance_* tables (host-runtime stores).
15
+ * WAL/pragmas, schema_version ROW creation/upgrade on the normal entry points
16
+ * (TrajectoryDatabase.initSchema and initTrajectorySchema keep that), the
17
+ * version-row convergence performed by migrateLegacyGfiSchema (see below),
18
+ * v_daily_metrics (plugin migrateSchema), governance_* tables
19
+ * (host-runtime stores).
18
20
  *
19
21
  * Zero pathways are abolished: both paths keep their exact pre-PRI-774
20
22
  * behavior; only the definition-text copies converge (SPEC v3, Owner-approved).
@@ -33,9 +35,27 @@ export interface TrajectorySchemaApplyResult {
33
35
  warnings: string[];
34
36
  }
35
37
  /** trajectory.db schema version. Row writes stay with the two existing owner entry points. */
36
- export declare const TRAJECTORY_SCHEMA_VERSION = 1;
38
+ export declare const TRAJECTORY_SCHEMA_VERSION = 2;
37
39
  /** Fresh-schema table list, in creation order (single derived source). */
38
40
  export declare const TRAJECTORY_TABLES: readonly ['schema_version', 'ingest_checkpoint', 'sessions', 'assistant_turns', 'user_turns', 'tool_calls', 'pain_events', 'gate_blocks', 'trust_changes', 'principle_events', 'task_outcomes', 'correction_samples', 'sample_reviews', 'signal_confirmations', 'exports_audit'];
41
+ /**
42
+ * GFI-COMPLETE-REMOVAL-001: drop the retired GFI columns, terminalize the
43
+ * pending empathy confirmations that the retired correction collector created,
44
+ * and converge the schema_version row.
45
+ *
46
+ * Idempotent; safe on fresh databases. Called from applyTrajectorySchemaBase
47
+ * and explicitly by the host-runtime raw-DB open chains
48
+ * (production-pain-evidence.ts, governance-signal-admission.ts), which
49
+ * historically opened trajectory.db without applying the base schema.
50
+ *
51
+ * The version-row convergence belongs here because those raw open chains never
52
+ * go through TrajectoryDatabase.initSchema / initTrajectorySchema, so without
53
+ * it a migrated v1 database would keep claiming version 1 while its physical
54
+ * schema is v2 (the review finding "migration does not sync schema_version").
55
+ * It only touches an existing schema_version table; creating that table stays
56
+ * with the normal entry points.
57
+ */
58
+ export declare function migrateLegacyGfiSchema(db: Database): void;
39
59
  export declare function applyTrajectorySchemaBase(db: Database, opts?: {
40
60
  views?: boolean;
41
61
  }): {
@@ -1 +1 @@
1
- {"version":3,"file":"trajectory-schema.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/trajectory-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,8FAA8F;AAC9F,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,YAC5B,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,CACP,CAAC;AAoBX,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,QAAQ,EACZ,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAqJ1C"}
1
+ {"version":3,"file":"trajectory-schema.d.ts","sourceRoot":"","sources":["../../src/runtime-v2/trajectory-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,8FAA8F;AAC9F,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,0EAA0E;AAC1E,eAAO,MAAM,iBAAiB,YAC5B,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,CACP,CAAC;AAyCX;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAqBzD;AAED,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,QAAQ,EACZ,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAwJ1C"}