openpond 0.0.43 → 0.0.44

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 (99) hide show
  1. package/dist/chunks/{app-layer-UPNMLDO5.js → app-layer-KH7LZGB6.js} +2 -2
  2. package/dist/chunks/{app-server-runtime-CLJWPISO.js → app-server-runtime-VEYSA27N.js} +7 -7
  3. package/dist/chunks/{apps-XLPSFCW4.js → apps-3UVBL7UK.js} +2 -2
  4. package/dist/chunks/{chunk-ZTE6A2VE.js → chunk-2NP3E4GP.js} +1 -1
  5. package/dist/chunks/{chunk-QHUJ2XVJ.js → chunk-3XFHKWKG.js} +32 -32
  6. package/dist/chunks/{chunk-2SF6HLT7.js → chunk-53YZBGDC.js} +4 -1
  7. package/dist/chunks/{chunk-MCBAI5M5.js → chunk-67K6KXTS.js} +1 -1
  8. package/dist/chunks/{chunk-SBVJGA3Y.js → chunk-6GLNUWY2.js} +768 -44
  9. package/dist/chunks/{chunk-L7SIUJEV.js → chunk-HKJG7VBI.js} +1 -1
  10. package/dist/chunks/{chunk-DBHT62E5.js → chunk-HLEQDBYN.js} +1 -1
  11. package/dist/chunks/{chunk-YYLUURQ4.js → chunk-JBUNQVLP.js} +3 -3
  12. package/dist/chunks/{chunk-YEKQWRBS.js → chunk-SLTKA5AW.js} +9 -5
  13. package/dist/chunks/{chunk-KSOI7GFA.js → chunk-Y7BBDWBT.js} +1 -1
  14. package/dist/chunks/{chunk-M2NXTLH2.js → chunk-ZXWFYFFB.js} +516 -26
  15. package/dist/chunks/{cli-UU4WCREM.js → cli-64VFZWFY.js} +6 -6
  16. package/dist/chunks/{core-commands-D66KZEHU.js → core-commands-54ZMYVFM.js} +3 -3
  17. package/dist/chunks/{desktop-test-FDA6MV77.js → desktop-test-ZISBAXA7.js} +2 -2
  18. package/dist/chunks/{extension-GDRW22N3.js → extension-65AJZLNI.js} +4 -1
  19. package/dist/chunks/{help-7QG4UITV.js → help-WHEMW4R3.js} +1 -1
  20. package/dist/chunks/{opchat-I2WGEFGU.js → opchat-ZFKPZQUA.js} +2 -2
  21. package/dist/chunks/{organizations-MADRLI2I.js → organizations-K4IDYOYN.js} +4 -4
  22. package/dist/chunks/{profile-B4A3GT3U.js → profile-NTBQ74Q7.js} +2 -2
  23. package/dist/chunks/{project-agent-PCO42FZJ.js → project-agent-7JDEGY6U.js} +2 -2
  24. package/dist/chunks/{sandbox-command-LBKSIR7P.js → sandbox-command-HPYUKC6U.js} +2 -2
  25. package/dist/chunks/{sandbox-template-YJXGG4H3.js → sandbox-template-APQYLIHG.js} +3 -3
  26. package/dist/chunks/{src-L2H4X4IY.js → src-22E2EIT5.js} +1393 -487
  27. package/dist/chunks/{src-35JYS27L.js → src-CBOXC5JP.js} +3 -3
  28. package/dist/chunks/{teams-bot-L4SR2SWM.js → teams-bot-TQKFFTJ7.js} +2 -2
  29. package/dist/chunks/{workspaces-ODFJT6HJ.js → workspaces-RKZVNT2A.js} +2 -2
  30. package/dist/cli.js +13 -13
  31. package/dist/web/assets/{AppDialog-Bua3f-6v.js → AppDialog-D8HiG2vU.js} +1 -1
  32. package/dist/web/assets/{AppsView-DrJkHeSO.js → AppsView-gZoE9vMK.js} +1 -1
  33. package/dist/web/assets/{BrowserSidebar-Bf-4Vozm.js → BrowserSidebar-D-HKuusA.js} +1 -1
  34. package/dist/web/assets/{CommandMenu-DDZlGQiB.js → CommandMenu-CzrixKzR.js} +1 -1
  35. package/dist/web/assets/{CommunityView-BtcCrba7.js → CommunityView-khbmjhWm.js} +1 -1
  36. package/dist/web/assets/{ComposerCreateImproveStrip-DOe5Otg6.js → ComposerCreateImproveStrip-CLxAZScx.js} +1 -1
  37. package/dist/web/assets/{GetStartedView-CG4z0Dtw.js → GetStartedView-C3nu80E_.js} +1 -1
  38. package/dist/web/assets/{LabModelVersionDetailPage-BEkmSKuv.js → LabModelVersionDetailPage-EcvM9TTz.js} +1 -1
  39. package/dist/web/assets/{LabSkillSidebar-BIotN_RB.js → LabSkillSidebar-LG9zm1yx.js} +1 -1
  40. package/dist/web/assets/{LabsRoute-CfOe0Zt5.js → LabsRoute-B4lijQB6.js} +3 -3
  41. package/dist/web/assets/{MainChatThread-C0-l1mHt.js → MainChatThread-D_-zWAT8.js} +2 -2
  42. package/dist/web/assets/{MainPane-aOVlVyRK.js → MainPane-Dfvc7xdq.js} +3 -3
  43. package/dist/web/assets/{MarkdownText-D7DT1k1k.js → MarkdownText-C0_D5zMW.js} +1 -1
  44. package/dist/web/assets/{Messages-CBIXruA9.js → Messages-C-Q91wIU.js} +1 -1
  45. package/dist/web/assets/{NativeSkillSidebar-C4t69Y7B.js → NativeSkillSidebar-DoSiN-Mr.js} +1 -1
  46. package/dist/web/assets/{NewProjectDialog-Bat65tYD.js → NewProjectDialog-C0hUcNck.js} +1 -1
  47. package/dist/web/assets/{OutputsPage-C58n39Db.js → OutputsPage-PV7Pm_OU.js} +1 -1
  48. package/dist/web/assets/{RightChatPanelStack-Bp7nZxQ0.js → RightChatPanelStack-C1LZTXEY.js} +1 -1
  49. package/dist/web/assets/{ScheduledWorkPage-BXP0j_c_.js → ScheduledWorkPage-7UGpZ8Gc.js} +1 -1
  50. package/dist/web/assets/{SettingsView-CtWK_aQ0.css → SettingsView-CrXwXjZ1.css} +1 -1
  51. package/dist/web/assets/SettingsView-DjSbBHb7.js +6 -0
  52. package/dist/web/assets/{TeamChatView-De2wdqyY.js → TeamChatView-D7_mZ6eT.js} +1 -1
  53. package/dist/web/assets/{TerminalOverlay-BsuCH3NX.js → TerminalOverlay-Cji37VqF.js} +1 -1
  54. package/dist/web/assets/{TrainingCreationPanel-D2OFWyQ-.js → TrainingCreationPanel-VctKu0b5.js} +1 -1
  55. package/dist/web/assets/{TrainingDraftPanel-DBpulXTz.js → TrainingDraftPanel-BJXcYQt5.js} +1 -1
  56. package/dist/web/assets/{UsageSettingsSection-DzMLUXAO.js → UsageSettingsSection-BxnbRELL.js} +1 -1
  57. package/dist/web/assets/{WorkspaceDiffPanel-B7yIhjNF.js → WorkspaceDiffPanel-Dj50bA58.js} +3 -3
  58. package/dist/web/assets/{WorkspaceEnvironmentMenu-B6jXM9xG.js → WorkspaceEnvironmentMenu-Dv_pK7bp.js} +1 -1
  59. package/dist/web/assets/{WorkspaceGitDialogs-CQ0fl9Qk.js → WorkspaceGitDialogs-Bs55QQk1.js} +1 -1
  60. package/dist/web/assets/{WorkspaceMonacoEditor-C2ctzITz.js → WorkspaceMonacoEditor-BKyihWp7.js} +3 -3
  61. package/dist/web/assets/{arrow-up-right-ecwcx3xt.js → arrow-up-right-O7S09juy.js} +1 -1
  62. package/dist/web/assets/{chevron-up-DP8PPfWd.js → chevron-up-ILypNpT9.js} +1 -1
  63. package/dist/web/assets/{circle-alert-envg1D6O.js → circle-alert-CqcEVbV4.js} +1 -1
  64. package/dist/web/assets/{cloud-upload-5MGPLnaA.js → cloud-upload-B-KanLwx.js} +1 -1
  65. package/dist/web/assets/{cssMode-CFifcEfw.js → cssMode-BIJYgmZR.js} +1 -1
  66. package/dist/web/assets/{folder-open-Dq3ZjeEP.js → folder-open-DCkv77b6.js} +1 -1
  67. package/dist/web/assets/{folder-plus-EiZ5wbv_.js → folder-plus-BqZUZnCI.js} +1 -1
  68. package/dist/web/assets/{git-branch-w29jmQ-X.js → git-branch-DLlfIOn_.js} +1 -1
  69. package/dist/web/assets/{git-commit-horizontal-CGZM0PZo.js → git-commit-horizontal-ClqcnbGe.js} +1 -1
  70. package/dist/web/assets/{htmlMode-Ct1P-_lf.js → htmlMode-B1PeNAJB.js} +1 -1
  71. package/dist/web/assets/index-BLgZVGpl.js +178 -0
  72. package/dist/web/assets/index-vV2sAtZG.js +1 -0
  73. package/dist/web/assets/{info-Cd2HkIeb.js → info-B-IcZCF8.js} +1 -1
  74. package/dist/web/assets/{jsonMode-BAUNCNAX.js → jsonMode-NqLd9KdG.js} +1 -1
  75. package/dist/web/assets/{lspLanguageFeatures-fucFYI1A.js → lspLanguageFeatures-DWa2E295.js} +1 -1
  76. package/dist/web/assets/{monaco.contribution-nG-5Cyjz.js → monaco.contribution-BYgdD9ap.js} +2 -2
  77. package/dist/web/assets/{monaco.contribution-DLLMi4cB.js → monaco.contribution-DOdpxIBx.js} +2 -2
  78. package/dist/web/assets/{monaco.contribution-g9QiIm1d.js → monaco.contribution-EiA1XLoV.js} +2 -2
  79. package/dist/web/assets/{monaco.contribution-Ce4v5kei.js → monaco.contribution-rE0pudHI.js} +2 -2
  80. package/dist/web/assets/{monitor-DgHCnCKl.js → monitor-IKHoaZYu.js} +1 -1
  81. package/dist/web/assets/{play-Be0XDHBu.js → play-B8a2D-Pu.js} +1 -1
  82. package/dist/web/assets/{python-CEhEiPo7.js → python-DXSUy3MY.js} +1 -1
  83. package/dist/web/assets/{refresh-cw-DH0KLbdD.js → refresh-cw-De3V2Tzv.js} +1 -1
  84. package/dist/web/assets/{reply-D1TK2yV8.js → reply-DtzLGSWr.js} +1 -1
  85. package/dist/web/assets/{save-C1MSeBnQ.js → save-CKSY2EC7.js} +1 -1
  86. package/dist/web/assets/{square-CemI-0g5.js → square-U2IL0jpg.js} +1 -1
  87. package/dist/web/assets/{square-pen-CqfsvR_n.js → square-pen-DhLj2CtT.js} +1 -1
  88. package/dist/web/assets/{toggleHighContrast-DrdQN3Rl.js → toggleHighContrast-Dusp2QyF.js} +1 -1
  89. package/dist/web/assets/{tsMode-CKB5oOUU.js → tsMode-CarGQUBk.js} +1 -1
  90. package/dist/web/assets/{upload-t751LLqP.js → upload-12FovSVQ.js} +1 -1
  91. package/dist/web/assets/{useLocalAgentSchedules-CzC3wfIP.js → useLocalAgentSchedules-DGQQtn8W.js} +1 -1
  92. package/dist/web/assets/{wifi-off-CxTHH3JU.js → wifi-off-CjQEPd2q.js} +1 -1
  93. package/dist/web/assets/{workers-CqYddzCd.js → workers-CeBkFaBO.js} +1 -1
  94. package/dist/web/assets/{yaml-e5wBkc-C.js → yaml-DQPBhykU.js} +1 -1
  95. package/dist/web/index.html +1 -1
  96. package/package.json +1 -1
  97. package/dist/web/assets/SettingsView-DOOfhO9a.js +0 -6
  98. package/dist/web/assets/index-ByIQyiUl.js +0 -178
  99. package/dist/web/assets/index-D4uCeiep.js +0 -1
@@ -844,12 +844,12 @@ var SandboxTemplateRuntimeSchema = external_exports.object({
844
844
  snapshot: external_exports.string().trim().min(1).max(191).optional(),
845
845
  image: DockerfileRuntimeImageSchema.optional(),
846
846
  dockerfile: DockerfileRuntimeSourceSchema.optional()
847
- }).strict().superRefine((runtime, context) => {
847
+ }).strict().superRefine((runtime2, context) => {
848
848
  const selected = [
849
- runtime.base,
850
- runtime.snapshot,
851
- runtime.image,
852
- runtime.dockerfile
849
+ runtime2.base,
850
+ runtime2.snapshot,
851
+ runtime2.image,
852
+ runtime2.dockerfile
853
853
  ].filter(Boolean).length;
854
854
  if (selected !== 1) {
855
855
  context.addIssue({
@@ -1803,6 +1803,195 @@ function createHarnessAdvanceReceipt(content) {
1803
1803
  });
1804
1804
  }
1805
1805
 
1806
+ // ../../packages/harness/dist/evaluation-review.js
1807
+ var BoundedTextSchema2 = external_exports.string().trim().min(1).max(1e5);
1808
+ var HarnessEvaluationReviewClassificationSchema = external_exports.enum([
1809
+ "no_action",
1810
+ "harness_maintenance",
1811
+ "runtime",
1812
+ "product",
1813
+ "taskset",
1814
+ "model_improvement"
1815
+ ]);
1816
+ var HarnessEvaluationReviewAuthoritySchema = external_exports.enum([
1817
+ "none",
1818
+ "runtime_service",
1819
+ "product_team",
1820
+ "human_review",
1821
+ "evaluation_system",
1822
+ "training_system"
1823
+ ]);
1824
+ var HarnessReviewEvidenceKindSchema = external_exports.enum([
1825
+ "observation",
1826
+ "trigger",
1827
+ "route_decision",
1828
+ "refiner_outcome",
1829
+ "proposal",
1830
+ "validation",
1831
+ "apply_receipt",
1832
+ "harness_advance",
1833
+ "rollback",
1834
+ "work_outcome",
1835
+ "taskset",
1836
+ "evaluation",
1837
+ "training_qualification",
1838
+ "model_candidate"
1839
+ ]);
1840
+ var HarnessReviewOwnerScopeSchema = external_exports.object({
1841
+ kind: external_exports.enum(["personal", "team"]),
1842
+ id: ReleaseIdSchema
1843
+ }).strict();
1844
+ var HarnessReviewSourcePolicyRefSchema = external_exports.object({
1845
+ policy: ImmutableReleaseRefSchema,
1846
+ state: external_exports.enum(["authorized", "revoked", "deleted", "expired"]),
1847
+ checkedAt: ReleaseTimestampSchema
1848
+ }).strict();
1849
+ var HarnessReviewEvidenceRefSchema = external_exports.object({
1850
+ evidence: ImmutableReleaseRefSchema,
1851
+ kind: HarnessReviewEvidenceKindSchema,
1852
+ sourceRef: ReleaseIdSchema,
1853
+ sourcePolicy: HarnessReviewSourcePolicyRefSchema,
1854
+ occurrenceKey: ReleaseHashSchema,
1855
+ occurredAt: ReleaseTimestampSchema
1856
+ }).strict();
1857
+ var HarnessReviewExcludedEvidenceSchema = external_exports.object({
1858
+ evidence: ImmutableReleaseRefSchema,
1859
+ sourcePolicy: HarnessReviewSourcePolicyRefSchema.nullable(),
1860
+ reason: external_exports.enum([
1861
+ "outside_scope",
1862
+ "before_watermark",
1863
+ "duplicate",
1864
+ "resolved",
1865
+ "revoked",
1866
+ "deleted",
1867
+ "expired",
1868
+ "sensitive",
1869
+ "unverified",
1870
+ "budget"
1871
+ ])
1872
+ }).strict();
1873
+ var HarnessReviewWatermarkSchema = external_exports.object({
1874
+ cursor: ReleaseHashSchema,
1875
+ throughCreatedAt: ReleaseTimestampSchema
1876
+ }).strict();
1877
+ var HarnessReviewClaimSchema = external_exports.object({
1878
+ fingerprint: ReleaseHashSchema,
1879
+ recurrenceFamily: external_exports.string().trim().min(1).max(1e3),
1880
+ statement: BoundedTextSchema2,
1881
+ independentOccurrences: external_exports.number().int().positive().max(1e6),
1882
+ unresolvedOccurrences: external_exports.number().int().positive().max(1e6)
1883
+ }).strict().refine((claim2) => claim2.unresolvedOccurrences <= claim2.independentOccurrences, "unresolved occurrences cannot exceed independent occurrences");
1884
+ var HarnessReviewTriageLayerSchema = external_exports.enum([
1885
+ "harness",
1886
+ "runtime",
1887
+ "product",
1888
+ "retrieval",
1889
+ "tools",
1890
+ "evaluation",
1891
+ "model"
1892
+ ]);
1893
+ var HarnessReviewTriageDecisionSchema = external_exports.object({
1894
+ layer: HarnessReviewTriageLayerSchema,
1895
+ status: external_exports.enum(["not_applicable", "unresolved", "resolved", "blocked"]),
1896
+ reason: BoundedTextSchema2,
1897
+ evidenceRefs: external_exports.array(ImmutableReleaseRefSchema).max(1e3)
1898
+ }).strict();
1899
+ var HarnessEvaluationReviewReceiptContentSchema = external_exports.object({
1900
+ schemaVersion: external_exports.literal("openpond.harnessEvaluationReviewReceipt.v1"),
1901
+ id: ReleaseIdSchema,
1902
+ ownerScope: HarnessReviewOwnerScopeSchema,
1903
+ workspaceRef: ReleaseIdSchema,
1904
+ harnessRelease: ImmutableReleaseRefSchema,
1905
+ previousWatermark: HarnessReviewWatermarkSchema.nullable(),
1906
+ nextWatermark: HarnessReviewWatermarkSchema,
1907
+ selectedEvidence: external_exports.array(HarnessReviewEvidenceRefSchema).max(1e4),
1908
+ excludedEvidence: external_exports.array(HarnessReviewExcludedEvidenceSchema).max(1e4),
1909
+ claim: HarnessReviewClaimSchema.nullable(),
1910
+ classification: HarnessEvaluationReviewClassificationSchema,
1911
+ triage: external_exports.array(HarnessReviewTriageDecisionSchema).max(16),
1912
+ reason: BoundedTextSchema2,
1913
+ nextAuthority: HarnessEvaluationReviewAuthoritySchema,
1914
+ maxEstimatedCostUsd: external_exports.number().finite().nonnegative(),
1915
+ tasksetProposal: ImmutableReleaseRefSchema.nullable(),
1916
+ evaluation: ImmutableReleaseRefSchema.nullable(),
1917
+ trainingQualification: ImmutableReleaseRefSchema.nullable(),
1918
+ policyVersion: ReleaseIdSchema,
1919
+ createdAt: ReleaseTimestampSchema,
1920
+ metadata: MetadataSchema
1921
+ }).strict().superRefine((receipt, context) => {
1922
+ const selectedKeys = receipt.selectedEvidence.map((item) => `${item.evidence.id}:${item.evidence.contentHash}`);
1923
+ if (new Set(selectedKeys).size !== selectedKeys.length) {
1924
+ context.addIssue({
1925
+ code: "custom",
1926
+ message: "selected review evidence must be unique",
1927
+ path: ["selectedEvidence"]
1928
+ });
1929
+ }
1930
+ if (receipt.selectedEvidence.some((item) => item.sourcePolicy.state !== "authorized")) {
1931
+ context.addIssue({
1932
+ code: "custom",
1933
+ message: "selected review evidence must be authorized at review time",
1934
+ path: ["selectedEvidence"]
1935
+ });
1936
+ }
1937
+ if (receipt.classification === "no_action") {
1938
+ if (receipt.nextAuthority !== "none") {
1939
+ context.addIssue({
1940
+ code: "custom",
1941
+ message: "no-action review receipts require no next authority",
1942
+ path: ["nextAuthority"]
1943
+ });
1944
+ }
1945
+ if (receipt.tasksetProposal || receipt.evaluation || receipt.trainingQualification) {
1946
+ context.addIssue({
1947
+ code: "custom",
1948
+ message: "no-action review receipts cannot carry downstream refs"
1949
+ });
1950
+ }
1951
+ } else if (!receipt.claim || receipt.selectedEvidence.length === 0) {
1952
+ context.addIssue({
1953
+ code: "custom",
1954
+ message: "actionable review receipts require a claim and selected evidence"
1955
+ });
1956
+ }
1957
+ if (receipt.classification === "runtime" && receipt.nextAuthority !== "runtime_service") {
1958
+ context.addIssue({
1959
+ code: "custom",
1960
+ message: "runtime classifications route to runtime-service authority",
1961
+ path: ["nextAuthority"]
1962
+ });
1963
+ }
1964
+ if (receipt.classification === "product" && receipt.nextAuthority !== "product_team") {
1965
+ context.addIssue({
1966
+ code: "custom",
1967
+ message: "product classifications route to product-team authority",
1968
+ path: ["nextAuthority"]
1969
+ });
1970
+ }
1971
+ if (receipt.classification === "taskset" && receipt.nextAuthority !== "human_review") {
1972
+ context.addIssue({
1973
+ code: "custom",
1974
+ message: "Taskset classifications require human review"
1975
+ });
1976
+ }
1977
+ if (receipt.classification === "model_improvement" && (!receipt.evaluation || !receipt.trainingQualification || !["human_review", "training_system"].includes(receipt.nextAuthority))) {
1978
+ context.addIssue({
1979
+ code: "custom",
1980
+ message: "model-improvement classifications require Evaluation and qualification refs plus explicit authority"
1981
+ });
1982
+ }
1983
+ });
1984
+ var HarnessEvaluationReviewReceiptSchema = HarnessEvaluationReviewReceiptContentSchema.extend({
1985
+ contentHash: ReleaseHashSchema
1986
+ }).strict();
1987
+ function createHarnessEvaluationReviewReceipt(input) {
1988
+ const content = HarnessEvaluationReviewReceiptContentSchema.parse(input);
1989
+ return HarnessEvaluationReviewReceiptSchema.parse({
1990
+ ...content,
1991
+ contentHash: contentHash(content)
1992
+ });
1993
+ }
1994
+
1806
1995
  // ../../packages/harness/dist/tools.js
1807
1996
  var ToolDeclarationSchema = external_exports.object({
1808
1997
  name: external_exports.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),
@@ -1909,7 +2098,7 @@ var HarnessTraceSchema = external_exports.object({
1909
2098
  }).strict();
1910
2099
 
1911
2100
  // ../../packages/harness/dist/harness-improvements.js
1912
- var BoundedTextSchema2 = external_exports.string().trim().min(1).max(1e5);
2101
+ var BoundedTextSchema3 = external_exports.string().trim().min(1).max(1e5);
1913
2102
  var MetadataSchema3 = external_exports.record(external_exports.string(), external_exports.unknown()).default({});
1914
2103
  var ImprovementSafeBoundaryKindSchema = external_exports.enum([
1915
2104
  "completed_tool_batch",
@@ -1957,11 +2146,11 @@ var ImprovementObservationContentSchema = external_exports.object({
1957
2146
  state: ImprovementObservationStateSchema,
1958
2147
  tool: ImprovementToolIdentitySchema.nullable(),
1959
2148
  deterministicClass: external_exports.string().trim().min(1).max(500).nullable(),
1960
- summary: BoundedTextSchema2,
2149
+ summary: BoundedTextSchema3,
1961
2150
  createdAt: ReleaseTimestampSchema,
1962
2151
  metadata: MetadataSchema3
1963
2152
  }).strict().superRefine((observation, context) => {
1964
- if (new Set(observation.eventRefs.map((reference) => reference.id)).size !== observation.eventRefs.length) {
2153
+ if (new Set(observation.eventRefs.map((reference2) => reference2.id)).size !== observation.eventRefs.length) {
1965
2154
  context.addIssue({
1966
2155
  code: "custom",
1967
2156
  message: "observation event refs must be unique",
@@ -2004,7 +2193,7 @@ var RefinementTriggerDecisionContentSchema = external_exports.object({
2004
2193
  decision: RefinementTriggerDecisionKindSchema,
2005
2194
  deterministicRoute: HarnessImprovementRouteSchema.nullable(),
2006
2195
  suggestedRoutes: external_exports.array(HarnessImprovementRouteSchema).max(8),
2007
- reason: BoundedTextSchema2,
2196
+ reason: BoundedTextSchema3,
2008
2197
  deduplicationKey: ReleaseHashSchema,
2009
2198
  policy: RefinementTriggerPolicySchema,
2010
2199
  estimatedMaxCostUsd: external_exports.number().finite().nonnegative(),
@@ -2081,7 +2270,7 @@ var ImprovementRouteDecisionContentSchema = external_exports.object({
2081
2270
  route: HarnessImprovementRouteSchema,
2082
2271
  authority: ImprovementRouteAuthoritySchema,
2083
2272
  automatic: external_exports.boolean(),
2084
- reason: BoundedTextSchema2,
2273
+ reason: BoundedTextSchema3,
2085
2274
  createdAt: ReleaseTimestampSchema,
2086
2275
  metadata: MetadataSchema3
2087
2276
  }).strict().superRefine((decision2, context) => {
@@ -2109,7 +2298,7 @@ var HarnessRefinerOutcomeContentSchema = external_exports.object({
2109
2298
  trigger: ImmutableReleaseRefSchema,
2110
2299
  decision: external_exports.enum(["no_action", "proposed"]),
2111
2300
  proposal: ImmutableReleaseRefSchema.nullable(),
2112
- reason: BoundedTextSchema2,
2301
+ reason: BoundedTextSchema3,
2113
2302
  evidenceRefs: external_exports.array(ImmutableReleaseRefSchema).max(100),
2114
2303
  estimatedCostUsd: external_exports.number().finite().nonnegative(),
2115
2304
  createdAt: ReleaseTimestampSchema,
@@ -2301,7 +2490,7 @@ async function authorLocalHarnessRefinementWithModel(input) {
2301
2490
  timeout.cleanup();
2302
2491
  }
2303
2492
  }
2304
- function refinerMessages(evidence) {
2493
+ function refinerMessages(evidence2) {
2305
2494
  return [
2306
2495
  {
2307
2496
  role: "system",
@@ -2337,7 +2526,7 @@ function refinerMessages(evidence) {
2337
2526
  },
2338
2527
  {
2339
2528
  role: "user",
2340
- content: JSON.stringify(evidence, null, 2)
2529
+ content: JSON.stringify(evidence2, null, 2)
2341
2530
  }
2342
2531
  ];
2343
2532
  }
@@ -2653,7 +2842,7 @@ function collectObservations(input) {
2653
2842
  });
2654
2843
  if (recoveredFailureKeys.has(failureKey))
2655
2844
  continue;
2656
- const failureObservationIndex = observations.findIndex((observation) => observation.kind === "tool_failure" && observation.eventRefs.some((reference) => reference.id === priorFailure.event.id));
2845
+ const failureObservationIndex = observations.findIndex((observation) => observation.kind === "tool_failure" && observation.eventRefs.some((reference2) => reference2.id === priorFailure.event.id));
2657
2846
  if (failureObservationIndex >= 0) {
2658
2847
  observations[failureObservationIndex] = observationFor({
2659
2848
  input,
@@ -2687,7 +2876,7 @@ function collectObservations(input) {
2687
2876
  }
2688
2877
  const recovered = observations.filter((observation) => observation.kind === "recovery");
2689
2878
  if (input.boundary.kind === "turn_completed" && recovered.length > 0) {
2690
- const relevantOutcomes = input.outcomes.filter((outcome) => recovered.some((observation) => observation.eventRefs.some((reference) => reference.id === outcome.event.id)));
2879
+ const relevantOutcomes = input.outcomes.filter((outcome) => recovered.some((observation) => observation.eventRefs.some((reference2) => reference2.id === outcome.event.id)));
2691
2880
  observations.push(observationFor({
2692
2881
  input,
2693
2882
  kind: "completion_detour",
@@ -2968,8 +3157,8 @@ function proposalEvidence(observations) {
2968
3157
  const byId = /* @__PURE__ */ new Map();
2969
3158
  for (const observation of observations) {
2970
3159
  for (const event of observation.eventRefs) {
2971
- const evidence = observationEvidence(observation, event);
2972
- byId.set(`${evidence.kind}:${evidence.id}`, evidence);
3160
+ const evidence2 = observationEvidence(observation, event);
3161
+ byId.set(`${evidence2.kind}:${evidence2.id}`, evidence2);
2973
3162
  }
2974
3163
  }
2975
3164
  return [...byId.values()];
@@ -2990,8 +3179,8 @@ function uniqueEventRefs(observations) {
2990
3179
  }
2991
3180
  return [...byId.values()];
2992
3181
  }
2993
- function sameOverlayRef(overlay, reference) {
2994
- return overlay.id === reference.id && overlay.revision === reference.revision && overlay.contentHash === reference.contentHash;
3182
+ function sameOverlayRef(overlay, reference2) {
3183
+ return overlay.id === reference2.id && overlay.revision === reference2.revision && overlay.contentHash === reference2.contentHash;
2995
3184
  }
2996
3185
  function overlayRef(overlay) {
2997
3186
  return {
@@ -3564,11 +3753,11 @@ function createWorkEvidenceReceipt(input) {
3564
3753
  const receipt = WorkEvidenceReceiptContentSchema.parse(input);
3565
3754
  return WorkEvidenceReceiptSchema.parse({ ...receipt, contentHash: contentHash(receipt) });
3566
3755
  }
3567
- function createWorkFeedbackReceipt(input, evidence) {
3756
+ function createWorkFeedbackReceipt(input, evidence2) {
3568
3757
  const feedback = WorkFeedbackReceiptContentSchema.parse(input);
3569
3758
  const receipt = WorkFeedbackReceiptSchema.parse({ ...feedback, contentHash: contentHash(feedback) });
3570
- if (evidence)
3571
- assertFeedbackTargetsEvidence(receipt, evidence);
3759
+ if (evidence2)
3760
+ assertFeedbackTargetsEvidence(receipt, evidence2);
3572
3761
  return receipt;
3573
3762
  }
3574
3763
  function verifyWorkEvidenceReceipt(value) {
@@ -3581,11 +3770,11 @@ function workEvidenceReceiptRef(receipt) {
3581
3770
  sizeBytes: null
3582
3771
  });
3583
3772
  }
3584
- function assertFeedbackTargetsEvidence(feedback, evidence) {
3585
- if (feedback.evidenceReceiptRef.contentHash !== evidence.contentHash) {
3773
+ function assertFeedbackTargetsEvidence(feedback, evidence2) {
3774
+ if (feedback.evidenceReceiptRef.contentHash !== evidence2.contentHash) {
3586
3775
  throw new Error("Feedback targets a different Work evidence receipt.");
3587
3776
  }
3588
- if (feedback.outputRevisionRef && !evidence.outputRefs.some((output2) => output2.contentHash === feedback.outputRevisionRef.contentHash)) {
3777
+ if (feedback.outputRevisionRef && !evidence2.outputRefs.some((output2) => output2.contentHash === feedback.outputRevisionRef.contentHash)) {
3589
3778
  throw new Error("Feedback targets an output revision not bound by the Work evidence receipt.");
3590
3779
  }
3591
3780
  }
@@ -3959,6 +4148,300 @@ var GraderEvidenceContentSchema = external_exports.object({
3959
4148
  }).strict();
3960
4149
  var GraderEvidenceSchema = GraderEvidenceContentSchema.extend({ contentHash: ReleaseHashSchema }).strict();
3961
4150
 
4151
+ // ../../packages/evals/dist/model-improvement-qualification.js
4152
+ var BoundedTextSchema4 = external_exports.string().trim().min(1).max(1e5);
4153
+ var ModelImprovementDecisionSchema = external_exports.enum([
4154
+ "no_training",
4155
+ "sft",
4156
+ "preference",
4157
+ "rl"
4158
+ ]);
4159
+ var ModelImprovementSignalSchema = external_exports.object({
4160
+ kind: external_exports.enum(["none", "demonstrations", "chosen_rejected", "scalar_reward"]),
4161
+ strength: external_exports.enum(["absent", "weak", "usable"]),
4162
+ calibrated: external_exports.boolean(),
4163
+ confounded: external_exports.boolean(),
4164
+ variance: external_exports.number().finite().nonnegative().nullable(),
4165
+ evidenceRefs: external_exports.array(ImmutableReleaseRefSchema).max(1e5)
4166
+ }).strict();
4167
+ var ModelImprovementQualificationReceiptContentSchema = external_exports.object({
4168
+ schemaVersion: external_exports.literal("openpond.modelImprovementQualificationReceipt.v1"),
4169
+ id: ReleaseIdSchema,
4170
+ review: ImmutableReleaseRefSchema,
4171
+ harnessRelease: ImmutableReleaseRefSchema,
4172
+ tasksetRelease: ImmutableReleaseRefSchema.nullable(),
4173
+ baselineEvaluation: ImmutableReleaseRefSchema.nullable(),
4174
+ model: ModelRefSchema,
4175
+ environmentHash: ReleaseHashSchema.nullable(),
4176
+ toolContractHash: ReleaseHashSchema.nullable(),
4177
+ permissionContractHash: ReleaseHashSchema.nullable(),
4178
+ policyHash: ReleaseHashSchema.nullable(),
4179
+ verifierRef: ImmutableReleaseRefSchema.nullable(),
4180
+ sourcePolicies: external_exports.array(HarnessReviewSourcePolicyRefSchema).max(1e4),
4181
+ trainingEvidenceRefs: external_exports.array(ImmutableReleaseRefSchema).max(1e5),
4182
+ frozenEvaluationEvidenceRefs: external_exports.array(ImmutableReleaseRefSchema).max(1e5),
4183
+ privacyApproval: ImmutableReleaseRefSchema.nullable(),
4184
+ budgetApproval: ImmutableReleaseRefSchema.nullable(),
4185
+ maximumCostUsd: external_exports.number().finite().nonnegative(),
4186
+ signal: ModelImprovementSignalSchema,
4187
+ decision: ModelImprovementDecisionSchema,
4188
+ reasons: external_exports.array(BoundedTextSchema4).min(1).max(100),
4189
+ createdAt: ReleaseTimestampSchema,
4190
+ metadata: MetadataSchema
4191
+ }).strict().superRefine((receipt, context) => {
4192
+ const trainingKeys = new Set(receipt.trainingEvidenceRefs.map(refKey));
4193
+ if (receipt.frozenEvaluationEvidenceRefs.some((reference2) => trainingKeys.has(refKey(reference2)))) {
4194
+ context.addIssue({
4195
+ code: "custom",
4196
+ message: "frozen Evaluation evidence cannot be used as training evidence",
4197
+ path: ["frozenEvaluationEvidenceRefs"]
4198
+ });
4199
+ }
4200
+ if (receipt.decision === "no_training")
4201
+ return;
4202
+ const missingGate = !receipt.tasksetRelease || !receipt.baselineEvaluation || !receipt.environmentHash || !receipt.toolContractHash || !receipt.permissionContractHash || !receipt.policyHash || !receipt.verifierRef || !receipt.privacyApproval || !receipt.budgetApproval || receipt.sourcePolicies.length === 0 || receipt.sourcePolicies.some((policy) => policy.state !== "authorized") || receipt.trainingEvidenceRefs.length === 0 || receipt.signal.strength !== "usable" || !receipt.signal.calibrated || receipt.signal.confounded;
4203
+ if (missingGate) {
4204
+ context.addIssue({
4205
+ code: "custom",
4206
+ message: "qualified model improvement requires frozen lineage, authorized signal, privacy, and budget gates"
4207
+ });
4208
+ }
4209
+ if (receipt.decision === "sft" && receipt.signal.kind !== "demonstrations") {
4210
+ context.addIssue({
4211
+ code: "custom",
4212
+ message: "SFT qualification requires demonstration signal",
4213
+ path: ["signal", "kind"]
4214
+ });
4215
+ }
4216
+ if (receipt.decision === "preference" && receipt.signal.kind !== "chosen_rejected") {
4217
+ context.addIssue({
4218
+ code: "custom",
4219
+ message: "preference qualification requires chosen/rejected signal",
4220
+ path: ["signal", "kind"]
4221
+ });
4222
+ }
4223
+ if (receipt.decision === "rl" && (receipt.signal.kind !== "scalar_reward" || receipt.signal.variance === null || receipt.signal.variance <= 0)) {
4224
+ context.addIssue({
4225
+ code: "custom",
4226
+ message: "RL qualification requires a usable scalar reward with variance",
4227
+ path: ["signal"]
4228
+ });
4229
+ }
4230
+ });
4231
+ var ModelImprovementQualificationReceiptSchema = ModelImprovementQualificationReceiptContentSchema.extend({
4232
+ contentHash: ReleaseHashSchema
4233
+ }).strict();
4234
+ function createModelImprovementQualificationReceipt(input) {
4235
+ const content = ModelImprovementQualificationReceiptContentSchema.parse(input);
4236
+ return ModelImprovementQualificationReceiptSchema.parse({
4237
+ ...content,
4238
+ contentHash: contentHash(content)
4239
+ });
4240
+ }
4241
+ function refKey(reference2) {
4242
+ return `${reference2.id}:${reference2.contentHash}`;
4243
+ }
4244
+
4245
+ // ../../packages/evals/dist/review-conformance.js
4246
+ var createdAt = "2026-08-08T12:00:00.000Z";
4247
+ var harnessRelease = ref("harness-release");
4248
+ var sourcePolicy = {
4249
+ policy: ref("source-policy"),
4250
+ state: "authorized",
4251
+ checkedAt: createdAt
4252
+ };
4253
+ var evidence = (id, kind) => ({
4254
+ evidence: ref(id),
4255
+ kind,
4256
+ sourceRef: `source-${id}`,
4257
+ sourcePolicy,
4258
+ occurrenceKey: contentHash(`occurrence-${id}`),
4259
+ occurredAt: createdAt
4260
+ });
4261
+ var watermark = {
4262
+ cursor: contentHash("review-watermark"),
4263
+ throughCreatedAt: createdAt
4264
+ };
4265
+ var claim = (family, count = 3) => ({
4266
+ fingerprint: contentHash(`claim-${family}`),
4267
+ recurrenceFamily: family,
4268
+ statement: `The ${family} behavior remains unresolved after smaller-layer triage.`,
4269
+ independentOccurrences: count,
4270
+ unresolvedOccurrences: count
4271
+ });
4272
+ var noAction = createHarnessEvaluationReviewReceipt({
4273
+ schemaVersion: "openpond.harnessEvaluationReviewReceipt.v1",
4274
+ id: "review-no-action",
4275
+ ownerScope: { kind: "personal", id: "owner-1" },
4276
+ workspaceRef: "workspace-1",
4277
+ harnessRelease,
4278
+ previousWatermark: null,
4279
+ nextWatermark: watermark,
4280
+ selectedEvidence: [],
4281
+ excludedEvidence: [],
4282
+ claim: null,
4283
+ classification: "no_action",
4284
+ triage: [],
4285
+ reason: "The bounded evidence window contains no unresolved reusable claim.",
4286
+ nextAuthority: "none",
4287
+ maxEstimatedCostUsd: 0,
4288
+ tasksetProposal: null,
4289
+ evaluation: null,
4290
+ trainingQualification: null,
4291
+ policyVersion: "harness-review-policy-v1",
4292
+ createdAt,
4293
+ metadata: {}
4294
+ });
4295
+ var runtime = createHarnessEvaluationReviewReceipt({
4296
+ ...withoutHash2(noAction),
4297
+ id: "review-runtime",
4298
+ selectedEvidence: [evidence("runtime-failure", "observation")],
4299
+ claim: claim("runtime-transport-failure", 1),
4300
+ classification: "runtime",
4301
+ triage: [
4302
+ {
4303
+ layer: "runtime",
4304
+ status: "unresolved",
4305
+ reason: "The adapter failed before model policy could affect the result.",
4306
+ evidenceRefs: [ref("runtime-failure")]
4307
+ }
4308
+ ],
4309
+ reason: "A deterministic runtime regression is the smallest correct fix.",
4310
+ nextAuthority: "runtime_service"
4311
+ });
4312
+ var product = createHarnessEvaluationReviewReceipt({
4313
+ ...withoutHash2(noAction),
4314
+ id: "review-product",
4315
+ selectedEvidence: [evidence("product-routing", "route_decision")],
4316
+ claim: claim("product-routing-defect", 1),
4317
+ classification: "product",
4318
+ triage: [
4319
+ {
4320
+ layer: "product",
4321
+ status: "unresolved",
4322
+ reason: "The product selected an unrelated Skill for an ordinary Work turn.",
4323
+ evidenceRefs: [ref("product-routing")]
4324
+ }
4325
+ ],
4326
+ reason: "Product routing must be corrected before behavioral Evaluation.",
4327
+ nextAuthority: "product_team"
4328
+ });
4329
+ var taskset = createHarnessEvaluationReviewReceipt({
4330
+ ...withoutHash2(noAction),
4331
+ id: "review-taskset",
4332
+ selectedEvidence: [
4333
+ evidence("failure-1", "work_outcome"),
4334
+ evidence("failure-2", "work_outcome"),
4335
+ evidence("failure-3", "work_outcome")
4336
+ ],
4337
+ claim: claim("search-budget-allocation"),
4338
+ classification: "taskset",
4339
+ triage: [
4340
+ {
4341
+ layer: "harness",
4342
+ status: "unresolved",
4343
+ reason: "The active research Skill did not resolve three independent failures.",
4344
+ evidenceRefs: [ref("failure-1"), ref("failure-2"), ref("failure-3")]
4345
+ }
4346
+ ],
4347
+ reason: "The repeated behavioral claim now needs controlled measurement.",
4348
+ nextAuthority: "human_review",
4349
+ tasksetProposal: ref("taskset-proposal"),
4350
+ maxEstimatedCostUsd: 2
4351
+ });
4352
+ var blockedRl = createModelImprovementQualificationReceipt({
4353
+ schemaVersion: "openpond.modelImprovementQualificationReceipt.v1",
4354
+ id: "qualification-rl-blocked",
4355
+ review: reference(taskset),
4356
+ harnessRelease,
4357
+ tasksetRelease: ref("taskset-release"),
4358
+ baselineEvaluation: ref("baseline-evaluation"),
4359
+ model: modelRef(),
4360
+ environmentHash: contentHash("environment"),
4361
+ toolContractHash: contentHash("tools"),
4362
+ permissionContractHash: contentHash("permissions"),
4363
+ policyHash: contentHash("policy"),
4364
+ verifierRef: ref("verifier"),
4365
+ sourcePolicies: [sourcePolicy],
4366
+ trainingEvidenceRefs: [ref("training-evidence")],
4367
+ frozenEvaluationEvidenceRefs: [ref("frozen-evidence")],
4368
+ privacyApproval: ref("privacy-approval"),
4369
+ budgetApproval: ref("budget-approval"),
4370
+ maximumCostUsd: 25,
4371
+ signal: {
4372
+ kind: "scalar_reward",
4373
+ strength: "weak",
4374
+ calibrated: true,
4375
+ confounded: false,
4376
+ variance: 0,
4377
+ evidenceRefs: [ref("reward-audit")]
4378
+ },
4379
+ decision: "no_training",
4380
+ reasons: ["The observed reward is constant and cannot support RL."],
4381
+ createdAt,
4382
+ metadata: { blockedMethod: "rl" }
4383
+ });
4384
+ var qualifiedRl = createModelImprovementQualificationReceipt({
4385
+ ...withoutHash2(blockedRl),
4386
+ id: "qualification-rl-qualified",
4387
+ signal: {
4388
+ kind: "scalar_reward",
4389
+ strength: "usable",
4390
+ calibrated: true,
4391
+ confounded: false,
4392
+ variance: 0.18,
4393
+ evidenceRefs: [ref("reward-audit")]
4394
+ },
4395
+ decision: "rl",
4396
+ reasons: [
4397
+ "The frozen baseline has usable variance and a calibrated sequential reward."
4398
+ ]
4399
+ });
4400
+ var modelImprovement = createHarnessEvaluationReviewReceipt({
4401
+ ...withoutHash2(noAction),
4402
+ id: "review-model-improvement",
4403
+ selectedEvidence: [
4404
+ evidence("baseline-evaluation", "evaluation"),
4405
+ evidence("qualification-rl-qualified", "training_qualification")
4406
+ ],
4407
+ claim: claim("search-budget-allocation"),
4408
+ classification: "model_improvement",
4409
+ triage: [
4410
+ {
4411
+ layer: "model",
4412
+ status: "unresolved",
4413
+ reason: "Harness, runtime, product, retrieval, and tool triage left a qualified sequential policy gap.",
4414
+ evidenceRefs: [ref("baseline-evaluation"), reference(qualifiedRl)]
4415
+ }
4416
+ ],
4417
+ reason: "The qualified claim may proceed to a separately approved managed-training plan.",
4418
+ nextAuthority: "training_system",
4419
+ tasksetProposal: ref("taskset-proposal"),
4420
+ evaluation: ref("baseline-evaluation"),
4421
+ trainingQualification: reference(qualifiedRl),
4422
+ maxEstimatedCostUsd: 25
4423
+ });
4424
+ function ref(id) {
4425
+ return { id, contentHash: contentHash(id) };
4426
+ }
4427
+ function reference(value) {
4428
+ return { id: value.id, contentHash: value.contentHash };
4429
+ }
4430
+ function withoutHash2(value) {
4431
+ const { contentHash: _contentHash, ...content } = value;
4432
+ return content;
4433
+ }
4434
+ function modelRef() {
4435
+ return {
4436
+ provider: "openpond",
4437
+ model: "openpond-chat",
4438
+ revision: "model-revision-1",
4439
+ artifactHash: contentHash("model-artifact"),
4440
+ tokenizerRevision: "tokenizer-1",
4441
+ chatTemplateHash: contentHash("chat-template")
4442
+ };
4443
+ }
4444
+
3962
4445
  export {
3963
4446
  CONNECTED_APP_PROVIDER_TOOL_NAMES,
3964
4447
  CONNECTED_APP_TOOL_CALL_ENDPOINT,
@@ -4000,6 +4483,10 @@ export {
4000
4483
  createHarnessImprovementProposal,
4001
4484
  createHarnessTargetedValidationReceipt,
4002
4485
  createHarnessAdvanceReceipt,
4486
+ HarnessReviewSourcePolicyRefSchema,
4487
+ HarnessReviewWatermarkSchema,
4488
+ HarnessEvaluationReviewReceiptSchema,
4489
+ createHarnessEvaluationReviewReceipt,
4003
4490
  ToolDeclarationSchema,
4004
4491
  CapabilityRequirementSchema,
4005
4492
  AgentSnapshotSchema,
@@ -4032,6 +4519,7 @@ export {
4032
4519
  sameWorkspaceRevision,
4033
4520
  stableId2 as stableId,
4034
4521
  AttemptReceiptSchema,
4522
+ EvaluationResultSchema,
4035
4523
  createRunManifest,
4036
4524
  createAttemptReceipt,
4037
4525
  aggregateEvaluationReceipts,
@@ -4050,5 +4538,7 @@ export {
4050
4538
  createWorkFeedbackReceipt,
4051
4539
  workEvidenceReceiptRef,
4052
4540
  WorkEvidencePolicyStateSchema,
4053
- classifyWorkEvidence
4541
+ classifyWorkEvidence,
4542
+ ModelImprovementQualificationReceiptSchema,
4543
+ createModelImprovementQualificationReceipt
4054
4544
  };
@@ -3,12 +3,12 @@ import {
3
3
  resolveWebLaunchMessages,
4
4
  runOpenPondAppServerCli,
5
5
  runOpenPondServerCli
6
- } from "./chunk-YYLUURQ4.js";
7
- import "./chunk-YEKQWRBS.js";
8
- import "./chunk-ZTE6A2VE.js";
9
- import "./chunk-L7SIUJEV.js";
10
- import "./chunk-2SF6HLT7.js";
11
- import "./chunk-M2NXTLH2.js";
6
+ } from "./chunk-JBUNQVLP.js";
7
+ import "./chunk-SLTKA5AW.js";
8
+ import "./chunk-2NP3E4GP.js";
9
+ import "./chunk-HKJG7VBI.js";
10
+ import "./chunk-53YZBGDC.js";
11
+ import "./chunk-ZXWFYFFB.js";
12
12
  import "./chunk-WYDVQOBL.js";
13
13
  import "./chunk-KHNHUA2H.js";
14
14
  import "./chunk-UACZUFIA.js";