@jphutchins/code-review 0.1.0-alpha.46 → 0.1.0-alpha.47

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jphutchins/code-review",
3
- "version": "0.1.0-alpha.46",
3
+ "version": "0.1.0-alpha.47",
4
4
  "description": "Deterministic commenter for agentic PR review — gather, render, inline, post, adapt, extract, cost, validate, print-schema",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -76,21 +76,25 @@ ignored); a version outside the supported set degrades to a §5.5 sticky notice.
76
76
 
77
77
  The commenter embeds the agent's **complete** findings document verbatim in review comments
78
78
  (`<!-- code-review:findings-json -->`) — no surfaced copy, no added fields (issue #156). The
79
- deterministic stop signal an iterating author-agent needs rides its own compact
80
- `<!-- code-review:signal -->` marker beside the blob: the pipeline-computed `convergence` (`{score,
81
- threshold, converged}` — a literal boolean, so a decoding agent cannot re-derive the weights) and
82
- `round` (the count of completed full-review rounds) of the last completed full-review round. The
83
- agent never writes the signal (it cannot know the score — the weights and threshold are
84
- commenter-side), so the findings schema above describes the whole embedded document; the signal
85
- marker declares its own surface version:
79
+ deterministic stop signal an iterating author-agent needs is the pipeline-stamped `convergence` field
80
+ INSIDE that document (issue #174): `{score, threshold, converged}` (a literal boolean, so a decoding
81
+ agent cannot re-derive the weights) plus the per-round `rounds` trajectory. It is the single source of
82
+ truth — the agent never writes it (it cannot know the score; the weights and threshold are
83
+ commenter-side), and the findings schema above describes the whole embedded document, `convergence`
84
+ included. When an oversized review falls to the link form (the blob is a URL, not base64), the same
85
+ stamped object rides a compact `<!-- code-review:convergence -->` marker beside the link (issue #185)
86
+ so the trajectory and stop signal survive; the embedded blob always wins on read.
87
+
88
+ Two older surface formats survive only as READ-ONLY migration inputs — a re-review may still parse a
89
+ sticky posted by an earlier release. Nothing writes either anymore:
86
90
 
87
91
  | Version | Status | Notes |
88
92
  |---|---|---|
89
- | `v0.7.0` | superseded | The pre-#156 surface axis: the commenter embedded a **surfaced** copy of the findings document carrying `convergence` + `round` inside it (issue #141). A sticky written by a `0.7.0` release still seeds — `stripSurfaceFields` peels the surfaced copy back to the agent's draft. |
90
- | `v0.8.0` | **current** | The version the compact `code-review:signal` marker declares (and the version a legacy `0.8.0` surfaced blob declared). `0.8.0` added the agent-facing `scope_metastasis` entry (issue #150): per-code consecutive-round recurrence counts plus a decision prompt. Post-#156 that entry is embedded in no document — the re-review seed re-derives it from the rounds marker and delivers it to the next-round agent. The flat draft schema (now `v0.9.0`) accepts an optional `scope_metastasis` property so a seed-echoing draft validates — an in-place additive change, deliberately NOT a draft version bump: a draft sharing a `0.7.0`/`0.8.0` number would collide with the surface axis's version gate, so the draft axis skips past them to `0.9.0` (issue #163); the axes must stay distinct so `stripSurfaceFields`/`parseSurfaceSignal` can tell a legacy surfaced blob from a draft). |
93
+ | `v0.7.0` | legacy (read-only) | The pre-#156 surface axis: the commenter embedded a **surfaced** copy of the findings document carrying `convergence` + `round` inside it (issue #141). A sticky written by a `0.7.0` release still seeds — `stripSurfaceFields` peels the surfaced copy back to the agent's draft. |
94
+ | `v0.8.0` | legacy (read-only) | The version a compact `<!-- code-review:signal -->` marker declared (and a legacy `0.8.0` surfaced blob). Its writer is retired (issue #186); `parseSignalMarker` / `parseSurfaceSignal` still decode it so a pre-#185 sticky seeds. `0.8.0` also added the agent-facing `scope_metastasis` entry (issue #150): per-code consecutive-round recurrence counts plus a decision prompt. Post-#156 that entry is embedded in no document — the re-review seed re-derives it from the carried trajectory. The flat draft schema (now `v0.9.0`) accepts an optional `scope_metastasis` property so a seed-echoing draft validates — an in-place additive change, deliberately NOT a draft version bump: a draft sharing a `0.7.0`/`0.8.0` number would collide with the surface axis's version gate, so the draft axis skips past them to `0.9.0` (issue #163); the axes must stay distinct so `stripSurfaceFields`/`parseSurfaceSignal` can tell a legacy surfaced blob from a draft). |
91
95
 
92
- The surface axis is independent of the draft-version registry: `v0.8.0` is the signal marker's
93
- contract, while the agent-written document above is now `v0.9.0`. `stripSurfaceFields` and
96
+ The surface axis is independent of the draft-version registry: it numbers the legacy read-only signal
97
+ formats, while the agent-written document above is `v0.9.0`. `stripSurfaceFields` and
94
98
  `parseSurfaceSignal` are version-gated on the surface axis, so a future draft bump can never be
95
99
  mistaken for a legacy surfaced blob — and no fresh document is ever surfaced.
96
100
 
@@ -9,9 +9,6 @@
9
9
  <% if (it.findingsPointer) { -%>
10
10
  <%~ it.findingsPointer %>
11
11
  <% } -%>
12
- <% if (it.roundsMarker) { -%>
13
- <%~ it.roundsMarker %>
14
- <% } -%>
15
12
 
16
13
  ### <%= it.verdictBadge(it.findings.verdict) %>
17
14