@nerviq/cli 1.12.0 → 1.13.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.
@@ -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-github-action',
31
- label: 'Codex GitHub Action',
32
- url: 'https://github.com/openai/codex-action',
33
- stalenessThresholdDays: 30,
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.
@@ -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-prompt-files-docs',
39
- label: 'Copilot Prompt Files Documentation',
40
- url: 'https://docs.github.com/en/copilot/customizing-copilot/adding-custom-instructions-for-github-copilot#creating-prompt-files',
41
- stalenessThresholdDays: 30,
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.
@@ -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-bugbot',
53
- label: 'BugBot Documentation',
54
- url: 'https://cursor.com/docs/bugbot',
55
- stalenessThresholdDays: 30,
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, propagation for CLAUDE.md format changes.
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: 'anthropic-changelog',
67
- label: 'Claude Code Changelog',
68
- url: 'https://code.claude.com/docs/en/changelog',
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.
@@ -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-hooks-docs',
39
- label: 'Gemini Hooks Documentation',
40
- url: 'https://google-gemini.github.io/gemini-cli/docs/hooks/',
41
- stalenessThresholdDays: 30,
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.