@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetaGovernanceGates.js","sourceRoot":"","sources":["../../../src/workflow/gates/MetaGovernanceGates.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MetaGovernanceGates.js","sourceRoot":"","sources":["../../../src/workflow/gates/MetaGovernanceGates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { GateResult, GateStage } from '../types.js';
|
|
2
|
+
import type { TestIntegrityFinding } from '../../artifact/types.js';
|
|
3
|
+
import type { IGate } from './GateSystem.js';
|
|
4
|
+
type RequiredLevel = 'S' | 'M' | 'L' | 'ALWAYS' | 'CRITICAL';
|
|
5
|
+
export interface ParsedDiffLine {
|
|
6
|
+
file: string;
|
|
7
|
+
/** '+' added, '-' removed, ' ' context. */
|
|
8
|
+
origin: '+' | '-' | ' ';
|
|
9
|
+
text: string;
|
|
10
|
+
}
|
|
11
|
+
export interface TestIntegrityAnalysis {
|
|
12
|
+
analyzedFiles: string[];
|
|
13
|
+
preChangeAssertionCount: number;
|
|
14
|
+
postChangeAssertionCount: number;
|
|
15
|
+
assertionCountDelta: number;
|
|
16
|
+
findings: TestIntegrityFinding[];
|
|
17
|
+
flaggedPatterns: string[];
|
|
18
|
+
}
|
|
19
|
+
/** Parse a unified `git diff` into per-line records limited to test files. */
|
|
20
|
+
export declare function parseTestDiff(diff: string): ParsedDiffLine[];
|
|
21
|
+
/** Pure heuristic analysis of a unified test diff. Exported for unit testing. */
|
|
22
|
+
export declare function analyzeTestDiff(diff: string): TestIntegrityAnalysis;
|
|
23
|
+
export interface TestIntegrityGateOptions {
|
|
24
|
+
/** Working directory used to run git. Defaults to process.cwd(). */
|
|
25
|
+
cwd?: string;
|
|
26
|
+
/** Diff base ref; the gate analyses `git diff <baseRef>`. Defaults to 'HEAD'. */
|
|
27
|
+
baseRef?: string;
|
|
28
|
+
/** Pre-supplied unified diff (skips git invocation). Primarily for tests. */
|
|
29
|
+
diff?: string;
|
|
30
|
+
/** When true (PR-D1 default) the gate never blocks — it only surfaces findings. */
|
|
31
|
+
advisory?: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* G23 — Test Integrity. Advisory in PR-D1: always PASSED, surfaces heuristic
|
|
35
|
+
* findings as evidence. PR-D2 wires it into verify/ship and flips `block`
|
|
36
|
+
* severity findings into real blockers under the `full`/`ci` profiles (E1).
|
|
37
|
+
*/
|
|
38
|
+
export declare class TestIntegrityGate implements IGate {
|
|
39
|
+
stage: GateStage;
|
|
40
|
+
name: string;
|
|
41
|
+
description: string;
|
|
42
|
+
requiredLevel: RequiredLevel;
|
|
43
|
+
private cwd;
|
|
44
|
+
private baseRef;
|
|
45
|
+
private injectedDiff?;
|
|
46
|
+
private advisory;
|
|
47
|
+
constructor(options?: TestIntegrityGateOptions);
|
|
48
|
+
private collectDiff;
|
|
49
|
+
execute(): Promise<GateResult>;
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
// SCALE Engine — G23 Test Integrity Gate (P1.2, PR-D1)
|
|
2
|
+
// Detects "fake green" test tampering by analysing the test-file diff:
|
|
3
|
+
// assertion count drops, newly introduced skip/only, weakened assertions, and
|
|
4
|
+
// inflated timeouts. PR-D1 ships advisory (warn-only); enforcement + verify→ship
|
|
5
|
+
// hash consistency + coverage regression land in PR-D2.
|
|
6
|
+
import { execSync } from 'node:child_process';
|
|
7
|
+
function createEvidence(input) {
|
|
8
|
+
return {
|
|
9
|
+
id: `EVID-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`,
|
|
10
|
+
...input,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function textEvidence(items) {
|
|
14
|
+
return items.map(item => `${item.label}: ${item.detail}`).join('\n');
|
|
15
|
+
}
|
|
16
|
+
/** Matches test files by filename suffix or by living under a tests/__tests__ dir. */
|
|
17
|
+
const TEST_FILE_PATTERN = /(?:^|\/)(?:__tests__|tests?|specs?)\/|\.(?:test|spec)\.[cm]?[jt]sx?$/;
|
|
18
|
+
/** expect(...) / assert(...) / assert.* / .should / should(...) — line-level assertion signal. */
|
|
19
|
+
const ASSERTION_PATTERN = /\bexpect\s*\(|\bassert\s*\(|\bassert\.|\.should\b|\bshould\s*\(/;
|
|
20
|
+
const SKIP_PATTERN = /\b(?:describe|context|suite|it|test|bench)\.skip\b|\.skip\s*\(|\bx(?:it|describe|test|context)\s*\(/;
|
|
21
|
+
const ONLY_PATTERN = /\b(?:describe|context|suite|it|test|bench)\.only\b|\.only\s*\(|\bf(?:it|describe|test)\s*\(/;
|
|
22
|
+
const WEAKENED_PATTERN = /expect\.any\s*\(|expect\.anything\s*\(|\.toBeTruthy\s*\(|\.toBeFalsy\s*\(|\.toBeDefined\s*\(|\.toBeUndefined\s*\(|\.toBeNull\s*\(/;
|
|
23
|
+
const TIMEOUT_PATTERN = /\b(?:jest|vi)\.setTimeout\s*\(|testTimeout\s*[:=]|\bsetTimeout\s*\(|\btimeout\s*[:=]\s*\d{4,}/;
|
|
24
|
+
function isTestFile(path) {
|
|
25
|
+
return TEST_FILE_PATTERN.test(path);
|
|
26
|
+
}
|
|
27
|
+
/** Parse a unified `git diff` into per-line records limited to test files. */
|
|
28
|
+
export function parseTestDiff(diff) {
|
|
29
|
+
const lines = [];
|
|
30
|
+
let currentFile = '';
|
|
31
|
+
let inTestFile = false;
|
|
32
|
+
for (const raw of diff.split('\n')) {
|
|
33
|
+
if (raw.startsWith('diff --git')) {
|
|
34
|
+
currentFile = '';
|
|
35
|
+
inTestFile = false;
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
if (raw.startsWith('+++ ')) {
|
|
39
|
+
const path = raw.slice(4).replace(/^b\//, '').trim();
|
|
40
|
+
currentFile = path === '/dev/null' ? currentFile : path;
|
|
41
|
+
inTestFile = isTestFile(currentFile);
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
if (raw.startsWith('--- ') || raw.startsWith('@@') || raw.startsWith('index '))
|
|
45
|
+
continue;
|
|
46
|
+
if (!inTestFile || !currentFile)
|
|
47
|
+
continue;
|
|
48
|
+
if (raw.startsWith('+'))
|
|
49
|
+
lines.push({ file: currentFile, origin: '+', text: raw.slice(1) });
|
|
50
|
+
else if (raw.startsWith('-'))
|
|
51
|
+
lines.push({ file: currentFile, origin: '-', text: raw.slice(1) });
|
|
52
|
+
else if (raw.startsWith(' '))
|
|
53
|
+
lines.push({ file: currentFile, origin: ' ', text: raw.slice(1) });
|
|
54
|
+
}
|
|
55
|
+
return lines;
|
|
56
|
+
}
|
|
57
|
+
/** Pure heuristic analysis of a unified test diff. Exported for unit testing. */
|
|
58
|
+
export function analyzeTestDiff(diff) {
|
|
59
|
+
const parsed = parseTestDiff(diff);
|
|
60
|
+
const analyzedFiles = [...new Set(parsed.map(line => line.file))].sort();
|
|
61
|
+
// Pre side = context + removed; post side = context + added. Approximates the
|
|
62
|
+
// assertion balance within the changed hunks (whole-file counts arrive with AST in P1.1).
|
|
63
|
+
let preChangeAssertionCount = 0;
|
|
64
|
+
let postChangeAssertionCount = 0;
|
|
65
|
+
for (const line of parsed) {
|
|
66
|
+
const hasAssertion = ASSERTION_PATTERN.test(line.text);
|
|
67
|
+
if (!hasAssertion)
|
|
68
|
+
continue;
|
|
69
|
+
if (line.origin === '-' || line.origin === ' ')
|
|
70
|
+
preChangeAssertionCount++;
|
|
71
|
+
if (line.origin === '+' || line.origin === ' ')
|
|
72
|
+
postChangeAssertionCount++;
|
|
73
|
+
}
|
|
74
|
+
const assertionCountDelta = postChangeAssertionCount - preChangeAssertionCount;
|
|
75
|
+
const findings = [];
|
|
76
|
+
if (assertionCountDelta < 0) {
|
|
77
|
+
findings.push({
|
|
78
|
+
file: analyzedFiles.join(', ') || '(test files)',
|
|
79
|
+
kind: 'assertion-removed',
|
|
80
|
+
severity: 'block',
|
|
81
|
+
detail: `Net assertion count dropped by ${Math.abs(assertionCountDelta)} (pre=${preChangeAssertionCount}, post=${postChangeAssertionCount})`,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
for (const line of parsed) {
|
|
85
|
+
if (line.origin !== '+')
|
|
86
|
+
continue;
|
|
87
|
+
const text = line.text;
|
|
88
|
+
if (SKIP_PATTERN.test(text)) {
|
|
89
|
+
findings.push({ file: line.file, kind: 'skip-added', severity: 'block', detail: `Introduced skipped test: ${text.trim().slice(0, 120)}` });
|
|
90
|
+
}
|
|
91
|
+
if (ONLY_PATTERN.test(text)) {
|
|
92
|
+
findings.push({ file: line.file, kind: 'only-added', severity: 'block', detail: `Introduced focused (.only) test: ${text.trim().slice(0, 120)}` });
|
|
93
|
+
}
|
|
94
|
+
if (WEAKENED_PATTERN.test(text)) {
|
|
95
|
+
findings.push({ file: line.file, kind: 'weakened-assertion', severity: 'warn', detail: `Weakened assertion: ${text.trim().slice(0, 120)}` });
|
|
96
|
+
}
|
|
97
|
+
if (TIMEOUT_PATTERN.test(text)) {
|
|
98
|
+
findings.push({ file: line.file, kind: 'timeout-inflated', severity: 'warn', detail: `Test timeout changed: ${text.trim().slice(0, 120)}` });
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
const flaggedPatterns = findings.map(f => `[${f.severity}] ${f.kind}: ${f.detail}`);
|
|
102
|
+
return { analyzedFiles, preChangeAssertionCount, postChangeAssertionCount, assertionCountDelta, findings, flaggedPatterns };
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* G23 — Test Integrity. Advisory in PR-D1: always PASSED, surfaces heuristic
|
|
106
|
+
* findings as evidence. PR-D2 wires it into verify/ship and flips `block`
|
|
107
|
+
* severity findings into real blockers under the `full`/`ci` profiles (E1).
|
|
108
|
+
*/
|
|
109
|
+
export class TestIntegrityGate {
|
|
110
|
+
constructor(options = {}) {
|
|
111
|
+
this.stage = 'G23';
|
|
112
|
+
this.name = 'Test Integrity';
|
|
113
|
+
this.description = 'Detect test weakening (assertion drops, skip/only, weakened matchers, inflated timeouts)';
|
|
114
|
+
this.requiredLevel = 'M';
|
|
115
|
+
this.cwd = options.cwd ?? process.cwd();
|
|
116
|
+
this.baseRef = options.baseRef ?? 'HEAD';
|
|
117
|
+
this.injectedDiff = options.diff;
|
|
118
|
+
this.advisory = options.advisory ?? true;
|
|
119
|
+
}
|
|
120
|
+
collectDiff() {
|
|
121
|
+
if (this.injectedDiff !== undefined)
|
|
122
|
+
return this.injectedDiff;
|
|
123
|
+
try {
|
|
124
|
+
return execSync(`git diff ${this.baseRef}`, { encoding: 'utf-8', stdio: 'pipe', cwd: this.cwd, maxBuffer: 32 * 1024 * 1024 });
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
return '';
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
async execute() {
|
|
131
|
+
const startedAt = Date.now();
|
|
132
|
+
const analysis = analyzeTestDiff(this.collectDiff());
|
|
133
|
+
const evidence = {
|
|
134
|
+
analyzedFiles: analysis.analyzedFiles,
|
|
135
|
+
preChangeAssertionCount: analysis.preChangeAssertionCount,
|
|
136
|
+
postChangeAssertionCount: analysis.postChangeAssertionCount,
|
|
137
|
+
assertionCountDelta: analysis.assertionCountDelta,
|
|
138
|
+
flaggedPatterns: analysis.flaggedPatterns,
|
|
139
|
+
findings: analysis.findings,
|
|
140
|
+
advisory: this.advisory,
|
|
141
|
+
};
|
|
142
|
+
const blockingFindings = analysis.findings.filter(f => f.severity === 'block');
|
|
143
|
+
// PR-D1: advisory — never block. PR-D2 will drive blocking via profile policy.
|
|
144
|
+
const blockers = this.advisory ? [] : blockingFindings.map(f => `${f.kind}: ${f.detail}`);
|
|
145
|
+
const passed = blockers.length === 0;
|
|
146
|
+
const summaryDetail = analysis.analyzedFiles.length === 0
|
|
147
|
+
? 'No test files changed; nothing to analyse.'
|
|
148
|
+
: `Analyzed ${analysis.analyzedFiles.length} test file(s); assertion delta ${analysis.assertionCountDelta >= 0 ? '+' : ''}${analysis.assertionCountDelta}; ${analysis.findings.length} finding(s)${this.advisory ? ' (advisory)' : ''}.`;
|
|
149
|
+
const evidenceItems = [
|
|
150
|
+
createEvidence({
|
|
151
|
+
kind: 'scan',
|
|
152
|
+
label: 'Test integrity summary',
|
|
153
|
+
passed: passed && blockingFindings.length === 0,
|
|
154
|
+
detail: summaryDetail,
|
|
155
|
+
source: JSON.stringify(evidence),
|
|
156
|
+
}),
|
|
157
|
+
...analysis.findings.map(finding => createEvidence({
|
|
158
|
+
kind: 'scan',
|
|
159
|
+
label: `Test integrity finding (${finding.kind})`,
|
|
160
|
+
passed: this.advisory ? true : finding.severity !== 'block',
|
|
161
|
+
detail: `[${finding.severity}] ${finding.file}: ${finding.detail}`,
|
|
162
|
+
})),
|
|
163
|
+
];
|
|
164
|
+
return {
|
|
165
|
+
gate: this.stage,
|
|
166
|
+
status: passed ? 'PASSED' : 'FAILED',
|
|
167
|
+
passed,
|
|
168
|
+
evidence: textEvidence(evidenceItems),
|
|
169
|
+
evidenceItems,
|
|
170
|
+
blockers,
|
|
171
|
+
durationMs: Date.now() - startedAt,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=TestIntegrityGate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestIntegrityGate.js","sourceRoot":"","sources":["../../../src/workflow/gates/TestIntegrityGate.ts"],"names":[],"mappings":"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"}
|
package/dist/workflow/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type GateStage = 'G0' | 'G1' | 'G2' | 'G3' | 'G4' | 'G5' | 'G6' | 'G7' | 'G8' | 'G9' | 'G10' | 'G11' | 'G12' | 'G13' | 'G14' | 'G15' | 'G16' | 'G17' | 'G18' | 'G19' | 'G20' | 'G21' | 'G22';
|
|
1
|
+
export type GateStage = 'G0' | 'G1' | 'G2' | 'G3' | 'G4' | 'G5' | 'G6' | 'G7' | 'G8' | 'G9' | 'G10' | 'G11' | 'G12' | 'G13' | 'G14' | 'G15' | 'G16' | 'G17' | 'G18' | 'G19' | 'G20' | 'G21' | 'G22' | 'G23';
|
|
2
2
|
export type GateStatus = 'PENDING' | 'PASSED' | 'FAILED' | 'BLOCKED';
|
|
3
3
|
export type ModelTier = 'LOW' | 'MEDIUM' | 'HIGH';
|
|
4
4
|
export type Verdict = 'APPROVE' | 'ITERATE' | 'REJECT';
|
|
@@ -97,3 +97,31 @@ git diff --check
|
|
|
97
97
|
- worktree 状态
|
|
98
98
|
- 截图、trace、缓存
|
|
99
99
|
- 只对一次任务有意义的中间文件
|
|
100
|
+
|
|
101
|
+
## Agent 边界约束
|
|
102
|
+
|
|
103
|
+
这是把 [AGENTS.md](../../AGENTS.md) / [CLAUDE.md](../../CLAUDE.md) 的「工作原则」落到日常执行的硬约束,违反基本都会被对应门禁拦下:
|
|
104
|
+
|
|
105
|
+
- **未验证不得声称**:没有实际运行结果,不说「已通过」;`dry-run` 只代表入口可调度,不代表质量通过。证据写进 `verification.md`(G8)。
|
|
106
|
+
- **不确定显式标记**:拿不准的事实标 `[UNCERTAIN]`,不要用猜测填 `reality-check.md` 的 `## Confirmed`(G2 校验该文件分区)。
|
|
107
|
+
- **最小必要修改**:只改与任务直接相关的文件,不顺手重构、不扩大 diff。未提交文件过多或有大文件会被 G16 拦下。
|
|
108
|
+
- **不覆盖用户改动**:动手前先看 `git status`;不把本地 worktree、缓存、日志、截图混进提交。
|
|
109
|
+
- **行为改动配测试**:改 `src/` 行为原则上同步改 `tests/`,否则 G3 阻断。
|
|
110
|
+
- **规则优先落到物理层**:重要约定要落到脚本、门禁、配置、模板,不只停留在口头或文档;改模板前先读 [模板选择指南](../workflow/TEMPLATE_GUIDE.md) 的双源说明,避免改错一套。
|
|
111
|
+
|
|
112
|
+
## 长任务检查点模式
|
|
113
|
+
|
|
114
|
+
跨多次会话、或步骤很多的任务,用检查点把进度落到状态文件,避免上下文丢失后从头再来:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
make checkpoint PHASE=execute # 记录当前阶段到 .agent/state
|
|
118
|
+
make resume # 恢复:打印当前任务、阶段、下一步
|
|
119
|
+
make status # 等价于 make resume
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
实践要点:
|
|
123
|
+
|
|
124
|
+
- **一个阶段一个检查点**:探索→规划→执行→验证→沉淀,每跨一个阶段 `make checkpoint`。
|
|
125
|
+
- **分阶段提交**:长任务拆成多个小提交,别攒成一个巨型提交(同样利于 G16)。
|
|
126
|
+
- **状态与计划同步**:`plan.md` 的 `## Steps with Gates` 勾到哪一步,状态就 checkpoint 到哪一步,恢复时一眼对上。
|
|
127
|
+
- **恢复先 `make resume`**:新会话开始先读当前状态,再继续,不要凭记忆重做。
|
package/docs/reference/cli.md
CHANGED
|
@@ -53,7 +53,7 @@ Evidence-driven continuous evolution with instinct extraction.
|
|
|
53
53
|
| Command | Description |
|
|
54
54
|
|---------|-------------|
|
|
55
55
|
| `scale cortex extract` | Extract instincts from observation logs |
|
|
56
|
-
| `scale cortex inject` | Preview SessionStart injection content |
|
|
56
|
+
| `scale cortex inject` | Preview SessionStart injection content used by runtime sessions and AI OS preamble |
|
|
57
57
|
| `scale cortex metrics` | Show governance metrics |
|
|
58
58
|
| `scale cortex evolve` | Run evolution cycle |
|
|
59
59
|
| `scale cortex verify` | Verify cortex pipeline health |
|
|
@@ -111,6 +111,7 @@ Evidence-driven continuous evolution with instinct extraction.
|
|
|
111
111
|
| Command | Description |
|
|
112
112
|
|---------|-------------|
|
|
113
113
|
| `scale workflow list` | List workflow presets |
|
|
114
|
+
| `scale workflow effectiveness [--memory-query <query>] [--skip-memory-recall]` | Measure workflow effectiveness, including read-only memory provider recall quality |
|
|
114
115
|
| `scale evidence list` | List evidence records |
|
|
115
116
|
| `scale evidence show` | Show evidence details |
|
|
116
117
|
| `scale token record` | Record token usage |
|
|
@@ -74,7 +74,7 @@ scale runtime final-check --task-id 2026-05-18-oauth-state --session-id 2026-05-
|
|
|
74
74
|
- `npm test` 必须真实通过。
|
|
75
75
|
- `standards scan` 不能发现阻断级别问题。
|
|
76
76
|
- `assets scan` 应能识别长期维护文档、任务证据和生成产物分类。
|
|
77
|
-
- `runtime final-check`
|
|
77
|
+
- `runtime final-check` 必须确认当前任务范围内有通过证据,且没有未解决失败证据。
|
|
78
78
|
|
|
79
79
|
## 5. 生成记忆候选和 HTML artifact
|
|
80
80
|
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# 端到端示例:从 `make new-task` 到提交
|
|
2
|
+
|
|
3
|
+
本文走一遍**完整一次任务**:建任务 → 探索 → 规划 → 过工作流门 → 提交。
|
|
4
|
+
用 **L 级**任务,因为它能覆盖 G2 对「human confirmation」的要求。
|
|
5
|
+
|
|
6
|
+
> 范围说明:本文聚焦 `make new-task → 提交全程`。
|
|
7
|
+
> 关于 FSM Guard(物理阻止「未验证就 COMPLETE」)的**状态机**示例,
|
|
8
|
+
> 见 [../TASK_GUARD_WORKFLOW_DEMO.md](../TASK_GUARD_WORKFLOW_DEMO.md),本文不重复。
|
|
9
|
+
>
|
|
10
|
+
> 模板怎么选见 [TEMPLATE_GUIDE.md](TEMPLATE_GUIDE.md),门禁目录见 [GATES_AND_SCORE.md](GATES_AND_SCORE.md)。
|
|
11
|
+
|
|
12
|
+
下面每条命令和输出均在本仓库实跑(日期取运行当天,你本地会不同)。
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 1. 建任务
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
make new-task NAME=add-dark-mode LEVEL=L
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
bash scripts/workflow/new-task.sh "add-dark-mode" "L"
|
|
24
|
+
[NEW-TASK] created: /.../.planning/tasks/2026-06-11-add-dark-mode
|
|
25
|
+
[NEW-TASK] state: /.../.agent/state/current.json
|
|
26
|
+
[NEW-TASK] next: fill explore.md, runtime.md, and reality-check.md before execution
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
`new-task` 在 `.planning/tasks/<date>-add-dark-mode/` 一次性生成 9 个核心制品:
|
|
30
|
+
`explore.md`、`mini-prd.md`、`plan.md`、`runtime.md`、`reality-check.md`、
|
|
31
|
+
`resource-cleanup.md`、`verification.md`、`review.md`、`summary.md`。
|
|
32
|
+
|
|
33
|
+
> 需要 `spec.md` / `tasks.md`(深规划)时改用 `make plan NAME=add-dark-mode LEVEL=L`。
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 2. 探索(G1)
|
|
38
|
+
|
|
39
|
+
读至少 3 个相关文件并写清主矛盾:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
make explore FILES='AGENTS.md docs/workflow/templates/plan.md src/api/cli.ts' \
|
|
43
|
+
MSG='template selection has no guidance'
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
[EXPLORE] recorded 3 files
|
|
48
|
+
[EXPLORE] main contradiction: template selection has no guidance
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 3. 规划(G2)
|
|
54
|
+
|
|
55
|
+
编辑 `.planning/tasks/<date>-add-dark-mode/plan.md`,把各段的 `TBD` 填成真内容。
|
|
56
|
+
模板已内置 G2 需要的全部段落(见 [TEMPLATE_GUIDE §4](TEMPLATE_GUIDE.md#4-模板--门禁映射)):
|
|
57
|
+
范围、异常(≥3 次)、回滚、验收,以及 **L/CRITICAL 的 `## Human Confirmation` 段**。
|
|
58
|
+
你要做的是**填内容**,而不是补标题。
|
|
59
|
+
|
|
60
|
+
跑计划门,开箱即过:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
bash scripts/gates/G2-verify.sh
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
========================================
|
|
68
|
+
[G2] Plan gate
|
|
69
|
+
========================================
|
|
70
|
+
[G2] checking: /.../.planning/tasks/2026-06-11-verify-plan-template/plan.md
|
|
71
|
+
[G2] passed
|
|
72
|
+
[G2] exception/error mentions: 6
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
> `exception/error mentions: 6` 说明异常覆盖 ≥ 3,满足 G2。
|
|
76
|
+
> 若把 `## Human Confirmation` 段删掉,L/CRITICAL 会被 G2 拦下
|
|
77
|
+
> (`[G2] L/CRITICAL plan should record human confirmation requirement`)——
|
|
78
|
+
> 这正是模板默认保留该段的原因。
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## 4. 执行 + 工作流门(G1/G2/G3/G16)
|
|
83
|
+
|
|
84
|
+
写代码时记住:改 `src/` 行为要同步改 `tests/`,否则 G3 拦下。改完跑:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
make gate-workflow
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
该聚合命令依次跑 G1、G2、G3、G16。本次因为只动文档/计划、未改 `src/`,
|
|
91
|
+
G3 会跳过(`no source behavior changes detected; skip`)。
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 5. 质量门 + 完整验证
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
make gate-quality # G0,G4,G5,G6,G7,G8,G17,G18,G19,G20
|
|
99
|
+
make verify PROFILE=default # 完整 profile 验证
|
|
100
|
+
git diff --check
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
L 级任务别忘了留审查记录(`.agent/state/review-*.json`),否则 G19 阻断。
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## 6. 提交
|
|
108
|
+
|
|
109
|
+
按 [CONTRIBUTING.md](../../CONTRIBUTING.md) 的约定从 `master` 切 `docs/*`、
|
|
110
|
+
`feature/*` 或 `fix/*` 分支,提交信息用 `<type>: <desc>`:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
git checkout -b feature/add-dark-mode
|
|
114
|
+
git add src/ tests/
|
|
115
|
+
git commit -m "feat: add dark mode toggle"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
> `.planning/` 与 `.agent/state/` 已在 `.gitignore` 中,任务制品不会被提交,
|
|
119
|
+
> 它们是给门禁和人审用的过程证据,不进生产代码。
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## 速查
|
|
124
|
+
|
|
125
|
+
```text
|
|
126
|
+
make new-task NAME=x LEVEL=L # 建任务 + 生成制品
|
|
127
|
+
make explore FILES='...' MSG='...' # G1:探索 ≥3 文件 + 主矛盾
|
|
128
|
+
# 编辑 plan.md(含 Human Confirmation)
|
|
129
|
+
make gate-workflow # G1,G2,G3,G16
|
|
130
|
+
make gate-quality # G0,G4,G5,G6,G7,G8,G17,G18,G19,G20
|
|
131
|
+
make verify PROFILE=default # 完整验证
|
|
132
|
+
git diff --check
|
|
133
|
+
```
|
package/docs/workflow/README.md
CHANGED
|
@@ -38,7 +38,7 @@ scale orch status # 查看状态 + workspace 列表
|
|
|
38
38
|
# Scale Cortex — 持续进化
|
|
39
39
|
scale cortex evolve # 完整进化周期
|
|
40
40
|
scale cortex extract # 提取 Instincts
|
|
41
|
-
scale cortex inject --minimal # 预览 SessionStart 注入
|
|
41
|
+
scale cortex inject --minimal # 预览 runtime/AI OS 会消费的 SessionStart 注入
|
|
42
42
|
scale cortex metrics --days 30 # 治理 ROI 报告
|
|
43
43
|
```
|
|
44
44
|
|
|
@@ -52,6 +52,12 @@ See [GATES_AND_SCORE.md](GATES_AND_SCORE.md) for gate catalog visibility, archit
|
|
|
52
52
|
|
|
53
53
|
See [PROMPT_OPTIMIZATION.md](PROMPT_OPTIMIZATION.md) for the deterministic prompt rewrite layer used by `scale prompt optimize` and `scale define`.
|
|
54
54
|
|
|
55
|
+
## 模板与示例
|
|
56
|
+
|
|
57
|
+
- 不知道一个任务该用哪些模板、模板和哪个门禁挂钩,先读 [TEMPLATE_GUIDE.md](TEMPLATE_GUIDE.md)(按等级 + 按改动类型的选择矩阵,含模板↔门禁映射)。
|
|
58
|
+
- 想看从 `make new-task` 到提交的完整一遍真实命令,读 [E2E_EXAMPLE.md](E2E_EXAMPLE.md)。
|
|
59
|
+
- FSM Guard(物理阻止「未验证就 COMPLETE」)的状态机示例见 [../TASK_GUARD_WORKFLOW_DEMO.md](../TASK_GUARD_WORKFLOW_DEMO.md)。
|
|
60
|
+
|
|
55
61
|
## 门禁说明
|
|
56
62
|
|
|
57
63
|
SCALE 2.0 共 23 个门禁,分三层:核心门禁(G0-G8)、元治理门禁(G9-G15)、增强门禁(G16-G22)。
|