@navels/neal 0.6.5 → 0.6.6
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.
|
@@ -180,7 +180,7 @@ export function renderInlinedRangeDiffSection(args) {
|
|
|
180
180
|
return [
|
|
181
181
|
`## Inlined commit-range diff from Neal (${args.rangeLabel})`,
|
|
182
182
|
'',
|
|
183
|
-
'You have read-only repository
|
|
183
|
+
'You have read-only repository access but no commit-range diff tool, so Neal has inlined the commit-range diff below. That access may be dedicated read and search tools, or a shell running in a read-only sandbox; if it is a shell, use it only to read files and search the tree, never to write.',
|
|
184
184
|
'This inlined diff is the source of truth for exactly what this range changed, including deletions and renames that head-state file reads cannot reveal. Use your read tools to verify the surrounding code.',
|
|
185
185
|
'',
|
|
186
186
|
args.diff.trim() === '' ? '(empty diff)' : truncateInlineSectionBody(args.diff),
|
|
@@ -23,7 +23,7 @@ export function getCodeReviewFalsificationLines(context) {
|
|
|
23
23
|
: `Review that ${context.rangeLabel} directly with repository tools. The ${context.rangeLabel} is the source of truth for this review.`);
|
|
24
24
|
}
|
|
25
25
|
if (mode === 'read-only') {
|
|
26
|
-
lines.push('A diff shows only changed hunks; declarations such as imports, struct fields, or helpers may exist in unchanged parts of the file. Absence from the diff is not evidence of absence from the repository — open the affected file with your read tools and verify before claiming a missing import or missing declaration.');
|
|
26
|
+
lines.push('A diff shows only changed hunks; declarations such as imports, struct fields, or helpers may exist in unchanged parts of the file. Absence from the diff is not evidence of absence from the repository — open the affected file with your read tools and verify before claiming a missing import or missing declaration.', 'Your read tools may be dedicated read and search tools, or a shell running in a read-only sandbox. If your only repository tool is that shell, use it to read files and search the tree (for example cat, sed -n, grep, ls); it cannot write, and you must not try to.');
|
|
27
27
|
}
|
|
28
28
|
if (context.gitInspectionExamples) {
|
|
29
29
|
if (mode === 'tool-access') {
|
|
@@ -406,7 +406,7 @@ export const PROMPT_SPECS = [
|
|
|
406
406
|
},
|
|
407
407
|
{
|
|
408
408
|
id: 'scope_reviewer',
|
|
409
|
-
version:
|
|
409
|
+
version: 6,
|
|
410
410
|
changelog: [
|
|
411
411
|
{
|
|
412
412
|
version: 1,
|
|
@@ -428,6 +428,10 @@ export const PROMPT_SPECS = [
|
|
|
428
428
|
version: 5,
|
|
429
429
|
renderSha: 'e8dcb976d0ea22e9026e09a87d7dde93c8513334f62ad89472ebefe91771754b',
|
|
430
430
|
},
|
|
431
|
+
{
|
|
432
|
+
version: 6,
|
|
433
|
+
renderSha: 'ed8d66b768a869817ff4c6b3d127b0f6f3958dff3cf57e036cc27c21800201a4',
|
|
434
|
+
},
|
|
431
435
|
],
|
|
432
436
|
role: 'reviewer',
|
|
433
437
|
purpose: 'Review execute-scope results for correctness, verification coverage, and meaningful progress toward the active parent objective.',
|
|
@@ -584,7 +588,7 @@ export const PROMPT_SPECS = [
|
|
|
584
588
|
},
|
|
585
589
|
{
|
|
586
590
|
id: 'completion_reviewer',
|
|
587
|
-
version:
|
|
591
|
+
version: 6,
|
|
588
592
|
changelog: [
|
|
589
593
|
{
|
|
590
594
|
version: 1,
|
|
@@ -606,6 +610,10 @@ export const PROMPT_SPECS = [
|
|
|
606
610
|
version: 5,
|
|
607
611
|
renderSha: '7930cec95560ad880bba94a7ae48e68c621805787261e295c4c405d09235c87b',
|
|
608
612
|
},
|
|
613
|
+
{
|
|
614
|
+
version: 6,
|
|
615
|
+
renderSha: '079a57a685c33aaba5b9a6b919ed4cb961a79f89e770ed6ede85020b618addd6',
|
|
616
|
+
},
|
|
609
617
|
],
|
|
610
618
|
role: 'reviewer',
|
|
611
619
|
purpose: 'Judge whole-plan completion and decide whether Neal should accept completion, continue execution, or block for operator input.',
|
|
@@ -57,7 +57,7 @@ export function buildReviewFindingsInlinedDiffSection(context) {
|
|
|
57
57
|
return [
|
|
58
58
|
'## Inlined Selected-Range Diff',
|
|
59
59
|
'',
|
|
60
|
-
'You have read-only repository
|
|
60
|
+
'You have read-only repository access but no commit-range diff tool, so the full selected-range diff is inlined below. That access may be dedicated read and search tools, or a shell running in a read-only sandbox; if it is a shell, use it only to read files and search the tree, never to write.',
|
|
61
61
|
'This inlined diff is the source of truth for what the resolved range actually changed, including deletions and renames that head-state file reads cannot reveal.',
|
|
62
62
|
`Resolved range: ${context.externalBaseCommit}..${context.externalHeadCommit}.`,
|
|
63
63
|
'Verify draft claims against the surrounding code with your read tools; absence from a diff hunk is not evidence of absence from the repository.',
|
package/docs/compat.md
CHANGED
|
@@ -53,6 +53,9 @@ neal compat [--model <slug>] [--role coder|reviewer|planner|all] [--reference op
|
|
|
53
53
|
|
|
54
54
|
- `--role` (default `all`) selects which role(s) to test: `coder`, `reviewer`,
|
|
55
55
|
`planner`, or `all`.
|
|
56
|
+
- With no flags at all, every role runs on your configured provider and model,
|
|
57
|
+
which is how to verify a native slug (`openai-codex` or `anthropic-claude`);
|
|
58
|
+
`--model` always routes the candidate to `openai-compatible`.
|
|
56
59
|
- `--model <slug>` runs the slug on the **`openai-compatible`** provider in the
|
|
57
60
|
candidate role (provider forced to `openai-compatible`, any configured effort
|
|
58
61
|
dropped, so the slug drives a clean OpenRouter call). When omitted, the
|
|
@@ -156,6 +156,24 @@ don't support tool use.
|
|
|
156
156
|
| `openai-codex` | supported | supported | supported |
|
|
157
157
|
| `anthropic-claude` | supported | supported | supported |
|
|
158
158
|
|
|
159
|
+
### Native model slugs run through the fixtures
|
|
160
|
+
|
|
161
|
+
The adapters above are supported by construction. A row here means a specific
|
|
162
|
+
slug has also been run through `neal compat`. To add one, put the slug in your
|
|
163
|
+
config and run `neal compat` with no flags: every role then runs on your
|
|
164
|
+
configured provider and model (`--model` always routes to `openai-compatible`,
|
|
165
|
+
so it can't test a native slug). Cells are passed/total, same as the whitelist.
|
|
166
|
+
|
|
167
|
+
| Slug | Provider | Coder | Reviewer | Planner | Run |
|
|
168
|
+
| --- | --- | --- | --- | --- | --- |
|
|
169
|
+
| `claude-fable-5-1` | `anthropic-claude` | 2/2 | not run | 1/1 | 2026-09-04 |
|
|
170
|
+
| `gpt-6-astra` | `openai-codex` | not run | 2/2 pairs | not run | 2026-09-04 |
|
|
171
|
+
|
|
172
|
+
`gpt-6-astra` as reviewer needs the read-only doctrine wording from #57. Before
|
|
173
|
+
that, the doctrine told a Codex reviewer it had no shell, and Astra took it at
|
|
174
|
+
its word and blocked every reviewer fixture for lack of a read tool; with the
|
|
175
|
+
wording fixed it passed 4/4.
|
|
176
|
+
|
|
159
177
|
## Reproducing / extending
|
|
160
178
|
|
|
161
179
|
```
|