@llm4ts/flow 2.45.0 → 2.46.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 (51) hide show
  1. package/dist/Approval.d.ts +2 -0
  2. package/dist/Approval.d.ts.map +1 -1
  3. package/dist/Approval.js +4 -0
  4. package/dist/Approval.js.map +1 -1
  5. package/dist/AutonomyContract.d.ts +2 -2
  6. package/dist/AutonomyContract.d.ts.map +1 -1
  7. package/dist/AutonomyContract.js +9 -3
  8. package/dist/AutonomyContract.js.map +1 -1
  9. package/dist/CostReport.d.ts +27 -0
  10. package/dist/CostReport.d.ts.map +1 -1
  11. package/dist/CostReport.js +103 -2
  12. package/dist/CostReport.js.map +1 -1
  13. package/dist/FlowRecorder.d.ts +8 -0
  14. package/dist/FlowRecorder.d.ts.map +1 -1
  15. package/dist/FlowRecorder.js +10 -3
  16. package/dist/FlowRecorder.js.map +1 -1
  17. package/dist/GateTriage.d.ts +26 -0
  18. package/dist/GateTriage.d.ts.map +1 -1
  19. package/dist/GateTriage.js +98 -5
  20. package/dist/GateTriage.js.map +1 -1
  21. package/dist/GitTool.d.ts +9 -5
  22. package/dist/GitTool.d.ts.map +1 -1
  23. package/dist/GitTool.js +44 -18
  24. package/dist/GitTool.js.map +1 -1
  25. package/dist/OperatorSchemas.d.ts +256 -0
  26. package/dist/OperatorSchemas.d.ts.map +1 -0
  27. package/dist/OperatorSchemas.js +204 -0
  28. package/dist/OperatorSchemas.js.map +1 -0
  29. package/dist/Retro.d.ts +2 -0
  30. package/dist/Retro.d.ts.map +1 -1
  31. package/dist/Retro.js +6 -0
  32. package/dist/Retro.js.map +1 -1
  33. package/dist/Review.d.ts +2 -0
  34. package/dist/Review.d.ts.map +1 -1
  35. package/dist/Review.js +17 -9
  36. package/dist/Review.js.map +1 -1
  37. package/dist/RunState.d.ts +26 -0
  38. package/dist/RunState.d.ts.map +1 -0
  39. package/dist/RunState.js +59 -0
  40. package/dist/RunState.js.map +1 -0
  41. package/package.json +4 -2
  42. package/src/Approval.ts +6 -0
  43. package/src/AutonomyContract.ts +10 -3
  44. package/src/CostReport.ts +152 -2
  45. package/src/FlowRecorder.ts +19 -3
  46. package/src/GateTriage.ts +113 -7
  47. package/src/GitTool.ts +46 -18
  48. package/src/OperatorSchemas.ts +221 -0
  49. package/src/Retro.ts +11 -0
  50. package/src/Review.ts +25 -11
  51. package/src/RunState.ts +72 -0
@@ -21,6 +21,8 @@ export declare class MissingModernizeArtifact extends MissingModernizeArtifact_b
21
21
  }
22
22
  export declare const ApprovedMarker = "- [x] Approved";
23
23
  export declare const DraftApprovalMarker = "- [ ] Approved";
24
+ /** `- [ ] Approved` → `- [x] Approved` in a markdown document; unchanged when already approved. */
25
+ export declare const approveMarkdown: (markdown: string) => string;
24
26
  export declare const withDraftApproval: (markdown: string) => string;
25
27
  export declare const requireApproval: (files: PlainFileStoreShape, path: string) => Effect.Effect<void, 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 | import("./FlowError.ts").ProcessError | import("./FlowError.ts").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").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 | ApprovalRequired | MissingModernizeArtifact, never>;
26
28
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Approval.d.ts","sourceRoot":"","sources":["../src/Approval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;;;;;AAE3D;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,qBAGpC;IACA,IAAI,OAAO,IAAI,MAAM,CAEpB;CACF;;;;;AAED,qBAAa,wBAAyB,SAAQ,6BAM7C;CAAG;AAEJ,eAAO,MAAM,cAAc,mBAAmB,CAAA;AAC9C,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AAEnD,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,KAAG,MACA,CAAA;AAErD,eAAO,MAAM,eAAe,24CAc1B,CAAA"}
1
+ {"version":3,"file":"Approval.d.ts","sourceRoot":"","sources":["../src/Approval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;;;;;AAE3D;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,qBAGpC;IACA,IAAI,OAAO,IAAI,MAAM,CAEpB;CACF;;;;;AAED,qBAAa,wBAAyB,SAAQ,6BAM7C;CAAG;AAEJ,eAAO,MAAM,cAAc,mBAAmB,CAAA;AAC9C,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AAEnD,mGAAmG;AACnG,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,KAAG,MAGQ,CAAA;AAE3D,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,KAAG,MACA,CAAA;AAErD,eAAO,MAAM,eAAe,24CAc1B,CAAA"}
package/dist/Approval.js CHANGED
@@ -20,6 +20,10 @@ export class MissingModernizeArtifact extends Schema.TaggedError()("MissingModer
20
20
  }
21
21
  export const ApprovedMarker = "- [x] Approved";
22
22
  export const DraftApprovalMarker = "- [ ] Approved";
23
+ /** `- [ ] Approved` → `- [x] Approved` in a markdown document; unchanged when already approved. */
24
+ export const approveMarkdown = (markdown) => markdown.includes(ApprovedMarker)
25
+ ? markdown
26
+ : markdown.replace(DraftApprovalMarker, ApprovedMarker);
23
27
  export const withDraftApproval = (markdown) => `${markdown.trimEnd()}\n\n${DraftApprovalMarker}\n`;
24
28
  export const requireApproval = Effect.fn("@llm4ts/flow/Approval.requireApproval")(function* (files, path) {
25
29
  const contents = yield* files.read(path);
@@ -1 +1 @@
1
- {"version":3,"file":"Approval.js","sourceRoot":"","sources":["../src/Approval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC;IACA,IAAI,OAAO;QACT,OAAO,wBAAwB,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,MAAM,GAAG,CAAA;IAClE,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,MAAM,CAAC,WAAW,EAA4B,CAC1F,0BAA0B,EAC1B;IACE,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAA;AAC9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAA;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAU,EAAE,CAC5D,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,mBAAmB,IAAI,CAAA;AAErD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,uCAAuC,CAAC,CAAC,QAAQ,CAAC,EACzF,KAA0B,EAC1B,IAAY;IAEZ,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC;YAC1C,IAAI;YACJ,OAAO,EAAE,qCAAqC,IAAI,EAAE;SACrD,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"Approval.js","sourceRoot":"","sources":["../src/Approval.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,MAAM,CAAC,WAAW,EAAoB,CAAC,kBAAkB,EAAE;IAC/F,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC;IACA,IAAI,OAAO;QACT,OAAO,wBAAwB,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,MAAM,GAAG,CAAA;IAClE,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,MAAM,CAAC,WAAW,EAA4B,CAC1F,0BAA0B,EAC1B;IACE,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM;CACvB,CACF;CAAG;AAEJ,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAA;AAC9C,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAA;AAEnD,mGAAmG;AACnG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAU,EAAE,CAC1D,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC/B,CAAC,CAAC,QAAQ;IACV,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAA;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAU,EAAE,CAC5D,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,mBAAmB,IAAI,CAAA;AAErD,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,uCAAuC,CAAC,CAAC,QAAQ,CAAC,EACzF,KAA0B,EAC1B,IAAY;IAEZ,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC;YAC1C,IAAI;YACJ,OAAO,EAAE,qCAAqC,IAAI,EAAE;SACrD,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;IACvE,CAAC;AACH,CAAC,CAAC,CAAA"}
@@ -3,8 +3,8 @@ export declare const ContractProfile: Schema.Literals<readonly ["full", "minimal
3
3
  export type ContractProfile = typeof ContractProfile.Type;
4
4
  /**
5
5
  * The contract for a profile. `full` is the default; `minimal` keeps scope,
6
- * the workspace rule and the no-gaming rule for a model that over-verifies
7
- * under the full text;
6
+ * the workspace rule, the run-state rule and the no-gaming rule for a model
7
+ * that over-verifies under the full text;
8
8
  * `off` is the empty string, for a flow that writes its own rules.
9
9
  */
10
10
  export declare const autonomyContract: (profile?: ContractProfile) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"AutonomyContract.d.ts","sourceRoot":"","sources":["../src/AutonomyContract.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,eAAO,MAAM,eAAe,sDAA8C,CAAA;AAC1E,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAmCzD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAS,eAAwB,KAAG,MAgBpE,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,YAAY,GACvB,QAAQ,MAAM,GAAG,SAAS,EAC1B,UAAS,eAAwB,KAChC,MAKF,CAAA"}
1
+ {"version":3,"file":"AutonomyContract.d.ts","sourceRoot":"","sources":["../src/AutonomyContract.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,eAAO,MAAM,eAAe,sDAA8C,CAAA;AAC1E,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;AAyCzD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAS,eAAwB,KAAG,MAiBpE,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,YAAY,GACvB,QAAQ,MAAM,GAAG,SAAS,EAC1B,UAAS,eAAwB,KAChC,MAKF,CAAA"}
@@ -12,6 +12,11 @@ const workspace = [
12
12
  "task: do not look for its installation, source code, processes or environment, and read its",
13
13
  "files only where your instructions name them. What it expects of you is in your instructions."
14
14
  ];
15
+ const runState = [
16
+ "The directory `.llm4ts/` at the root of your working directory is the run's own state — traces,",
17
+ "plans, transcripts and costs that belong to the tool running you. Never read, modify, delete or",
18
+ "commit anything under it; the one exception is a path there that your instructions name as yours."
19
+ ];
15
20
  const noGaming = [
16
21
  "Never edit, skip, delete or weaken a test to make a gate pass. A test you believe is wrong is a",
17
22
  "finding to report, not a line to change; a pre-existing bug outside your task is a finding, not",
@@ -32,8 +37,8 @@ const evidence = [
32
37
  ];
33
38
  /**
34
39
  * The contract for a profile. `full` is the default; `minimal` keeps scope,
35
- * the workspace rule and the no-gaming rule for a model that over-verifies
36
- * under the full text;
40
+ * the workspace rule, the run-state rule and the no-gaming rule for a model
41
+ * that over-verifies under the full text;
37
42
  * `off` is the empty string, for a flow that writes its own rules.
38
43
  */
39
44
  export const autonomyContract = (profile = "full") => {
@@ -41,12 +46,13 @@ export const autonomyContract = (profile = "full") => {
41
46
  case "off":
42
47
  return "";
43
48
  case "minimal":
44
- return [...scope, ...workspace, ...noGaming].join("\n");
49
+ return [...scope, ...workspace, ...runState, ...noGaming].join("\n");
45
50
  case "full":
46
51
  return [
47
52
  ...unattended,
48
53
  ...scope,
49
54
  ...workspace,
55
+ ...runState,
50
56
  ...minimalChange,
51
57
  ...noGaming,
52
58
  ...evidence
@@ -1 +1 @@
1
- {"version":3,"file":"AutonomyContract.js","sourceRoot":"","sources":["../src/AutonomyContract.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,0EAA0E;AAC1E,yEAAyE;AACzE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAA;AAG1E,MAAM,KAAK,GAAG;IACZ,8FAA8F;IAC9F,sFAAsF;CACvF,CAAA;AAED,MAAM,SAAS,GAAG;IAChB,8FAA8F;IAC9F,6FAA6F;IAC7F,+FAA+F;CAChG,CAAA;AAED,MAAM,QAAQ,GAAG;IACf,iGAAiG;IACjG,iGAAiG;IACjG,0FAA0F;CAC3F,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,2FAA2F;IAC3F,4FAA4F;IAC5F,oFAAoF;CACrF,CAAA;AAED,MAAM,aAAa,GAAG;IACpB,4FAA4F;IAC5F,oEAAoE;CACrE,CAAA;AAED,MAAM,QAAQ,GAAG;IACf,8FAA8F;IAC9F,sFAAsF;CACvF,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAA2B,MAAM,EAAU,EAAE;IAC5E,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,KAAK;YACR,OAAO,EAAE,CAAA;QACX,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzD,KAAK,MAAM;YACT,OAAO;gBACL,GAAG,UAAU;gBACb,GAAG,KAAK;gBACR,GAAG,SAAS;gBACZ,GAAG,aAAa;gBAChB,GAAG,QAAQ;gBACX,GAAG,QAAQ;aACZ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;AACH,CAAC,CAAA;AAED,yFAAyF;AACzF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAA0B,EAC1B,UAA2B,MAAM,EACzB,EAAE;IACV,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IACtD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACtC,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,OAAO,IAAI,EAAE,CAAA;AAChE,CAAC,CAAA"}
1
+ {"version":3,"file":"AutonomyContract.js","sourceRoot":"","sources":["../src/AutonomyContract.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,0EAA0E;AAC1E,yEAAyE;AACzE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAA;AAG1E,MAAM,KAAK,GAAG;IACZ,8FAA8F;IAC9F,sFAAsF;CACvF,CAAA;AAED,MAAM,SAAS,GAAG;IAChB,8FAA8F;IAC9F,6FAA6F;IAC7F,+FAA+F;CAChG,CAAA;AAED,MAAM,QAAQ,GAAG;IACf,iGAAiG;IACjG,iGAAiG;IACjG,mGAAmG;CACpG,CAAA;AAED,MAAM,QAAQ,GAAG;IACf,iGAAiG;IACjG,iGAAiG;IACjG,0FAA0F;CAC3F,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,2FAA2F;IAC3F,4FAA4F;IAC5F,oFAAoF;CACrF,CAAA;AAED,MAAM,aAAa,GAAG;IACpB,4FAA4F;IAC5F,oEAAoE;CACrE,CAAA;AAED,MAAM,QAAQ,GAAG;IACf,8FAA8F;IAC9F,sFAAsF;CACvF,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAA2B,MAAM,EAAU,EAAE;IAC5E,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,KAAK;YACR,OAAO,EAAE,CAAA;QACX,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtE,KAAK,MAAM;YACT,OAAO;gBACL,GAAG,UAAU;gBACb,GAAG,KAAK;gBACR,GAAG,SAAS;gBACZ,GAAG,QAAQ;gBACX,GAAG,aAAa;gBAChB,GAAG,QAAQ;gBACX,GAAG,QAAQ;aACZ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;AACH,CAAC,CAAA;AAED,yFAAyF;AACzF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAA0B,EAC1B,UAA2B,MAAM,EACzB,EAAE;IACV,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC1C,MAAM,IAAI,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IACtD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACtC,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,OAAO,IAAI,EAAE,CAAA;AAChE,CAAC,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import * as DateTime from "effect/DateTime";
2
2
  import * as Schema from "effect/Schema";
3
+ import type { CostRecord } from "./CostLedger.ts";
3
4
  import type { TraceLine } from "./FlowRecorder.ts";
4
5
  /**
5
6
  * Cross-run usage report for budgeting.
@@ -10,8 +11,19 @@ import type { TraceLine } from "./FlowRecorder.ts";
10
11
  * backend's own token counts) and estimated usage (`EstimatedUsage`'s
11
12
  * character-count fallback, labelled `estimated:<model>`) are kept in separate
12
13
  * columns so a budget never mistakes one for the other.
14
+ *
15
+ * The trace is the source for timing, the cost ledger (`CostLedger`) for the
16
+ * run's total: both come from the same `TokensUsed` events, but the trace is
17
+ * a file in the target's working tree that a coder's shell, a `git clean`
18
+ * or a recorder that lost its disk can shorten, while the ledger line is
19
+ * written once from the run's own cost tracker, the same numbers the run
20
+ * printed. `reconcileWithLedger` tops a short trace up from its ledger line,
21
+ * so `llm4ts costs` and the run's summary agree.
13
22
  */
14
23
  export declare const UnknownModel = "(unknown)";
24
+ /** Where a sample's numbers came from: a trace line, or the run's ledger line filling a short trace. */
25
+ export declare const UsageSource: Schema.Literals<readonly ["trace", "ledger"]>;
26
+ export type UsageSource = typeof UsageSource.Type;
15
27
  declare const UsageSample_base: Schema.Class<UsageSample, Schema.Struct<{
16
28
  /** Epoch milliseconds of the token report. */
17
29
  readonly at: Schema.Number;
@@ -27,6 +39,7 @@ declare const UsageSample_base: Schema.Class<UsageSample, Schema.Struct<{
27
39
  /** The lane's executor and clone, when the usage came from a roster lane (ADR 0033). */
28
40
  readonly executor: Schema.optionalKey<Schema.String>;
29
41
  readonly clone: Schema.optionalKey<Schema.Int>;
42
+ readonly source: Schema.withDecodingDefaultKey<Schema.withConstructorDefault<Schema.Literals<readonly ["trace", "ledger"]>>, never>;
30
43
  }>, {}>;
31
44
  export declare class UsageSample extends UsageSample_base {
32
45
  }
@@ -121,6 +134,20 @@ export declare class CostReport extends CostReport_base {
121
134
  export declare const CurrentCostReportSchema = 3;
122
135
  /** The token reports of one trace, in trace order; malformed lines are skipped. */
123
136
  export declare const usageSamplesFromTrace: (lines: ReadonlyArray<TraceLine>) => ReadonlyArray<UsageSample>;
137
+ export interface LedgerReconciliation {
138
+ readonly samples: ReadonlyArray<UsageSample>;
139
+ /** Runs whose ledger line carried usage the trace did not: filled, in ledger order. */
140
+ readonly filledRuns: ReadonlyArray<string>;
141
+ }
142
+ /**
143
+ * Tops the trace's samples up from the ledger: for every ledger record, what
144
+ * its cells hold beyond the trace's samples of that run, per agent and
145
+ * model, becomes one `ledger` sample at the run's start (the only time the
146
+ * ledger knows). A run with no trace at all is taken wholly from its line;
147
+ * a run whose trace matches its line adds nothing. The result's total
148
+ * therefore equals the ledger's, which is what the run itself printed.
149
+ */
150
+ export declare const reconcileWithLedger: (samples: ReadonlyArray<UsageSample>, records: ReadonlyArray<CostRecord>) => LedgerReconciliation;
124
151
  export interface CostReportOptions {
125
152
  /** Zone the day and hour buckets are cut in. Default UTC. */
126
153
  readonly timeZone?: DateTime.TimeZone;
@@ -1 +1 @@
1
- {"version":3,"file":"CostReport.d.ts","sourceRoot":"","sources":["../src/CostReport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAE3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAGlD;;;;;;;;;GASG;AAEH,eAAO,MAAM,YAAY,cAAc,CAAA;;IAGrC,8CAA8C;;;;;;;;;;;IAW9C,wFAAwF;;;;AAZ1F,qBAAa,WAAY,SAAQ,gBAe/B;CAAG;;;;;;;;;AAEL,qBAAa,WAAY,SAAQ,gBAO/B;CAAG;;IAGH,oFAAoF;;;;;;AADtF,qBAAa,WAAY,SAAQ,gBAM/B;CAAG;;;;;;AAEL,qBAAa,UAAW,SAAQ,eAI9B;CAAG;;;;IAMH,4DAA4D;;;AAJ9D,mHAAmH;AACnH,qBAAa,UAAW,SAAQ,eAK9B;CAAG;;;;;;;;;;;;;;;;AAEL,qBAAa,aAAc,SAAQ,kBAcjC;CAAG;;;;;;AAEL,qBAAa,eAAgB,SAAQ,oBAInC;CAAG;;;;;;AAEL,iGAAiG;AACjG,qBAAa,aAAc,SAAQ,kBAIjC;CAAG;;;;;;;;;;;;;;;;;IAkBH,6EAA6E;;;AAhB/E,qBAAa,UAAW,SAAQ,eAkB9B;CAAG;AAEL,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAUxC,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,GAChC,OAAO,aAAa,CAAC,SAAS,CAAC,KAC9B,aAAa,CAAC,WAAW,CAgCxB,CAAA;AA8FJ,MAAM,WAAW,iBAAiB;IAChC,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACrC,yEAAyE;IACzE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,eAAO,MAAM,eAAe,GAC1B,SAAS,aAAa,CAAC,WAAW,CAAC,EACnC,UAAS,iBAAsB,KAC9B,UAwHF,CAAA;AAqBD,eAAO,MAAM,gBAAgB,GAAI,QAAQ,UAAU,KAAG,MA2ErD,CAAA"}
1
+ {"version":3,"file":"CostReport.d.ts","sourceRoot":"","sources":["../src/CostReport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAG3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAGjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAGlD;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,YAAY,cAAc,CAAA;AAEvC,wGAAwG;AACxG,eAAO,MAAM,WAAW,+CAAuC,CAAA;AAC/D,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;;IAG/C,8CAA8C;;;;;;;;;;;IAW9C,wFAAwF;;;;;AAZ1F,qBAAa,WAAY,SAAQ,gBAmB/B;CAAG;;;;;;;;;AAEL,qBAAa,WAAY,SAAQ,gBAO/B;CAAG;;IAGH,oFAAoF;;;;;;AADtF,qBAAa,WAAY,SAAQ,gBAM/B;CAAG;;;;;;AAEL,qBAAa,UAAW,SAAQ,eAI9B;CAAG;;;;IAMH,4DAA4D;;;AAJ9D,mHAAmH;AACnH,qBAAa,UAAW,SAAQ,eAK9B;CAAG;;;;;;;;;;;;;;;;AAEL,qBAAa,aAAc,SAAQ,kBAcjC;CAAG;;;;;;AAEL,qBAAa,eAAgB,SAAQ,oBAInC;CAAG;;;;;;AAEL,iGAAiG;AACjG,qBAAa,aAAc,SAAQ,kBAIjC;CAAG;;;;;;;;;;;;;;;;;IAkBH,6EAA6E;;;AAhB/E,qBAAa,UAAW,SAAQ,eAkB9B;CAAG;AAEL,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAUxC,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,GAChC,OAAO,aAAa,CAAC,SAAS,CAAC,KAC9B,aAAa,CAAC,WAAW,CAgCxB,CAAA;AAmGJ,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IAC5C,uFAAuF;IACvF,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC3C;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,aAAa,CAAC,WAAW,CAAC,EACnC,SAAS,aAAa,CAAC,UAAU,CAAC,KACjC,oBAkCF,CAAA;AA4ED,MAAM,WAAW,iBAAiB;IAChC,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACrC,yEAAyE;IACzE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,eAAO,MAAM,eAAe,GAC1B,SAAS,aAAa,CAAC,WAAW,CAAC,EACnC,UAAS,iBAAsB,KAC9B,UAwHF,CAAA;AAqBD,eAAO,MAAM,gBAAgB,GAAI,QAAQ,UAAU,KAAG,MA2ErD,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import * as DateTime from "effect/DateTime";
2
+ import * as Effect from "effect/Effect";
2
3
  import * as Option from "effect/Option";
3
4
  import * as Schema from "effect/Schema";
4
5
  import { isEstimatedModel } from "./EstimatedUsage.js";
@@ -13,8 +14,18 @@ import { estimateCostUsd, PricesAsOf } from "./PriceList.js";
13
14
  * backend's own token counts) and estimated usage (`EstimatedUsage`'s
14
15
  * character-count fallback, labelled `estimated:<model>`) are kept in separate
15
16
  * columns so a budget never mistakes one for the other.
17
+ *
18
+ * The trace is the source for timing, the cost ledger (`CostLedger`) for the
19
+ * run's total: both come from the same `TokensUsed` events, but the trace is
20
+ * a file in the target's working tree that a coder's shell, a `git clean`
21
+ * or a recorder that lost its disk can shorten, while the ledger line is
22
+ * written once from the run's own cost tracker, the same numbers the run
23
+ * printed. `reconcileWithLedger` tops a short trace up from its ledger line,
24
+ * so `llm4ts costs` and the run's summary agree.
16
25
  */
17
26
  export const UnknownModel = "(unknown)";
27
+ /** Where a sample's numbers came from: a trace line, or the run's ledger line filling a short trace. */
28
+ export const UsageSource = Schema.Literals(["trace", "ledger"]);
18
29
  export class UsageSample extends Schema.Class("UsageSample")({
19
30
  /** Epoch milliseconds of the token report. */
20
31
  at: Schema.Number,
@@ -29,7 +40,8 @@ export class UsageSample extends Schema.Class("UsageSample")({
29
40
  estimated: Schema.Boolean,
30
41
  /** The lane's executor and clone, when the usage came from a roster lane (ADR 0033). */
31
42
  executor: Schema.optionalKey(Schema.String),
32
- clone: Schema.optionalKey(Schema.Int)
43
+ clone: Schema.optionalKey(Schema.Int),
44
+ source: UsageSource.pipe(Schema.withConstructorDefault(Effect.succeed("trace")), Schema.withDecodingDefaultKey(Effect.succeed("trace")))
33
45
  }) {
34
46
  }
35
47
  export class UsageTotals extends Schema.Class("UsageTotals")({
@@ -159,7 +171,8 @@ const totalsOf = (samples) => {
159
171
  const cached = sumOptional(samples.map((sample) => sample.cached));
160
172
  const costUsd = sumOptional(samples.map((sample) => sample.costUsd));
161
173
  return UsageTotals.make({
162
- requests: samples.length,
174
+ // A ledger sample is a remainder, not a call the trace saw.
175
+ requests: samples.filter((sample) => sample.source === "trace").length,
163
176
  prompt: samples.reduce((sum, sample) => sum + sample.prompt, 0),
164
177
  completion: samples.reduce((sum, sample) => sum + sample.completion, 0),
165
178
  total: samples.reduce((sum, sample) => sum + sample.total, 0),
@@ -167,6 +180,94 @@ const totalsOf = (samples) => {
167
180
  ...(costUsd === undefined ? {} : { costUsd })
168
181
  });
169
182
  };
183
+ const emptySums = () => ({
184
+ prompt: 0,
185
+ completion: 0,
186
+ total: 0,
187
+ cached: undefined,
188
+ costUsd: undefined
189
+ });
190
+ const addSums = (into, usage) => ({
191
+ prompt: into.prompt + usage.prompt,
192
+ completion: into.completion + usage.completion,
193
+ total: into.total + usage.total,
194
+ cached: sumOptional([into.cached, usage.cached]),
195
+ costUsd: sumOptional([into.costUsd, usage.costUsd])
196
+ });
197
+ const positive = (value) => (value > 0 ? value : 0);
198
+ /** What `b` has beyond `a`, per field, never below zero. */
199
+ const remainderOf = (ledger, trace) => ({
200
+ prompt: positive(ledger.prompt - trace.prompt),
201
+ completion: positive(ledger.completion - trace.completion),
202
+ total: positive(ledger.total - trace.total),
203
+ cached: ledger.cached === undefined ? undefined : positive(ledger.cached - (trace.cached ?? 0)),
204
+ costUsd: ledger.costUsd === undefined ? undefined : positive(ledger.costUsd - (trace.costUsd ?? 0))
205
+ });
206
+ const hasRemainder = (sums) => sums.prompt > 0 ||
207
+ sums.completion > 0 ||
208
+ sums.total > 0 ||
209
+ (sums.cached ?? 0) > 0 ||
210
+ (sums.costUsd ?? 0) > 1e-9;
211
+ /** A run's sums per agent and model, from its trace samples or its ledger cells. */
212
+ const sumsByAgentModel = (rows) => {
213
+ const groups = new Map();
214
+ for (const row of rows) {
215
+ const key = JSON.stringify([row.agent, row.model]);
216
+ const group = groups.get(key) ?? { agent: row.agent, model: row.model, sums: emptySums() };
217
+ groups.set(key, {
218
+ ...group,
219
+ sums: addSums(group.sums, {
220
+ prompt: row.prompt,
221
+ completion: row.completion,
222
+ total: row.total,
223
+ cached: row.cached,
224
+ costUsd: row.costUsd
225
+ })
226
+ });
227
+ }
228
+ return groups;
229
+ };
230
+ /**
231
+ * Tops the trace's samples up from the ledger: for every ledger record, what
232
+ * its cells hold beyond the trace's samples of that run, per agent and
233
+ * model, becomes one `ledger` sample at the run's start (the only time the
234
+ * ledger knows). A run with no trace at all is taken wholly from its line;
235
+ * a run whose trace matches its line adds nothing. The result's total
236
+ * therefore equals the ledger's, which is what the run itself printed.
237
+ */
238
+ export const reconcileWithLedger = (samples, records) => {
239
+ const filled = [];
240
+ const filledRuns = [];
241
+ for (const record of records) {
242
+ const traced = sumsByAgentModel(samples.filter((sample) => sample.runId === record.runId));
243
+ const ledgered = sumsByAgentModel(record.cells);
244
+ let filledThisRun = false;
245
+ for (const [key, { agent, model, sums }] of ledgered) {
246
+ const remainder = remainderOf(sums, traced.get(key)?.sums ?? emptySums());
247
+ if (!hasRemainder(remainder)) {
248
+ continue;
249
+ }
250
+ filledThisRun = true;
251
+ filled.push(UsageSample.make({
252
+ at: Date.parse(record.at),
253
+ runId: record.runId,
254
+ agent,
255
+ model,
256
+ prompt: remainder.prompt,
257
+ completion: remainder.completion,
258
+ total: remainder.total,
259
+ ...(remainder.cached === undefined ? {} : { cached: remainder.cached }),
260
+ ...(remainder.costUsd === undefined ? {} : { costUsd: remainder.costUsd }),
261
+ estimated: isEstimatedModel(model),
262
+ source: "ledger"
263
+ }));
264
+ }
265
+ if (filledThisRun) {
266
+ filledRuns.push(record.runId);
267
+ }
268
+ }
269
+ return { samples: [...samples, ...filled], filledRuns };
270
+ };
170
271
  const distinctRuns = (samples) => new Set(samples.map((sample) => sample.runId)).size;
171
272
  const pad = (value) => value.toString().padStart(2, "0");
172
273
  const partsIn = (timeZone, at) => {
@@ -1 +1 @@
1
- {"version":3,"file":"CostReport.js","sourceRoot":"","sources":["../src/CostReport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CostReport.js","sourceRoot":"","sources":["../src/CostReport.ts"],"names":[],"mappings":"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"}
@@ -18,9 +18,17 @@ export declare class TraceLine extends TraceLine_base {
18
18
  /** How a run ended, as its trace's last line says (ADR 0022). */
19
19
  export declare const RunOutcome: Schema.Literals<readonly ["completed", "failed", "interrupted"]>;
20
20
  export type RunOutcome = typeof RunOutcome.Type;
21
+ /** Lines the recorder could not write: the trace is short by this much, from the first failure on. */
22
+ export interface TraceShortfall {
23
+ readonly lines: number;
24
+ /** The first write failure, as the file store described it. */
25
+ readonly reason: string;
26
+ }
21
27
  export interface FlowRecorderShape extends StreamRecorder {
22
28
  readonly runId: string;
23
29
  readonly tracePath: string;
30
+ /** What the trace is missing, once a write failed; `undefined` while every line landed. */
31
+ readonly shortfall: Effect.Effect<TraceShortfall | undefined>;
24
32
  readonly record: (event: FlowEvent) => Effect.Effect<void>;
25
33
  readonly consume: (hub: FlowEventHub) => Effect.Effect<void, never, Scope.Scope>;
26
34
  /** Appends the `RunEnded` line: a reader knows the run is over, not stalled. */
@@ -1 +1 @@
1
- {"version":3,"file":"FlowRecorder.d.ts","sourceRoot":"","sources":["../src/FlowRecorder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAA;AAE/E,OAAO,EAAiB,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;;;;;;;;;AAE3D,qBAAa,SAAU,SAAQ,cAO7B;CAAG;AAEL,iEAAiE;AACjE,eAAO,MAAM,UAAU,kEAA0D,CAAA;AACjF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAChF,gFAAgF;IAChF,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1D,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;CAC/F;AAYD,eAAO,MAAM,gBAAgB,kHAqE3B,CAAA"}
1
+ {"version":3,"file":"FlowRecorder.d.ts","sourceRoot":"","sources":["../src/FlowRecorder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAA;AAE/E,OAAO,EAAiB,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;;;;;;;;;AAE3D,qBAAa,SAAU,SAAQ,cAO7B;CAAG;AAEL,iEAAiE;AACjE,eAAO,MAAM,UAAU,kEAA0D,CAAA;AACjF,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,sGAAsG;AACtG,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,2FAA2F;IAC3F,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC,CAAA;IAC7D,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1D,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAChF,gFAAgF;IAChF,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1D,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;CAC/F;AAYD,eAAO,MAAM,gBAAgB,kHA4E3B,CAAA"}
@@ -28,9 +28,15 @@ export const makeFlowRecorder = Effect.fn("@llm4ts/flow/FlowRecorder.make")(func
28
28
  const sequence = yield* Ref.make(0);
29
29
  const consumed = yield* Ref.make(0);
30
30
  const lock = yield* Semaphore.make(1);
31
- const degraded = yield* Ref.make(false);
31
+ // Set by the first failed write and never cleared: a disk that refused one
32
+ // line is not asked again, but every line it then loses is counted, so
33
+ // the run can say how short its trace is (`llm4ts costs` reads the
34
+ // ledger for the rest).
35
+ const degraded = yield* Ref.make(undefined);
32
36
  const append = (kind, fields) => lock.withPermit(Effect.gen(function* () {
33
- if (yield* Ref.get(degraded)) {
37
+ const shortfall = yield* Ref.get(degraded);
38
+ if (shortfall !== undefined) {
39
+ yield* Ref.set(degraded, { ...shortfall, lines: shortfall.lines + 1 });
34
40
  return;
35
41
  }
36
42
  const seq = yield* Ref.getAndUpdate(sequence, (current) => current + 1);
@@ -45,12 +51,13 @@ export const makeFlowRecorder = Effect.fn("@llm4ts/flow/FlowRecorder.make")(func
45
51
  });
46
52
  yield* files
47
53
  .append(tracePath, `${encode(line)}\n`)
48
- .pipe(Effect.catch(() => Ref.set(degraded, true)));
54
+ .pipe(Effect.catch((error) => Ref.set(degraded, { lines: 1, reason: error.message })));
49
55
  }));
50
56
  const record = (event) => append(event._tag, { event: JSON.stringify(event) });
51
57
  const recorder = {
52
58
  runId,
53
59
  tracePath,
60
+ shortfall: Ref.get(degraded),
54
61
  record,
55
62
  rawLine: (provider, model, line) => append("RawLine", {
56
63
  provider,
@@ -1 +1 @@
1
- {"version":3,"file":"FlowRecorder.js","sourceRoot":"","sources":["../src/FlowRecorder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowRecorder.js","sourceRoot":"","sources":["../src/FlowRecorder.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,32 @@ export declare const GateClass: Schema.Literals<readonly ["red", "hang", "crash"
7
7
  export type GateClass = typeof GateClass.Type;
8
8
  export declare const FailureOrigin: Schema.Literals<readonly ["new", "base", "flaky"]>;
9
9
  export type FailureOrigin = typeof FailureOrigin.Type;
10
+ /**
11
+ * Why a test gate's exit code proves nothing: the runner collected or ran
12
+ * zero tests, or test files failed to load (an import that no longer
13
+ * resolves, a suite that errors before its first test). Either makes the
14
+ * gate red whatever the runner's exit code was.
15
+ */
16
+ export declare const GateReason: Schema.Literals<readonly ["zero-tests", "load-failure"]>;
17
+ export type GateReason = typeof GateReason.Type;
18
+ /**
19
+ * The reason a test runner's output cannot stand for a green gate, when
20
+ * it has one: `load-failure` when any suite errored before its tests ran
21
+ * (it wins, since a load failure also leaves tests unrun), `zero-tests`
22
+ * when the runner collected nothing (Vitest, Jest, pytest, cargo test,
23
+ * mocha, JUnit via Maven or Gradle). `undefined` means tests ran.
24
+ */
25
+ export declare const testGateReasonOf: (output: string) => GateReason | undefined;
26
+ /** The reason as the fix prompt and the findings read it. */
27
+ export declare const describeGateReason: (reason: GateReason) => string;
28
+ /**
29
+ * The reason as a failing line, so a baseline records it and triage
30
+ * compares it like any other line: a target whose base already ran zero
31
+ * tests inherits that, a change that breaks loading is charged with it.
32
+ */
33
+ export declare const gateReasonLine: (reason: GateReason) => string;
34
+ /** The first gate reason a result carries, if any. */
35
+ export declare const gateReasonOf: (result: ReviewResult) => GateReason | undefined;
10
36
  declare const GateBaseline_base: Schema.Class<GateBaseline, Schema.Struct<{
11
37
  readonly baseCommit: Schema.String;
12
38
  readonly appDir: Schema.String;
@@ -1 +1 @@
1
- {"version":3,"file":"GateTriage.d.ts","sourceRoot":"","sources":["../src/GateTriage.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAGvD,eAAO,MAAM,SAAS,oDAA4C,CAAA;AAClE,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C,eAAO,MAAM,aAAa,oDAA4C,CAAA;AACtE,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;;;;IAKnD,8DAA8D;;;IAG9D,+FAA+F;;;;AANjG,qBAAa,YAAa,SAAQ,iBAShC;CAAG;AAkBL;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,MAAM,EACZ,OAAO,aAAa,CAAC,MAAM,CAAC,KAC3B,aAAa,CAAC,MAAM,CAuBtB,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAK9C,eAAO,MAAM,WAAW,GAAI,OAAO,WAAW,KAAG,OACyC,CAAA;AAE1F,wEAAwE;AACxE,eAAO,MAAM,cAAc,GACzB,QAAQ,YAAY,EACpB,OAAO,aAAa,CAAC,MAAM,CAAC,KAC3B,aAAa,CAAC,MAAM,CAOpB,CAAA;AAEH,MAAM,WAAW,UAAU;IACzB,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACxC,oEAAoE;IACpE,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC1C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GACtB,QAAQ,YAAY,EACpB,UAAU,YAAY,GAAG,SAAS,EAClC,OAAO,aAAa,CAAC,MAAM,CAAC,KAC3B,UAoCF,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;CACxD,KAAG,MAKa,CAAA;AAEjB,iDAAiD;AACjD,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,KAAG,MACQ,CAAA;AAiBzD,eAAO,MAAM,YAAY,GACvB,OAAO,mBAAmB,EAC1B,UAAU,MAAM,EAChB,KAAK,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,EAAE,gBAAgB,CACa,CAAA;AAExE,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IACvD,6EAA6E;IAC7E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;IAC5C,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;CACpC;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAC9B,MAAM,kBAAkB,CAAC,CAAC,CAAC,KAC1B,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,GAAG,gBAAgB,CAsB/C,CAAA;AAEJ,eAAO,MAAM,aAAa,GACxB,OAAO,mBAAmB,EAC1B,UAAU,MAAM,EAChB,KAAK,MAAM,EACX,UAAU,YAAY,KACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAKtC,CAAA"}
1
+ {"version":3,"file":"GateTriage.d.ts","sourceRoot":"","sources":["../src/GateTriage.ts"],"names":[],"mappings":"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"}