@pome-sh/cli 0.26.9 → 0.26.10

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 (27) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/{checks-NSHCXA6N.js → checks-3LVRPHOK.js} +4 -4
  3. package/dist/{chunk-IDNSKKEC.js → chunk-2ZGVDTJC.js} +1 -1
  4. package/dist/{chunk-RG32W733.js → chunk-6IVXTU67.js} +3 -3
  5. package/dist/{chunk-JUESW6G4.js → chunk-6KJC4BTO.js} +5 -5
  6. package/dist/{chunk-X7V5DMA7.js → chunk-ANKO3RCB.js} +4 -4
  7. package/dist/{chunk-64NZFX4Z.js → chunk-BZO3YCJS.js} +1 -1
  8. package/dist/{chunk-WEKJIGUD.js → chunk-CFXEETE3.js} +4 -4
  9. package/dist/{chunk-O5MCNQY4.js → chunk-CXGMLUZ4.js} +1 -1
  10. package/dist/{chunk-CKN743FJ.js → chunk-EIUCTFQV.js} +11 -11
  11. package/dist/{chunk-5EV4SG3F.js → chunk-FQGR7KDT.js} +3 -3
  12. package/dist/{chunk-2Q3P45LK.js → chunk-IZFM7W2V.js} +1 -1
  13. package/dist/{chunk-5EE7YWA3.js → chunk-KIXYRPVY.js} +2 -2
  14. package/dist/{chunk-B22TYIEM.js → chunk-QXQAVKTE.js} +6 -6
  15. package/dist/{runDemo-SA55CMWG.js → runDemo-XO5R5QTM.js} +8 -8
  16. package/dist/{runTrialGroup-IXIVA2R3.js → runTrialGroup-CLJJOO4J.js} +8 -8
  17. package/dist/{server-TPAFPKLC.js → server-TK5YBK6E.js} +2 -2
  18. package/dist/src/cli/main.js +20 -20
  19. package/dist/{src-AAF7TZMO.js → src-FXRQSKBK.js} +31 -32
  20. package/dist/{src-2M54EY2P.js → src-GWA7QVQS.js} +9 -9
  21. package/dist/{src-UEO2KIBJ.js → src-JJNS46T6.js} +55 -55
  22. package/dist/{src-4E5WAGNJ.js → src-L6F5YXSP.js} +14 -14
  23. package/dist/{src-Q4MBHYC5.js → src-Q4JNJE5S.js} +14 -14
  24. package/dist/twinHarness-6NVAKIOB.js +5 -0
  25. package/dist/{twinStart-2VP545N6.js → twinStart-WIT4UVAC.js} +4 -4
  26. package/package.json +1 -1
  27. package/dist/twinHarness-OC6VQRXO.js +0 -5
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "package": "pome-sh",
3
- "version": "0.26.9",
4
- "git_sha": "67b8f65f860de730a4a9136d74c91f89b2110542",
5
- "build_time": "2026-08-23T08:11:22.683Z"
3
+ "version": "0.26.10",
4
+ "git_sha": "dc130eecd4b26498dee164b4ba3ad4750b4c9f39",
5
+ "build_time": "2026-08-23T18:53:01.788Z"
6
6
  }
@@ -1,8 +1,8 @@
1
- import { findManifestPath, readManifest } from './chunk-O5MCNQY4.js';
1
+ import { findManifestPath, readManifest } from './chunk-CXGMLUZ4.js';
2
2
  import { getAvailablePort } from './chunk-XDU6TD4O.js';
3
3
  import { buildEgressAllowlist } from './chunk-CBFKZZBR.js';
4
- import './chunk-64NZFX4Z.js';
5
- import './chunk-JUESW6G4.js';
4
+ import './chunk-BZO3YCJS.js';
5
+ import './chunk-6KJC4BTO.js';
6
6
  import './chunk-SG6ZTIMT.js';
7
7
  import { serve } from '@hono/node-server';
8
8
  import { randomUUID, randomBytes } from 'node:crypto';
@@ -183,7 +183,7 @@ async function checkTwinReachable(_configDir) {
183
183
  });
184
184
  let harness;
185
185
  try {
186
- const { bootTwin } = await import('./twinHarness-OC6VQRXO.js');
186
+ const { bootTwin } = await import('./twinHarness-6NVAKIOB.js');
187
187
  harness = await bootTwin({
188
188
  twin: "github",
189
189
  seedState: void 0,
@@ -179,7 +179,7 @@ var noReactionAdded = defineCheck({
179
179
  polarity: () => "negative",
180
180
  // The reaction name, because that is the literal this predicate compares
181
181
  // against `reactions[].name` — the line below has said so since the check
182
- // shipped, and this field said `null` anyway (F-1157).
182
+ // shipped, and this field said `null` anyway.
183
183
  //
184
184
  // It is the sharpest case in the vocabulary for why that mattered. A NEGATIVE
185
185
  // criterion asserting a scanned literal is absent reads a redactor's work as
@@ -1,6 +1,6 @@
1
- import { readManifest, normalizeManifestTwins } from './chunk-O5MCNQY4.js';
2
- import { createHostedClient, perTwinReturnedByCloud, parseTaskFile, runAgentCommand, writeRunArtifactsCore, toTwinHttpEvent, redactJsonl, uploadRunBlobs, scoreFromFinalizeResponse, scoreStatus, evaluationCounts } from './chunk-X7V5DMA7.js';
3
- import { MOUNTED_TWINS, HostedAuthError, HostedDiscardRefusedError, HostedQuotaError, HostedOrchError, HostedTrialError, agentResponseSchema } from './chunk-64NZFX4Z.js';
1
+ import { readManifest, normalizeManifestTwins } from './chunk-CXGMLUZ4.js';
2
+ import { createHostedClient, perTwinReturnedByCloud, parseTaskFile, runAgentCommand, writeRunArtifactsCore, toTwinHttpEvent, redactJsonl, uploadRunBlobs, scoreFromFinalizeResponse, scoreStatus, evaluationCounts } from './chunk-ANKO3RCB.js';
3
+ import { MOUNTED_TWINS, HostedAuthError, HostedDiscardRefusedError, HostedQuotaError, HostedOrchError, HostedTrialError, agentResponseSchema } from './chunk-BZO3YCJS.js';
4
4
  import { redactSecrets, redactEvent } from './chunk-SG6ZTIMT.js';
5
5
  import { randomUUID, createHash } from 'node:crypto';
6
6
  import { rm, readFile, stat, mkdir, writeFile, chmod, mkdtemp, readdir, rename } from 'node:fs/promises';
@@ -18,7 +18,7 @@ var recorderEventObjectSchema = z.object({
18
18
  // the correlator (dynamic grouping: "this event landed in Step stp_xyz").
19
19
  // 90% of events use only one; both can coexist.
20
20
  //
21
- // W3 vocab (FDRS-653): `task_step_id` is canonical; `scenario_step_id` is
21
+ // Task vocab: `task_step_id` is canonical; `scenario_step_id` is
22
22
  // the 0.3.0-era spelling. BOTH stay in the schema for the tolerant-reader
23
23
  // window — this row shape is the frozen v1 trace format and its emitters
24
24
  // (twin runtimes, shipped CLIs on vendored 0.3.0) still write the old key.
@@ -34,7 +34,7 @@ var recorderEventObjectSchema = z.object({
34
34
  method: z.string().min(1),
35
35
  path: z.string(),
36
36
  request_body: z.unknown(),
37
- // F-1125 — the request headers as received, keys lowercased by the runtime.
37
+ // The request headers as received, keys lowercased by the runtime.
38
38
  //
39
39
  // Recorded WHOLESALE rather than through an allowlist. An allowlist is a
40
40
  // narrowing no downstream consumer can lift and no task author can extend,
@@ -46,14 +46,14 @@ var recorderEventObjectSchema = z.object({
46
46
  // by key. Asserted both ways in `packages/sdk/test/redaction.test.ts`: the
47
47
  // bearer must not survive, and `x-payment` must.
48
48
  //
49
- // Optional, not nullable: ABSENT means this row predates F-1125, and a
49
+ // Optional, not nullable: ABSENT means this row predates the field, and a
50
50
  // present-but-empty map would erase that distinction. A required field here
51
51
  // would be far worse than a missing one — `twinHttpEventSchema` is the only
52
52
  // gate into the cloud's tape and a row that fails it is dropped SILENTLY, so
53
53
  // every recording an older CLI wrote would arrive as an empty tape, which for
54
54
  // a negative criterion is a free pass.
55
55
  request_headers: z.record(z.string(), z.string()).optional(),
56
- // F-1125 — the twin ACTION this call invoked, when the twin declares one for
56
+ // The twin ACTION this call invoked, when the twin declares one for
57
57
  // the surface that served it. This is the field that stops a tape check from
58
58
  // reverse-engineering a tool name out of an MCP transport path.
59
59
  //
@@ -335,7 +335,7 @@ var otelSpanEventObjectSchema = z.object({
335
335
  // ── shared event-union base (mirrors `eventBaseShape` in recorder-events.ts) ─
336
336
  ts: z.string().datetime(),
337
337
  event_id: canonicalSpanIdSchema,
338
- // F-1200 — `parent_event_id` replaces `parent_id`. For THIS kind the field is
338
+ // `parent_event_id` replaces `parent_id`. For THIS kind the field is
339
339
  // fully redundant with `parent_span_id` (the invariant below pins them
340
340
  // equal), so the tolerant read needs no `parent_id` lookup at all: a row
341
341
  // written under either spelling normalizes to the same value, derived from
@@ -1,9 +1,9 @@
1
- import { criterionSchema, finalizeResponseSchema, HostedDiscardRefusedError, HostedOrchError, HostedAuthError, HostedQuotaError, submitResultResponseSchema, createEvalSessionResponseSchema, createSessionResponseSchema, sessionPublicSchema } from './chunk-64NZFX4Z.js';
2
- import { seedSchema, parseSeed, defaultSeedState as defaultSeedState$2 } from './chunk-B22TYIEM.js';
1
+ import { criterionSchema, finalizeResponseSchema, HostedDiscardRefusedError, HostedOrchError, HostedAuthError, HostedQuotaError, submitResultResponseSchema, createEvalSessionResponseSchema, createSessionResponseSchema, sessionPublicSchema } from './chunk-BZO3YCJS.js';
2
+ import { seedSchema, parseSeed, defaultSeedState as defaultSeedState$2 } from './chunk-QXQAVKTE.js';
3
3
  import { gmailSeedSchema, defaultSeedState } from './chunk-NJ246QPJ.js';
4
4
  import { linearSeedSchema, defaultSeedState as defaultSeedState$1 } from './chunk-IZIZC7ZW.js';
5
- import { isTwinName, TWIN_REGISTRY } from './chunk-CKN743FJ.js';
6
- import { toTwinHttpEventRow } from './chunk-WEKJIGUD.js';
5
+ import { isTwinName, TWIN_REGISTRY } from './chunk-EIUCTFQV.js';
6
+ import { toTwinHttpEventRow } from './chunk-CFXEETE3.js';
7
7
  import { redactEvent, redactSecrets } from './chunk-SG6ZTIMT.js';
8
8
  import { mkdir, appendFile, writeFile, readFile } from 'node:fs/promises';
9
9
  import { existsSync } from 'node:fs';
@@ -1,4 +1,4 @@
1
- import { twinIdSchema } from './chunk-JUESW6G4.js';
1
+ import { twinIdSchema } from './chunk-6KJC4BTO.js';
2
2
  import { z } from 'zod';
3
3
 
4
4
  var SLUG_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
@@ -970,13 +970,13 @@ function buildEventCore(c, deps, fields) {
970
970
  task_step_id: stepId,
971
971
  scenario_step_id: stepId,
972
972
  step_id: null,
973
- // FDRS-402 adapter-rich path — per-twin pin, see recorder.ts (F-682).
973
+ // adapter-rich path — per-twin pin, see recorder.ts.
974
974
  tool_call_id: deps.definition.stampToolCallId ? correlationHeader : null,
975
975
  method: c.req.method,
976
976
  path: new URL(c.req.url).pathname,
977
977
  request_body: fields.requestBody,
978
978
  request_headers: recordedRequestHeaders(c),
979
- // F-1125 — the whole reason the field exists. This surface is where the
979
+ // The whole reason the field exists. This surface is where the
980
980
  // tool name used to be reachable only by digging it out of `request_body`
981
981
  // on a `/mcp` path; a check that had to do that was reverse-engineering
982
982
  // transport, and getting it wrong false-passes a negative criterion.
@@ -1176,7 +1176,7 @@ function createRecorderHandle(options) {
1176
1176
  task_step_id: stepId,
1177
1177
  scenario_step_id: stepId,
1178
1178
  step_id: null,
1179
- // FDRS-402 adapter-rich path: only twins that pin `stampToolCallId`
1179
+ // adapter-rich path: only twins that pin `stampToolCallId`
1180
1180
  // persist the header here (github); the default tape stamps null.
1181
1181
  tool_call_id: options.stampToolCallId ? correlationHeader : null,
1182
1182
  method: c.req.method,
@@ -1478,7 +1478,7 @@ function failureInjectionMiddleware(store, options) {
1478
1478
  method,
1479
1479
  path: rawPath,
1480
1480
  request_body: requestBody,
1481
- // F-1125 — same capture policy as the engine's emit(); an injected
1481
+ // Same capture policy as the engine's emit(); an injected
1482
1482
  // fault must not be the one row a header-reading check cannot see.
1483
1483
  request_headers: recordedRequestHeaders(c),
1484
1484
  // Injection is transport-level: it intercepts a (method, path) tuple,
@@ -1,4 +1,4 @@
1
- import { HostedOrchError, manifestSchema, deriveAgentSlug, SLUG_RE } from './chunk-64NZFX4Z.js';
1
+ import { HostedOrchError, manifestSchema, deriveAgentSlug, SLUG_RE } from './chunk-BZO3YCJS.js';
2
2
  import { readFile, writeFile } from 'node:fs/promises';
3
3
  import { resolve, join, dirname } from 'node:path';
4
4
  import { stringify, parse } from 'yaml';
@@ -39,7 +39,7 @@ var TWIN_REGISTRY = {
39
39
  defaultSeedState,
40
40
  GitHubDomain,
41
41
  openGitHubCloneDatabase
42
- } = await import('./src-UEO2KIBJ.js');
42
+ } = await import('./src-JJNS46T6.js');
43
43
  const db = openGitHubCloneDatabase();
44
44
  const domain = new GitHubDomain(db);
45
45
  domain.seed(seedState === void 0 ? defaultSeedState() : seedState);
@@ -59,9 +59,9 @@ var TWIN_REGISTRY = {
59
59
  envName: "SLACK",
60
60
  defaultPort: 3333,
61
61
  version: package_default2.version,
62
- defaultSeed: async () => (await import('./src-4E5WAGNJ.js')).defaultSeedState(),
62
+ defaultSeed: async () => (await import('./src-L6F5YXSP.js')).defaultSeedState(),
63
63
  async boot({ seedState, runId, recorder }) {
64
- const { createSlackTwinApp, openSlackTwinDatabase, SlackDomain } = await import('./src-4E5WAGNJ.js');
64
+ const { createSlackTwinApp, openSlackTwinDatabase, SlackDomain } = await import('./src-L6F5YXSP.js');
65
65
  const db = openSlackTwinDatabase(":memory:");
66
66
  const domain = new SlackDomain(db);
67
67
  domain.applySeed(seedState);
@@ -84,10 +84,10 @@ var TWIN_REGISTRY = {
84
84
  envName: "STRIPE",
85
85
  defaultPort: 3333,
86
86
  version: package_default3.version,
87
- defaultSeed: async () => (await import('./src-AAF7TZMO.js')).defaultSeed(),
87
+ defaultSeed: async () => (await import('./src-FXRQSKBK.js')).defaultSeed(),
88
88
  async boot({ seedState, runId, recorder, twinBaseUrl }) {
89
- const stripeTwin = await import('./src-AAF7TZMO.js');
90
- const { createApp } = await import('./server-TPAFPKLC.js');
89
+ const stripeTwin = await import('./src-FXRQSKBK.js');
90
+ const { createApp } = await import('./server-TK5YBK6E.js');
91
91
  const {
92
92
  applySeed: applyStripeSeed,
93
93
  createTwinStripeApp,
@@ -128,9 +128,9 @@ var TWIN_REGISTRY = {
128
128
  portEnvName: "GMAIL_TWIN_PORT",
129
129
  tokenEnvName: "POME_GMAIL_TOKEN",
130
130
  version: package_default4.version,
131
- defaultSeed: async () => (await import('./src-2M54EY2P.js')).defaultSeedState(),
131
+ defaultSeed: async () => (await import('./src-GWA7QVQS.js')).defaultSeedState(),
132
132
  async boot({ seedState, runId, recorder }) {
133
- const { createGmailTwinApp, GmailDomain, openGmailTwinDatabase, parseSeed } = await import('./src-2M54EY2P.js');
133
+ const { createGmailTwinApp, GmailDomain, openGmailTwinDatabase, parseSeed } = await import('./src-GWA7QVQS.js');
134
134
  const db = openGmailTwinDatabase(":memory:");
135
135
  const seed = parseSeed(seedState);
136
136
  const domain = new GmailDomain(db);
@@ -149,7 +149,7 @@ var TWIN_REGISTRY = {
149
149
  portEnvName: "LINEAR_TWIN_PORT",
150
150
  tokenEnvName: "POME_LINEAR_TOKEN",
151
151
  version: package_default5.version,
152
- defaultSeed: async () => (await import('./src-Q4MBHYC5.js')).defaultSeedState(),
152
+ defaultSeed: async () => (await import('./src-Q4JNJE5S.js')).defaultSeedState(),
153
153
  async boot({ seedState, runId, recorder }) {
154
154
  const {
155
155
  createLinearTwinApp,
@@ -157,7 +157,7 @@ var TWIN_REGISTRY = {
157
157
  LinearDomain,
158
158
  openLinearTwinDatabase,
159
159
  parseSeed
160
- } = await import('./src-Q4MBHYC5.js');
160
+ } = await import('./src-Q4JNJE5S.js');
161
161
  const db = openLinearTwinDatabase(":memory:");
162
162
  const seed = parseSeed(seedState);
163
163
  const domain = new LinearDomain(db);
@@ -173,7 +173,7 @@ var TWIN_REGISTRY = {
173
173
  }
174
174
  };
175
175
  async function createGitHubSmokeApp() {
176
- const { createGitHubCloneApp } = await import('./src-UEO2KIBJ.js');
176
+ const { createGitHubCloneApp } = await import('./src-JJNS46T6.js');
177
177
  return createGitHubCloneApp();
178
178
  }
179
179
  function defaultPortFor(twin, env = process.env) {
@@ -1,8 +1,8 @@
1
1
  import { getAvailablePort } from './chunk-XDU6TD4O.js';
2
2
  import { buildEgressAllowlist, readBlockedEgress } from './chunk-CBFKZZBR.js';
3
- import { parseTaskFile, seedStateForTwin, runAgentCommand, writeRunArtifactsCore } from './chunk-X7V5DMA7.js';
4
- import { createRecorder, bootTwin } from './chunk-5EE7YWA3.js';
5
- import { eventSchema } from './chunk-JUESW6G4.js';
3
+ import { parseTaskFile, seedStateForTwin, runAgentCommand, writeRunArtifactsCore } from './chunk-ANKO3RCB.js';
4
+ import { createRecorder, bootTwin } from './chunk-KIXYRPVY.js';
5
+ import { eventSchema } from './chunk-6KJC4BTO.js';
6
6
  import { redactSecrets, redactEvent } from './chunk-SG6ZTIMT.js';
7
7
  import { serve } from '@hono/node-server';
8
8
  import { randomUUID, randomBytes } from 'node:crypto';
@@ -132,7 +132,7 @@ function declareRouteInputs(spec) {
132
132
  function routeInputDeclarer(undeclared) {
133
133
  return (spec) => {
134
134
  if (spec.undeclared !== void 0) {
135
- throw new Error(`route-inputs: ${spec.method} ${spec.path} sets undeclared: '${spec.undeclared}' on its own spec, but its twin already rules '${undeclared}' for every route \u2014 the disposition is one ruling per twin (F-1372)`);
135
+ throw new Error(`route-inputs: ${spec.method} ${spec.path} sets undeclared: '${spec.undeclared}' on its own spec, but its twin already rules '${undeclared}' for every route \u2014 the disposition is one ruling per twin`);
136
136
  }
137
137
  return declareRouteInputs({ ...spec, undeclared });
138
138
  };
@@ -1,5 +1,5 @@
1
- import { TWIN_NAMES, isTwinName, TWIN_REGISTRY } from './chunk-CKN743FJ.js';
2
- import { createFileBackedRecorderStore, createRecorderStore } from './chunk-WEKJIGUD.js';
1
+ import { TWIN_NAMES, isTwinName, TWIN_REGISTRY } from './chunk-EIUCTFQV.js';
2
+ import { createFileBackedRecorderStore, createRecorderStore } from './chunk-CFXEETE3.js';
3
3
 
4
4
  // src/recorder/recorder.ts
5
5
  function createRecorder(options = {}) {
@@ -19,7 +19,7 @@ var seedSchema = z.object({
19
19
  color: z.string().default("ededed"),
20
20
  description: z.string().default("")
21
21
  })).default([]),
22
- // F-1500 — `renamed_from` is how a seed expresses a MOVE, and with it the
22
+ // `renamed_from` is how a seed expresses a MOVE, and with it the
23
23
  // `status: "renamed"` the row type has always declared and no world could
24
24
  // reach. A seeded branch is created from the default branch and inherits
25
25
  // every path, and a plain `files[]` entry can only add or overwrite, so
@@ -65,7 +65,7 @@ var seedSchema = z.object({
65
65
  });
66
66
  }
67
67
  })).default([]),
68
- // F-1421 — milestones, tags and releases are repository-level entities the
68
+ // Milestones, tags and releases are repository-level entities the
69
69
  // twin already SERVES (`GET /milestones`, `/tags`, `/releases`,
70
70
  // `/releases/latest`, `/releases/tags/:tag`) and the seed could not
71
71
  // express. Zod strips unknown keys, so a seed naming one reached the
@@ -111,7 +111,7 @@ var seedSchema = z.object({
111
111
  labels: z.array(z.string().min(1)).default([]),
112
112
  assignees: z.array(z.string().min(1)).default([]),
113
113
  // The issue's conversation timeline, served at
114
- // `GET /repos/:o/:r/issues/:n/comments` (F-1421). `author` is
114
+ // `GET /repos/:o/:r/issues/:n/comments`. `author` is
115
115
  // seeded honestly rather than taken from the write path, which
116
116
  // stamps every comment `pome-agent`: a world in which the agent
117
117
  // under test wrote every comment on the issue it is being asked to
@@ -144,9 +144,9 @@ var seedSchema = z.object({
144
144
  state: z.enum(["error", "failure", "pending", "success"]).default("success"),
145
145
  description: z.string().default("")
146
146
  })).default([]),
147
- // F-1421 — the PR's CONVERSATION timeline. Same table, same route
147
+ // The PR's CONVERSATION timeline. Same table, same route
148
148
  // and same number space as an issue's comments, because GitHub
149
- // models a pull request as an issue (F-1151). This is the third
149
+ // models a pull request as an issue. This is the third
150
150
  // thing a reader could call "a comment on the PR" and the seed
151
151
  // keeps all three apart: `reviews[].body` is the prose on a review
152
152
  // verdict, `review_comments[]` below is anchored to a file and
@@ -155,7 +155,7 @@ var seedSchema = z.object({
155
155
  body: z.string().min(1),
156
156
  author: z.string().min(1).optional()
157
157
  })).default([]),
158
- // F-1421 — inline review comments, served at
158
+ // Inline review comments, served at
159
159
  // `GET /repos/:o/:r/pulls/:n/comments`. Seeded through the domain's
160
160
  // own write path, so `path` must name a file the PR changes and
161
161
  // `line` must exist in it: a seeded review comment is one
@@ -1,18 +1,18 @@
1
1
  import { newGroupId, reassuranceBox, twinReadyLine, trialsHeaderLine, trialLine, summaryLines, evaluatingLine, criterionPhrase } from './chunk-RGZBC7NF.js';
2
2
  import { DemoCapacityError, capacityLabel, parseCapacityMarker, capacityKindFrom } from './chunk-ZX4WNSZ5.js';
3
- import { runTask, demoTaskPath, DEMO_TASK_NAME, DEMO_REPO } from './chunk-5EV4SG3F.js';
3
+ import { runTask, demoTaskPath, DEMO_TASK_NAME, DEMO_REPO } from './chunk-FQGR7KDT.js';
4
4
  import { getAvailablePort } from './chunk-XDU6TD4O.js';
5
5
  import './chunk-CBFKZZBR.js';
6
- import { createHostedClient, parseTaskFile, uploadRunBlobs, scoreFromFinalizeResponse, scoreStatus, outcomeOf } from './chunk-X7V5DMA7.js';
6
+ import { createHostedClient, parseTaskFile, uploadRunBlobs, scoreFromFinalizeResponse, scoreStatus, outcomeOf } from './chunk-ANKO3RCB.js';
7
7
  import './chunk-NW7HGA2K.js';
8
- import { HostedQuotaError, HostedOrchError } from './chunk-64NZFX4Z.js';
9
- import './chunk-B22TYIEM.js';
8
+ import { HostedQuotaError, HostedOrchError } from './chunk-BZO3YCJS.js';
9
+ import './chunk-QXQAVKTE.js';
10
10
  import './chunk-NJ246QPJ.js';
11
11
  import './chunk-IZIZC7ZW.js';
12
- import { bootTwin } from './chunk-5EE7YWA3.js';
13
- import './chunk-CKN743FJ.js';
14
- import './chunk-WEKJIGUD.js';
15
- import './chunk-JUESW6G4.js';
12
+ import { bootTwin } from './chunk-KIXYRPVY.js';
13
+ import './chunk-EIUCTFQV.js';
14
+ import './chunk-CFXEETE3.js';
15
+ import './chunk-6KJC4BTO.js';
16
16
  import './chunk-SG6ZTIMT.js';
17
17
  import { readFile } from 'node:fs/promises';
18
18
  import { join } from 'node:path';
@@ -1,15 +1,15 @@
1
1
  import { newGroupId, criterionPhrase } from './chunk-RGZBC7NF.js';
2
- import { runTaskHosted, resolveRunAgentIdentity } from './chunk-RG32W733.js';
3
- import './chunk-O5MCNQY4.js';
4
- import { createHostedClient, parseTaskFile, outcomeOf } from './chunk-X7V5DMA7.js';
2
+ import { runTaskHosted, resolveRunAgentIdentity } from './chunk-6IVXTU67.js';
3
+ import './chunk-CXGMLUZ4.js';
4
+ import { createHostedClient, parseTaskFile, outcomeOf } from './chunk-ANKO3RCB.js';
5
5
  import './chunk-NW7HGA2K.js';
6
- import { HostedQuotaError, HostedTrialError } from './chunk-64NZFX4Z.js';
7
- import './chunk-B22TYIEM.js';
6
+ import { HostedQuotaError, HostedTrialError } from './chunk-BZO3YCJS.js';
7
+ import './chunk-QXQAVKTE.js';
8
8
  import './chunk-NJ246QPJ.js';
9
9
  import './chunk-IZIZC7ZW.js';
10
- import './chunk-CKN743FJ.js';
11
- import './chunk-WEKJIGUD.js';
12
- import './chunk-JUESW6G4.js';
10
+ import './chunk-EIUCTFQV.js';
11
+ import './chunk-CFXEETE3.js';
12
+ import './chunk-6KJC4BTO.js';
13
13
  import './chunk-SG6ZTIMT.js';
14
14
  import { randomUUID } from 'node:crypto';
15
15
  import { readFile } from 'node:fs/promises';
@@ -1,3 +1,3 @@
1
- export { FAILURE_INJECTION_OVERRIDE_KEY, POME_RECORDER_EVENTS_PATH, PROVIDER_SHAPED_TEAM_ID, TwinBootError, TwinError, UnknownToolError, bearerAuth, createAdminGate, createApp, createFailureInjectionStore, createFileBackedRecorderStore, createRecorderHandle, createRecorderStore, created, ensureTwinAuthSecret, failureInjectionMiddleware, failureInjectionRuleSchema, formTokenResolver, isLoopbackHost, mintProviderToken, ok, queryTokenResolver, recordedRequestHeaders, requireAdminAuth, resolveAuthSecret, resolveRecorderStore, serve, setClientIp, setRecordedTool, toTwinHttpEventRow, twinBuildInfo, verifyProviderToken } from './chunk-WEKJIGUD.js';
2
- import './chunk-JUESW6G4.js';
1
+ export { FAILURE_INJECTION_OVERRIDE_KEY, POME_RECORDER_EVENTS_PATH, PROVIDER_SHAPED_TEAM_ID, TwinBootError, TwinError, UnknownToolError, bearerAuth, createAdminGate, createApp, createFailureInjectionStore, createFileBackedRecorderStore, createRecorderHandle, createRecorderStore, created, ensureTwinAuthSecret, failureInjectionMiddleware, failureInjectionRuleSchema, formTokenResolver, isLoopbackHost, mintProviderToken, ok, queryTokenResolver, recordedRequestHeaders, requireAdminAuth, resolveAuthSecret, resolveRecorderStore, serve, setClientIp, setRecordedTool, toTwinHttpEventRow, twinBuildInfo, verifyProviderToken } from './chunk-CFXEETE3.js';
2
+ import './chunk-6KJC4BTO.js';
3
3
  export { redactEvent, redactSecrets } from './chunk-SG6ZTIMT.js';
@@ -1,24 +1,24 @@
1
1
  #!/usr/bin/env node
2
- import { DEFAULT_CONTROL_PLANE_URL, DEFAULT_DASHBOARD_URL, clearLocalCredentials, friendlyHostedError, runSessionCreate, runSessionList, runSessionStop, resolveCredentials, runTaskHosted, discoverRunSet, VERDICT_ARTIFACT_VERSION, persistCredentialsAfterLogin, DEFAULT_DOCS_SITE_ORIGIN, resolveSeams, resolveCachedAgentId, readLinkCache, postAgentResolver, writeLinkCache, ensurePomeGitignored } from '../../chunk-RG32W733.js';
3
- import { readManifest, writeManifest, MANIFEST_JSON, readRequiredManifest, normalizeManifestTwins } from '../../chunk-O5MCNQY4.js';
4
- import { assetPath, runTask, resolvePackageRoot, DEMO_TASK_NAME, demoTaskPath } from '../../chunk-5EV4SG3F.js';
2
+ import { DEFAULT_CONTROL_PLANE_URL, DEFAULT_DASHBOARD_URL, clearLocalCredentials, friendlyHostedError, runSessionCreate, runSessionList, runSessionStop, resolveCredentials, runTaskHosted, discoverRunSet, VERDICT_ARTIFACT_VERSION, persistCredentialsAfterLogin, DEFAULT_DOCS_SITE_ORIGIN, resolveSeams, resolveCachedAgentId, readLinkCache, postAgentResolver, writeLinkCache, ensurePomeGitignored } from '../../chunk-6IVXTU67.js';
3
+ import { readManifest, writeManifest, MANIFEST_JSON, readRequiredManifest, normalizeManifestTwins } from '../../chunk-CXGMLUZ4.js';
4
+ import { assetPath, runTask, resolvePackageRoot, DEMO_TASK_NAME, demoTaskPath } from '../../chunk-FQGR7KDT.js';
5
5
  import '../../chunk-XDU6TD4O.js';
6
6
  import '../../chunk-CBFKZZBR.js';
7
- import { parseTaskFile, scoreStatus, runScoreLine, readLatestRun, readMetaSummary, outcomeOf, readConfigTwins, scoreCountsSummary, markerFor, criterionMarkerLabel, twinSkipSuffix, readCodeCriteria, createHostedClient, toTwinHttpEvent, redactJsonl, scoreFromFinalizeResponse, parseGitHubSeedState, uploadRunBlobs, isPreSatisfied } from '../../chunk-X7V5DMA7.js';
7
+ import { parseTaskFile, scoreStatus, runScoreLine, readLatestRun, readMetaSummary, outcomeOf, readConfigTwins, scoreCountsSummary, markerFor, criterionMarkerLabel, twinSkipSuffix, readCodeCriteria, createHostedClient, toTwinHttpEvent, redactJsonl, scoreFromFinalizeResponse, parseGitHubSeedState, uploadRunBlobs, isPreSatisfied } from '../../chunk-ANKO3RCB.js';
8
8
  import '../../chunk-NW7HGA2K.js';
9
- import { MOUNTED_TWINS, deriveAgentSlug, exitCodeFor, HostedUsageError, HostedOrchError, HostedAuthError, HostedQuotaError } from '../../chunk-64NZFX4Z.js';
9
+ import { MOUNTED_TWINS, deriveAgentSlug, exitCodeFor, HostedUsageError, HostedOrchError, HostedAuthError, HostedQuotaError } from '../../chunk-BZO3YCJS.js';
10
10
  import { TAPE_ASSERTABLE_TOOLS } from '../../chunk-C4BVTUA3.js';
11
- import { seedSchema } from '../../chunk-B22TYIEM.js';
12
- import { SLACK_CHECKS } from '../../chunk-IDNSKKEC.js';
11
+ import { seedSchema } from '../../chunk-QXQAVKTE.js';
12
+ import { SLACK_CHECKS } from '../../chunk-2ZGVDTJC.js';
13
13
  import { GMAIL_CHECKS } from '../../chunk-JM6VS62R.js';
14
14
  import '../../chunk-NJ246QPJ.js';
15
15
  import { LINEAR_CHECKS } from '../../chunk-XBT6ZLBG.js';
16
16
  import '../../chunk-IZIZC7ZW.js';
17
17
  import { oneOf, defineCheck, repoRef, VACUITY_SENTINEL_NUMBER, childStatePath, VACUITY_SENTINEL, statePath, templateSlots, renderCheck, checksDigest, checkPattern, checkNearMissPattern } from '../../chunk-JWJYNAWI.js';
18
- import '../../chunk-5EE7YWA3.js';
19
- import { TWIN_NAME_LIST, isTwinName, createGitHubSmokeApp } from '../../chunk-CKN743FJ.js';
20
- import '../../chunk-WEKJIGUD.js';
21
- import { isLegacyEventRow, eventSchema } from '../../chunk-JUESW6G4.js';
18
+ import '../../chunk-KIXYRPVY.js';
19
+ import { TWIN_NAME_LIST, isTwinName, createGitHubSmokeApp } from '../../chunk-EIUCTFQV.js';
20
+ import '../../chunk-CFXEETE3.js';
21
+ import { isLegacyEventRow, eventSchema } from '../../chunk-6KJC4BTO.js';
22
22
  import { redactEvent, redactSecrets } from '../../chunk-SG6ZTIMT.js';
23
23
  import { Command } from 'commander';
24
24
  import { existsSync, readFileSync, realpathSync, statSync, constants } from 'node:fs';
@@ -850,7 +850,7 @@ async function throwForStatus(res) {
850
850
 
851
851
  // src/task/seed-verifier.ts
852
852
  async function verifySeedWithTwin(seed) {
853
- const { GitHubDomain, openGitHubCloneDatabase } = await import('../../src-UEO2KIBJ.js');
853
+ const { GitHubDomain, openGitHubCloneDatabase } = await import('../../src-JJNS46T6.js');
854
854
  const db = openGitHubCloneDatabase(":memory:");
855
855
  try {
856
856
  new GitHubDomain(db).seed(seed);
@@ -2213,7 +2213,7 @@ var toolWasCalled = defineCheck({
2213
2213
  params: { tool: toolActionName },
2214
2214
  substrate: "tape",
2215
2215
  // Nothing in the seed can satisfy it and only the examinee acting can, which
2216
- // is the whole property: declared, never inferred from the English (F-1070).
2216
+ // is the whole property: declared, never inferred from the English.
2217
2217
  polarity: () => "positive",
2218
2218
  // The action name IS a caller-supplied literal hunted for in a substrate, so
2219
2219
  // it is declared — and the engine's door-side skip matters MORE here than on
@@ -2292,7 +2292,7 @@ var GITHUB_CHECKS = [
2292
2292
  // that assert about the RUN rather than the world it left behind.
2293
2293
  noUnsupportedEndpoint,
2294
2294
  toolNeverCalled,
2295
- // F-1338. Adjacent to its prohibition for the reason the two repo-scoped
2295
+ // Adjacent to its prohibition for the reason the two repo-scoped
2296
2296
  // deltas sit together above: an author reaching for one usually wants to see
2297
2297
  // the other, and these two are the same predicate read in opposite
2298
2298
  // directions off one closed set of actions. It is appended rather than
@@ -4651,7 +4651,7 @@ var DEFAULT_AGENT_COMMAND = `node ${DEFAULT_AGENT_FILE}`;
4651
4651
  var MANIFEST_SCHEMA_URL = "https://pome.sh/schemas/v1/pome.json";
4652
4652
  var MAX_UNREADABLE_PATHS_SHOWN = 5;
4653
4653
  function readPackageVersion() {
4654
- if ("0.26.9".length > 0) return "0.26.9";
4654
+ if ("0.26.10".length > 0) return "0.26.10";
4655
4655
  try {
4656
4656
  const here = dirname(fileURLToPath(import.meta.url));
4657
4657
  const candidates = [
@@ -5096,7 +5096,7 @@ function createProgram() {
5096
5096
  return;
5097
5097
  }
5098
5098
  {
5099
- const { runDoctorChecks } = await import('../../checks-NSHCXA6N.js');
5099
+ const { runDoctorChecks } = await import('../../checks-3LVRPHOK.js');
5100
5100
  const { renderDoctorReport } = await import('../../render-ZQQ4UMNO.js');
5101
5101
  const doctorReport = await runDoctorChecks({ mode: useLocal ? "full" : "hosted" });
5102
5102
  if (!doctorReport.ok) {
@@ -5134,7 +5134,7 @@ function createProgram() {
5134
5134
  taskForRuns.config.runs
5135
5135
  );
5136
5136
  if (k > 1) {
5137
- const { runTrialGroup } = await import('../../runTrialGroup-IXIVA2R3.js');
5137
+ const { runTrialGroup } = await import('../../runTrialGroup-CLJJOO4J.js');
5138
5138
  const fileForRerun = relative(process.cwd(), file);
5139
5139
  const rerunCommand = defaultTask ? options.trials !== void 0 ? `pome run -n ${k}` : "pome run" : `pome run ${fileForRerun && !fileForRerun.startsWith("..") ? fileForRerun : file} -n ${k}`;
5140
5140
  const groupResult = await runTrialGroup({
@@ -5228,7 +5228,7 @@ function createProgram() {
5228
5228
  process.exitCode = 5;
5229
5229
  return;
5230
5230
  }
5231
- const { runDemo } = await import('../../runDemo-SA55CMWG.js');
5231
+ const { runDemo } = await import('../../runDemo-XO5R5QTM.js');
5232
5232
  const result = await runDemo({
5233
5233
  apiBase: opts.apiUrl.replace(/\/$/, ""),
5234
5234
  dashboardBase: process.env.POME_DASHBOARD_URL ?? DEFAULT_DASHBOARD_URL,
@@ -5246,7 +5246,7 @@ function createProgram() {
5246
5246
  program.command("doctor").description(
5247
5247
  "Check the agent\u2194twin wiring: pome.json (or pome.yaml) present + valid, the local twin boots + serves, requests routed to the twin (not a hardcoded production host), egress floor active. On failure prints one named cause (file:line where knowable) + one concrete fix and exits non-zero."
5248
5248
  ).action(async () => {
5249
- const { runDoctorChecks } = await import('../../checks-NSHCXA6N.js');
5249
+ const { runDoctorChecks } = await import('../../checks-3LVRPHOK.js');
5250
5250
  const { renderDoctorReport } = await import('../../render-ZQQ4UMNO.js');
5251
5251
  const report = await runDoctorChecks();
5252
5252
  for (const line of renderDoctorReport(report, { passNote: true })) console.error(line);
@@ -5422,7 +5422,7 @@ function createProgram() {
5422
5422
  ).description(
5423
5423
  "Start a standalone twin as a long-lived foreground server (Ctrl-C to stop)"
5424
5424
  ).action(async (name, options) => {
5425
- const { runTwinStartCommand } = await import('../../twinStart-2VP545N6.js');
5425
+ const { runTwinStartCommand } = await import('../../twinStart-WIT4UVAC.js');
5426
5426
  await runTwinStartCommand(name, options);
5427
5427
  });
5428
5428
  twin.command("reset").argument("[name]", "Twin name (default: github)", "github").description("Reset standalone twin state").action(async (name) => {