@hongmaple0820/scale-engine 0.24.0 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +45 -35
- package/README.md +61 -55
- package/dist/api/cli.js +93 -1
- package/dist/api/cli.js.map +1 -1
- package/dist/memory/MemoryBrain.d.ts +1 -0
- package/dist/memory/MemoryBrain.js +3 -0
- package/dist/memory/MemoryBrain.js.map +1 -1
- package/dist/memory/MemoryFabric.d.ts +13 -1
- package/dist/memory/MemoryFabric.js +35 -0
- package/dist/memory/MemoryFabric.js.map +1 -1
- package/dist/memory/MemoryProviders.d.ts +111 -0
- package/dist/memory/MemoryProviders.js +385 -0
- package/dist/memory/MemoryProviders.js.map +1 -0
- package/dist/memory/index.d.ts +1 -0
- package/dist/memory/index.js +1 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/skills/SkillRadar.js +20 -0
- package/dist/skills/SkillRadar.js.map +1 -1
- package/dist/skills/SkillRepository.d.ts +9 -1
- package/dist/skills/SkillRepository.js +70 -0
- package/dist/skills/SkillRepository.js.map +1 -1
- package/docs/ACTIVE_SECURITY_VISUAL_GATES.md +87 -87
- package/docs/BACKGROUND_HUNTER.md +62 -62
- package/docs/CONTEXT_BUDGET.md +32 -32
- package/docs/DEPENDENCY_AUDIT.md +89 -89
- package/docs/EVOLUTION_SHADOW_MODE.md +63 -63
- package/docs/EXTERNAL_REFERENCES.md +58 -0
- package/docs/GOVERNANCE_DASHBOARD.md +21 -21
- package/docs/MEMORY_FABRIC.md +27 -0
- package/docs/README.md +24 -22
- package/docs/SKILL-REPOSITORY.md +57 -0
- package/docs/SKILL_RADAR.md +7 -0
- package/docs/THIRD_PARTY_SKILLS.md +57 -0
- package/package.json +4 -1
|
@@ -2,9 +2,67 @@ const DEFAULT_REQUIRED_CHECKS = [
|
|
|
2
2
|
'review-skill-frontmatter',
|
|
3
3
|
'inspect-scripts-directory',
|
|
4
4
|
'verify-license-and-source',
|
|
5
|
+
'verify-attribution-and-notice',
|
|
5
6
|
'pin-source-revision',
|
|
6
7
|
];
|
|
7
8
|
export const SKILL_REPOSITORY = [
|
|
9
|
+
skill({
|
|
10
|
+
id: 'planning-with-files',
|
|
11
|
+
name: 'Planning with Files',
|
|
12
|
+
category: 'planning',
|
|
13
|
+
description: 'File-backed planning workflow for complex multi-step tasks with task_plan, findings, progress, and plan attestation patterns.',
|
|
14
|
+
sourceUrl: 'https://github.com/OthmanAdi/planning-with-files',
|
|
15
|
+
installCommand: 'Review and install from https://github.com/OthmanAdi/planning-with-files; do not vendor without preserving MIT license and attribution.',
|
|
16
|
+
trust: 'community',
|
|
17
|
+
primaryUse: 'Use persistent planning files, progress logs, findings, active-plan selection, and plan attestation for long-running agent work.',
|
|
18
|
+
combineWith: ['memory-brain', 'web-access', 'code-reviewer'],
|
|
19
|
+
evidence: ['task-plan', 'findings-log', 'progress-log', 'plan-attestation'],
|
|
20
|
+
attribution: {
|
|
21
|
+
license: 'MIT',
|
|
22
|
+
copyright: 'Copyright (c) 2026 Ahmad Adi',
|
|
23
|
+
notice: 'Inspired by and compatible with OthmanAdi/planning-with-files. SCALE should not copy upstream files unless the MIT license text and attribution are included.',
|
|
24
|
+
usage: 'adapted-concept',
|
|
25
|
+
modifiedFromUpstream: false,
|
|
26
|
+
},
|
|
27
|
+
}),
|
|
28
|
+
skill({
|
|
29
|
+
id: 'agentmemory',
|
|
30
|
+
name: 'agentmemory',
|
|
31
|
+
category: 'memory',
|
|
32
|
+
description: 'Optional external persistent memory server and MCP integration for coding agents.',
|
|
33
|
+
sourceUrl: 'https://github.com/rohitg00/agentmemory',
|
|
34
|
+
installCommand: 'Optional external service: npx -y @agentmemory/agentmemory@latest; MCP shim: npx -y @agentmemory/mcp',
|
|
35
|
+
trust: 'community',
|
|
36
|
+
primaryUse: 'Use as an optional external memory provider via REST or MCP when teams want cross-agent persistent memory beyond SCALE local Memory Brain.',
|
|
37
|
+
combineWith: ['memory-brain', 'mcp-chrome-devtools', 'codex-cli'],
|
|
38
|
+
evidence: ['memory-provider-health', 'mcp-tool-list', 'privacy-boundary', 'data-retention-policy'],
|
|
39
|
+
attribution: {
|
|
40
|
+
license: 'Apache-2.0',
|
|
41
|
+
copyright: 'Copyright per upstream rohitg00/agentmemory project contributors',
|
|
42
|
+
notice: 'Optional external integration only. Do not vendor agentmemory code into SCALE without preserving Apache-2.0 license text, modification notices, and any upstream NOTICE obligations.',
|
|
43
|
+
usage: 'external-reference',
|
|
44
|
+
modifiedFromUpstream: false,
|
|
45
|
+
},
|
|
46
|
+
}),
|
|
47
|
+
skill({
|
|
48
|
+
id: 'gbrain',
|
|
49
|
+
name: 'GBrain',
|
|
50
|
+
category: 'memory',
|
|
51
|
+
description: 'Optional graph memory provider for AI agents with brain repos, hybrid search, entity links, MCP, and background maintenance.',
|
|
52
|
+
sourceUrl: 'https://github.com/garrytan/gbrain',
|
|
53
|
+
installCommand: 'Optional external provider: review https://github.com/garrytan/gbrain and configure SCALE memory provider routing; do not vendor upstream source.',
|
|
54
|
+
trust: 'community',
|
|
55
|
+
primaryUse: 'Use as an optional graph-backed memory provider for long-running project knowledge, entity relationships, and background memory maintenance.',
|
|
56
|
+
combineWith: ['memory-brain', 'agentmemory', 'codegraph'],
|
|
57
|
+
evidence: ['memory-provider-health', 'graph-recall-result', 'privacy-boundary', 'data-retention-policy'],
|
|
58
|
+
attribution: {
|
|
59
|
+
license: 'MIT',
|
|
60
|
+
copyright: 'Copyright per upstream garrytan/gbrain project contributors',
|
|
61
|
+
notice: 'Optional external provider only. Do not vendor GBrain code into SCALE without preserving MIT license text, source revision, and modification notices.',
|
|
62
|
+
usage: 'external-reference',
|
|
63
|
+
modifiedFromUpstream: false,
|
|
64
|
+
},
|
|
65
|
+
}),
|
|
8
66
|
skill({
|
|
9
67
|
id: 'frontend-design',
|
|
10
68
|
name: 'Frontend Design',
|
|
@@ -317,6 +375,7 @@ export function renderSkillRepositoryMarkdown() {
|
|
|
317
375
|
'- review-skill-frontmatter',
|
|
318
376
|
'- inspect-scripts-directory',
|
|
319
377
|
'- verify-license-and-source',
|
|
378
|
+
'- verify-attribution-and-notice',
|
|
320
379
|
'- pin-source-revision',
|
|
321
380
|
'- npm-audit-signatures',
|
|
322
381
|
'',
|
|
@@ -328,6 +387,10 @@ export function renderSkillRepositoryMarkdown() {
|
|
|
328
387
|
for (const entry of SKILL_REPOSITORY) {
|
|
329
388
|
lines.push(`| \`${entry.id}\` | ${entry.category} | ${entry.trust} | ${entry.orchestration.primaryUse} | ${entry.orchestration.combineWith.join(', ') || '-'} |`);
|
|
330
389
|
}
|
|
390
|
+
lines.push('', '## Third-Party Attribution', '', '| ID | License | Usage | Notice |', '| --- | --- | --- | --- |');
|
|
391
|
+
for (const entry of SKILL_REPOSITORY) {
|
|
392
|
+
lines.push(`| \`${entry.id}\` | ${entry.attribution.license} | ${entry.attribution.usage} | ${entry.attribution.notice} |`);
|
|
393
|
+
}
|
|
331
394
|
return lines.join('\n');
|
|
332
395
|
}
|
|
333
396
|
function skill(input) {
|
|
@@ -353,6 +416,13 @@ function skill(input) {
|
|
|
353
416
|
requiresReview: input.trust !== 'official',
|
|
354
417
|
requiredChecks: [...DEFAULT_REQUIRED_CHECKS],
|
|
355
418
|
},
|
|
419
|
+
attribution: input.attribution ?? {
|
|
420
|
+
license: 'review-required',
|
|
421
|
+
copyright: 'review-required',
|
|
422
|
+
notice: 'License and attribution must be verified before installation, vendoring, or redistribution.',
|
|
423
|
+
usage: 'external-reference',
|
|
424
|
+
modifiedFromUpstream: false,
|
|
425
|
+
},
|
|
356
426
|
};
|
|
357
427
|
}
|
|
358
428
|
function matches(text, keywords) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillRepository.js","sourceRoot":"","sources":["../../src/skills/SkillRepository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SkillRepository.js","sourceRoot":"","sources":["../../src/skills/SkillRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
# Active Security And Visual Gates
|
|
2
|
-
|
|
3
|
-
SCALE V2 adds two optional verification layers for projects that can provide a runnable local target:
|
|
4
|
-
|
|
5
|
-
- `ActiveRedTeam`: bounded dynamic security probes for configured HTTP targets.
|
|
6
|
-
- `VisualGate`: structured visual review evidence for UI routes and UI specs.
|
|
7
|
-
|
|
8
|
-
Both are conditional. A library or backend project with no runtime target should not pay the cost.
|
|
9
|
-
|
|
10
|
-
## Active Security
|
|
11
|
-
|
|
12
|
-
Active security is configured under `.scale/verification.json`:
|
|
13
|
-
|
|
14
|
-
```json
|
|
15
|
-
{
|
|
16
|
-
"security": {
|
|
17
|
-
"active": {
|
|
18
|
-
"enabled": true,
|
|
19
|
-
"baseUrl": "http://localhost:3000",
|
|
20
|
-
"startCommand": "npm run dev",
|
|
21
|
-
"targets": ["/api/login", "/api/users"],
|
|
22
|
-
"timeoutMs": 5000,
|
|
23
|
-
"maxRequests": 20
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
Behavior:
|
|
30
|
-
|
|
31
|
-
- missing or disabled config returns `SKIPPED`
|
|
32
|
-
- invalid enabled config returns `FAILED` before sending probes
|
|
33
|
-
- probes are capped by `maxRequests`
|
|
34
|
-
- every request has a timeout
|
|
35
|
-
- reflected probe payloads are `HIGH` findings and block
|
|
36
|
-
- request errors and server errors are recorded as findings, but only configured blocker severity should fail the gate
|
|
37
|
-
|
|
38
|
-
The first implementation exposes `runActiveRedTeam()` as a library API. It does not start a server by itself yet. CLI orchestration can wire `startCommand` later, but startup failure must become a `FAILED` result when that runner is added.
|
|
39
|
-
|
|
40
|
-
## Visual Gate
|
|
41
|
-
|
|
42
|
-
Visual verification is configured under `.scale/verification.json`:
|
|
43
|
-
|
|
44
|
-
```json
|
|
45
|
-
{
|
|
46
|
-
"visual": {
|
|
47
|
-
"enabled": true,
|
|
48
|
-
"baseUrl": "http://localhost:5173",
|
|
49
|
-
"specPath": "docs/ui/UI-SPEC.md",
|
|
50
|
-
"routes": ["/", "/settings"],
|
|
51
|
-
"reportPath": "docs/worklog/tasks/TASK-123/visual-report.json",
|
|
52
|
-
"blockingSeverities": ["critical", "high"]
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
`VisualGate` consumes a structured report:
|
|
58
|
-
|
|
59
|
-
```json
|
|
60
|
-
{
|
|
61
|
-
"screenshots": [
|
|
62
|
-
{ "route": "/", "path": "screenshots/home.png" }
|
|
63
|
-
],
|
|
64
|
-
"findings": [
|
|
65
|
-
{
|
|
66
|
-
"severity": "high",
|
|
67
|
-
"route": "/",
|
|
68
|
-
"message": "Primary action overlaps the navigation bar.",
|
|
69
|
-
"evidence": "overlap ratio 0.42"
|
|
70
|
-
}
|
|
71
|
-
]
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
Behavior:
|
|
76
|
-
|
|
77
|
-
- missing or disabled config passes with a `Visual gate skipped` evidence item
|
|
78
|
-
- enabled config requires `baseUrl`, `specPath`, `routes`, and `reportPath`
|
|
79
|
-
- missing or invalid visual report fails
|
|
80
|
-
- default blockers are `critical` and `high`
|
|
81
|
-
- VLM comments may be recorded in the report, but the gate blocks only on structured severity thresholds
|
|
82
|
-
|
|
83
|
-
## Gate Numbering
|
|
84
|
-
|
|
85
|
-
`VisualGate` uses `G9` when explicitly registered. It is not registered by default because meta governance also uses the G9-G15 range. Projects should register it only in UI verification profiles or dedicated task flows.
|
|
86
|
-
|
|
87
|
-
Active security remains a security sub-check instead of a fractional gate number. It belongs under the broader G7 security lifecycle when wired into a concrete workflow.
|
|
1
|
+
# Active Security And Visual Gates
|
|
2
|
+
|
|
3
|
+
SCALE V2 adds two optional verification layers for projects that can provide a runnable local target:
|
|
4
|
+
|
|
5
|
+
- `ActiveRedTeam`: bounded dynamic security probes for configured HTTP targets.
|
|
6
|
+
- `VisualGate`: structured visual review evidence for UI routes and UI specs.
|
|
7
|
+
|
|
8
|
+
Both are conditional. A library or backend project with no runtime target should not pay the cost.
|
|
9
|
+
|
|
10
|
+
## Active Security
|
|
11
|
+
|
|
12
|
+
Active security is configured under `.scale/verification.json`:
|
|
13
|
+
|
|
14
|
+
```json
|
|
15
|
+
{
|
|
16
|
+
"security": {
|
|
17
|
+
"active": {
|
|
18
|
+
"enabled": true,
|
|
19
|
+
"baseUrl": "http://localhost:3000",
|
|
20
|
+
"startCommand": "npm run dev",
|
|
21
|
+
"targets": ["/api/login", "/api/users"],
|
|
22
|
+
"timeoutMs": 5000,
|
|
23
|
+
"maxRequests": 20
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Behavior:
|
|
30
|
+
|
|
31
|
+
- missing or disabled config returns `SKIPPED`
|
|
32
|
+
- invalid enabled config returns `FAILED` before sending probes
|
|
33
|
+
- probes are capped by `maxRequests`
|
|
34
|
+
- every request has a timeout
|
|
35
|
+
- reflected probe payloads are `HIGH` findings and block
|
|
36
|
+
- request errors and server errors are recorded as findings, but only configured blocker severity should fail the gate
|
|
37
|
+
|
|
38
|
+
The first implementation exposes `runActiveRedTeam()` as a library API. It does not start a server by itself yet. CLI orchestration can wire `startCommand` later, but startup failure must become a `FAILED` result when that runner is added.
|
|
39
|
+
|
|
40
|
+
## Visual Gate
|
|
41
|
+
|
|
42
|
+
Visual verification is configured under `.scale/verification.json`:
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"visual": {
|
|
47
|
+
"enabled": true,
|
|
48
|
+
"baseUrl": "http://localhost:5173",
|
|
49
|
+
"specPath": "docs/ui/UI-SPEC.md",
|
|
50
|
+
"routes": ["/", "/settings"],
|
|
51
|
+
"reportPath": "docs/worklog/tasks/TASK-123/visual-report.json",
|
|
52
|
+
"blockingSeverities": ["critical", "high"]
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
`VisualGate` consumes a structured report:
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"screenshots": [
|
|
62
|
+
{ "route": "/", "path": "screenshots/home.png" }
|
|
63
|
+
],
|
|
64
|
+
"findings": [
|
|
65
|
+
{
|
|
66
|
+
"severity": "high",
|
|
67
|
+
"route": "/",
|
|
68
|
+
"message": "Primary action overlaps the navigation bar.",
|
|
69
|
+
"evidence": "overlap ratio 0.42"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Behavior:
|
|
76
|
+
|
|
77
|
+
- missing or disabled config passes with a `Visual gate skipped` evidence item
|
|
78
|
+
- enabled config requires `baseUrl`, `specPath`, `routes`, and `reportPath`
|
|
79
|
+
- missing or invalid visual report fails
|
|
80
|
+
- default blockers are `critical` and `high`
|
|
81
|
+
- VLM comments may be recorded in the report, but the gate blocks only on structured severity thresholds
|
|
82
|
+
|
|
83
|
+
## Gate Numbering
|
|
84
|
+
|
|
85
|
+
`VisualGate` uses `G9` when explicitly registered. It is not registered by default because meta governance also uses the G9-G15 range. Projects should register it only in UI verification profiles or dedicated task flows.
|
|
86
|
+
|
|
87
|
+
Active security remains a security sub-check instead of a fractional gate number. It belongs under the broader G7 security lifecycle when wired into a concrete workflow.
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
# Background Hunter
|
|
2
|
-
|
|
3
|
-
Background Hunter is the readonly proactive scan layer for SCALE Engine V2.
|
|
4
|
-
It turns existing governance signals into an actionable hunt queue without editing application code.
|
|
5
|
-
|
|
6
|
-
## Boundary
|
|
7
|
-
|
|
8
|
-
Default behavior is intentionally conservative:
|
|
9
|
-
|
|
10
|
-
- scan only, no automatic code changes
|
|
11
|
-
- no automatic LLM repair
|
|
12
|
-
- no automatic commit or pull request
|
|
13
|
-
- no release bypass
|
|
14
|
-
- ignore decisions are explicit and written to `.scale/hunt/ignored-findings.json`
|
|
15
|
-
|
|
16
|
-
The hunter reuses existing checks instead of creating a second rule system. The first implementation consumes:
|
|
17
|
-
|
|
18
|
-
- `EngineeringStandards`
|
|
19
|
-
- `ReviewAnalyzer` when status and diff input are provided by callers
|
|
20
|
-
|
|
21
|
-
## Commands
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
scale hunt scan
|
|
25
|
-
scale hunt scan --json
|
|
26
|
-
scale hunt report
|
|
27
|
-
scale hunt diagnose <finding-id>
|
|
28
|
-
scale hunt ignore <finding-id> --reason "Accepted legacy debt tracked elsewhere"
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
`hunt scan` and `hunt report` do not modify source files. They classify findings as `open` or `ignored`.
|
|
32
|
-
|
|
33
|
-
`hunt diagnose <finding-id>` creates a normal `DiagnosticLoop` from the finding. This keeps the debugging workflow evidence-first:
|
|
34
|
-
|
|
35
|
-
- reproducible command
|
|
36
|
-
- expected failure
|
|
37
|
-
- changed files
|
|
38
|
-
- verification commands
|
|
39
|
-
- hypotheses and cleanup checklist
|
|
40
|
-
|
|
41
|
-
`hunt ignore` records the finding id and stable fingerprint. The same finding will remain visible in the report as `ignored`, but it is removed from the open queue.
|
|
42
|
-
|
|
43
|
-
## Finding Identity
|
|
44
|
-
|
|
45
|
-
Every finding gets:
|
|
46
|
-
|
|
47
|
-
- `id`: short deterministic SHA-256 id derived from the fingerprint
|
|
48
|
-
- `fingerprint`: stable source/rule/path/line/message tuple
|
|
49
|
-
- `source`: currently `engineering-standards` or `review-analyzer`
|
|
50
|
-
- `diagnosticInput`: ready-to-use `DiagnosticLoopInput`
|
|
51
|
-
|
|
52
|
-
This allows repeated scans to avoid noisy duplicates and lets teams explicitly accept or defer known debt.
|
|
53
|
-
|
|
54
|
-
## Recommended Flow
|
|
55
|
-
|
|
56
|
-
1. Run `scale hunt scan --json`.
|
|
57
|
-
2. Triage open findings.
|
|
58
|
-
3. For real issues, run `scale hunt diagnose <finding-id> --json`.
|
|
59
|
-
4. Fix through the normal plan/TDD/verify workflow.
|
|
60
|
-
5. For accepted legacy debt, run `scale hunt ignore <finding-id> --reason "..."`
|
|
61
|
-
|
|
62
|
-
Do not promote Background Hunter to automatic repair until the project has enough evidence that its findings are stable and low-noise.
|
|
1
|
+
# Background Hunter
|
|
2
|
+
|
|
3
|
+
Background Hunter is the readonly proactive scan layer for SCALE Engine V2.
|
|
4
|
+
It turns existing governance signals into an actionable hunt queue without editing application code.
|
|
5
|
+
|
|
6
|
+
## Boundary
|
|
7
|
+
|
|
8
|
+
Default behavior is intentionally conservative:
|
|
9
|
+
|
|
10
|
+
- scan only, no automatic code changes
|
|
11
|
+
- no automatic LLM repair
|
|
12
|
+
- no automatic commit or pull request
|
|
13
|
+
- no release bypass
|
|
14
|
+
- ignore decisions are explicit and written to `.scale/hunt/ignored-findings.json`
|
|
15
|
+
|
|
16
|
+
The hunter reuses existing checks instead of creating a second rule system. The first implementation consumes:
|
|
17
|
+
|
|
18
|
+
- `EngineeringStandards`
|
|
19
|
+
- `ReviewAnalyzer` when status and diff input are provided by callers
|
|
20
|
+
|
|
21
|
+
## Commands
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
scale hunt scan
|
|
25
|
+
scale hunt scan --json
|
|
26
|
+
scale hunt report
|
|
27
|
+
scale hunt diagnose <finding-id>
|
|
28
|
+
scale hunt ignore <finding-id> --reason "Accepted legacy debt tracked elsewhere"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
`hunt scan` and `hunt report` do not modify source files. They classify findings as `open` or `ignored`.
|
|
32
|
+
|
|
33
|
+
`hunt diagnose <finding-id>` creates a normal `DiagnosticLoop` from the finding. This keeps the debugging workflow evidence-first:
|
|
34
|
+
|
|
35
|
+
- reproducible command
|
|
36
|
+
- expected failure
|
|
37
|
+
- changed files
|
|
38
|
+
- verification commands
|
|
39
|
+
- hypotheses and cleanup checklist
|
|
40
|
+
|
|
41
|
+
`hunt ignore` records the finding id and stable fingerprint. The same finding will remain visible in the report as `ignored`, but it is removed from the open queue.
|
|
42
|
+
|
|
43
|
+
## Finding Identity
|
|
44
|
+
|
|
45
|
+
Every finding gets:
|
|
46
|
+
|
|
47
|
+
- `id`: short deterministic SHA-256 id derived from the fingerprint
|
|
48
|
+
- `fingerprint`: stable source/rule/path/line/message tuple
|
|
49
|
+
- `source`: currently `engineering-standards` or `review-analyzer`
|
|
50
|
+
- `diagnosticInput`: ready-to-use `DiagnosticLoopInput`
|
|
51
|
+
|
|
52
|
+
This allows repeated scans to avoid noisy duplicates and lets teams explicitly accept or defer known debt.
|
|
53
|
+
|
|
54
|
+
## Recommended Flow
|
|
55
|
+
|
|
56
|
+
1. Run `scale hunt scan --json`.
|
|
57
|
+
2. Triage open findings.
|
|
58
|
+
3. For real issues, run `scale hunt diagnose <finding-id> --json`.
|
|
59
|
+
4. Fix through the normal plan/TDD/verify workflow.
|
|
60
|
+
5. For accepted legacy debt, run `scale hunt ignore <finding-id> --reason "..."`
|
|
61
|
+
|
|
62
|
+
Do not promote Background Hunter to automatic repair until the project has enough evidence that its findings are stable and low-noise.
|
package/docs/CONTEXT_BUDGET.md
CHANGED
|
@@ -7,18 +7,18 @@ This feature keeps SCALE from becoming its own context pollution source. It sepa
|
|
|
7
7
|
|
|
8
8
|
## Commands
|
|
9
9
|
|
|
10
|
-
Report token cost by context category:
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
scale context budget --json
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
Include provider-specific prompt cache policy:
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
scale context budget --provider anthropic --json
|
|
20
|
-
scale context budget --provider openai --json
|
|
21
|
-
```
|
|
10
|
+
Report token cost by context category:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
scale context budget --json
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Include provider-specific prompt cache policy:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
scale context budget --provider anthropic --json
|
|
20
|
+
scale context budget --provider openai --json
|
|
21
|
+
```
|
|
22
22
|
|
|
23
23
|
Write the report to `.scale/context-budget.json`:
|
|
24
24
|
|
|
@@ -71,26 +71,26 @@ scale governance roi \
|
|
|
71
71
|
| `on-demand` | Domain docs and governance guides | Load only when task trigger matches |
|
|
72
72
|
| `evidence` | Runtime evidence and task artifacts | Summarize and reference by path |
|
|
73
73
|
| `archive` | Historical plans and old roadmap context | Do not load unless explicitly requested |
|
|
74
|
-
| `generated` | HTML reports, screenshots, graph outputs, generated artifacts | Keep manifest-only by default |
|
|
75
|
-
|
|
76
|
-
## Prompt Cache Policy
|
|
77
|
-
|
|
78
|
-
V2.0 adds a cache policy layer for stable context. The policy is intentionally conservative:
|
|
79
|
-
|
|
80
|
-
- `always` is cache-eligible by default because it contains stable entrypoint rules and governance source-of-truth config.
|
|
81
|
-
- `on-demand` is not cache-eligible by default because it changes with task intent and can break stable prefix reuse.
|
|
82
|
-
- `evidence`, `archive`, and `generated` are never cache-eligible by default.
|
|
83
|
-
- Unsupported providers still write usage evidence; they do not pretend to support prompt caching.
|
|
84
|
-
|
|
85
|
-
Provider behavior:
|
|
86
|
-
|
|
87
|
-
| Provider | Strategy | Usage fields |
|
|
88
|
-
| --- | --- | --- |
|
|
89
|
-
| Anthropic | `anthropic-ephemeral` | `cache_creation_input_tokens`, `cache_read_input_tokens` |
|
|
90
|
-
| OpenAI | `openai-automatic` | `prompt_tokens_details.cached_tokens` |
|
|
91
|
-
| Other | `usage-ledger-only` | normal input/output usage only |
|
|
92
|
-
|
|
93
|
-
The cache policy does not live in `ModelRouter`. `ModelRouter` selects a model; provider request builders or adapters apply provider-specific cache controls.
|
|
74
|
+
| `generated` | HTML reports, screenshots, graph outputs, generated artifacts | Keep manifest-only by default |
|
|
75
|
+
|
|
76
|
+
## Prompt Cache Policy
|
|
77
|
+
|
|
78
|
+
V2.0 adds a cache policy layer for stable context. The policy is intentionally conservative:
|
|
79
|
+
|
|
80
|
+
- `always` is cache-eligible by default because it contains stable entrypoint rules and governance source-of-truth config.
|
|
81
|
+
- `on-demand` is not cache-eligible by default because it changes with task intent and can break stable prefix reuse.
|
|
82
|
+
- `evidence`, `archive`, and `generated` are never cache-eligible by default.
|
|
83
|
+
- Unsupported providers still write usage evidence; they do not pretend to support prompt caching.
|
|
84
|
+
|
|
85
|
+
Provider behavior:
|
|
86
|
+
|
|
87
|
+
| Provider | Strategy | Usage fields |
|
|
88
|
+
| --- | --- | --- |
|
|
89
|
+
| Anthropic | `anthropic-ephemeral` | `cache_creation_input_tokens`, `cache_read_input_tokens` |
|
|
90
|
+
| OpenAI | `openai-automatic` | `prompt_tokens_details.cached_tokens` |
|
|
91
|
+
| Other | `usage-ledger-only` | normal input/output usage only |
|
|
92
|
+
|
|
93
|
+
The cache policy does not live in `ModelRouter`. `ModelRouter` selects a model; provider request builders or adapters apply provider-specific cache controls.
|
|
94
94
|
|
|
95
95
|
## Progressive Governance
|
|
96
96
|
|