@nerviq/cli 1.12.0 → 1.14.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.md +227 -210
- package/bin/cli.js +1014 -997
- package/package.json +3 -2
- package/src/aider/freshness.js +65 -20
- package/src/audit/instruction-files.js +180 -0
- package/src/audit/recommendations.js +531 -0
- package/src/audit.js +121 -824
- package/src/codex/freshness.js +84 -25
- package/src/copilot/freshness.js +57 -20
- package/src/cursor/freshness.js +65 -20
- package/src/freshness.js +74 -21
- package/src/gemini/freshness.js +66 -21
- package/src/harmony/cli.js +235 -0
- package/src/index.js +2 -0
- package/src/mcp-server.js +95 -59
- package/src/opencode/freshness.js +66 -21
- package/src/setup/analysis.js +619 -0
- package/src/setup/runtime.js +172 -0
- package/src/setup.js +28 -748
- package/src/windsurf/freshness.js +36 -21
package/src/codex/freshness.js
CHANGED
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
const { version } = require('../../package.json');
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* P0 sources that must be fresh before any Codex release claim.
|
|
12
|
-
* Each source has a staleness threshold in days.
|
|
13
|
-
*/
|
|
14
|
-
const P0_SOURCES = [
|
|
11
|
+
* P0 sources that must be fresh before any Codex release claim.
|
|
12
|
+
* Each source has a staleness threshold in days.
|
|
13
|
+
*/
|
|
14
|
+
const P0_SOURCES = [
|
|
15
15
|
{
|
|
16
16
|
key: 'codex-cli-docs',
|
|
17
17
|
label: 'Codex CLI Official Docs',
|
|
@@ -19,18 +19,53 @@ const P0_SOURCES = [
|
|
|
19
19
|
stalenessThresholdDays: 30,
|
|
20
20
|
verifiedAt: '2026-04-07',
|
|
21
21
|
},
|
|
22
|
-
{
|
|
23
|
-
key: 'codex-config-reference',
|
|
24
|
-
label: 'Codex Config Reference',
|
|
25
|
-
url: 'https://developers.openai.com/codex/config-reference',
|
|
26
|
-
stalenessThresholdDays: 30,
|
|
27
|
-
verifiedAt: '2026-04-07',
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
key: 'codex-
|
|
31
|
-
label: 'Codex
|
|
32
|
-
url: 'https://
|
|
33
|
-
stalenessThresholdDays:
|
|
22
|
+
{
|
|
23
|
+
key: 'codex-config-reference',
|
|
24
|
+
label: 'Codex Config Reference',
|
|
25
|
+
url: 'https://developers.openai.com/codex/config-reference',
|
|
26
|
+
stalenessThresholdDays: 30,
|
|
27
|
+
verifiedAt: '2026-04-07',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
key: 'codex-agent-approvals-security',
|
|
31
|
+
label: 'Codex Agent Approvals & Security',
|
|
32
|
+
url: 'https://developers.openai.com/codex/agent-approvals-security',
|
|
33
|
+
stalenessThresholdDays: 14,
|
|
34
|
+
verifiedAt: '2026-04-10',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
key: 'codex-subagents',
|
|
38
|
+
label: 'Codex Subagents Documentation',
|
|
39
|
+
url: 'https://developers.openai.com/codex/subagents',
|
|
40
|
+
stalenessThresholdDays: 14,
|
|
41
|
+
verifiedAt: '2026-04-10',
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
key: 'codex-automations',
|
|
45
|
+
label: 'Codex Automations / App Workflows',
|
|
46
|
+
url: 'https://developers.openai.com/codex/app/automations',
|
|
47
|
+
stalenessThresholdDays: 14,
|
|
48
|
+
verifiedAt: '2026-04-10',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
key: 'codex-local-environments',
|
|
52
|
+
label: 'Codex Local Environments / Worktrees',
|
|
53
|
+
url: 'https://developers.openai.com/codex/app/local-environments',
|
|
54
|
+
stalenessThresholdDays: 14,
|
|
55
|
+
verifiedAt: '2026-04-10',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
key: 'codex-feature-maturity',
|
|
59
|
+
label: 'Codex Feature Maturity',
|
|
60
|
+
url: 'https://developers.openai.com/codex/feature-maturity',
|
|
61
|
+
stalenessThresholdDays: 14,
|
|
62
|
+
verifiedAt: '2026-04-10',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
key: 'codex-github-action',
|
|
66
|
+
label: 'Codex GitHub Action',
|
|
67
|
+
url: 'https://github.com/openai/codex-action',
|
|
68
|
+
stalenessThresholdDays: 30,
|
|
34
69
|
verifiedAt: '2026-04-07',
|
|
35
70
|
},
|
|
36
71
|
{
|
|
@@ -77,15 +112,39 @@ const PROPAGATION_CHECKLIST = [
|
|
|
77
112
|
'src/codex/governance.js — governance export picks up changes',
|
|
78
113
|
],
|
|
79
114
|
},
|
|
80
|
-
{
|
|
81
|
-
trigger: 'New check category added',
|
|
82
|
-
targets: [
|
|
83
|
-
'src/codex/techniques.js — add check implementations',
|
|
84
|
-
'test/codex-check-matrix.js — add pass/fail scenarios',
|
|
85
|
-
'test/codex-golden-matrix.js — update golden scores',
|
|
86
|
-
],
|
|
87
|
-
},
|
|
88
|
-
|
|
115
|
+
{
|
|
116
|
+
trigger: 'New check category added',
|
|
117
|
+
targets: [
|
|
118
|
+
'src/codex/techniques.js — add check implementations',
|
|
119
|
+
'test/codex-check-matrix.js — add pass/fail scenarios',
|
|
120
|
+
'test/codex-golden-matrix.js — update golden scores',
|
|
121
|
+
],
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
trigger: 'Codex approvals/security model change (approval classes, sandboxing, unattended safety behavior)',
|
|
125
|
+
targets: [
|
|
126
|
+
'src/codex/governance.js — update permission profiles and caveats',
|
|
127
|
+
'src/codex/techniques.js — update trust/security checks tied to approval behavior',
|
|
128
|
+
'src/source-urls.js — refresh Codex trust/authentication source mappings if docs move',
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
trigger: 'Codex subagent or local-environment change (subagents, worktrees, workspace lifecycle, handoff expectations)',
|
|
133
|
+
targets: [
|
|
134
|
+
'src/codex/setup.js — update subagent/worktree starter templates',
|
|
135
|
+
'src/codex/techniques.js — update subagent and worktree governance checks',
|
|
136
|
+
'src/codex/governance.js — update multi-agent policy guidance',
|
|
137
|
+
],
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
trigger: 'Codex automation or feature-maturity change (automations, background workflows, capability maturity guidance)',
|
|
141
|
+
targets: [
|
|
142
|
+
'src/codex/techniques.js — update automation and maturity-sensitive checks',
|
|
143
|
+
'src/codex/interactive.js — update automation/setup wizard copy if platform behavior changes',
|
|
144
|
+
'src/source-urls.js — refresh Codex automation and maturity source mappings',
|
|
145
|
+
],
|
|
146
|
+
},
|
|
147
|
+
];
|
|
89
148
|
|
|
90
149
|
/**
|
|
91
150
|
* Release gate: check if all P0 sources are within staleness threshold.
|
package/src/copilot/freshness.js
CHANGED
|
@@ -27,18 +27,39 @@ const P0_SOURCES = [
|
|
|
27
27
|
stalenessThresholdDays: 30,
|
|
28
28
|
verifiedAt: '2026-04-07',
|
|
29
29
|
},
|
|
30
|
-
{
|
|
31
|
-
key: 'copilot-cloud-agent-docs',
|
|
32
|
-
label: 'Copilot Coding Agent',
|
|
33
|
-
url: 'https://docs.github.com/en/copilot/concepts/agents/coding-agent/about-coding-agent',
|
|
34
|
-
stalenessThresholdDays: 14,
|
|
35
|
-
verifiedAt: '2026-04-07',
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
key: 'copilot-
|
|
39
|
-
label: 'Copilot
|
|
40
|
-
url: 'https://docs.github.com/en/copilot/
|
|
41
|
-
stalenessThresholdDays:
|
|
30
|
+
{
|
|
31
|
+
key: 'copilot-cloud-agent-docs',
|
|
32
|
+
label: 'Copilot Coding Agent',
|
|
33
|
+
url: 'https://docs.github.com/en/copilot/concepts/agents/coding-agent/about-coding-agent',
|
|
34
|
+
stalenessThresholdDays: 14,
|
|
35
|
+
verifiedAt: '2026-04-07',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
key: 'copilot-cli-docs',
|
|
39
|
+
label: 'Copilot CLI Documentation',
|
|
40
|
+
url: 'https://docs.github.com/en/copilot/concepts/agents/about-copilot-cli',
|
|
41
|
+
stalenessThresholdDays: 14,
|
|
42
|
+
verifiedAt: '2026-04-10',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
key: 'copilot-model-lts-docs',
|
|
46
|
+
label: 'Copilot Base & LTS Models',
|
|
47
|
+
url: 'https://docs.github.com/en/copilot/concepts/fallback-and-lts-models',
|
|
48
|
+
stalenessThresholdDays: 14,
|
|
49
|
+
verifiedAt: '2026-04-10',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
key: 'copilot-cli-custom-agents-docs',
|
|
53
|
+
label: 'Copilot CLI Custom Agents',
|
|
54
|
+
url: 'https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli',
|
|
55
|
+
stalenessThresholdDays: 30,
|
|
56
|
+
verifiedAt: '2026-04-10',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
key: 'copilot-prompt-files-docs',
|
|
60
|
+
label: 'Copilot Prompt Files Documentation',
|
|
61
|
+
url: 'https://docs.github.com/en/copilot/customizing-copilot/adding-custom-instructions-for-github-copilot#creating-prompt-files',
|
|
62
|
+
stalenessThresholdDays: 30,
|
|
42
63
|
verifiedAt: '2026-04-07',
|
|
43
64
|
},
|
|
44
65
|
{
|
|
@@ -123,14 +144,30 @@ const PROPAGATION_CHECKLIST = [
|
|
|
123
144
|
'src/copilot/setup.js — update content exclusions guide',
|
|
124
145
|
],
|
|
125
146
|
},
|
|
126
|
-
{
|
|
127
|
-
trigger: 'Organization policy change or new policy type',
|
|
128
|
-
targets: [
|
|
129
|
-
'src/copilot/techniques.js — update organization checks (CP-F01..CP-F05)',
|
|
130
|
-
'src/copilot/governance.js — update enterprise-managed profile',
|
|
131
|
-
],
|
|
132
|
-
},
|
|
133
|
-
|
|
147
|
+
{
|
|
148
|
+
trigger: 'Organization policy change or new policy type',
|
|
149
|
+
targets: [
|
|
150
|
+
'src/copilot/techniques.js — update organization checks (CP-F01..CP-F05)',
|
|
151
|
+
'src/copilot/governance.js — update enterprise-managed profile',
|
|
152
|
+
],
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
trigger: 'Copilot CLI behavior change (CLI custom agents, hooks, memory, prompt layering)',
|
|
156
|
+
targets: [
|
|
157
|
+
'src/copilot/techniques.js — update CLI-agent and instruction-surface checks',
|
|
158
|
+
'src/copilot/setup.js — update starter guidance when CLI agent or hook behavior changes',
|
|
159
|
+
'src/source-urls.js — refresh Copilot source mappings for CLI-specific surfaces',
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
trigger: 'Copilot model / fallback / LTS policy change',
|
|
164
|
+
targets: [
|
|
165
|
+
'src/copilot/governance.js — update model-selection and enterprise policy caveats',
|
|
166
|
+
'src/copilot/techniques.js — update trust/availability assumptions tied to model fallback behavior',
|
|
167
|
+
'src/source-urls.js — refresh Copilot model and maturity source mappings',
|
|
168
|
+
],
|
|
169
|
+
},
|
|
170
|
+
];
|
|
134
171
|
|
|
135
172
|
/**
|
|
136
173
|
* Release gate: check if all P0 sources are within staleness threshold.
|
package/src/cursor/freshness.js
CHANGED
|
@@ -41,18 +41,39 @@ const P0_SOURCES = [
|
|
|
41
41
|
stalenessThresholdDays: 14,
|
|
42
42
|
verifiedAt: '2026-04-07',
|
|
43
43
|
},
|
|
44
|
-
{
|
|
45
|
-
key: 'cursor-automations',
|
|
46
|
-
label: 'Automations Documentation',
|
|
47
|
-
url: 'https://cursor.com/docs/cloud-agent/automations',
|
|
48
|
-
stalenessThresholdDays: 14,
|
|
49
|
-
verifiedAt: '2026-04-07',
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
key: 'cursor-
|
|
53
|
-
label: '
|
|
54
|
-
url: 'https://cursor.com/
|
|
55
|
-
stalenessThresholdDays:
|
|
44
|
+
{
|
|
45
|
+
key: 'cursor-automations',
|
|
46
|
+
label: 'Automations Documentation',
|
|
47
|
+
url: 'https://cursor.com/docs/cloud-agent/automations',
|
|
48
|
+
stalenessThresholdDays: 14,
|
|
49
|
+
verifiedAt: '2026-04-07',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
key: 'cursor-agent-modes',
|
|
53
|
+
label: 'Cursor Agent Modes',
|
|
54
|
+
url: 'https://docs.cursor.com/en/chat/agent',
|
|
55
|
+
stalenessThresholdDays: 14,
|
|
56
|
+
verifiedAt: '2026-04-10',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
key: 'cursor-models-docs',
|
|
60
|
+
label: 'Cursor Models & Auto Selection',
|
|
61
|
+
url: 'https://docs.cursor.com/models',
|
|
62
|
+
stalenessThresholdDays: 14,
|
|
63
|
+
verifiedAt: '2026-04-10',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
key: 'cursor-cli-docs',
|
|
67
|
+
label: 'Cursor CLI Usage',
|
|
68
|
+
url: 'https://docs.cursor.com/en/cli/using',
|
|
69
|
+
stalenessThresholdDays: 30,
|
|
70
|
+
verifiedAt: '2026-04-10',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
key: 'cursor-bugbot',
|
|
74
|
+
label: 'BugBot Documentation',
|
|
75
|
+
url: 'https://cursor.com/docs/bugbot',
|
|
76
|
+
stalenessThresholdDays: 30,
|
|
56
77
|
verifiedAt: '2026-04-07',
|
|
57
78
|
},
|
|
58
79
|
{
|
|
@@ -140,14 +161,38 @@ const PROPAGATION_CHECKLIST = [
|
|
|
140
161
|
'src/cursor/deep-review.js — update trust class detection',
|
|
141
162
|
],
|
|
142
163
|
},
|
|
143
|
-
{
|
|
144
|
-
trigger: 'Design Mode feature update',
|
|
145
|
-
targets: [
|
|
146
|
-
'src/cursor/setup.js — update Design Mode guide template',
|
|
147
|
-
'src/cursor/techniques.js — update CU-L01 modern features check',
|
|
148
|
-
],
|
|
149
|
-
},
|
|
150
|
-
|
|
164
|
+
{
|
|
165
|
+
trigger: 'Design Mode feature update',
|
|
166
|
+
targets: [
|
|
167
|
+
'src/cursor/setup.js — update Design Mode guide template',
|
|
168
|
+
'src/cursor/techniques.js — update CU-L01 modern features check',
|
|
169
|
+
],
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
trigger: 'Cursor mode behavior change (Agent/Ask/Custom, auto-run, auto-fix, tool scopes)',
|
|
173
|
+
targets: [
|
|
174
|
+
'src/cursor/techniques.js — update agent-mode and autonomy checks',
|
|
175
|
+
'src/cursor/governance.js — update mode-related permission caveats',
|
|
176
|
+
'src/source-urls.js — refresh Cursor mode source mappings',
|
|
177
|
+
],
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
trigger: 'Cursor model catalog or auto-selection change',
|
|
181
|
+
targets: [
|
|
182
|
+
'src/cursor/techniques.js — update model-awareness and cost/trust assumptions',
|
|
183
|
+
'src/cursor/governance.js — update privacy and model-selection caveats',
|
|
184
|
+
'src/source-urls.js — refresh Cursor model source mappings',
|
|
185
|
+
],
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
trigger: 'Cursor CLI behavior change',
|
|
189
|
+
targets: [
|
|
190
|
+
'src/cursor/setup.js — update CLI-oriented starter guidance',
|
|
191
|
+
'src/cursor/techniques.js — update CLI/rules expectations where relevant',
|
|
192
|
+
'src/source-urls.js — refresh Cursor CLI source mappings',
|
|
193
|
+
],
|
|
194
|
+
},
|
|
195
|
+
];
|
|
151
196
|
|
|
152
197
|
/**
|
|
153
198
|
* Release gate: check if all P0 sources are within staleness threshold.
|
package/src/freshness.js
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* Release gates, recurring probes, propagation checklists,
|
|
5
5
|
* and staleness blocking for Claude Code surfaces.
|
|
6
6
|
*
|
|
7
|
-
* P0 sources from code.claude.com/docs
|
|
7
|
+
* P0 sources from code.claude.com/docs and official Anthropic launch posts,
|
|
8
|
+
* with propagation for CLAUDE.md, output style, and agent harness changes.
|
|
8
9
|
*/
|
|
9
10
|
|
|
10
11
|
const { version } = require('../package.json');
|
|
@@ -55,18 +56,46 @@ const P0_SOURCES = [
|
|
|
55
56
|
stalenessThresholdDays: 14,
|
|
56
57
|
verifiedAt: '2026-04-07',
|
|
57
58
|
},
|
|
58
|
-
{
|
|
59
|
-
key: 'claude-settings-docs',
|
|
60
|
-
label: 'Claude Code Settings Documentation',
|
|
61
|
-
url: 'https://code.claude.com/docs/en/settings',
|
|
62
|
-
stalenessThresholdDays: 30,
|
|
63
|
-
verifiedAt: '2026-04-07',
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
key: '
|
|
67
|
-
label: 'Claude Code
|
|
68
|
-
url: 'https://code.claude.com/docs/en/
|
|
69
|
-
stalenessThresholdDays: 14,
|
|
59
|
+
{
|
|
60
|
+
key: 'claude-settings-docs',
|
|
61
|
+
label: 'Claude Code Settings Documentation',
|
|
62
|
+
url: 'https://code.claude.com/docs/en/settings',
|
|
63
|
+
stalenessThresholdDays: 30,
|
|
64
|
+
verifiedAt: '2026-04-07',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
key: 'claude-output-styles-docs',
|
|
68
|
+
label: 'Claude Code Output Styles / Insights',
|
|
69
|
+
url: 'https://code.claude.com/docs/en/output-styles',
|
|
70
|
+
stalenessThresholdDays: 14,
|
|
71
|
+
verifiedAt: '2026-04-10',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
key: 'claude-best-practices-docs',
|
|
75
|
+
label: 'Claude Code Best Practices / Auto Mode',
|
|
76
|
+
url: 'https://code.claude.com/docs/en/best-practices',
|
|
77
|
+
stalenessThresholdDays: 14,
|
|
78
|
+
verifiedAt: '2026-04-10',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
key: 'claude-agent-sdk-docs',
|
|
82
|
+
label: 'Claude Agent SDK Overview',
|
|
83
|
+
url: 'https://code.claude.com/docs/en/agent-sdk/overview',
|
|
84
|
+
stalenessThresholdDays: 14,
|
|
85
|
+
verifiedAt: '2026-04-10',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
key: 'claude-xcode-agent-sdk',
|
|
89
|
+
label: 'Anthropic Xcode Agent SDK Launch',
|
|
90
|
+
url: 'https://www.anthropic.com/news/apple-xcode-claude-agent-sdk',
|
|
91
|
+
stalenessThresholdDays: 30,
|
|
92
|
+
verifiedAt: '2026-04-10',
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
key: 'anthropic-changelog',
|
|
96
|
+
label: 'Claude Code Changelog',
|
|
97
|
+
url: 'https://code.claude.com/docs/en/changelog',
|
|
98
|
+
stalenessThresholdDays: 14,
|
|
70
99
|
verifiedAt: '2026-04-07',
|
|
71
100
|
},
|
|
72
101
|
];
|
|
@@ -98,14 +127,38 @@ const PROPAGATION_CHECKLIST = [
|
|
|
98
127
|
'src/context.js — update mcpConfig parsing',
|
|
99
128
|
],
|
|
100
129
|
},
|
|
101
|
-
{
|
|
102
|
-
trigger: 'Permissions model change (allow/deny lists, operator/user split)',
|
|
103
|
-
targets: [
|
|
104
|
-
'src/governance.js — update permissionProfiles',
|
|
105
|
-
'src/techniques.js — update permission checks',
|
|
106
|
-
],
|
|
107
|
-
},
|
|
108
|
-
|
|
130
|
+
{
|
|
131
|
+
trigger: 'Permissions model change (allow/deny lists, operator/user split)',
|
|
132
|
+
targets: [
|
|
133
|
+
'src/governance.js — update permissionProfiles',
|
|
134
|
+
'src/techniques.js — update permission checks',
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
trigger: 'Output style / Insights change (system prompt layering, outputStyle storage, learning mode behavior)',
|
|
139
|
+
targets: [
|
|
140
|
+
'src/techniques.js — update Claude settings and instruction-surface checks that depend on system-prompt-adjacent behavior',
|
|
141
|
+
'src/setup.js — update Claude settings starter templates if outputStyle guidance changes',
|
|
142
|
+
'src/source-urls.js — refresh Claude feature source mappings when output style docs move or split',
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
trigger: 'Best-practices or auto mode change (permission classifier, unattended mode, safety fallback behavior)',
|
|
147
|
+
targets: [
|
|
148
|
+
'src/governance.js — update permission mode caveats and policy guidance',
|
|
149
|
+
'src/techniques.js — update Claude trust/verification checks tied to auto mode or unattended workflows',
|
|
150
|
+
'src/source-urls.js — refresh Claude best-practice source mappings if guidance moves',
|
|
151
|
+
],
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
trigger: 'Agent SDK / harness or native integration change (SDK surfaces, subagents, background tasks, Xcode bridge)',
|
|
155
|
+
targets: [
|
|
156
|
+
'src/techniques.js — update Claude modern-capability checks and cross-surface expectations',
|
|
157
|
+
'src/mcp-packs.js — revisit pack assumptions when native integrations change MCP usage',
|
|
158
|
+
'src/source-urls.js — refresh Claude source mappings for SDK and integration surfaces',
|
|
159
|
+
],
|
|
160
|
+
},
|
|
161
|
+
];
|
|
109
162
|
|
|
110
163
|
/**
|
|
111
164
|
* Release gate: check if all P0 sources are within staleness threshold.
|
package/src/gemini/freshness.js
CHANGED
|
@@ -27,18 +27,39 @@ const P0_SOURCES = [
|
|
|
27
27
|
stalenessThresholdDays: 30,
|
|
28
28
|
verifiedAt: '2026-04-07',
|
|
29
29
|
},
|
|
30
|
-
{
|
|
31
|
-
key: 'gemini-md-guide',
|
|
32
|
-
label: 'GEMINI.md Guide',
|
|
33
|
-
url: 'https://google-gemini.github.io/gemini-cli/docs/cli/gemini-md.html',
|
|
34
|
-
stalenessThresholdDays: 30,
|
|
35
|
-
verifiedAt: '2026-04-07',
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
key: 'gemini-
|
|
39
|
-
label: 'Gemini
|
|
40
|
-
url: 'https://google-gemini.github.io/gemini-cli/docs/
|
|
41
|
-
stalenessThresholdDays:
|
|
30
|
+
{
|
|
31
|
+
key: 'gemini-md-guide',
|
|
32
|
+
label: 'GEMINI.md Guide',
|
|
33
|
+
url: 'https://google-gemini.github.io/gemini-cli/docs/cli/gemini-md.html',
|
|
34
|
+
stalenessThresholdDays: 30,
|
|
35
|
+
verifiedAt: '2026-04-07',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
key: 'gemini-trusted-folders-docs',
|
|
39
|
+
label: 'Gemini Trusted Folders',
|
|
40
|
+
url: 'https://google-gemini.github.io/gemini-cli/docs/cli/trusted-folders.html',
|
|
41
|
+
stalenessThresholdDays: 14,
|
|
42
|
+
verifiedAt: '2026-04-10',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
key: 'gemini-ide-integration-docs',
|
|
46
|
+
label: 'Gemini IDE Integration',
|
|
47
|
+
url: 'https://google-gemini.github.io/gemini-cli/docs/ide-integration.html',
|
|
48
|
+
stalenessThresholdDays: 14,
|
|
49
|
+
verifiedAt: '2026-04-10',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
key: 'gemini-architecture-docs',
|
|
53
|
+
label: 'Gemini Architecture Overview',
|
|
54
|
+
url: 'https://google-gemini.github.io/gemini-cli/docs/architecture.html',
|
|
55
|
+
stalenessThresholdDays: 30,
|
|
56
|
+
verifiedAt: '2026-04-10',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
key: 'gemini-hooks-docs',
|
|
60
|
+
label: 'Gemini Hooks Documentation',
|
|
61
|
+
url: 'https://google-gemini.github.io/gemini-cli/docs/hooks/',
|
|
62
|
+
stalenessThresholdDays: 30,
|
|
42
63
|
verifiedAt: '2026-04-07',
|
|
43
64
|
},
|
|
44
65
|
{
|
|
@@ -114,15 +135,39 @@ const PROPAGATION_CHECKLIST = [
|
|
|
114
135
|
'src/gemini/setup.js — update sandbox starter template',
|
|
115
136
|
],
|
|
116
137
|
},
|
|
117
|
-
{
|
|
118
|
-
trigger: 'Policy engine syntax or rule format change',
|
|
119
|
-
targets: [
|
|
120
|
-
'src/gemini/techniques.js — update policy validation checks',
|
|
121
|
-
'src/gemini/governance.js — update policy templates and caveats',
|
|
122
|
-
'src/gemini/config-parser.js — update policy parsing rules',
|
|
123
|
-
],
|
|
124
|
-
},
|
|
125
|
-
|
|
138
|
+
{
|
|
139
|
+
trigger: 'Policy engine syntax or rule format change',
|
|
140
|
+
targets: [
|
|
141
|
+
'src/gemini/techniques.js — update policy validation checks',
|
|
142
|
+
'src/gemini/governance.js — update policy templates and caveats',
|
|
143
|
+
'src/gemini/config-parser.js — update policy parsing rules',
|
|
144
|
+
],
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
trigger: 'Trusted-folder or safe-mode behavior change',
|
|
148
|
+
targets: [
|
|
149
|
+
'src/gemini/techniques.js — update trust/safe-mode checks',
|
|
150
|
+
'src/gemini/governance.js — update trusted-folder caveats and permission guidance',
|
|
151
|
+
'src/source-urls.js — refresh Gemini trust source mappings',
|
|
152
|
+
],
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
trigger: 'IDE integration change (workspace context, diffing, companion extension behavior)',
|
|
156
|
+
targets: [
|
|
157
|
+
'src/gemini/techniques.js — update IDE-assist and context-surface checks',
|
|
158
|
+
'src/gemini/setup.js — update IDE integration starter guidance',
|
|
159
|
+
'src/source-urls.js — refresh Gemini IDE source mappings',
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
trigger: 'Architecture or orchestration change (packages/core, tool flow, approval path)',
|
|
164
|
+
targets: [
|
|
165
|
+
'src/gemini/context.js — revisit assumptions tied to tool and session orchestration',
|
|
166
|
+
'src/gemini/techniques.js — update modern-feature and tool-flow checks',
|
|
167
|
+
'src/source-urls.js — refresh Gemini architecture source mappings',
|
|
168
|
+
],
|
|
169
|
+
},
|
|
170
|
+
];
|
|
126
171
|
|
|
127
172
|
/**
|
|
128
173
|
* Release gate: check if all P0 sources are within staleness threshold.
|