@hongmaple0820/scale-engine 0.48.0 → 0.50.1
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/README.en.md +2 -2
- package/README.md +2 -2
- package/dist/agents/evidenceDiscipline.d.ts +7 -0
- package/dist/agents/evidenceDiscipline.js +21 -0
- package/dist/agents/evidenceDiscipline.js.map +1 -0
- package/dist/agents/profiles.js +8 -1
- package/dist/agents/profiles.js.map +1 -1
- package/dist/agents/types.d.ts +1 -0
- package/dist/api/DashboardHttpConfig.d.ts +28 -0
- package/dist/api/DashboardHttpConfig.js +110 -0
- package/dist/api/DashboardHttpConfig.js.map +1 -0
- package/dist/api/cli.js +102 -11
- package/dist/api/cli.js.map +1 -1
- package/dist/api/http.d.ts +1 -0
- package/dist/api/http.js +50 -0
- package/dist/api/http.js.map +1 -0
- package/dist/artifact/types.d.ts +64 -0
- package/dist/artifact/types.js.map +1 -1
- package/dist/bootstrap/DependencyBootstrap.d.ts +1 -0
- package/dist/bootstrap/DependencyBootstrap.js +14 -3
- package/dist/bootstrap/DependencyBootstrap.js.map +1 -1
- package/dist/cli/cortexApplyCommand.d.ts +26 -0
- package/dist/cli/cortexApplyCommand.js +74 -0
- package/dist/cli/cortexApplyCommand.js.map +1 -0
- package/dist/cli/cortexCandidateCommands.d.ts +42 -0
- package/dist/cli/cortexCandidateCommands.js +119 -0
- package/dist/cli/cortexCandidateCommands.js.map +1 -0
- package/dist/cli/cortexCommands.d.ts +51 -0
- package/dist/cli/cortexCommands.js +127 -13
- package/dist/cli/cortexCommands.js.map +1 -1
- package/dist/cli/engineBootstrap.d.ts +1 -1
- package/dist/cli/engineBootstrap.js +2 -0
- package/dist/cli/engineBootstrap.js.map +1 -1
- package/dist/cli/evalCommands.js +13 -1
- package/dist/cli/evalCommands.js.map +1 -1
- package/dist/cli/phaseCommands.d.ts +81 -1
- package/dist/cli/phaseCommands.js +465 -31
- package/dist/cli/phaseCommands.js.map +1 -1
- package/dist/cli/runtimeSkillCommands.js +12 -2
- package/dist/cli/runtimeSkillCommands.js.map +1 -1
- package/dist/cli/shieldCommands.d.ts +1 -0
- package/dist/cli/shieldCommands.js +20 -7
- package/dist/cli/shieldCommands.js.map +1 -1
- package/dist/cli/workflowEvidenceCommands.d.ts +120 -0
- package/dist/cli/workflowEvidenceCommands.js +228 -2
- package/dist/cli/workflowEvidenceCommands.js.map +1 -1
- package/dist/cortex/AutoFixEventObservations.d.ts +11 -0
- package/dist/cortex/AutoFixEventObservations.js +72 -0
- package/dist/cortex/AutoFixEventObservations.js.map +1 -0
- package/dist/cortex/GateEvidenceObservations.d.ts +22 -0
- package/dist/cortex/GateEvidenceObservations.js +179 -0
- package/dist/cortex/GateEvidenceObservations.js.map +1 -0
- package/dist/cortex/GovernanceMetrics.d.ts +2 -0
- package/dist/cortex/GovernanceMetrics.js +112 -22
- package/dist/cortex/GovernanceMetrics.js.map +1 -1
- package/dist/cortex/InstinctApplicationRecorder.d.ts +28 -0
- package/dist/cortex/InstinctApplicationRecorder.js +145 -0
- package/dist/cortex/InstinctApplicationRecorder.js.map +1 -0
- package/dist/cortex/InstinctCandidateAudit.d.ts +3 -0
- package/dist/cortex/InstinctCandidateAudit.js +39 -0
- package/dist/cortex/InstinctCandidateAudit.js.map +1 -0
- package/dist/cortex/InstinctCandidateReview.d.ts +32 -0
- package/dist/cortex/InstinctCandidateReview.js +125 -0
- package/dist/cortex/InstinctCandidateReview.js.map +1 -0
- package/dist/cortex/InstinctExtractor.d.ts +1 -0
- package/dist/cortex/InstinctExtractor.js +24 -17
- package/dist/cortex/InstinctExtractor.js.map +1 -1
- package/dist/cortex/InstinctRuntimeEvidence.d.ts +14 -0
- package/dist/cortex/InstinctRuntimeEvidence.js +120 -0
- package/dist/cortex/InstinctRuntimeEvidence.js.map +1 -0
- package/dist/cortex/InstinctStore.d.ts +50 -4
- package/dist/cortex/InstinctStore.js +262 -48
- package/dist/cortex/InstinctStore.js.map +1 -1
- package/dist/cortex/InstinctValidation.d.ts +9 -0
- package/dist/cortex/InstinctValidation.js +55 -0
- package/dist/cortex/InstinctValidation.js.map +1 -0
- package/dist/cortex/SessionInjector.d.ts +1 -0
- package/dist/cortex/SessionInjector.js +28 -8
- package/dist/cortex/SessionInjector.js.map +1 -1
- package/dist/dashboard/DashboardServer.d.ts +79 -0
- package/dist/dashboard/DashboardServer.js +330 -6
- package/dist/dashboard/DashboardServer.js.map +1 -1
- package/dist/dashboard/spa/app.js +515 -0
- package/dist/dashboard/spa/components/DataTable.js +53 -0
- package/dist/dashboard/spa/components/EventStream.js +66 -0
- package/dist/dashboard/spa/components/LoadingState.js +39 -0
- package/dist/dashboard/spa/components/MetricCard.js +30 -0
- package/dist/dashboard/spa/components/Panel.js +27 -0
- package/dist/dashboard/spa/components/StatusBadge.js +51 -0
- package/dist/dashboard/spa/i18n.js +767 -0
- package/dist/dashboard/spa/index.html +463 -0
- package/dist/dashboard/spa/pages/costs.js +522 -0
- package/dist/dashboard/spa/pages/documents.js +540 -0
- package/dist/dashboard/spa/pages/knowledge.js +457 -0
- package/dist/dashboard/spa/pages/monitoring.js +361 -0
- package/dist/dashboard/spa/pages/overview.js +301 -0
- package/dist/dashboard/spa/pages/topology-renderers.js +251 -0
- package/dist/dashboard/spa/pages/topology.js +370 -0
- package/dist/dashboard/spa/pages/workflow-renderers.js +239 -0
- package/dist/dashboard/spa/pages/workflow.js +217 -0
- package/dist/env/EnvironmentDoctor.js +12 -7
- package/dist/env/EnvironmentDoctor.js.map +1 -1
- package/dist/eval/BenchmarkPublisher.d.ts +2 -0
- package/dist/eval/BenchmarkPublisher.js +43 -0
- package/dist/eval/BenchmarkPublisher.js.map +1 -1
- package/dist/eval/WorkflowEval.d.ts +9 -0
- package/dist/eval/WorkflowEval.js +348 -2
- package/dist/eval/WorkflowEval.js.map +1 -1
- package/dist/guardrails/ast/confirmers.d.ts +18 -0
- package/dist/guardrails/ast/confirmers.js +69 -0
- package/dist/guardrails/ast/confirmers.js.map +1 -0
- package/dist/guardrails/ast/parse.d.ts +20 -0
- package/dist/guardrails/ast/parse.js +51 -0
- package/dist/guardrails/ast/parse.js.map +1 -0
- package/dist/memory/MemoryBrain.d.ts +13 -0
- package/dist/memory/MemoryBrain.js +47 -0
- package/dist/memory/MemoryBrain.js.map +1 -1
- package/dist/memory/MemoryFabric.d.ts +1 -0
- package/dist/memory/MemoryFabric.js +12 -8
- package/dist/memory/MemoryFabric.js.map +1 -1
- package/dist/memory/MemoryLearning.d.ts +1 -0
- package/dist/memory/MemoryLearning.js +6 -3
- package/dist/memory/MemoryLearning.js.map +1 -1
- package/dist/memory/MemoryProviders.d.ts +8 -1
- package/dist/memory/MemoryProviders.js +143 -29
- package/dist/memory/MemoryProviders.js.map +1 -1
- package/dist/output/HTMLDocumentRenderer.d.ts +9 -0
- package/dist/output/HTMLDocumentRenderer.js +19 -0
- package/dist/output/HTMLDocumentRenderer.js.map +1 -1
- package/dist/review/FreshContextVerifier.d.ts +35 -0
- package/dist/review/FreshContextVerifier.js +120 -0
- package/dist/review/FreshContextVerifier.js.map +1 -0
- package/dist/review/JsonLlmClient.d.ts +37 -0
- package/dist/review/JsonLlmClient.js +94 -0
- package/dist/review/JsonLlmClient.js.map +1 -0
- package/dist/review/LlmJudge.d.ts +61 -0
- package/dist/review/LlmJudge.js +167 -0
- package/dist/review/LlmJudge.js.map +1 -0
- package/dist/runtime/AiOsRuntime.d.ts +14 -1
- package/dist/runtime/AiOsRuntime.js +59 -3
- package/dist/runtime/AiOsRuntime.js.map +1 -1
- package/dist/runtime/RuntimeDoctor.js +3 -1
- package/dist/runtime/RuntimeDoctor.js.map +1 -1
- package/dist/runtime/RuntimeEvidenceLedger.d.ts +6 -0
- package/dist/runtime/RuntimeEvidenceLedger.js +52 -1
- package/dist/runtime/RuntimeEvidenceLedger.js.map +1 -1
- package/dist/runtime/SessionLedger.d.ts +2 -0
- package/dist/runtime/SessionLedger.js +4 -0
- package/dist/runtime/SessionLedger.js.map +1 -1
- package/dist/setup/SetupVerification.js +53 -5
- package/dist/setup/SetupVerification.js.map +1 -1
- package/dist/shield/PolicyCompiler.js +73 -12
- package/dist/shield/PolicyCompiler.js.map +1 -1
- package/dist/shield/ProtectedPaths.js +4 -2
- package/dist/shield/ProtectedPaths.js.map +1 -1
- package/dist/skills/SkillCatalog.d.ts +2 -0
- package/dist/skills/SkillCatalog.js +8 -0
- package/dist/skills/SkillCatalog.js.map +1 -1
- package/dist/skills/SkillDoctor.d.ts +19 -2
- package/dist/skills/SkillDoctor.js +163 -13
- package/dist/skills/SkillDoctor.js.map +1 -1
- package/dist/tools/SafeCommandRunner.d.ts +1 -0
- package/dist/tools/SafeCommandRunner.js +1 -0
- package/dist/tools/SafeCommandRunner.js.map +1 -1
- package/dist/tools/ToolCapabilityRegistry.js +25 -3
- package/dist/tools/ToolCapabilityRegistry.js.map +1 -1
- package/dist/tools/ToolOrchestrator.js +21 -0
- package/dist/tools/ToolOrchestrator.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/workflow/AgentLoopReadiness.d.ts +103 -0
- package/dist/workflow/AgentLoopReadiness.js +371 -0
- package/dist/workflow/AgentLoopReadiness.js.map +1 -0
- package/dist/workflow/BoundaryEnforcement.d.ts +60 -0
- package/dist/workflow/BoundaryEnforcement.js +182 -0
- package/dist/workflow/BoundaryEnforcement.js.map +1 -0
- package/dist/workflow/EcosystemReadinessGate.d.ts +46 -0
- package/dist/workflow/EcosystemReadinessGate.js +126 -0
- package/dist/workflow/EcosystemReadinessGate.js.map +1 -0
- package/dist/workflow/EngineeringStandards.js +67 -12
- package/dist/workflow/EngineeringStandards.js.map +1 -1
- package/dist/workflow/GateCatalog.js +21 -2
- package/dist/workflow/GateCatalog.js.map +1 -1
- package/dist/workflow/GovernanceTemplatePacks.js +2 -26
- package/dist/workflow/GovernanceTemplatePacks.js.map +1 -1
- package/dist/workflow/GovernanceTemplates.js +8 -1
- package/dist/workflow/GovernanceTemplates.js.map +1 -1
- package/dist/workflow/ProfileEnforcement.d.ts +7 -0
- package/dist/workflow/ProfileEnforcement.js +12 -0
- package/dist/workflow/ProfileEnforcement.js.map +1 -0
- package/dist/workflow/ReleaseDeploymentLedger.d.ts +63 -0
- package/dist/workflow/ReleaseDeploymentLedger.js +154 -0
- package/dist/workflow/ReleaseDeploymentLedger.js.map +1 -0
- package/dist/workflow/ReviewAnalyzer.js +50 -3
- package/dist/workflow/ReviewAnalyzer.js.map +1 -1
- package/dist/workflow/ReviewStore.d.ts +10 -0
- package/dist/workflow/ReviewStore.js.map +1 -1
- package/dist/workflow/SessionPreamble.d.ts +7 -0
- package/dist/workflow/SessionPreamble.js +48 -9
- package/dist/workflow/SessionPreamble.js.map +1 -1
- package/dist/workflow/SurfaceCoverage.d.ts +19 -0
- package/dist/workflow/SurfaceCoverage.js +57 -0
- package/dist/workflow/SurfaceCoverage.js.map +1 -0
- package/dist/workflow/VerificationCommands.d.ts +1 -0
- package/dist/workflow/VerificationCommands.js.map +1 -1
- package/dist/workflow/VerificationProfile.d.ts +5 -0
- package/dist/workflow/VerificationProfile.js +26 -0
- package/dist/workflow/VerificationProfile.js.map +1 -1
- package/dist/workflow/VerificationSchema.d.ts +3 -0
- package/dist/workflow/VerificationSchema.js +6 -0
- package/dist/workflow/VerificationSchema.js.map +1 -1
- package/dist/workflow/WorkflowEffectiveness.d.ts +97 -0
- package/dist/workflow/WorkflowEffectiveness.js +302 -0
- package/dist/workflow/WorkflowEffectiveness.js.map +1 -0
- package/dist/workflow/WorkflowEffectivenessRenderer.d.ts +2 -0
- package/dist/workflow/WorkflowEffectivenessRenderer.js +67 -0
- package/dist/workflow/WorkflowEffectivenessRenderer.js.map +1 -0
- package/dist/workflow/WorkflowEffectivenessScoring.d.ts +6 -0
- package/dist/workflow/WorkflowEffectivenessScoring.js +243 -0
- package/dist/workflow/WorkflowEffectivenessScoring.js.map +1 -0
- package/dist/workflow/gates/EnhancedGates.js +2 -0
- package/dist/workflow/gates/EnhancedGates.js.map +1 -1
- package/dist/workflow/gates/GateSystem.d.ts +16 -0
- package/dist/workflow/gates/GateSystem.js +208 -41
- package/dist/workflow/gates/GateSystem.js.map +1 -1
- package/dist/workflow/gates/MetaGovernanceGates.js +269 -8
- package/dist/workflow/gates/MetaGovernanceGates.js.map +1 -1
- package/dist/workflow/gates/TestIntegrityGate.d.ts +51 -0
- package/dist/workflow/gates/TestIntegrityGate.js +175 -0
- package/dist/workflow/gates/TestIntegrityGate.js.map +1 -0
- package/dist/workflow/types.d.ts +1 -1
- package/docs/guides/DEVELOPMENT_WORKFLOW.md +28 -0
- package/docs/reference/cli.md +2 -1
- package/docs/start/agent-governance-demo.md +1 -1
- package/docs/workflow/E2E_EXAMPLE.md +133 -0
- package/docs/workflow/README.md +7 -1
- package/docs/workflow/TEMPLATE_GUIDE.md +162 -0
- package/docs/workflow/templates/github-actions-scale-preflight.yml +4 -1
- package/docs/workflow/templates/plan.md +26 -0
- package/docs/workflow/templates/spec.md +28 -0
- package/package.json +7 -3
- package/scripts/workflow/run-vitest.mjs +123 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InstinctCandidateReview.js","sourceRoot":"","sources":["../../src/cortex/InstinctCandidateReview.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,13 @@ import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from
|
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
import { createHash } from 'node:crypto';
|
|
7
7
|
import { logger } from '../core/logger.js';
|
|
8
|
+
import { dedupeCortexObservations, loadGateEvidenceObservations } from './GateEvidenceObservations.js';
|
|
8
9
|
// ---------------------------------------------------------------------------
|
|
9
10
|
// InstinctExtractor
|
|
10
11
|
// ---------------------------------------------------------------------------
|
|
11
12
|
export class InstinctExtractor {
|
|
12
13
|
constructor(baseDir = join(process.cwd(), '.scale')) {
|
|
14
|
+
this.scaleDir = baseDir;
|
|
13
15
|
this.observationsDir = join(baseDir, 'observations');
|
|
14
16
|
this.instinctsDir = join(baseDir, 'instincts');
|
|
15
17
|
}
|
|
@@ -17,28 +19,33 @@ export class InstinctExtractor {
|
|
|
17
19
|
* Load observations from .scale/observations/ directory.
|
|
18
20
|
*/
|
|
19
21
|
loadObservations() {
|
|
20
|
-
if (!existsSync(this.observationsDir))
|
|
21
|
-
return [];
|
|
22
22
|
const observations = [];
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
23
|
+
if (existsSync(this.observationsDir)) {
|
|
24
|
+
try {
|
|
25
|
+
for (const file of readdirSync(this.observationsDir)) {
|
|
26
|
+
if (!file.endsWith('.jsonl'))
|
|
27
|
+
continue;
|
|
28
|
+
const lines = readFileSync(join(this.observationsDir, file), 'utf-8')
|
|
29
|
+
.split('\n')
|
|
30
|
+
.filter(Boolean);
|
|
31
|
+
for (const [index, line] of lines.entries()) {
|
|
32
|
+
try {
|
|
33
|
+
observations.push(JSON.parse(line));
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
logger.debug({ err, file, lineNumber: index + 1 }, 'Skipped malformed observation line');
|
|
37
|
+
}
|
|
33
38
|
}
|
|
34
|
-
catch { /* skip malformed */ }
|
|
35
39
|
}
|
|
36
40
|
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
logger.warn({ err }, 'Failed to load observations');
|
|
43
|
+
}
|
|
37
44
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
45
|
+
return dedupeCortexObservations([
|
|
46
|
+
...observations,
|
|
47
|
+
...loadGateEvidenceObservations(this.scaleDir),
|
|
48
|
+
]);
|
|
42
49
|
}
|
|
43
50
|
/**
|
|
44
51
|
* Detect patterns from observations.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstinctExtractor.js","sourceRoot":"","sources":["../../src/cortex/InstinctExtractor.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,kEAAkE;AAClE,mFAAmF;AAEnF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"InstinctExtractor.js","sourceRoot":"","sources":["../../src/cortex/InstinctExtractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type InstinctRuntimeEvidenceSource = 'session-and-audit' | 'session' | 'audit' | 'legacy' | 'none';
|
|
2
|
+
export interface InstinctRuntimeEvidenceSummary {
|
|
3
|
+
source: InstinctRuntimeEvidenceSource;
|
|
4
|
+
injectionEvents: number;
|
|
5
|
+
applicationEvents: number;
|
|
6
|
+
successfulApplications: number;
|
|
7
|
+
}
|
|
8
|
+
export interface InstinctRuntimeEvidence {
|
|
9
|
+
injectionEventsById: Map<string, number>;
|
|
10
|
+
applicationEventsById: Map<string, number>;
|
|
11
|
+
successfulApplicationsById: Map<string, number>;
|
|
12
|
+
summary: InstinctRuntimeEvidenceSummary;
|
|
13
|
+
}
|
|
14
|
+
export declare function loadInstinctRuntimeEvidence(scaleDir: string, lookbackDays: number, now?: Date): InstinctRuntimeEvidence;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { existsSync, readdirSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { logger } from '../core/logger.js';
|
|
4
|
+
export function loadInstinctRuntimeEvidence(scaleDir, lookbackDays, now = new Date()) {
|
|
5
|
+
const injectionEventsById = loadInstinctInjectionEvents(scaleDir, lookbackDays, now);
|
|
6
|
+
const applicationEventsById = new Map();
|
|
7
|
+
const successfulApplicationsById = new Map();
|
|
8
|
+
for (const entry of loadInstinctAuditEntries(scaleDir, lookbackDays, now)) {
|
|
9
|
+
if (entry.op !== 'apply')
|
|
10
|
+
continue;
|
|
11
|
+
applicationEventsById.set(entry.id, (applicationEventsById.get(entry.id) ?? 0) + 1);
|
|
12
|
+
if (entry.reason === 'application-succeeded') {
|
|
13
|
+
successfulApplicationsById.set(entry.id, (successfulApplicationsById.get(entry.id) ?? 0) + 1);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
const injectionEvents = sumMapValues(injectionEventsById);
|
|
17
|
+
const applicationEvents = sumMapValues(applicationEventsById);
|
|
18
|
+
const successfulApplications = sumMapValues(successfulApplicationsById);
|
|
19
|
+
const source = injectionEvents > 0 && applicationEvents > 0
|
|
20
|
+
? 'session-and-audit'
|
|
21
|
+
: injectionEvents > 0
|
|
22
|
+
? 'session'
|
|
23
|
+
: applicationEvents > 0
|
|
24
|
+
? 'audit'
|
|
25
|
+
: 'none';
|
|
26
|
+
return {
|
|
27
|
+
injectionEventsById,
|
|
28
|
+
applicationEventsById,
|
|
29
|
+
successfulApplicationsById,
|
|
30
|
+
summary: {
|
|
31
|
+
source,
|
|
32
|
+
injectionEvents,
|
|
33
|
+
applicationEvents,
|
|
34
|
+
successfulApplications,
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function loadInstinctInjectionEvents(scaleDir, lookbackDays, now) {
|
|
39
|
+
const result = new Map();
|
|
40
|
+
const sessionsDir = join(scaleDir, 'events', 'sessions');
|
|
41
|
+
if (!existsSync(sessionsDir))
|
|
42
|
+
return result;
|
|
43
|
+
const start = now.getTime() - lookbackDays * 86400000;
|
|
44
|
+
const end = now.getTime();
|
|
45
|
+
try {
|
|
46
|
+
for (const file of readdirSync(sessionsDir)) {
|
|
47
|
+
if (!file.endsWith('.jsonl'))
|
|
48
|
+
continue;
|
|
49
|
+
const lines = readFileSync(join(sessionsDir, file), 'utf-8').split('\n').filter(Boolean);
|
|
50
|
+
for (const [index, line] of lines.entries()) {
|
|
51
|
+
try {
|
|
52
|
+
const event = JSON.parse(line);
|
|
53
|
+
if (!isRecord(event) || event.type !== 'session.started')
|
|
54
|
+
continue;
|
|
55
|
+
const ts = typeof event.createdAt === 'string' ? Date.parse(event.createdAt) : NaN;
|
|
56
|
+
if (!Number.isFinite(ts) || ts < start || ts > end)
|
|
57
|
+
continue;
|
|
58
|
+
for (const id of extractInstinctIds(event)) {
|
|
59
|
+
result.set(id, (result.get(id) ?? 0) + 1);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
logger.debug({ err, file, lineNumber: index + 1 }, 'Skipped malformed session event line');
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
logger.warn({ err }, 'Failed to load runtime session instinct evidence');
|
|
70
|
+
}
|
|
71
|
+
return result;
|
|
72
|
+
}
|
|
73
|
+
function loadInstinctAuditEntries(scaleDir, lookbackDays, now) {
|
|
74
|
+
const auditPath = join(scaleDir, 'instincts', '.audit.jsonl');
|
|
75
|
+
if (!existsSync(auditPath))
|
|
76
|
+
return [];
|
|
77
|
+
const start = now.getTime() - lookbackDays * 86400000;
|
|
78
|
+
const end = now.getTime();
|
|
79
|
+
try {
|
|
80
|
+
return readFileSync(auditPath, 'utf-8')
|
|
81
|
+
.split('\n')
|
|
82
|
+
.map(line => line.trim())
|
|
83
|
+
.filter(Boolean)
|
|
84
|
+
.map((line, index) => {
|
|
85
|
+
try {
|
|
86
|
+
return JSON.parse(line);
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
logger.debug({ err, lineNumber: index + 1 }, 'Skipped malformed instinct audit line');
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
})
|
|
93
|
+
.filter((entry) => Boolean(entry))
|
|
94
|
+
.filter(entry => {
|
|
95
|
+
const ts = Date.parse(entry.ts);
|
|
96
|
+
return Number.isFinite(ts) && ts >= start && ts <= end;
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
catch (err) {
|
|
100
|
+
logger.warn({ err }, 'Failed to load instinct audit evidence');
|
|
101
|
+
return [];
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
function extractInstinctIds(event) {
|
|
105
|
+
const data = isRecord(event.data) ? event.data : {};
|
|
106
|
+
const metadata = isRecord(data.metadata) ? data.metadata : {};
|
|
107
|
+
const cortex = isRecord(metadata.cortex) ? metadata.cortex : {};
|
|
108
|
+
const instinctsApplied = Array.isArray(cortex.instinctsApplied) ? cortex.instinctsApplied : [];
|
|
109
|
+
return instinctsApplied.filter((id) => typeof id === 'string' && id.trim().length > 0);
|
|
110
|
+
}
|
|
111
|
+
function sumMapValues(map) {
|
|
112
|
+
let sum = 0;
|
|
113
|
+
for (const value of map.values())
|
|
114
|
+
sum += value;
|
|
115
|
+
return sum;
|
|
116
|
+
}
|
|
117
|
+
function isRecord(value) {
|
|
118
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=InstinctRuntimeEvidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InstinctRuntimeEvidence.js","sourceRoot":"","sources":["../../src/cortex/InstinctRuntimeEvidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,33 @@
|
|
|
1
1
|
import type { Instinct } from './InstinctExtractor.js';
|
|
2
|
+
export type InstinctAuditOperation = 'save' | 'replace' | 'delete' | 'apply' | 'reject' | 'restore';
|
|
3
|
+
export interface InstinctAuditEntry {
|
|
4
|
+
auditId: string;
|
|
5
|
+
ts: string;
|
|
6
|
+
op: InstinctAuditOperation;
|
|
7
|
+
id: string;
|
|
8
|
+
scope?: Instinct['scope'];
|
|
9
|
+
projectId?: string;
|
|
10
|
+
before?: Instinct;
|
|
11
|
+
after?: Instinct;
|
|
12
|
+
reason?: string;
|
|
13
|
+
reasons?: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface InstinctStoreOptions {
|
|
16
|
+
createDirs?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface InjectionInstinctOptions {
|
|
19
|
+
minConfidence?: number;
|
|
20
|
+
allowModerateFallback?: boolean;
|
|
21
|
+
fallbackMinConfidence?: number;
|
|
22
|
+
fallbackMinObservations?: number;
|
|
23
|
+
fallbackLimit?: number;
|
|
24
|
+
}
|
|
2
25
|
export declare class InstinctStore {
|
|
3
26
|
private baseDir;
|
|
4
|
-
constructor(baseDir?: string);
|
|
27
|
+
constructor(baseDir?: string, options?: InstinctStoreOptions);
|
|
5
28
|
/**
|
|
6
29
|
* Save an instinct to disk.
|
|
7
|
-
* Deduplication:
|
|
30
|
+
* Deduplication: within the same scope/project/trigger, only keep the higher-confidence one.
|
|
8
31
|
*/
|
|
9
32
|
save(instinct: Instinct): string;
|
|
10
33
|
/**
|
|
@@ -21,13 +44,22 @@ export declare class InstinctStore {
|
|
|
21
44
|
projectId?: string;
|
|
22
45
|
}): Instinct[];
|
|
23
46
|
/**
|
|
24
|
-
* Get
|
|
47
|
+
* Get instincts for SessionStart injection.
|
|
48
|
+
*
|
|
49
|
+
* Default callers only receive strong instincts (0.7+). SessionStart may opt
|
|
50
|
+
* into a conservative reviewed-moderate fallback when no strong instinct is
|
|
51
|
+
* available, so runtime learning can still be measured without injecting
|
|
52
|
+
* tentative or under-observed patterns.
|
|
25
53
|
*/
|
|
26
|
-
getInjectionInstincts(projectId?: string): Instinct[];
|
|
54
|
+
getInjectionInstincts(projectId?: string, options?: InjectionInstinctOptions): Instinct[];
|
|
27
55
|
/**
|
|
28
56
|
* Find an instinct by trigger pattern.
|
|
29
57
|
*/
|
|
30
58
|
findByTrigger(trigger: string): Instinct | null;
|
|
59
|
+
/**
|
|
60
|
+
* Find an instinct by trigger pattern within an optional scope/project key.
|
|
61
|
+
*/
|
|
62
|
+
findByKey(trigger: string, scope?: Instinct['scope'], projectId?: string): Instinct | null;
|
|
31
63
|
/**
|
|
32
64
|
* Find an instinct by ID.
|
|
33
65
|
*/
|
|
@@ -40,6 +72,15 @@ export declare class InstinctStore {
|
|
|
40
72
|
* Record an instinct was applied (for hit rate tracking).
|
|
41
73
|
*/
|
|
42
74
|
recordApplication(id: string, success: boolean): void;
|
|
75
|
+
/**
|
|
76
|
+
* Read append-only instinct audit history, optionally filtered by instinct id.
|
|
77
|
+
*/
|
|
78
|
+
history(id?: string): InstinctAuditEntry[];
|
|
79
|
+
/**
|
|
80
|
+
* Restore the store to the `before` snapshot of an audit entry. If an initial
|
|
81
|
+
* save had no `before`, restore undoes that save by deleting the created item.
|
|
82
|
+
*/
|
|
83
|
+
restore(auditId: string): boolean;
|
|
43
84
|
/**
|
|
44
85
|
* Get store statistics.
|
|
45
86
|
*/
|
|
@@ -48,7 +89,12 @@ export declare class InstinctStore {
|
|
|
48
89
|
byDomain: Record<string, number>;
|
|
49
90
|
byConfidence: Record<string, number>;
|
|
50
91
|
};
|
|
92
|
+
private normalizeForSave;
|
|
51
93
|
private writeInstinctFile;
|
|
94
|
+
private locateInstinctFile;
|
|
95
|
+
private removeInstinctFile;
|
|
96
|
+
private auditPath;
|
|
97
|
+
private appendAudit;
|
|
52
98
|
private serializeInstinct;
|
|
53
99
|
private parseInstinctFile;
|
|
54
100
|
}
|