@crown-dev-studios/review-council 0.1.0 → 0.2.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.
@@ -190,58 +190,58 @@
190
190
  word-break: break-word;
191
191
  }
192
192
 
193
- .markdown {
193
+ .rendered-markdown {
194
194
  color: var(--ink);
195
195
  }
196
196
 
197
- .markdown > :first-child {
197
+ .rendered-markdown > :first-child {
198
198
  margin-top: 0;
199
199
  }
200
200
 
201
- .markdown > :last-child {
201
+ .rendered-markdown > :last-child {
202
202
  margin-bottom: 0;
203
203
  }
204
204
 
205
- .markdown p,
206
- .markdown ul,
207
- .markdown ol,
208
- .markdown blockquote,
209
- .markdown pre {
205
+ .rendered-markdown p,
206
+ .rendered-markdown ul,
207
+ .rendered-markdown ol,
208
+ .rendered-markdown blockquote,
209
+ .rendered-markdown pre {
210
210
  margin: 0 0 14px;
211
211
  }
212
212
 
213
- .markdown ul,
214
- .markdown ol {
213
+ .rendered-markdown ul,
214
+ .rendered-markdown ol {
215
215
  padding-left: 22px;
216
216
  }
217
217
 
218
- .markdown li + li {
218
+ .rendered-markdown li + li {
219
219
  margin-top: 8px;
220
220
  }
221
221
 
222
- .markdown h1,
223
- .markdown h2,
224
- .markdown h3,
225
- .markdown h4,
226
- .markdown h5,
227
- .markdown h6 {
222
+ .rendered-markdown h1,
223
+ .rendered-markdown h2,
224
+ .rendered-markdown h3,
225
+ .rendered-markdown h4,
226
+ .rendered-markdown h5,
227
+ .rendered-markdown h6 {
228
228
  margin: 22px 0 12px;
229
229
  line-height: 1.15;
230
230
  }
231
231
 
232
- .markdown h1 {
232
+ .rendered-markdown h1 {
233
233
  font-size: 28px;
234
234
  }
235
235
 
236
- .markdown h2 {
236
+ .rendered-markdown h2 {
237
237
  font-size: 22px;
238
238
  }
239
239
 
240
- .markdown h3 {
240
+ .rendered-markdown h3 {
241
241
  font-size: 18px;
242
242
  }
243
243
 
244
- .markdown code {
244
+ .rendered-markdown code {
245
245
  padding: 0.15em 0.4em;
246
246
  border-radius: 6px;
247
247
  background: var(--surface-2);
@@ -250,14 +250,14 @@
250
250
  font-size: 0.92em;
251
251
  }
252
252
 
253
- .markdown pre code {
253
+ .rendered-markdown pre code {
254
254
  display: block;
255
255
  padding: 0;
256
256
  border: 0;
257
257
  background: transparent;
258
258
  }
259
259
 
260
- .markdown blockquote {
260
+ .rendered-markdown blockquote {
261
261
  padding: 12px 16px;
262
262
  border-left: 4px solid var(--accent);
263
263
  background: #faf1e7;
@@ -265,7 +265,7 @@
265
265
  border-radius: 0 12px 12px 0;
266
266
  }
267
267
 
268
- .markdown a {
268
+ .rendered-markdown a {
269
269
  color: var(--accent);
270
270
  }
271
271
 
@@ -316,6 +316,19 @@
316
316
  color: var(--muted);
317
317
  }
318
318
 
319
+ .merge-note {
320
+ margin-top: 6px;
321
+ font-size: 13px;
322
+ color: var(--muted);
323
+ }
324
+
325
+ .contradiction-note {
326
+ margin-top: 6px;
327
+ font-size: 13px;
328
+ color: var(--warn);
329
+ font-style: italic;
330
+ }
331
+
319
332
  @media (max-width: 720px) {
320
333
  main {
321
334
  padding: 18px;
@@ -336,7 +349,7 @@
336
349
  <section class="grid two">
337
350
  <article class="card">
338
351
  <h2>Judge Summary</h2>
339
- <div class="markdown">__JUDGE_SUMMARY__</div>
352
+ <div class="rendered-markdown">__JUDGE_SUMMARY__</div>
340
353
  </article>
341
354
  <article class="card">
342
355
  <h2>Stage Status</h2>
@@ -386,14 +399,21 @@
386
399
  </article>
387
400
  </section>
388
401
 
402
+ <section class="grid">
403
+ <article class="card">
404
+ <h2>Follow-ups</h2>
405
+ <div class="rendered-markdown">__FOLLOW_UPS__</div>
406
+ </article>
407
+ </section>
408
+
389
409
  <section class="grid two">
390
410
  <article class="card">
391
411
  <h2>Claude Report</h2>
392
- <div class="markdown">__CLAUDE_REPORT__</div>
412
+ <div class="rendered-markdown">__CLAUDE_REPORT__</div>
393
413
  </article>
394
414
  <article class="card">
395
415
  <h2>Codex Report</h2>
396
- <div class="markdown">__CODEX_REPORT__</div>
416
+ <div class="rendered-markdown">__CODEX_REPORT__</div>
397
417
  </article>
398
418
  </section>
399
419
  </main>
@@ -6,11 +6,6 @@ You are the {{REVIEWER_NAME}} reviewer inside Review Council.
6
6
 
7
7
  {{TARGET}}
8
8
 
9
- ## Review Identity
10
-
11
- - Review ID: `{{REVIEW_ID}}`
12
- - Run ID: `{{RUN_ID}}`
13
-
14
9
  ## Artifact Directory
15
10
 
16
11
  {{ARTIFACT_DIR}}
@@ -21,7 +16,8 @@ You are the {{REVIEWER_NAME}} reviewer inside Review Council.
21
16
  - Do not create authoritative files in `todos/`
22
17
  - Do not modify code unless explicitly asked elsewhere
23
18
  - Keep all raw artifacts inside `{{ARTIFACT_DIR}}`
24
- - Treat the explicit `review_id` as canonical. Every JSON artifact must include `review_id: "{{REVIEW_ID}}"` and `run_id: "{{RUN_ID}}"`.
19
+
20
+ {{SKILL_REFERENCES}}
25
21
 
26
22
  ## Required Outputs
27
23
 
@@ -38,8 +34,6 @@ You are the {{REVIEWER_NAME}} reviewer inside Review Council.
38
34
 
39
35
  ```json
40
36
  {
41
- "review_id": "{{REVIEW_ID}}",
42
- "run_id": "{{RUN_ID}}",
43
37
  "reviewer": "{{REVIEWER_NAME_LOWER}}",
44
38
  "status": "complete",
45
39
  "completed_at": "ISO-8601",
package/dist/schemas.js DELETED
@@ -1,67 +0,0 @@
1
- import { z } from "zod";
2
- const fileRef = z.object({
3
- path: z.string(),
4
- line: z.number().int().min(1).optional(),
5
- }).strict();
6
- const finding = z.object({
7
- id: z.string(),
8
- title: z.string(),
9
- severity: z.enum(["p1", "p2", "p3"]),
10
- confidence: z.enum(["high", "medium", "low"]),
11
- category: z.string(),
12
- description: z.string(),
13
- evidence: z.string(),
14
- recommended_fix: z.string(),
15
- files: z.array(fileRef),
16
- }).strict();
17
- export const reviewFindingsSchema = z.object({
18
- review_id: z.string(),
19
- run_id: z.string(),
20
- reviewer: z.enum(["claude", "codex", "other"]),
21
- target: z.string(),
22
- generated_at: z.iso.datetime(),
23
- summary: z.string(),
24
- findings: z.array(finding),
25
- }).strict();
26
- const verdictFinding = z.object({
27
- title: z.string(),
28
- status: z.enum(["confirmed", "contested", "rejected"]),
29
- reason: z.string(),
30
- reviewer_ids: z.array(z.string()).optional(),
31
- final_priority: z.enum(["p1", "p2", "p3"]).optional(),
32
- }).strict();
33
- const todoRecommendation = z.object({
34
- title: z.string(),
35
- priority: z.enum(["p1", "p2", "p3"]),
36
- reason: z.string(),
37
- }).strict();
38
- export const judgeVerdictSchema = z.object({
39
- review_id: z.string(),
40
- run_id: z.string(),
41
- target: z.string(),
42
- generated_at: z.iso.datetime(),
43
- overall_verdict: z.enum(["approve", "needs-fixes", "blocked", "incomplete"]),
44
- summary_markdown: z.string(),
45
- confirmed_findings: z.array(verdictFinding),
46
- contested_findings: z.array(verdictFinding),
47
- rejected_findings: z.array(verdictFinding),
48
- todo_recommendations: z.array(todoRecommendation),
49
- }).strict();
50
- export const reviewDoneSchema = z.object({
51
- review_id: z.string(),
52
- run_id: z.string(),
53
- reviewer: z.enum(["claude", "codex", "other"]),
54
- status: z.literal("complete"),
55
- completed_at: z.iso.datetime(),
56
- finding_count: z.number().int().min(0),
57
- }).strict();
58
- export const judgeDoneSchema = z.object({
59
- review_id: z.string(),
60
- run_id: z.string(),
61
- reviewer: z.literal("judge"),
62
- status: z.literal("complete"),
63
- completed_at: z.iso.datetime(),
64
- confirmed_count: z.number().int().min(0),
65
- contested_count: z.number().int().min(0),
66
- rejected_count: z.number().int().min(0),
67
- }).strict();