@jwilger/pi-development-system 0.33.0 → 0.34.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/package.json
CHANGED
package/prompts/devsys-review.md
CHANGED
|
@@ -6,5 +6,5 @@ Review the work in progress with the code-review skill.
|
|
|
6
6
|
|
|
7
7
|
1. Call `devsys_review_start` (slice and diff range: $ARGUMENTS; omit either to use the active slice and `HEAD`; only the `HEAD` range clears the commit gate).
|
|
8
8
|
2. Run the `agent_spawn` payload it returns, unchanged.
|
|
9
|
-
3. Pass the reviewer's packet verbatim to `devsys_review_record` with the same `diffDigest` and `diffRange` the start reply gave.
|
|
9
|
+
3. Pass the reviewer's packet verbatim to `devsys_review_record` with the same `slice`, `diffDigest` and `diffRange` the start reply gave.
|
|
10
10
|
4. Report `review: N/R clean` and the next action. If the next action is `fix-findings`, list each blocking and should-fix finding with its `path:line`.
|
|
@@ -18,7 +18,7 @@ Review is a soft gate (`review.unsatisfied`): skipping it needs a recorded depar
|
|
|
18
18
|
2. Run that `agent_spawn` unchanged. The reviewer is a top-level agent, not a
|
|
19
19
|
child of this conversation, so it does not inherit your context.
|
|
20
20
|
3. Pass the reviewer's packet, verbatim, to `devsys_review_record` with the
|
|
21
|
-
`diffDigest` the start reply gave, and the same `diffRange` if you gave one
|
|
21
|
+
`slice` and `diffDigest` the start reply gave, and the same `diffRange` if you gave one
|
|
22
22
|
(`packets: [...]`; all lens packets of one
|
|
23
23
|
round in one call). A packet is recorded once, in the round its header names;
|
|
24
24
|
if the diff changed since the start, the round is refused: start again.
|
|
@@ -18,7 +18,8 @@ const HEADER = new RegExp(
|
|
|
18
18
|
// Reviewers add text after the location (`fn`, a second location); the first backticked one is the finding's.
|
|
19
19
|
const FINDING = /^-\s*\[([^\]]+)\]\s+(\S+)\s+(?:`([^`]+)`[^—–]*?\s+)?[—–-]\s+(.+)$/;
|
|
20
20
|
// An indented line under a finding is its detail (trigger, fix), unless it is itself a finding.
|
|
21
|
-
const isDetail = (line: string): boolean =>
|
|
21
|
+
const isDetail = (line: string): boolean =>
|
|
22
|
+
/^\s+/.test(line) && !/^\s*(?:[-*+]|\d+[.)])\s*\[/.test(line);
|
|
22
23
|
|
|
23
24
|
// `until` ends a section; by default any heading does. Findings ends only at a known section so a stray
|
|
24
25
|
// heading inside it (### Nits) makes its lines errors instead of silently cutting the findings off.
|
|
@@ -157,7 +157,7 @@ export function createReviewStartTool(
|
|
|
157
157
|
[
|
|
158
158
|
`${reviewLabel(review)}; round ${round}; diff ${snap.value.digest}. ${basis}`,
|
|
159
159
|
`lenses: ${lenses.join(", ")}`,
|
|
160
|
-
`Spawn the reviewer with agent_spawn using exactly this payload, then pass its packet to devsys_review_record with diffDigest "${snap.value.digest}"${range === "HEAD" ? "" : ` and diffRange "${range}"`}:`,
|
|
160
|
+
`Spawn the reviewer with agent_spawn using exactly this payload, then pass its packet to devsys_review_record with slice "${slice}", diffDigest "${snap.value.digest}"${range === "HEAD" ? "" : ` and diffRange "${range}"`}:`,
|
|
161
161
|
JSON.stringify(spawn),
|
|
162
162
|
].join("\n"),
|
|
163
163
|
);
|