@ryuenn3123/agentic-senior-core 4.1.0 → 4.2.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/.agent-context/prompts/compact-natural-mode.md +100 -0
- package/.agent-context/prompts/init-project.md +1 -0
- package/.agent-context/prompts/refactor.md +1 -0
- package/.agent-context/review-checklists/pr-checklist.md +1 -0
- package/.agent-context/rules/architecture.md +10 -0
- package/.agent-context/rules/naming-conv.md +6 -3
- package/.agent-context/state/README.md +2 -1
- package/AGENTS.md +6 -8
- package/README.md +95 -117
- package/benchmarks/README.md +60 -0
- package/benchmarks/compact-natural-mode/fixtures.mjs +359 -0
- package/benchmarks/compact-natural-mode/scorer.mjs +331 -0
- package/benchmarks/runtime-token-saver/fixtures.mjs +714 -0
- package/bin/agentic-senior-core.js +6 -0
- package/bin/ascx.js +23 -0
- package/lib/cli/adaptive-context/catalog.mjs +428 -0
- package/lib/cli/adaptive-context/file-signals.mjs +100 -0
- package/lib/cli/adaptive-context/implications.mjs +44 -0
- package/lib/cli/adaptive-context.mjs +365 -0
- package/lib/cli/ascx/adapters/git-diff.mjs +223 -0
- package/lib/cli/ascx/adapters/git-status.mjs +145 -0
- package/lib/cli/ascx/adapters/npm-run-build.mjs +99 -0
- package/lib/cli/ascx/adapters/npm-test.mjs +120 -0
- package/lib/cli/ascx/adapters/rg.mjs +39 -0
- package/lib/cli/ascx/fixture-evaluator.mjs +180 -0
- package/lib/cli/ascx/formatter.mjs +47 -0
- package/lib/cli/ascx/lexer.mjs +129 -0
- package/lib/cli/ascx/runtime.mjs +192 -0
- package/lib/cli/ascx/tee-writer.mjs +63 -0
- package/lib/cli/ascx/token-estimate.mjs +15 -0
- package/lib/cli/backup.mjs +37 -4
- package/lib/cli/commands/context.mjs +140 -0
- package/lib/cli/commands/init.mjs +14 -2
- package/lib/cli/commands/optimize.mjs +143 -2
- package/lib/cli/commands/upgrade/design-intent-seed.mjs +46 -0
- package/lib/cli/commands/upgrade/token-optimization-state.mjs +51 -0
- package/lib/cli/commands/upgrade.mjs +34 -45
- package/lib/cli/compiler.mjs +9 -0
- package/lib/cli/project-scaffolder/prompt-builders.mjs +1 -0
- package/lib/cli/token-optimization.mjs +161 -6
- package/lib/cli/utils.mjs +15 -1
- package/package.json +10 -3
- package/scripts/adaptive-context/fixtures.mjs +188 -0
- package/scripts/adaptive-context-benchmark.mjs +9 -0
- package/scripts/ascx-runtime-token-saver-benchmark.mjs +9 -0
- package/scripts/build-release-benchmark-bundle.mjs +1 -3
- package/scripts/clean-local-artifacts.mjs +2 -0
- package/scripts/compact-natural-mode-benchmark.mjs +9 -0
- package/scripts/validate/config.mjs +6 -0
- package/scripts/validate.mjs +2 -0
package/lib/cli/utils.mjs
CHANGED
|
@@ -55,7 +55,13 @@ export function printUsage() {
|
|
|
55
55
|
console.log(' agentic-senior-core launch');
|
|
56
56
|
console.log(' agentic-senior-core init [target-directory] [--preset <name>] [--stack <name>] [--blueprint <name>] [--project-description <text>] [--ci <true|false>] [--token-optimize] [--no-token-optimize] [--token-agent <name>] [--memory-continuity] [--no-memory-continuity] [--scaffold-docs] [--no-scaffold-docs] [--docs-lang <en|id>] [--project-config <path>] [--runtime-env <auto|linux-wsl|linux|windows|macos>]');
|
|
57
57
|
console.log(' agentic-senior-core upgrade [target-directory] [--dry-run] [--yes] [--mcp-template] [--no-mcp-template] [--prune] [--no-prune]');
|
|
58
|
-
console.log(' agentic-senior-core optimize [target-directory] [--agent <copilot|claude|cursor|windsurf|gemini|codex|cline>] [--enable|--disable] [--show]');
|
|
58
|
+
console.log(' agentic-senior-core optimize [install|off|status|doctor] [target-directory] [--agent <copilot|claude|cursor|windsurf|gemini|codex|cline>] [--enable|--disable] [--show]');
|
|
59
|
+
console.log(' asc optimize status [target-directory]');
|
|
60
|
+
console.log(' asc optimize doctor [target-directory]');
|
|
61
|
+
console.log(' agentic-senior-core context "<request>" [--json] [--request-id <id>] [--file <path>] [--files <paths>]');
|
|
62
|
+
console.log(' ascx git status');
|
|
63
|
+
console.log(' ascx git diff');
|
|
64
|
+
console.log(' ascx npm test');
|
|
59
65
|
console.log(' agentic-senior-core mcp');
|
|
60
66
|
console.log(' agentic-senior-core rollback [target-directory]');
|
|
61
67
|
console.log(' agentic-senior-core audit:design-anti-repeat [target-directory] [--json] [--palette-advisory] [--threshold <number>]');
|
|
@@ -89,6 +95,14 @@ export function printUsage() {
|
|
|
89
95
|
console.log(' --enable Enable token optimization policy state');
|
|
90
96
|
console.log(' --disable Disable token optimization policy state');
|
|
91
97
|
console.log(' --show Print current token optimization state as JSON');
|
|
98
|
+
console.log(' status Show ASCX runtime token saver readiness');
|
|
99
|
+
console.log(' doctor Diagnose ASCX runtime token saver readiness and tee write safety');
|
|
100
|
+
console.log(' --json Print context manifest as JSON');
|
|
101
|
+
console.log(' --stdin Read context request text from stdin');
|
|
102
|
+
console.log(' --request-id Set the context manifest request id');
|
|
103
|
+
console.log(' --file Add a context file path signal for adaptive rule selection');
|
|
104
|
+
console.log(' --files Add comma-separated context file path signals');
|
|
105
|
+
console.log(' ascx Execute a supported command with evidence-preserving output compression');
|
|
92
106
|
}
|
|
93
107
|
|
|
94
108
|
/**
|
package/package.json
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ryuenn3123/agentic-senior-core",
|
|
3
|
-
"version": "4.1
|
|
3
|
+
"version": "4.2.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Change your AI Agent to code like a Staff Engineer, not a Junior.",
|
|
6
6
|
"bin": {
|
|
7
|
-
"
|
|
7
|
+
"asc": "bin/agentic-senior-core.js",
|
|
8
|
+
"agentic-senior-core": "bin/agentic-senior-core.js",
|
|
9
|
+
"ascx": "bin/ascx.js"
|
|
8
10
|
},
|
|
9
11
|
"files": [
|
|
10
12
|
"bin/",
|
|
13
|
+
"benchmarks/compact-natural-mode/",
|
|
14
|
+
"benchmarks/runtime-token-saver/",
|
|
11
15
|
"lib/",
|
|
12
16
|
"scripts/",
|
|
13
17
|
".agent-context/policies/",
|
|
@@ -71,6 +75,9 @@
|
|
|
71
75
|
"sbom:generate": "node ./scripts/generate-sbom.mjs",
|
|
72
76
|
"benchmark:detection": "node ./scripts/detection-benchmark.mjs",
|
|
73
77
|
"benchmark:token": "node ./scripts/token-optimization-benchmark.mjs",
|
|
78
|
+
"benchmark:adaptive-context": "node ./scripts/adaptive-context-benchmark.mjs",
|
|
79
|
+
"benchmark:ascx": "node ./scripts/ascx-runtime-token-saver-benchmark.mjs",
|
|
80
|
+
"benchmark:compact-natural": "node ./scripts/compact-natural-mode-benchmark.mjs",
|
|
74
81
|
"benchmark:bundle": "node ./scripts/benchmark-evidence-bundle.mjs",
|
|
75
82
|
"benchmark:writer-judge": "node ./scripts/benchmark-writer-judge-matrix.mjs",
|
|
76
83
|
"benchmark:gate": "node ./scripts/benchmark-gate.mjs",
|
|
@@ -83,7 +90,7 @@
|
|
|
83
90
|
"report:governance-weekly": "node ./scripts/governance-weekly-report.mjs",
|
|
84
91
|
"clean:local": "node ./scripts/clean-local-artifacts.mjs",
|
|
85
92
|
"validate": "node ./scripts/validate.mjs",
|
|
86
|
-
"test": "node --test ./tests/cli-smoke.test.mjs ./tests/mcp-server.test.mjs ./tests/llm-judge.test.mjs ./tests/ui-rubric-calibration.test.mjs ./tests/operations.test.mjs ./tests/knowledge-injection.test.mjs ./tests/audit-caching-scope-hygiene.test.mjs ./tests/research-dossier-migration.test.mjs ./tests/typography-palette-anti-repeat-audit.test.mjs ./tests/audit-design-anti-repeat-command.test.mjs ./benchmarks/token-usage/lib/token-counter.test.mjs ./benchmarks/token-usage/lib/provider-cache-matrix.test.mjs ./benchmarks/token-usage/lib/cache-layer-contract.test.mjs ./benchmarks/token-usage/lib/cache-economics.test.mjs"
|
|
93
|
+
"test": "node --test ./tests/cli-smoke.test.mjs ./tests/mcp-server.test.mjs ./tests/llm-judge.test.mjs ./tests/ui-rubric-calibration.test.mjs ./tests/operations.test.mjs ./tests/knowledge-injection.test.mjs ./tests/audit-caching-scope-hygiene.test.mjs ./tests/research-dossier-migration.test.mjs ./tests/typography-palette-anti-repeat-audit.test.mjs ./tests/audit-design-anti-repeat-command.test.mjs ./tests/adaptive-context.test.mjs ./tests/ascx-runtime-token-saver.test.mjs ./tests/compact-natural-mode.test.mjs ./benchmarks/token-usage/lib/token-counter.test.mjs ./benchmarks/token-usage/lib/provider-cache-matrix.test.mjs ./benchmarks/token-usage/lib/cache-layer-contract.test.mjs ./benchmarks/token-usage/lib/cache-economics.test.mjs"
|
|
87
94
|
},
|
|
88
95
|
"devDependencies": {
|
|
89
96
|
"@anthropic-ai/sdk": "^0.96.0",
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
export const ADAPTIVE_CONTEXT_FIXTURES = [
|
|
2
|
+
{
|
|
3
|
+
id: 'auth-flow-review',
|
|
4
|
+
requestText: 'Review this login auth flow. Check JWT session handling, API response errors, and what tests should cover.',
|
|
5
|
+
requiredLabels: ['SEC', 'API', 'ERR', 'TEST'],
|
|
6
|
+
allowedLabels: ['SEC', 'API', 'ERR', 'TEST'],
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
id: 'real-auth-refactor',
|
|
10
|
+
requestText: 'Tolong refactor auth flow ini, jangan ubah behavior, cek security dan test juga.',
|
|
11
|
+
requiredLabels: ['SEC', 'ARCH', 'TEST'],
|
|
12
|
+
allowedLabels: ['SEC', 'ARCH', 'TEST', 'ERR', 'API'],
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: 'runtime-hardening',
|
|
16
|
+
requestText: 'Make adaptive context runtime stable. Fix missed implicit cases before moving to ASCX.',
|
|
17
|
+
requiredLabels: ['ARCH', 'TEST', 'ERR'],
|
|
18
|
+
allowedLabels: ['ARCH', 'TEST', 'ERR'],
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: 'natural-migration-broke',
|
|
22
|
+
requestText: 'Something broke after I pushed the migration yesterday.',
|
|
23
|
+
requiredLabels: ['MIG', 'ERR'],
|
|
24
|
+
allowedLabels: ['MIG', 'ERR'],
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
id: 'natural-frontend-mobile-overlap',
|
|
28
|
+
requestText: 'This page flickers on mobile and the text overlaps.',
|
|
29
|
+
requiredLabels: ['FE'],
|
|
30
|
+
allowedLabels: ['FE'],
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: 'indonesian-access-leak',
|
|
34
|
+
requestText: 'Audit pembayaran ini, takut kebuka akses user lain.',
|
|
35
|
+
requiredLabels: ['SEC'],
|
|
36
|
+
allowedLabels: ['SEC'],
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: 'indonesian-readable-service',
|
|
40
|
+
requestText: 'Rapihin service ini biar namingnya enak dibaca.',
|
|
41
|
+
requiredLabels: ['ARCH', 'NAME'],
|
|
42
|
+
allowedLabels: ['ARCH', 'NAME'],
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: 'natural-cron-silent',
|
|
46
|
+
requestText: 'My cron stops silently, need logs and retry.',
|
|
47
|
+
requiredLabels: ['JOB', 'ERR', 'OBS', 'RES'],
|
|
48
|
+
allowedLabels: ['JOB', 'ERR', 'OBS', 'RES'],
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: 'auth-middleware-duplicate',
|
|
52
|
+
requestText: 'Remove duplicate code in auth middleware.',
|
|
53
|
+
requiredLabels: ['SEC', 'ARCH'],
|
|
54
|
+
allowedLabels: ['SEC', 'ARCH'],
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
id: 'indonesian-slow-query',
|
|
58
|
+
requestText: 'Bisa cek kenapa checkout lemot banget pas query order.',
|
|
59
|
+
requiredLabels: ['DATA', 'PERF'],
|
|
60
|
+
allowedLabels: ['DATA', 'PERF'],
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: 'config-exposing-key',
|
|
64
|
+
requestText: 'Update env var for staging without exposing key.',
|
|
65
|
+
requiredLabels: ['CFG', 'SEC'],
|
|
66
|
+
allowedLabels: ['CFG', 'SEC'],
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: 'token-budget-context-hardening',
|
|
70
|
+
requestText: 'Tighten adaptive context token budget and benchmark reporting for real request corpus.',
|
|
71
|
+
requiredLabels: ['ARCH', 'TEST'],
|
|
72
|
+
allowedLabels: ['ARCH', 'TEST'],
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
id: 'tenant-access-leak-indonesian',
|
|
76
|
+
requestText: 'Pas login, user bisa lihat data tenant sebelah.',
|
|
77
|
+
requiredLabels: ['SEC'],
|
|
78
|
+
allowedLabels: ['SEC'],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
id: 'invoice-worker-no-log',
|
|
82
|
+
requestText: 'Abis deploy, worker invoice ga jalan tapi ga ada error di log.',
|
|
83
|
+
requiredLabels: ['JOB', 'ERR', 'OBS'],
|
|
84
|
+
allowedLabels: ['JOB', 'ERR', 'OBS'],
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
id: 'checkout-helper-naming',
|
|
88
|
+
requestText: 'Rapihin nama variabel di checkout helper, jangan bikin abstraction baru.',
|
|
89
|
+
requiredLabels: ['ARCH', 'NAME'],
|
|
90
|
+
allowedLabels: ['ARCH', 'NAME'],
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
id: 'mobile-button-cut-off',
|
|
94
|
+
requestText: 'Button checkout kepotong di layar kecil.',
|
|
95
|
+
requiredLabels: ['FE'],
|
|
96
|
+
allowedLabels: ['FE'],
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
id: 'production-migration-rollback',
|
|
100
|
+
requestText: 'Migration order sukses locally tapi production rollback.',
|
|
101
|
+
requiredLabels: ['MIG', 'ERR'],
|
|
102
|
+
allowedLabels: ['MIG', 'ERR'],
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
id: 'cancel-order-idempotent-endpoint',
|
|
106
|
+
requestText: 'Buat endpoint cancel order idempotent dan documented.',
|
|
107
|
+
requiredLabels: ['API'],
|
|
108
|
+
allowedLabels: ['API'],
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
id: 'production-env-secret-error',
|
|
112
|
+
requestText: 'Env production salah kebaca, jangan tampilin secret di error.',
|
|
113
|
+
requiredLabels: ['CFG', 'SEC', 'ERR'],
|
|
114
|
+
allowedLabels: ['CFG', 'SEC', 'ERR'],
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
id: 'websocket-reconnect-timeout',
|
|
118
|
+
requestText: 'WebSocket reconnect sering timeout, perlu fallback.',
|
|
119
|
+
requiredLabels: ['RT', 'RES'],
|
|
120
|
+
allowedLabels: ['RT', 'RES'],
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
id: 'invoice-query-timeout-nplusone',
|
|
124
|
+
requestText: 'Query invoice timeout dan N+1.',
|
|
125
|
+
requiredLabels: ['DATA', 'PERF', 'RES'],
|
|
126
|
+
allowedLabels: ['DATA', 'PERF', 'RES'],
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
id: 'dependency-update-check',
|
|
130
|
+
requestText: 'Cek dependency package ini outdated atau perlu update.',
|
|
131
|
+
requiredLabels: ['DEP'],
|
|
132
|
+
allowedLabels: ['DEP'],
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
id: 'frontend-redesign',
|
|
136
|
+
requestText: 'Redesign this frontend screen from zero with responsive layout, motion, and UI design docs.',
|
|
137
|
+
requiredLabels: ['FE'],
|
|
138
|
+
allowedLabels: ['FE'],
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
id: 'database-migration-failure',
|
|
142
|
+
requestText: 'The database migration fails during rollback after a schema change. Check query impact and validation coverage.',
|
|
143
|
+
requiredLabels: ['DATA', 'MIG', 'ERR', 'TEST'],
|
|
144
|
+
allowedLabels: ['DATA', 'MIG', 'ERR', 'TEST'],
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
id: 'docker-env-setup',
|
|
148
|
+
requestText: 'Set up Docker Compose with env config and validation so the container can run locally.',
|
|
149
|
+
requiredLabels: ['DOCK', 'CFG', 'TEST'],
|
|
150
|
+
allowedLabels: ['DOCK', 'CFG', 'TEST'],
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
id: 'worker-retry-observability',
|
|
154
|
+
requestText: 'Fix the queue worker retry flow. It publishes events, needs fallback behavior, and should log trace data.',
|
|
155
|
+
requiredLabels: ['JOB', 'EVT', 'RES', 'OBS', 'ERR'],
|
|
156
|
+
allowedLabels: ['JOB', 'EVT', 'RES', 'OBS', 'ERR'],
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
id: 'service-refactor-clean-code',
|
|
160
|
+
requestText: 'Refactor this service module. Clean up helper names, avoid over-engineering, and keep tests readable.',
|
|
161
|
+
requiredLabels: ['ARCH', 'NAME', 'TEST'],
|
|
162
|
+
allowedLabels: ['ARCH', 'NAME', 'TEST'],
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
id: 'versioned-api-endpoint',
|
|
166
|
+
requestText: 'Design a versioned API endpoint contract with safe request validation, error responses, and backward compatibility.',
|
|
167
|
+
requiredLabels: ['API', 'VER', 'ERR', 'SEC', 'TEST'],
|
|
168
|
+
allowedLabels: ['API', 'VER', 'ERR', 'SEC', 'TEST'],
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
id: 'slow-query-performance',
|
|
172
|
+
requestText: 'The SQL query is slow and may be an N+1 issue. Add observability and a performance test.',
|
|
173
|
+
requiredLabels: ['PERF', 'DATA', 'OBS', 'TEST'],
|
|
174
|
+
allowedLabels: ['PERF', 'DATA', 'OBS', 'TEST'],
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
id: 'config-secret-feature-flag',
|
|
178
|
+
requestText: 'Add a feature flag from env config without leaking secrets in errors.',
|
|
179
|
+
requiredLabels: ['CFG', 'SEC', 'ERR'],
|
|
180
|
+
allowedLabels: ['CFG', 'SEC', 'ERR'],
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
id: 'realtime-stream-contract',
|
|
184
|
+
requestText: 'Plan a realtime WebSocket stream API with timeout recovery and monitoring.',
|
|
185
|
+
requiredLabels: ['RT', 'API', 'RES', 'OBS'],
|
|
186
|
+
allowedLabels: ['RT', 'API', 'RES', 'OBS'],
|
|
187
|
+
},
|
|
188
|
+
];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { evaluateAdaptiveContextFixtures } from '../lib/cli/adaptive-context.mjs';
|
|
4
|
+
import { ADAPTIVE_CONTEXT_FIXTURES } from './adaptive-context/fixtures.mjs';
|
|
5
|
+
|
|
6
|
+
const report = evaluateAdaptiveContextFixtures(ADAPTIVE_CONTEXT_FIXTURES);
|
|
7
|
+
|
|
8
|
+
console.log(JSON.stringify(report, null, 2));
|
|
9
|
+
process.exit(report.passed ? 0 : 1);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { evaluateAscxFixtures } from '../lib/cli/ascx/fixture-evaluator.mjs';
|
|
4
|
+
import { ASCX_RUNTIME_TOKEN_SAVER_FIXTURES } from '../benchmarks/runtime-token-saver/fixtures.mjs';
|
|
5
|
+
|
|
6
|
+
const report = await evaluateAscxFixtures(ASCX_RUNTIME_TOKEN_SAVER_FIXTURES);
|
|
7
|
+
|
|
8
|
+
console.log(JSON.stringify(report, null, 2));
|
|
9
|
+
process.exit(report.passed ? 0 : 1);
|
|
@@ -148,9 +148,7 @@ export function buildReleaseBenchmarkBundle(options = {}) {
|
|
|
148
148
|
research_foundation: 'docs/architecture/decisions-foundation.md',
|
|
149
149
|
d4_caching_scope_matrix: 'docs/architecture/decisions-foundation.md#d4',
|
|
150
150
|
caching_reporting_format: 'docs/benchmark-reference.md',
|
|
151
|
-
|
|
152
|
-
phase_3_outcome: 'docs/archive/phase-3-outcome.md',
|
|
153
|
-
phase_5_plan: 'docs/archive/phase-5-hardening.md',
|
|
151
|
+
historical_record: 'docs/archive/HISTORY.md',
|
|
154
152
|
},
|
|
155
153
|
integrity: {
|
|
156
154
|
hash_algorithm: 'SHA-256',
|
|
@@ -25,6 +25,8 @@ const LOCAL_ARTIFACT_PATHS = [
|
|
|
25
25
|
'.agent-context/state/docs-quality-drift-report.json',
|
|
26
26
|
'.agent-context/state/memory-continuity-benchmark.json',
|
|
27
27
|
'.agent-context/state/quality-trend-report.json',
|
|
28
|
+
'.agent-context/state/token-saver',
|
|
29
|
+
'.agent-context/state/token-optimization-report.json',
|
|
28
30
|
'.agent-context/state/token-optimization-benchmark.json',
|
|
29
31
|
'.agent-context/state/weekly-governance-report.json',
|
|
30
32
|
];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { COMPACT_NATURAL_MODE_FIXTURES } from '../benchmarks/compact-natural-mode/fixtures.mjs';
|
|
4
|
+
import { evaluateCompactNaturalFixtures } from '../benchmarks/compact-natural-mode/scorer.mjs';
|
|
5
|
+
|
|
6
|
+
const report = evaluateCompactNaturalFixtures(COMPACT_NATURAL_MODE_FIXTURES);
|
|
7
|
+
|
|
8
|
+
console.log(JSON.stringify(report, null, 2));
|
|
9
|
+
process.exit(report.passed ? 0 : 1);
|
|
@@ -15,6 +15,7 @@ export const FORMAL_ARTIFACT_PATHS = [
|
|
|
15
15
|
'docs/deep-analysis-and-roadmap-backlog.md',
|
|
16
16
|
'.agent-context/rules/api-docs.md',
|
|
17
17
|
'.agent-context/review-checklists/pr-checklist.md',
|
|
18
|
+
'.agent-context/prompts/compact-natural-mode.md',
|
|
18
19
|
'.agent-context/prompts/review-code.md',
|
|
19
20
|
'CLAUDE.md',
|
|
20
21
|
'GEMINI.md',
|
|
@@ -280,6 +281,11 @@ export const REQUIRED_UPGRADE_UI_CONTRACT_WARNING_SNIPPETS = [
|
|
|
280
281
|
'Planned seed on apply: docs/design-intent.json',
|
|
281
282
|
'Upgrade synchronizes governance assets and can seed docs/design-intent.json, but it does not author project-specific docs/DESIGN.md automatically.',
|
|
282
283
|
'detectUiScopeSignals',
|
|
284
|
+
],
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
path: 'lib/cli/commands/upgrade/design-intent-seed.mjs',
|
|
288
|
+
snippets: [
|
|
283
289
|
'seed-generated-during-upgrade',
|
|
284
290
|
],
|
|
285
291
|
},
|
package/scripts/validate.mjs
CHANGED
|
@@ -161,6 +161,7 @@ async function validateRequiredFiles() {
|
|
|
161
161
|
'scripts/release-gate.mjs',
|
|
162
162
|
'scripts/generate-sbom.mjs',
|
|
163
163
|
'.agent-context/policies/llm-judge-threshold.json',
|
|
164
|
+
'.agent-context/prompts/compact-natural-mode.md',
|
|
164
165
|
'.agent-context/prompts/research-design.md',
|
|
165
166
|
'mcp.json',
|
|
166
167
|
'AGENTS.md',
|
|
@@ -252,6 +253,7 @@ async function validateRuleFiles() {
|
|
|
252
253
|
'review-checklists/pr-checklist.md',
|
|
253
254
|
'review-checklists/architecture-review.md',
|
|
254
255
|
'prompts/init-project.md',
|
|
256
|
+
'prompts/compact-natural-mode.md',
|
|
255
257
|
'prompts/bootstrap-design.md',
|
|
256
258
|
'prompts/refactor.md',
|
|
257
259
|
'prompts/review-code.md',
|