@llm4ts/flow 2.31.1 → 2.33.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.
Files changed (101) hide show
  1. package/dist/Approval.d.ts +1 -1
  2. package/dist/Approval.d.ts.map +1 -1
  3. package/dist/Artifacts.d.ts +2 -2
  4. package/dist/Artifacts.d.ts.map +1 -1
  5. package/dist/BenchReport.d.ts +2 -2
  6. package/dist/BenchReport.d.ts.map +1 -1
  7. package/dist/Chat.d.ts +5 -2
  8. package/dist/Chat.d.ts.map +1 -1
  9. package/dist/Chat.js +7 -4
  10. package/dist/Chat.js.map +1 -1
  11. package/dist/CostLedger.d.ts +2 -2
  12. package/dist/CostLedger.d.ts.map +1 -1
  13. package/dist/Diagnostics.d.ts +27 -0
  14. package/dist/Diagnostics.d.ts.map +1 -0
  15. package/dist/Diagnostics.js +84 -0
  16. package/dist/Diagnostics.js.map +1 -0
  17. package/dist/Equiv.d.ts +3 -3
  18. package/dist/Equiv.d.ts.map +1 -1
  19. package/dist/Flow.d.ts +16 -1
  20. package/dist/Flow.d.ts.map +1 -1
  21. package/dist/Flow.js +29 -3
  22. package/dist/Flow.js.map +1 -1
  23. package/dist/FlowError.d.ts +15 -2
  24. package/dist/FlowError.d.ts.map +1 -1
  25. package/dist/FlowError.js +15 -0
  26. package/dist/FlowError.js.map +1 -1
  27. package/dist/FlowEvents.d.ts +12 -1
  28. package/dist/FlowEvents.d.ts.map +1 -1
  29. package/dist/FlowEvents.js +11 -0
  30. package/dist/FlowEvents.js.map +1 -1
  31. package/dist/Gates.d.ts +1 -1
  32. package/dist/Gates.d.ts.map +1 -1
  33. package/dist/Judgment.d.ts +2 -2
  34. package/dist/Judgment.d.ts.map +1 -1
  35. package/dist/Landing.d.ts +1 -1
  36. package/dist/Landing.d.ts.map +1 -1
  37. package/dist/NodePreflight.d.ts +1 -1
  38. package/dist/NodePreflight.d.ts.map +1 -1
  39. package/dist/Pack.d.ts +25 -1
  40. package/dist/Pack.d.ts.map +1 -1
  41. package/dist/Pack.js +38 -2
  42. package/dist/Pack.js.map +1 -1
  43. package/dist/Persistence.d.ts +2 -2
  44. package/dist/Persistence.d.ts.map +1 -1
  45. package/dist/PlanExecution.d.ts +1 -1
  46. package/dist/PlanExecution.d.ts.map +1 -1
  47. package/dist/Port.d.ts +57 -0
  48. package/dist/Port.d.ts.map +1 -0
  49. package/dist/Port.js +134 -0
  50. package/dist/Port.js.map +1 -0
  51. package/dist/ProgramJudge.d.ts +1 -1
  52. package/dist/ProgramJudge.d.ts.map +1 -1
  53. package/dist/ProgramJudge.js +6 -3
  54. package/dist/ProgramJudge.js.map +1 -1
  55. package/dist/Replay.d.ts +2 -2
  56. package/dist/Replay.d.ts.map +1 -1
  57. package/dist/Retro.d.ts +51 -4
  58. package/dist/Retro.d.ts.map +1 -1
  59. package/dist/Retro.js +204 -12
  60. package/dist/Retro.js.map +1 -1
  61. package/dist/Review.d.ts +38 -6
  62. package/dist/Review.d.ts.map +1 -1
  63. package/dist/Review.js +147 -8
  64. package/dist/Review.js.map +1 -1
  65. package/dist/ReviewCache.d.ts +1 -1
  66. package/dist/ReviewCache.d.ts.map +1 -1
  67. package/dist/Reviewer.d.ts +2 -0
  68. package/dist/Reviewer.d.ts.map +1 -1
  69. package/dist/Reviewer.js +3 -1
  70. package/dist/Reviewer.js.map +1 -1
  71. package/dist/Roster.d.ts +1 -1
  72. package/dist/Roster.d.ts.map +1 -1
  73. package/dist/RosterSeats.d.ts +1 -1
  74. package/dist/RosterSeats.d.ts.map +1 -1
  75. package/dist/Stall.d.ts +29 -0
  76. package/dist/Stall.d.ts.map +1 -0
  77. package/dist/Stall.js +49 -0
  78. package/dist/Stall.js.map +1 -0
  79. package/dist/Stories.d.ts +8 -1
  80. package/dist/Stories.d.ts.map +1 -1
  81. package/dist/Stories.js +7 -1
  82. package/dist/Stories.js.map +1 -1
  83. package/dist/WorkQueue.d.ts +63 -0
  84. package/dist/WorkQueue.d.ts.map +1 -0
  85. package/dist/WorkQueue.js +117 -0
  86. package/dist/WorkQueue.js.map +1 -0
  87. package/package.json +6 -2
  88. package/src/Chat.ts +15 -7
  89. package/src/Diagnostics.ts +105 -0
  90. package/src/Flow.ts +48 -3
  91. package/src/FlowError.ts +16 -0
  92. package/src/FlowEvents.ts +14 -0
  93. package/src/Pack.ts +63 -1
  94. package/src/Port.ts +178 -0
  95. package/src/ProgramJudge.ts +3 -0
  96. package/src/Retro.ts +237 -5
  97. package/src/Review.ts +202 -8
  98. package/src/Reviewer.ts +3 -1
  99. package/src/Stall.ts +85 -0
  100. package/src/Stories.ts +14 -0
  101. package/src/WorkQueue.ts +194 -0
package/dist/Retro.js CHANGED
@@ -9,7 +9,7 @@
9
9
  * tasks appended to a story's plan, or a story entry edited in the epic
10
10
  * plan (which restarts that story). Nothing is applied unreviewed.
11
11
  */
12
- import { join } from "node:path";
12
+ import { join, resolve, sep } from "node:path";
13
13
  import * as Effect from "effect/Effect";
14
14
  import * as Option from "effect/Option";
15
15
  import * as Schema from "effect/Schema";
@@ -20,7 +20,7 @@ import { PersistenceError } from "./FlowError.js";
20
20
  import { FlowEvent, Info } from "./FlowEvents.js";
21
21
  import { Plan, Task, parsePlan } from "./Plan.js";
22
22
  import { loadVersioned, makePlanStore } from "./Persistence.js";
23
- import { ReviewResult } from "./Review.js";
23
+ import { ReviewResult, repoReviewRulesPath } from "./Review.js";
24
24
  import { EpicReport, EpicReportVersion, StoryState, StoryStateVersion, StoryVerdict } from "./Stories.js";
25
25
  import { Story, StoryPlan, makeStoryPlanStore, validateStoryPlan } from "./StoryPlan.js";
26
26
  /** Where a run's retro lives: `<state>/retro/<runId>.*`, indexed in `retro/retros.jsonl`. */
@@ -317,6 +317,7 @@ export const renderRetroDigest = (inputs) => {
317
317
  break;
318
318
  }
319
319
  }
320
+ const signatures = signaturesOf(inputs, trace.events);
320
321
  const header = [
321
322
  `# Retro digest — run ${inputs.runId}, epic ${inputs.plan.epicId}`,
322
323
  "",
@@ -329,6 +330,13 @@ export const renderRetroDigest = (inputs) => {
329
330
  ? "present, compacted (calls, tools and timings; content removed on land)"
330
331
  : "present"}`,
331
332
  ...(retries.length === 0 ? [] : [`- retries across the run: ${countBy(retries)}`]),
333
+ ...(signatures.length === 0
334
+ ? []
335
+ : [
336
+ "",
337
+ "## Signatures (patterns across stories: a rule, not a task)",
338
+ ...signatures.map((line) => `- ${line}`)
339
+ ]),
332
340
  ...(runLines.length === 0
333
341
  ? []
334
342
  : [
@@ -372,9 +380,29 @@ export const RetroStory = Schema.Struct({
372
380
  /** `refine`: the feedback a new round should take. */
373
381
  feedback: Schema.optionalKey(Schema.String)
374
382
  });
383
+ export const RuleEditOp = Schema.Literals(["append-rule", "replace-section"]);
384
+ /**
385
+ * An edit to the loop rather than to a story (ADR 0027 decision 12): a line
386
+ * appended to a rules file, or a section replaced. Structured, never a
387
+ * diff; the report renders it as one for the human.
388
+ */
389
+ export const RuleEdit = Schema.Struct({
390
+ /** Repo-relative: `.llm4ts/review-rules.md`, a pack's `reviewers/<name>.md`, `pack.md`, `lessons.md`, or a `patterns/pitfalls-*.md` card. */
391
+ target: Schema.String,
392
+ op: RuleEditOp,
393
+ /** `append-rule`: the rule, one line, without a leading dash. */
394
+ line: Schema.optionalKey(Schema.String),
395
+ /** `replace-section`: the `## heading` (without the hashes) and its new body. */
396
+ heading: Schema.optionalKey(Schema.String),
397
+ body: Schema.optionalKey(Schema.String),
398
+ /** The signature in the digest this answers. */
399
+ why: Schema.String
400
+ });
375
401
  export class RetroProposal extends Schema.Class("RetroProposal")({
376
402
  summary: Schema.String,
377
403
  stories: Schema.Array(RetroStory),
404
+ /** Edits to the rules the next run reviews with; absent in proposals written before ADR 0027. */
405
+ rules: Schema.optionalKey(Schema.Array(RuleEdit)),
378
406
  runAdvice: Schema.Array(Schema.Struct({ finding: Schema.String, evidence: Schema.String })),
379
407
  libraryAdvice: Schema.Array(Schema.Struct({ title: Schema.String, evidence: Schema.String, suggestion: Schema.String }))
380
408
  }) {
@@ -415,6 +443,21 @@ export const retroProposalJsonSchema = {
415
443
  required: ["id", "diagnosis", "kind"]
416
444
  }
417
445
  },
446
+ rules: {
447
+ type: "array",
448
+ items: {
449
+ type: "object",
450
+ properties: {
451
+ target: { type: "string" },
452
+ op: { type: "string", enum: ["append-rule", "replace-section"] },
453
+ line: { type: "string" },
454
+ heading: { type: "string" },
455
+ body: { type: "string" },
456
+ why: { type: "string" }
457
+ },
458
+ required: ["target", "op", "why"]
459
+ }
460
+ },
418
461
  runAdvice: {
419
462
  type: "array",
420
463
  items: {
@@ -458,6 +501,14 @@ export const retroPrompt = (digest, storiesWithPlan) => [
458
501
  " no edit covers). Give the `feedback` text a planner should take.",
459
502
  "- `none`: nothing to change (an outage, a dependency that will unblock it). Give `why`.",
460
503
  "",
504
+ "`rules`: when the digest's Signatures section shows a pattern that repeats across stories",
505
+ "(the same reviewer finding, gaming such as stubs or skipped tests, fabricated status),",
506
+ "propose an edit to the loop rather than a task: `append-rule` adds one line to a rules",
507
+ "file, `replace-section` rewrites one `## heading` of it. Targets are repo-relative:",
508
+ "`.llm4ts/review-rules.md` (every run reads it as a review lens), a pack's",
509
+ "`reviewers/<name>.md`, `pack.md`, `lessons.md`, or a `patterns/pitfalls-*.md` card. Name",
510
+ "the signature in `why`. Nothing here is applied unreviewed.",
511
+ "",
461
512
  "`runAdvice`: findings about the environment or configuration (a seat on an old CLI, Node",
462
513
  "mismatch, gates missing, transcripts off), each with its evidence line.",
463
514
  "`libraryAdvice`: only where the digest shows llm4ts itself — the flow, a seat's harness",
@@ -554,7 +605,81 @@ export const validateRetroProposal = (proposal, plan, storiesWithPlan) => {
554
605
  break;
555
606
  }
556
607
  }
557
- return { proposal: RetroProposal.make({ ...proposal, stories }), dropped };
608
+ const rules = [];
609
+ for (const edit of proposal.rules ?? []) {
610
+ if (!allowedRuleTarget(edit.target)) {
611
+ dropped.push(`rule edit: ${edit.target} is not a rules file a retro may edit`);
612
+ continue;
613
+ }
614
+ if (edit.op === "append-rule" && (edit.line ?? "").trim().length === 0) {
615
+ dropped.push(`rule edit: append-rule to ${edit.target} with no line`);
616
+ continue;
617
+ }
618
+ if (edit.op === "replace-section" &&
619
+ ((edit.heading ?? "").trim().length === 0 || (edit.body ?? "").trim().length === 0)) {
620
+ dropped.push(`rule edit: replace-section in ${edit.target} with no heading or body`);
621
+ continue;
622
+ }
623
+ rules.push(edit);
624
+ }
625
+ return {
626
+ proposal: RetroProposal.make({
627
+ ...proposal,
628
+ stories,
629
+ ...(rules.length === 0 ? {} : { rules })
630
+ }),
631
+ dropped
632
+ };
633
+ };
634
+ /** The files a retro may edit: the repository's review rules, a pack's lenses and rules, a pitfall card. */
635
+ export const allowedRuleTarget = (target) => !badPath(target) &&
636
+ (target === repoReviewRulesPath ||
637
+ /(?:^|\/)reviewers\/[^/]+\.md$/u.test(target) ||
638
+ /(?:^|\/)pack\.md$/u.test(target) ||
639
+ /(?:^|\/)lessons\.md$/u.test(target) ||
640
+ /(?:^|\/)patterns\/pitfalls-[^/]+\.md$/u.test(target));
641
+ const findingLine = /^- \[(Critical|Warning|Info)\] (.+?)(?: \(| — |: |$)/u;
642
+ /**
643
+ * Patterns across stories the digest flags for a rule (ADR 0027 decision 12):
644
+ * gaming (oracle-guard findings), the same reviewer finding in two or more
645
+ * stories, fabricated status in two or more stories.
646
+ */
647
+ export const signaturesOf = (inputs, events) => {
648
+ const gaming = [];
649
+ const titles = new Map();
650
+ for (const entry of inputs.stories) {
651
+ const text = entry.findings ?? "";
652
+ if (/^- \[(?:Critical|Warning)\] oracle: /mu.test(text)) {
653
+ gaming.push(entry.story.id);
654
+ }
655
+ for (const raw of text.split(/\r?\n/u)) {
656
+ const match = findingLine.exec(raw.trim());
657
+ const title = match?.[2]?.trim().toLowerCase();
658
+ if (title === undefined || title.startsWith("lint failed") || title.startsWith("oracle:")) {
659
+ continue;
660
+ }
661
+ titles.set(title, (titles.get(title) ?? new Set()).add(entry.story.id));
662
+ }
663
+ }
664
+ const fabricated = new Set();
665
+ for (const event of events) {
666
+ if (event._tag === "EvidenceChecked" && event.unverified > 0 && event.lane !== undefined) {
667
+ fabricated.add(event.lane);
668
+ }
669
+ }
670
+ const lines = [];
671
+ if (gaming.length > 0) {
672
+ lines.push(`gaming: the oracle guard caught deleted or skipped tests in ${gaming.length} stor${gaming.length === 1 ? "y" : "ies"} (${gaming.join(", ")})`);
673
+ }
674
+ for (const [title, stories] of titles) {
675
+ if (stories.size >= 2) {
676
+ lines.push(`the same reviewer finding in ${stories.size} stories (${[...stories].join(", ")}): "${title}"`);
677
+ }
678
+ }
679
+ if (fabricated.size >= 2) {
680
+ lines.push(`fabricated status in ${fabricated.size} stories (${[...fabricated].join(", ")}): the coder claimed commands that never ran`);
681
+ }
682
+ return lines;
558
683
  };
559
684
  // ---- Report ---------------------------------------------------------------------------------
560
685
  export const AppliedMarkerPrefix = "- [x] Applied";
@@ -617,6 +742,23 @@ export const renderRetroReport = (inputs) => {
617
742
  lines.push(`### ${entry.id}${story === undefined ? "" : ` — ${story.title}`}`, "", `**Diagnosis.** ${entry.diagnosis.trim()}`, "", ...fixLines(entry, story), "");
618
743
  }
619
744
  }
745
+ const rules = proposal.rules ?? [];
746
+ if (rules.length > 0) {
747
+ lines.push("## Rule edits", "");
748
+ for (const edit of rules) {
749
+ lines.push(`### ${edit.target}`, "", `**Why.** ${edit.why.trim()}`, "", "```diff");
750
+ if (edit.op === "append-rule") {
751
+ lines.push(`+ - ${(edit.line ?? "").trim()}`);
752
+ }
753
+ else {
754
+ lines.push(` ## ${(edit.heading ?? "").trim()}`, ...(edit.body ?? "")
755
+ .trim()
756
+ .split(/\r?\n/u)
757
+ .map((row) => `+ ${row}`));
758
+ }
759
+ lines.push("```", "");
760
+ }
761
+ }
620
762
  if (proposal.runAdvice.length > 0) {
621
763
  lines.push("## Run advice", "", ...proposal.runAdvice.map((item) => `- ${item.finding} — ${item.evidence}`), "");
622
764
  }
@@ -626,13 +768,15 @@ export const renderRetroReport = (inputs) => {
626
768
  const applies = proposal.stories.filter((entry) => entry.kind === "tasks" || entry.kind === "story");
627
769
  const refines = proposal.stories.filter((entry) => entry.kind === "refine");
628
770
  lines.push("## Approval", "");
629
- if (applies.length === 0) {
771
+ if (applies.length === 0 && rules.length === 0) {
630
772
  lines.push("Nothing here is applied by the next run; the report is for reading.", "");
631
773
  }
632
774
  else {
633
775
  lines.push("Ticking the box lets the next `epic-stories` run of this epic apply:", "", ...applies.map((entry) => entry.kind === "tasks"
634
776
  ? `- ${entry.id}: append ${entry.tasks?.length ?? 0} task(s) to its plan`
635
- : `- ${entry.id}: edit its entry and restart it from a fresh worktree`), "");
777
+ : `- ${entry.id}: edit its entry and restart it from a fresh worktree`), ...rules.map((edit) => edit.op === "append-rule"
778
+ ? `- ${edit.target}: append one rule`
779
+ : `- ${edit.target}: replace the "${(edit.heading ?? "").trim()}" section`), "");
636
780
  }
637
781
  if (refines.length > 0) {
638
782
  lines.push("A refine round is started by hand, with the feedback above:", "", ...refines.map(() => ` llm4ts run epic-stories --repo ${inputs.workDir} -- --refine --epic ${inputs.epicDir} "<feedback>"`), "");
@@ -677,13 +821,36 @@ export const writeRetro = Effect.fn("@llm4ts/flow/Retro.write")(function* (files
677
821
  return paths;
678
822
  });
679
823
  const retroTaskTitle = (runId, title) => `Retro ${runId}: ${title}`;
680
- /**
681
- * Applies every approved, not yet applied retro of this state folder, oldest
682
- * first: tasks go onto story plans, story edits onto the epic plan (saved,
683
- * so the executor's hash check restarts them). Says what it did on the
684
- * events. Nothing here fails the run: a retro that no longer fits is skipped.
685
- */
686
- export const applyApprovedRetros = Effect.fn("@llm4ts/flow/Retro.apply")(function* (files, stateDir, plan, events, now) {
824
+ /** `append-rule`: the file with the rule added once; `replace-section`: with the section rewritten or appended. */
825
+ export const applyRuleEdit = (existing, edit) => {
826
+ const current = existing ?? "";
827
+ if (edit.op === "append-rule") {
828
+ const line = `- ${(edit.line ?? "").trim()}`;
829
+ if (current.split(/\r?\n/u).some((row) => row.trim() === line)) {
830
+ return undefined;
831
+ }
832
+ const base = current.trim().length === 0 && edit.target === repoReviewRulesPath
833
+ ? "# Review rules\n\nRules every review round of this repository applies (ADR 0027).\n\n"
834
+ : current.length === 0 || current.endsWith("\n")
835
+ ? current
836
+ : `${current}\n`;
837
+ return `${base}${line}\n`;
838
+ }
839
+ const heading = `## ${(edit.heading ?? "").trim()}`;
840
+ const body = (edit.body ?? "").trim();
841
+ const sections = current.split(/^(?=## )/mu);
842
+ const index = sections.findIndex((section) => section.split(/\r?\n/u)[0]?.trim() === heading);
843
+ const replacement = `${heading}\n\n${body}\n`;
844
+ if (index < 0) {
845
+ const base = current.length === 0 || current.endsWith("\n") ? current : `${current}\n`;
846
+ return `${base}${current.trim().length === 0 ? "" : "\n"}${replacement}`;
847
+ }
848
+ if (sections[index]?.trim() === replacement.trim()) {
849
+ return undefined;
850
+ }
851
+ return [...sections.slice(0, index), replacement, ...sections.slice(index + 1)].join("");
852
+ };
853
+ export const applyApprovedRetros = Effect.fn("@llm4ts/flow/Retro.apply")(function* (files, stateDir, plan, events, now, options = {}) {
687
854
  const notes = [];
688
855
  const say = (message) => Effect.sync(() => {
689
856
  notes.push(message);
@@ -766,6 +933,31 @@ export const applyApprovedRetros = Effect.fn("@llm4ts/flow/Retro.apply")(functio
766
933
  break;
767
934
  }
768
935
  }
936
+ for (const edit of proposal.rules ?? []) {
937
+ if (options.rulesRoot === undefined) {
938
+ yield* say(`${runId}: rule edit to ${edit.target} needs the repository root; not applied`);
939
+ continue;
940
+ }
941
+ if (!allowedRuleTarget(edit.target)) {
942
+ yield* say(`${runId}: rule edit to ${edit.target} is not allowed; skipped`);
943
+ continue;
944
+ }
945
+ const root = resolve(options.rulesRoot);
946
+ const path = resolve(root, edit.target);
947
+ // The allowlist already rejects absolute paths and `..`; this keeps the
948
+ // resolved file under the repository root whatever the string looked like.
949
+ if (path !== root && !path.startsWith(`${root}${sep}`)) {
950
+ yield* say(`${runId}: rule edit to ${edit.target} resolves outside the repository; skipped`);
951
+ continue;
952
+ }
953
+ const existing = yield* files.read(path).pipe(Effect.catch(() => Effect.succeed(undefined)));
954
+ const next = applyRuleEdit(existing, edit);
955
+ if (next === undefined) {
956
+ continue;
957
+ }
958
+ yield* files.writeAtomic(path, next);
959
+ yield* say(`${runId}: ${edit.target} — ${edit.op === "append-rule" ? "one rule appended" : `section "${(edit.heading ?? "").trim()}" replaced`} (${edit.why.trim()})`);
960
+ }
769
961
  if (editedIds.length > 0) {
770
962
  const valid = yield* validateStoryPlan(edited).pipe(Effect.map((plan) => ({ plan, problem: undefined })), Effect.catch((error) => Effect.succeed({ plan: current, problem: error.violations.join("; ") })));
771
963
  if (valid.problem === undefined) {
package/dist/Retro.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Retro.js","sourceRoot":"","sources":["../src/Retro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Retro.js","sourceRoot":"","sources":["../src/Retro.ts"],"names":[],"mappings":"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"}
package/dist/Review.d.ts CHANGED
@@ -6,7 +6,7 @@ import type { LlmServiceShape } from "@llm4ts/core/LlmService";
6
6
  import type { JsonSchema } from "@llm4ts/core/Models";
7
7
  import type { ProcessExecutorShape } from "@llm4ts/core/ProcessExecutor";
8
8
  import type { Chat } from "./Chat.ts";
9
- import { FlowLlmError, ProcessError, type FlowError } from "./FlowError.ts";
9
+ import { FlowLlmError, ProcessError, Stalled, type FlowError } from "./FlowError.ts";
10
10
  import type { PlainFileStoreShape } from "./Persistence.ts";
11
11
  import { GateBaseline } from "./GateTriage.ts";
12
12
  import { type OracleRules } from "./OracleGuard.ts";
@@ -44,6 +44,16 @@ export declare class ReviewResult extends ReviewResult_base {
44
44
  get isClean(): boolean;
45
45
  }
46
46
  export declare const reviewJsonSchema: JsonSchema;
47
+ /**
48
+ * Rules with teeth (ADR 0027 decision 9), in front of every lens and the
49
+ * judge rubric: what no reviewer accepts whatever its concern. A pack's
50
+ * `## Review rules` extends it; `preamble: off` leaves it out.
51
+ */
52
+ export declare const reviewRulesPreamble: string;
53
+ /** The one lens whose job is the Bun port's reviewer brief: find why the diff does not work. */
54
+ export declare const adversarialReviewer: Reviewer;
55
+ /** The prompt a lens is asked with: the preamble (unless the lens opts out), then its own rules. */
56
+ export declare const lensPrompt: (lens: Reviewer) => string;
47
57
  export declare const correctnessReviewer: Reviewer;
48
58
  export declare const readabilityReviewer: Reviewer;
49
59
  export declare const testReviewer: Reviewer;
@@ -96,7 +106,7 @@ export interface OracleGateOptions {
96
106
  * Critical issues the fix round can undo. When a count is unknown on either
97
107
  * side the comparison is skipped and said once.
98
108
  */
99
- export declare const withOracle: (lint: ReviewResult, oracle: OracleGateOptions | undefined, events: FlowEventsShape, noted: Ref.Ref<boolean>) => Effect.Effect<ReviewResult, import("./FlowError.ts").PersistenceError | import("./FlowError.ts").PlanParseError | import("./FlowError.ts").UnsupportedSchemaVersion | import("./FlowError.ts").WorkspacePathError | import("./FlowError.ts").WorkspaceLimitError | import("./FlowError.ts").WorkspaceIoError | import("./FlowError.ts").FlowAborted | ProcessError | FlowLlmError | import("./FlowError.ts").FlowCapabilityDenied | import("./FlowError.ts").ColumnNotFound | import("./FlowError.ts").BudgetExceeded | import("./FlowError.ts").StoryPlanInvalid | import("./FlowError.ts").PerimeterViolation | import("./FlowError.ts").MissingDependency | import("./FlowError.ts").MergeConflict | import("./FlowError.ts").EpicCheckoutDirty | import("./FlowError.ts").RosterInvalid | import("./FlowError.ts").EpicIncomplete | import("./FlowError.ts").LandingFailed | import("./FlowError.ts").RefineRefused | import("./FlowError.ts").RosterExhausted | import("./FlowError.ts").StoryFailed | import("./FlowError.ts").DecisionsInvalid | import("./FlowError.ts").OpenPointsPending | import("./FlowError.ts").ExtractPackMissing | import("./FlowError.ts").EpicBriefInvalid | import("./FlowError.ts").EpicBriefNotApproved | import("./FlowError.ts").ContractConflict, never>;
109
+ export declare const withOracle: (lint: ReviewResult, oracle: OracleGateOptions | undefined, events: FlowEventsShape, noted: Ref.Ref<boolean>) => Effect.Effect<ReviewResult, import("./FlowError.ts").PersistenceError | import("./FlowError.ts").PlanParseError | import("./FlowError.ts").UnsupportedSchemaVersion | import("./FlowError.ts").WorkspacePathError | import("./FlowError.ts").WorkspaceLimitError | import("./FlowError.ts").WorkspaceIoError | import("./FlowError.ts").FlowAborted | ProcessError | FlowLlmError | import("./FlowError.ts").FlowCapabilityDenied | import("./FlowError.ts").ColumnNotFound | import("./FlowError.ts").BudgetExceeded | import("./FlowError.ts").StoryPlanInvalid | import("./FlowError.ts").PerimeterViolation | import("./FlowError.ts").MissingDependency | import("./FlowError.ts").MergeConflict | import("./FlowError.ts").EpicCheckoutDirty | import("./FlowError.ts").RosterInvalid | import("./FlowError.ts").EpicIncomplete | import("./FlowError.ts").LandingFailed | import("./FlowError.ts").RefineRefused | import("./FlowError.ts").RosterExhausted | Stalled | import("./FlowError.ts").StoryFailed | import("./FlowError.ts").DecisionsInvalid | import("./FlowError.ts").OpenPointsPending | import("./FlowError.ts").ExtractPackMissing | import("./FlowError.ts").EpicBriefInvalid | import("./FlowError.ts").EpicBriefNotApproved | import("./FlowError.ts").ContractConflict, never>;
100
110
  /**
101
111
  * Charges a lint result only with what the change caused (ADR 0027).
102
112
  * Inherited lines are published once per `reported` set as Info; with
@@ -104,7 +114,7 @@ export declare const withOracle: (lint: ReviewResult, oracle: OracleGateOptions
104
114
  * flaky: published, not charged. Without options or a baseline the result
105
115
  * is returned as is.
106
116
  */
107
- export declare const applyTriage: (lint: ReviewResult, triage: GateTriageOptions | undefined, events: FlowEventsShape, reported: Ref.Ref<ReadonlySet<string>>) => Effect.Effect<ReviewResult, import("./FlowError.ts").PersistenceError | import("./FlowError.ts").PlanParseError | import("./FlowError.ts").UnsupportedSchemaVersion | import("./FlowError.ts").WorkspacePathError | import("./FlowError.ts").WorkspaceLimitError | import("./FlowError.ts").WorkspaceIoError | import("./FlowError.ts").FlowAborted | ProcessError | FlowLlmError | import("./FlowError.ts").FlowCapabilityDenied | import("./FlowError.ts").ColumnNotFound | import("./FlowError.ts").BudgetExceeded | import("./FlowError.ts").StoryPlanInvalid | import("./FlowError.ts").PerimeterViolation | import("./FlowError.ts").MissingDependency | import("./FlowError.ts").MergeConflict | import("./FlowError.ts").EpicCheckoutDirty | import("./FlowError.ts").RosterInvalid | import("./FlowError.ts").EpicIncomplete | import("./FlowError.ts").LandingFailed | import("./FlowError.ts").RefineRefused | import("./FlowError.ts").RosterExhausted | import("./FlowError.ts").StoryFailed | import("./FlowError.ts").DecisionsInvalid | import("./FlowError.ts").OpenPointsPending | import("./FlowError.ts").ExtractPackMissing | import("./FlowError.ts").EpicBriefInvalid | import("./FlowError.ts").EpicBriefNotApproved | import("./FlowError.ts").ContractConflict, never>;
117
+ export declare const applyTriage: (lint: ReviewResult, triage: GateTriageOptions | undefined, events: FlowEventsShape, reported: Ref.Ref<ReadonlySet<string>>) => Effect.Effect<ReviewResult, import("./FlowError.ts").PersistenceError | import("./FlowError.ts").PlanParseError | import("./FlowError.ts").UnsupportedSchemaVersion | import("./FlowError.ts").WorkspacePathError | import("./FlowError.ts").WorkspaceLimitError | import("./FlowError.ts").WorkspaceIoError | import("./FlowError.ts").FlowAborted | ProcessError | FlowLlmError | import("./FlowError.ts").FlowCapabilityDenied | import("./FlowError.ts").ColumnNotFound | import("./FlowError.ts").BudgetExceeded | import("./FlowError.ts").StoryPlanInvalid | import("./FlowError.ts").PerimeterViolation | import("./FlowError.ts").MissingDependency | import("./FlowError.ts").MergeConflict | import("./FlowError.ts").EpicCheckoutDirty | import("./FlowError.ts").RosterInvalid | import("./FlowError.ts").EpicIncomplete | import("./FlowError.ts").LandingFailed | import("./FlowError.ts").RefineRefused | import("./FlowError.ts").RosterExhausted | Stalled | import("./FlowError.ts").StoryFailed | import("./FlowError.ts").DecisionsInvalid | import("./FlowError.ts").OpenPointsPending | import("./FlowError.ts").ExtractPackMissing | import("./FlowError.ts").EpicBriefInvalid | import("./FlowError.ts").EpicBriefNotApproved | import("./FlowError.ts").ContractConflict, never>;
108
118
  export declare const mergeReviewResults: (results: ReadonlyArray<ReviewResult>) => ReviewResult;
109
119
  export interface LintCommandOptions {
110
120
  /** Kill the gate after this long; the issue is then `gateClass: "hang"`. Default: never. */
@@ -115,7 +125,23 @@ export interface LintCommandOptions {
115
125
  readonly path: string;
116
126
  };
117
127
  }
118
- export declare const lintCommand: (process: ProcessExecutorShape, events: FlowEventsShape, command: readonly string[], workDir: string, options?: LintCommandOptions | undefined) => Effect.Effect<ReviewResult, import("./FlowError.ts").PersistenceError | import("./FlowError.ts").PlanParseError | import("./FlowError.ts").UnsupportedSchemaVersion | import("./FlowError.ts").WorkspacePathError | import("./FlowError.ts").WorkspaceLimitError | import("./FlowError.ts").WorkspaceIoError | import("./FlowError.ts").FlowAborted | ProcessError | FlowLlmError | import("./FlowError.ts").FlowCapabilityDenied | import("./FlowError.ts").ColumnNotFound | import("./FlowError.ts").BudgetExceeded | import("./FlowError.ts").StoryPlanInvalid | import("./FlowError.ts").PerimeterViolation | import("./FlowError.ts").MissingDependency | import("./FlowError.ts").MergeConflict | import("./FlowError.ts").EpicCheckoutDirty | import("./FlowError.ts").RosterInvalid | import("./FlowError.ts").EpicIncomplete | import("./FlowError.ts").LandingFailed | import("./FlowError.ts").RefineRefused | import("./FlowError.ts").RosterExhausted | import("./FlowError.ts").StoryFailed | import("./FlowError.ts").DecisionsInvalid | import("./FlowError.ts").OpenPointsPending | import("./FlowError.ts").ExtractPackMissing | import("./FlowError.ts").EpicBriefInvalid | import("./FlowError.ts").EpicBriefNotApproved | import("./FlowError.ts").ContractConflict, never>;
128
+ export declare const lintCommand: (process: ProcessExecutorShape, events: FlowEventsShape, command: readonly string[], workDir: string, options?: LintCommandOptions | undefined) => Effect.Effect<ReviewResult, import("./FlowError.ts").PersistenceError | import("./FlowError.ts").PlanParseError | import("./FlowError.ts").UnsupportedSchemaVersion | import("./FlowError.ts").WorkspacePathError | import("./FlowError.ts").WorkspaceLimitError | import("./FlowError.ts").WorkspaceIoError | import("./FlowError.ts").FlowAborted | ProcessError | FlowLlmError | import("./FlowError.ts").FlowCapabilityDenied | import("./FlowError.ts").ColumnNotFound | import("./FlowError.ts").BudgetExceeded | import("./FlowError.ts").StoryPlanInvalid | import("./FlowError.ts").PerimeterViolation | import("./FlowError.ts").MissingDependency | import("./FlowError.ts").MergeConflict | import("./FlowError.ts").EpicCheckoutDirty | import("./FlowError.ts").RosterInvalid | import("./FlowError.ts").EpicIncomplete | import("./FlowError.ts").LandingFailed | import("./FlowError.ts").RefineRefused | import("./FlowError.ts").RosterExhausted | Stalled | import("./FlowError.ts").StoryFailed | import("./FlowError.ts").DecisionsInvalid | import("./FlowError.ts").OpenPointsPending | import("./FlowError.ts").ExtractPackMissing | import("./FlowError.ts").EpicBriefInvalid | import("./FlowError.ts").EpicBriefNotApproved | import("./FlowError.ts").ContractConflict, never>;
129
+ /**
130
+ * Independent votes of one lens merged (ADR 0027 decision 7): any Critical
131
+ * blocks; Warnings are unioned, one per place; an Info survives only when
132
+ * more than one vote raised it.
133
+ */
134
+ export declare const mergeVotes: (votes: ReadonlyArray<ReviewResult>) => ReviewResult;
135
+ /**
136
+ * Findings that cannot be placed move down (ADR 0027 decision 10): a Critical
137
+ * without a file becomes a Warning, a finding whose file is not in the diff
138
+ * becomes an Info. Nothing is dropped; each move is published. With no
139
+ * changed-file list the result is returned as is.
140
+ */
141
+ export declare const demoteUnplaced: (lens: Reviewer, result: ReviewResult, changed: readonly string[], events: FlowEventsShape) => Effect.Effect<ReviewResult, never, never>;
142
+ /** The repository's own review rules file, loaded as one extra lens; `undefined` when absent. */
143
+ export declare const repoReviewRulesPath = ".llm4ts/review-rules.md";
144
+ export declare const loadRepoReviewRules: (files: PlainFileStoreShape, workDir: string) => Effect.Effect<Reviewer | undefined, FlowError>;
119
145
  export interface ReviewAndFixOptions {
120
146
  readonly reviewers: ReadonlyArray<Reviewer>;
121
147
  readonly reviewerService: LlmServiceShape;
@@ -149,6 +175,12 @@ export interface ReviewAndFixOptions {
149
175
  readonly fix?: FixPromptOptions;
150
176
  /** Fail the round when the change deletes or skips tests (ADR 0027 decision 4). */
151
177
  readonly oracle?: OracleGateOptions;
178
+ /** Independent votes of the adversarial lens per round (ADR 0027 decision 7). Default 1. */
179
+ readonly votes?: number;
180
+ /** Applies a fix prompt somewhere other than the implementer's chat (a separate fixer). */
181
+ readonly fixWith?: (prompt: string) => Effect.Effect<string, FlowError>;
182
+ /** End the task, typed `Stalled`, when a fix round leaves the diff byte-identical (ADR 0027 decision 11). */
183
+ readonly stallOnIdenticalDiff?: boolean;
152
184
  }
153
185
  export interface ReviewCacheLocation {
154
186
  readonly files: PlainFileStoreShape;
@@ -178,8 +210,8 @@ export interface ReviewPrescreenResult {
178
210
  * answered with `act` certainty that the diff has nothing for it; doubt,
179
211
  * failure, and escalation all run the lens. Never skip on doubt.
180
212
  */
181
- export declare const prescreenReviewers: (prescreen: ReviewPrescreen, events: FlowEventsShape, diff: string, lenses: readonly Reviewer[]) => Effect.Effect<ReviewPrescreenResult, import("./FlowError.ts").PersistenceError | import("./FlowError.ts").PlanParseError | import("./FlowError.ts").UnsupportedSchemaVersion | import("./FlowError.ts").WorkspacePathError | import("./FlowError.ts").WorkspaceLimitError | import("./FlowError.ts").WorkspaceIoError | import("./FlowError.ts").FlowAborted | ProcessError | FlowLlmError | import("./FlowError.ts").FlowCapabilityDenied | import("./FlowError.ts").ColumnNotFound | import("./FlowError.ts").BudgetExceeded | import("./FlowError.ts").StoryPlanInvalid | import("./FlowError.ts").PerimeterViolation | import("./FlowError.ts").MissingDependency | import("./FlowError.ts").MergeConflict | import("./FlowError.ts").EpicCheckoutDirty | import("./FlowError.ts").RosterInvalid | import("./FlowError.ts").EpicIncomplete | import("./FlowError.ts").LandingFailed | import("./FlowError.ts").RefineRefused | import("./FlowError.ts").RosterExhausted | import("./FlowError.ts").StoryFailed | import("./FlowError.ts").DecisionsInvalid | import("./FlowError.ts").OpenPointsPending | import("./FlowError.ts").ExtractPackMissing | import("./FlowError.ts").EpicBriefInvalid | import("./FlowError.ts").EpicBriefNotApproved | import("./FlowError.ts").ContractConflict, never>;
213
+ export declare const prescreenReviewers: (prescreen: ReviewPrescreen, events: FlowEventsShape, diff: string, lenses: readonly Reviewer[]) => Effect.Effect<ReviewPrescreenResult, import("./FlowError.ts").PersistenceError | import("./FlowError.ts").PlanParseError | import("./FlowError.ts").UnsupportedSchemaVersion | import("./FlowError.ts").WorkspacePathError | import("./FlowError.ts").WorkspaceLimitError | import("./FlowError.ts").WorkspaceIoError | import("./FlowError.ts").FlowAborted | ProcessError | FlowLlmError | import("./FlowError.ts").FlowCapabilityDenied | import("./FlowError.ts").ColumnNotFound | import("./FlowError.ts").BudgetExceeded | import("./FlowError.ts").StoryPlanInvalid | import("./FlowError.ts").PerimeterViolation | import("./FlowError.ts").MissingDependency | import("./FlowError.ts").MergeConflict | import("./FlowError.ts").EpicCheckoutDirty | import("./FlowError.ts").RosterInvalid | import("./FlowError.ts").EpicIncomplete | import("./FlowError.ts").LandingFailed | import("./FlowError.ts").RefineRefused | import("./FlowError.ts").RosterExhausted | Stalled | import("./FlowError.ts").StoryFailed | import("./FlowError.ts").DecisionsInvalid | import("./FlowError.ts").OpenPointsPending | import("./FlowError.ts").ExtractPackMissing | import("./FlowError.ts").EpicBriefInvalid | import("./FlowError.ts").EpicBriefNotApproved | import("./FlowError.ts").ContractConflict, never>;
182
214
  export declare const reviewWith: (service: LlmServiceShape, events: FlowEventsShape, lens: Reviewer, taskTitle: string, diff: string) => Effect.Effect<ReviewResult, FlowLlmError>;
183
- export declare const reviewAndFixLoop: (options: ReviewAndFixOptions) => Effect.Effect<ReviewResult, import("./FlowError.ts").PersistenceError | import("./FlowError.ts").PlanParseError | import("./FlowError.ts").UnsupportedSchemaVersion | import("./FlowError.ts").WorkspacePathError | import("./FlowError.ts").WorkspaceLimitError | import("./FlowError.ts").WorkspaceIoError | import("./FlowError.ts").FlowAborted | ProcessError | FlowLlmError | import("./FlowError.ts").FlowCapabilityDenied | import("./FlowError.ts").ColumnNotFound | import("./FlowError.ts").BudgetExceeded | import("./FlowError.ts").StoryPlanInvalid | import("./FlowError.ts").PerimeterViolation | import("./FlowError.ts").MissingDependency | import("./FlowError.ts").MergeConflict | import("./FlowError.ts").EpicCheckoutDirty | import("./FlowError.ts").RosterInvalid | import("./FlowError.ts").EpicIncomplete | import("./FlowError.ts").LandingFailed | import("./FlowError.ts").RefineRefused | import("./FlowError.ts").RosterExhausted | import("./FlowError.ts").StoryFailed | import("./FlowError.ts").DecisionsInvalid | import("./FlowError.ts").OpenPointsPending | import("./FlowError.ts").ExtractPackMissing | import("./FlowError.ts").EpicBriefInvalid | import("./FlowError.ts").EpicBriefNotApproved | import("./FlowError.ts").ContractConflict, never>;
215
+ export declare const reviewAndFixLoop: (options: ReviewAndFixOptions) => Effect.Effect<ReviewResult, import("./FlowError.ts").PersistenceError | import("./FlowError.ts").PlanParseError | import("./FlowError.ts").UnsupportedSchemaVersion | import("./FlowError.ts").WorkspacePathError | import("./FlowError.ts").WorkspaceLimitError | import("./FlowError.ts").WorkspaceIoError | import("./FlowError.ts").FlowAborted | ProcessError | FlowLlmError | import("./FlowError.ts").FlowCapabilityDenied | import("./FlowError.ts").ColumnNotFound | import("./FlowError.ts").BudgetExceeded | import("./FlowError.ts").StoryPlanInvalid | import("./FlowError.ts").PerimeterViolation | import("./FlowError.ts").MissingDependency | import("./FlowError.ts").MergeConflict | import("./FlowError.ts").EpicCheckoutDirty | import("./FlowError.ts").RosterInvalid | import("./FlowError.ts").EpicIncomplete | import("./FlowError.ts").LandingFailed | import("./FlowError.ts").RefineRefused | import("./FlowError.ts").RosterExhausted | Stalled | import("./FlowError.ts").StoryFailed | import("./FlowError.ts").DecisionsInvalid | import("./FlowError.ts").OpenPointsPending | import("./FlowError.ts").ExtractPackMissing | import("./FlowError.ts").EpicBriefInvalid | import("./FlowError.ts").EpicBriefNotApproved | import("./FlowError.ts").ContractConflict, never>;
184
216
  export {};
185
217
  //# sourceMappingURL=Review.d.ts.map