@pome-sh/cli 0.15.0 → 0.17.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 (110) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/src/cli/checks-add.d.ts +2 -7
  3. package/dist/src/cli/checks-add.js +10 -24
  4. package/dist/src/cli/checks.d.ts +3 -2
  5. package/dist/src/cli/checks.js +22 -9
  6. package/dist/src/cli/vocabulary-skew.d.ts +64 -0
  7. package/dist/src/cli/vocabulary-skew.js +187 -0
  8. package/dist/src/twin/githubCloneAdapter.d.ts +1 -0
  9. package/node_modules/@pome-sh/twin-github/FIDELITY.md +14 -0
  10. package/node_modules/@pome-sh/twin-github/dist/src/check-pulls.d.ts +4 -0
  11. package/node_modules/@pome-sh/twin-github/dist/src/check-pulls.js +93 -0
  12. package/node_modules/@pome-sh/twin-github/dist/src/check-pulls.js.map +1 -1
  13. package/node_modules/@pome-sh/twin-github/dist/src/check-state.d.ts +1 -0
  14. package/node_modules/@pome-sh/twin-github/dist/src/check-state.js.map +1 -1
  15. package/node_modules/@pome-sh/twin-github/dist/src/checks.d.ts +3 -0
  16. package/node_modules/@pome-sh/twin-github/dist/src/checks.js +2 -1
  17. package/node_modules/@pome-sh/twin-github/dist/src/checks.js.map +1 -1
  18. package/node_modules/@pome-sh/twin-github/dist/src/db.js +46 -4
  19. package/node_modules/@pome-sh/twin-github/dist/src/db.js.map +1 -1
  20. package/node_modules/@pome-sh/twin-github/dist/src/domain/github-domain.d.ts +3 -0
  21. package/node_modules/@pome-sh/twin-github/dist/src/domain/github-domain.js +49 -1
  22. package/node_modules/@pome-sh/twin-github/dist/src/domain/github-domain.js.map +1 -1
  23. package/node_modules/@pome-sh/twin-github/dist/src/domain/issues.js +15 -5
  24. package/node_modules/@pome-sh/twin-github/dist/src/domain/issues.js.map +1 -1
  25. package/node_modules/@pome-sh/twin-github/dist/src/serializers.d.ts +1 -1
  26. package/node_modules/@pome-sh/twin-github/dist/src/serializers.js +8 -2
  27. package/node_modules/@pome-sh/twin-github/dist/src/serializers.js.map +1 -1
  28. package/node_modules/@pome-sh/twin-github/package.json +1 -1
  29. package/node_modules/@pome-sh/twin-linear/CHANGELOG.md +142 -0
  30. package/node_modules/@pome-sh/twin-linear/dist/src/check-comments.d.ts +10 -0
  31. package/node_modules/@pome-sh/twin-linear/dist/src/check-comments.js +117 -0
  32. package/node_modules/@pome-sh/twin-linear/dist/src/check-comments.js.map +1 -0
  33. package/node_modules/@pome-sh/twin-linear/dist/src/check-issues.d.ts +25 -0
  34. package/node_modules/@pome-sh/twin-linear/dist/src/check-issues.js +211 -0
  35. package/node_modules/@pome-sh/twin-linear/dist/src/check-issues.js.map +1 -0
  36. package/node_modules/@pome-sh/twin-linear/dist/src/check-kind.d.ts +3 -0
  37. package/node_modules/@pome-sh/twin-linear/dist/src/check-kind.js +9 -0
  38. package/node_modules/@pome-sh/twin-linear/dist/src/check-kind.js.map +1 -0
  39. package/node_modules/@pome-sh/twin-linear/dist/src/check-params.d.ts +8 -0
  40. package/node_modules/@pome-sh/twin-linear/dist/src/check-params.js +94 -0
  41. package/node_modules/@pome-sh/twin-linear/dist/src/check-params.js.map +1 -0
  42. package/node_modules/@pome-sh/twin-linear/dist/src/check-state.d.ts +98 -0
  43. package/node_modules/@pome-sh/twin-linear/dist/src/check-state.js +131 -0
  44. package/node_modules/@pome-sh/twin-linear/dist/src/check-state.js.map +1 -0
  45. package/node_modules/@pome-sh/twin-linear/dist/src/check-tape.d.ts +2 -0
  46. package/node_modules/@pome-sh/twin-linear/dist/src/check-tape.js +100 -0
  47. package/node_modules/@pome-sh/twin-linear/dist/src/check-tape.js.map +1 -0
  48. package/node_modules/@pome-sh/twin-linear/dist/src/check-worlds.d.ts +44 -0
  49. package/node_modules/@pome-sh/twin-linear/dist/src/check-worlds.js +93 -0
  50. package/node_modules/@pome-sh/twin-linear/dist/src/check-worlds.js.map +1 -0
  51. package/node_modules/@pome-sh/twin-linear/dist/src/checks.d.ts +29 -0
  52. package/node_modules/@pome-sh/twin-linear/dist/src/checks.js +52 -0
  53. package/node_modules/@pome-sh/twin-linear/dist/src/checks.js.map +1 -0
  54. package/node_modules/@pome-sh/twin-linear/dist/src/db.d.ts +6 -0
  55. package/node_modules/@pome-sh/twin-linear/dist/src/db.js +53 -4
  56. package/node_modules/@pome-sh/twin-linear/dist/src/db.js.map +1 -1
  57. package/node_modules/@pome-sh/twin-linear/dist/src/domain/agents.d.ts +16 -13
  58. package/node_modules/@pome-sh/twin-linear/dist/src/domain/agents.js +16 -12
  59. package/node_modules/@pome-sh/twin-linear/dist/src/domain/agents.js.map +1 -1
  60. package/node_modules/@pome-sh/twin-linear/dist/src/domain/comments.js +1 -1
  61. package/node_modules/@pome-sh/twin-linear/dist/src/domain/comments.js.map +1 -1
  62. package/node_modules/@pome-sh/twin-linear/dist/src/domain/documents.js +8 -8
  63. package/node_modules/@pome-sh/twin-linear/dist/src/domain/documents.js.map +1 -1
  64. package/node_modules/@pome-sh/twin-linear/dist/src/domain/issues.js +20 -17
  65. package/node_modules/@pome-sh/twin-linear/dist/src/domain/issues.js.map +1 -1
  66. package/node_modules/@pome-sh/twin-linear/dist/src/domain/labels.js +1 -1
  67. package/node_modules/@pome-sh/twin-linear/dist/src/domain/labels.js.map +1 -1
  68. package/node_modules/@pome-sh/twin-linear/dist/src/domain/linear-domain.d.ts +4 -17
  69. package/node_modules/@pome-sh/twin-linear/dist/src/domain/linear-domain.js.map +1 -1
  70. package/node_modules/@pome-sh/twin-linear/dist/src/domain/normalize.d.ts +12 -2
  71. package/node_modules/@pome-sh/twin-linear/dist/src/domain/normalize.js +28 -5
  72. package/node_modules/@pome-sh/twin-linear/dist/src/domain/normalize.js.map +1 -1
  73. package/node_modules/@pome-sh/twin-linear/dist/src/domain/projects-cycles.js +1 -1
  74. package/node_modules/@pome-sh/twin-linear/dist/src/domain/projects-cycles.js.map +1 -1
  75. package/node_modules/@pome-sh/twin-linear/dist/src/domain/rows.d.ts +3 -3
  76. package/node_modules/@pome-sh/twin-linear/dist/src/domain/rows.js +4 -3
  77. package/node_modules/@pome-sh/twin-linear/dist/src/domain/rows.js.map +1 -1
  78. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/formatters.js +3 -3
  79. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/formatters.js.map +1 -1
  80. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/mutation-inputs.d.ts +30 -12
  81. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/mutation-inputs.js +33 -28
  82. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/mutation-inputs.js.map +1 -1
  83. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/resolvers.js +2 -2
  84. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/resolvers.js.map +1 -1
  85. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/schema.js +31 -13
  86. package/node_modules/@pome-sh/twin-linear/dist/src/graphql/schema.js.map +1 -1
  87. package/node_modules/@pome-sh/twin-linear/dist/src/index.d.ts +2 -0
  88. package/node_modules/@pome-sh/twin-linear/dist/src/index.js +7 -0
  89. package/node_modules/@pome-sh/twin-linear/dist/src/index.js.map +1 -1
  90. package/node_modules/@pome-sh/twin-linear/dist/src/state.js +4 -4
  91. package/node_modules/@pome-sh/twin-linear/dist/src/state.js.map +1 -1
  92. package/node_modules/@pome-sh/twin-linear/dist/src/types.d.ts +10 -4
  93. package/node_modules/@pome-sh/twin-linear/dist/src/types.js.map +1 -1
  94. package/node_modules/@pome-sh/twin-linear/fixtures/README.md +1 -0
  95. package/node_modules/@pome-sh/twin-linear/fixtures/linear-introspection.json +66 -0
  96. package/node_modules/@pome-sh/twin-linear/package.json +2 -1
  97. package/node_modules/@pome-sh/twin-stripe/FIDELITY.md +8 -0
  98. package/node_modules/@pome-sh/twin-stripe/dist/src/idempotency.d.ts +23 -1
  99. package/node_modules/@pome-sh/twin-stripe/dist/src/idempotency.js +40 -6
  100. package/node_modules/@pome-sh/twin-stripe/dist/src/idempotency.js.map +1 -1
  101. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js +5 -0
  102. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js.map +1 -1
  103. package/node_modules/@pome-sh/twin-stripe/dist/src/twin.js +7 -1
  104. package/node_modules/@pome-sh/twin-stripe/dist/src/twin.js.map +1 -1
  105. package/node_modules/@pome-sh/twin-stripe/package.json +1 -1
  106. package/package.json +4 -4
  107. package/tasks/14-stripe-refund-retry.md +17 -14
  108. package/tasks/24-linear-issue-triage.md +2 -2
  109. package/tasks/25-linear-comment-label-triage.md +3 -3
  110. package/tasks/26-github-linear-handoff.md +3 -4
@@ -0,0 +1,66 @@
1
+ {
2
+ "_readme": "Committed slice of Linear's real GraphQL introspection. A type absent here is UNGUARDED. Regenerate with `node scripts/regen-linear-introspection.mjs`; never hand-edit.",
3
+ "source": "https://api.linear.app/graphql",
4
+ "fetched_at": "2026-08-02T14:52:09.995Z",
5
+ "query_sha256": "6029c665c71a485e86c4524bfa6793eb6cb2f0f6ab48e6277bc4d5a62fbe1079",
6
+ "guarded_types": [
7
+ "AgentSession",
8
+ "AgentSessionExternalUrlInput",
9
+ "AgentSessionStatus"
10
+ ],
11
+ "types": {
12
+ "AgentSession": {
13
+ "kind": "OBJECT",
14
+ "fields": {
15
+ "activities": "AgentActivityConnection!",
16
+ "appUser": "User!",
17
+ "archivedAt": "DateTime",
18
+ "codingHarnessModelLabel": "String",
19
+ "comment": "Comment",
20
+ "context": "JSON!",
21
+ "createdAt": "DateTime!",
22
+ "creator": "User",
23
+ "dismissedAt": "DateTime",
24
+ "dismissedBy": "User",
25
+ "endedAt": "DateTime",
26
+ "externalLink": "String",
27
+ "externalLinks": "[AgentSessionExternalLink!]!",
28
+ "externalUrls": "JSON!",
29
+ "id": "ID!",
30
+ "issue": "Issue",
31
+ "plan": "JSON",
32
+ "pullRequest": "PullRequest",
33
+ "pullRequests": "AgentSessionToPullRequestConnection!",
34
+ "slugId": "String!",
35
+ "sourceComment": "Comment",
36
+ "sourceMetadata": "JSON",
37
+ "startedAt": "DateTime",
38
+ "status": "AgentSessionStatus!",
39
+ "summary": "String",
40
+ "type": "AgentSessionType",
41
+ "updatedAt": "DateTime!",
42
+ "url": "String",
43
+ "workspaceDiff": "JSON",
44
+ "workspaceDiffFiles": "[AgentSessionWorkspaceDiffFile!]"
45
+ }
46
+ },
47
+ "AgentSessionExternalUrlInput": {
48
+ "kind": "INPUT_OBJECT",
49
+ "inputFields": {
50
+ "label": "String!",
51
+ "url": "String!"
52
+ }
53
+ },
54
+ "AgentSessionStatus": {
55
+ "kind": "ENUM",
56
+ "enumValues": [
57
+ "active",
58
+ "awaitingInput",
59
+ "complete",
60
+ "error",
61
+ "pending",
62
+ "stale"
63
+ ]
64
+ }
65
+ }
66
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pome-sh/twin-linear",
3
- "version": "0.1.1",
3
+ "version": "0.3.0",
4
4
  "description": "Deterministic Linear-shaped twin for agent testing — SQLite-backed GraphQL + MCP + OAuth.",
5
5
  "private": false,
6
6
  "type": "module",
@@ -34,6 +34,7 @@
34
34
  "fidelity.inventory.json",
35
35
  "fixtures/README.md",
36
36
  "fixtures/graphql-surface.json",
37
+ "fixtures/linear-introspection.json",
37
38
  "fixtures/mcp-tools-list.canonical.json"
38
39
  ],
39
40
  "publishConfig": {
@@ -209,6 +209,14 @@ plus the `examples/buyer-agent/` end-to-end demo against a running twin.
209
209
  client with a typo in its first request can retry under the same key
210
210
  against a fresh handler invocation (matches real Stripe, which
211
211
  re-executes on 4xx for client errors).
212
+ - **Idempotency-Key under an injected lost response**
213
+ (`after-handler-idempotency.test.ts`, F-1138): the status the rule
214
+ above reads is the one the HANDLER answered, not the one on the wire.
215
+ An `after_handler` failure-injection rule delivers its configured 4xx
216
+ while the mutation stays committed, and real Stripe writes the
217
+ idempotency record server-side in exactly that case — a retry under
218
+ the same key replays the response the client never saw rather than
219
+ mutating again. A genuine 4xx from a handler is still not cached.
212
220
 
213
221
  ## Pome introspection (`/_pome/*`)
214
222
 
@@ -1,3 +1,25 @@
1
- import type { MiddlewareHandler } from "hono";
1
+ import type { Context, MiddlewareHandler } from "hono";
2
2
  import type { Recorder, TwinStripeDatabase } from "./types.js";
3
+ type HandlerResult = {
4
+ status: number;
5
+ body: unknown;
6
+ };
7
+ /**
8
+ * Park what the route handler actually answered, for this middleware to read on
9
+ * the way out. Called by `respond()` — the twin's single response path.
10
+ *
11
+ * The response sitting on `c.res` is not always the handler's. `after_handler`
12
+ * failure injection substitutes status + body to model "the server processed it
13
+ * but response delivery to the client failed" (FDRS-339), and it substitutes
14
+ * INSIDE the handler, which is inside this middleware. So the cache used to see
15
+ * the injected 402, decline it under the 4xx rule below, and store nothing —
16
+ * dropping the record real Stripe writes in exactly that situation, which is the
17
+ * entire reason `Idempotency-Key` exists. The retry then re-executed and the
18
+ * refund landed twice (F-1138).
19
+ *
20
+ * Only `respond()` parks a result. Routes that answer with a bare `c.json` (the
21
+ * x402 legs, test endpoints) park nothing and `c.res` remains the truth.
22
+ */
23
+ export declare function setHandlerResult(c: Context, result: HandlerResult): void;
3
24
  export declare function idempotencyMiddleware(db: TwinStripeDatabase, recorder?: Recorder, runId?: string): MiddlewareHandler;
25
+ export {};
@@ -13,6 +13,29 @@ import { recordedRequestHeaders } from "@pome-sh/sdk/server";
13
13
  import { stripeError } from "./errors.js";
14
14
  import { nowIso, requestId } from "./util.js";
15
15
  const CACHEABLE_METHODS = new Set(["POST", "PUT", "PATCH", "DELETE"]);
16
+ const HANDLER_RESULT_KEY = "twinStripeHandlerResult";
17
+ /**
18
+ * Park what the route handler actually answered, for this middleware to read on
19
+ * the way out. Called by `respond()` — the twin's single response path.
20
+ *
21
+ * The response sitting on `c.res` is not always the handler's. `after_handler`
22
+ * failure injection substitutes status + body to model "the server processed it
23
+ * but response delivery to the client failed" (FDRS-339), and it substitutes
24
+ * INSIDE the handler, which is inside this middleware. So the cache used to see
25
+ * the injected 402, decline it under the 4xx rule below, and store nothing —
26
+ * dropping the record real Stripe writes in exactly that situation, which is the
27
+ * entire reason `Idempotency-Key` exists. The retry then re-executed and the
28
+ * refund landed twice (F-1138).
29
+ *
30
+ * Only `respond()` parks a result. Routes that answer with a bare `c.json` (the
31
+ * x402 legs, test endpoints) park nothing and `c.res` remains the truth.
32
+ */
33
+ export function setHandlerResult(c, result) {
34
+ c.set(HANDLER_RESULT_KEY, result);
35
+ }
36
+ function getHandlerResult(c) {
37
+ return c.get(HANDLER_RESULT_KEY) ?? null;
38
+ }
16
39
  function hashRequest(method, path, body) {
17
40
  return createHash("sha256")
18
41
  .update(method)
@@ -124,19 +147,30 @@ export function idempotencyMiddleware(db, recorder, runId = "local") {
124
147
  // its first request can retry under the same key against a fresh
125
148
  // handler invocation. Real Stripe re-executes on 4xx for client
126
149
  // errors; mirroring that is F5.
150
+ //
151
+ // The status this decides on is the HANDLER's, not the wire's — see
152
+ // `setHandlerResult`. A genuine 4xx still declines, because the handler
153
+ // itself answered 4xx; an injected lost-response 402 over a committed 200
154
+ // does not, because the handler answered 200.
127
155
  try {
128
- const status = c.res.status;
156
+ const handled = getHandlerResult(c);
157
+ const status = handled ? handled.status : c.res.status;
129
158
  if (status >= 400) {
130
159
  resolvePending({ status, bodyText: "null" });
131
160
  return;
132
161
  }
133
- const cloned = c.res.clone();
134
162
  let bodyText = "";
135
- try {
136
- bodyText = await cloned.text();
163
+ if (handled) {
164
+ bodyText = JSON.stringify(handled.body);
137
165
  }
138
- catch {
139
- bodyText = "";
166
+ else {
167
+ const cloned = c.res.clone();
168
+ try {
169
+ bodyText = await cloned.text();
170
+ }
171
+ catch {
172
+ bodyText = "";
173
+ }
140
174
  }
141
175
  // Validate the body is JSON; fall back to "null" if not (still cacheable).
142
176
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../src/idempotency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../src/idempotency.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  import { z } from "zod";
8
8
  import { FAILURE_INJECTION_OVERRIDE_KEY, recordedRequestHeaders, } from "@pome-sh/sdk/server";
9
9
  import { TwinError, stripeError } from "../errors.js";
10
+ import { setHandlerResult } from "../idempotency.js";
10
11
  import { requestId } from "../util.js";
11
12
  /**
12
13
  * Pull the account_id off the resolved session set by `bearerAuth()`.
@@ -71,6 +72,10 @@ export async function handle(c, recorder, runId, fn) {
71
72
  }
72
73
  export function respond(c, recorder, runId, started, requestBody, status, responseBody, stateMutation, fidelity = "semantic", stateDelta = null) {
73
74
  const reqId = requestId();
75
+ // The handler's own answer, before any transport-level substitution below.
76
+ // The idempotency middleware wraps this handler and reads it on the way out;
77
+ // `setHandlerResult`'s doc carries what goes wrong without it (F-1138).
78
+ setHandlerResult(c, { status, body: responseBody });
74
79
  // FDRS-339: if the failure-injection middleware matched in `after_handler`
75
80
  // mode, it parked an override on the context. The handler has already
76
81
  // mutated state (so state_mutation + state_delta stay truthful), but the
@@ -1 +1 @@
1
- {"version":3,"file":"_helpers.js","sourceRoot":"","sources":["../../../src/routes/_helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_helpers.js","sourceRoot":"","sources":["../../../src/routes/_helpers.ts"],"names":[],"mappings":"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"}
@@ -113,7 +113,13 @@ export function createStripeTwinDefinition(opts) {
113
113
  // Failure injection MUST run before idempotency so a configured
114
114
  // failure response isn't cached by the idempotency layer (a retry
115
115
  // under the same key would replay the synthetic 4xx instead of
116
- // re-invoking the handler).
116
+ // re-invoking the handler). That argument is about `before_handler`,
117
+ // whose envelope is produced out here and never reaches the cache.
118
+ // `after_handler` is the other half and needs no reordering: it
119
+ // substitutes inside the handler, so the idempotency layer reads the
120
+ // HANDLER's status + body off the context (`setHandlerResult`) and caches
121
+ // the real 200 — which is the record real Stripe writes when response
122
+ // delivery fails, and dropping it double-refunded the retry (F-1138).
117
123
  app.use("*", failureInjectionMiddleware(failureInjection, {
118
124
  recorder: ctx.recorder,
119
125
  runId: ctx.runId,
@@ -1 +1 @@
1
- {"version":3,"file":"twin.js","sourceRoot":"","sources":["../../src/twin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"twin.js","sourceRoot":"","sources":["../../src/twin.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pome-sh/twin-stripe",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Deterministic test double for Stripe x402 machine payments — stateful clone agents can drive without burning sandbox quota or real chain gas.",
5
5
  "private": false,
6
6
  "type": "module",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pome-sh/cli",
3
- "version": "0.15.0",
3
+ "version": "0.17.0",
4
4
  "description": "Digital-twin testing for AI agents — run tasks against resettable local or hosted twins and record tool-call traces for evaluation on pome.sh.",
5
5
  "keywords": [
6
6
  "ai",
@@ -68,10 +68,10 @@
68
68
  "@pome-sh/sdk": "0.10.0",
69
69
  "@pome-sh/shared-types": "0.13.0",
70
70
  "@pome-sh/twin-gmail": "0.3.0",
71
- "@pome-sh/twin-github": "0.7.0",
72
- "@pome-sh/twin-linear": "0.1.1",
71
+ "@pome-sh/twin-github": "0.8.0",
72
+ "@pome-sh/twin-linear": "0.3.0",
73
73
  "@pome-sh/twin-slack": "0.3.0",
74
- "@pome-sh/twin-stripe": "0.4.0",
74
+ "@pome-sh/twin-stripe": "0.4.1",
75
75
  "ai": "^7.0.18",
76
76
  "commander": "^15.0.0",
77
77
  "hono": "^4.10.7",
@@ -103,17 +103,20 @@ An agent that retries blindly:
103
103
  6. End state: `charges[0].amount_refunded === 15000`, two refund rows.
104
104
  7. Criterion 1 passes (a refund exists). Criterion 2 FAILS (two rows, wanted one). This is the hero bug exposed.
105
105
 
106
- An agent that verifies before retrying reads `GET /v1/refunds?charge=ch_test_200` after the
107
- 402, sees row #1 already there, does not re-issue, and passes both criteria. **That is what
108
- this task separates**, and it is reachable so the task has a passing side, not only a
109
- demonstration.
110
-
111
- **What it does NOT separate, measured 2026-07-30 (F-1127).** An earlier version of this task
112
- asserted that sending an `Idempotency-Key` on the retry is the difference. It is not, in this
113
- twin: the injected 402 is the response the idempotency middleware sees on the way out, and it
114
- declines to cache any 4xx, so the key is never stored and the retry re-executes. With the key
115
- and without it both end at two rows; a run with no failure injection dedupes correctly at one.
116
- That is a twin fidelity gap real Stripe writes the idempotency record server-side even when
117
- response delivery fails, which is the entire reason the header exists and it is tracked
118
- separately. Until it is fixed, an agent doing the textbook-correct thing still over-refunds,
119
- and this task will fail it for a reason that is the twin's rather than the agent's.
106
+ Two behaviors pass, and the task separates both of them from the blind retry:
107
+
108
+ - **Verify, then decide.** Read `GET /v1/refunds?charge=ch_test_200` after the 402, see row #1
109
+ already there, don't re-issue.
110
+ - **Protect the retry.** Send the same `Idempotency-Key` on both attempts. The twin cached the
111
+ handler's real 200 when it swallowed the response, so the retry replays that refund instead
112
+ of creating a second one.
113
+
114
+ **A note on the second one, measured 2026-07-30 and fixed 2026-07-31.** An earlier version of
115
+ this task asserted the `Idempotency-Key` was the difference, and F-1127 measured that it was
116
+ not: the injected 402 was what the idempotency middleware saw on the way out, it declines to
117
+ cache any 4xx, so the key was never stored and the retry re-executed. With the key and without
118
+ it, both ended at two rows. That was a twin fidelity gap rather than anything about the agent —
119
+ real Stripe writes the idempotency record server-side even when response delivery fails, which
120
+ is the entire reason the header exists — and F-1138 closed it in `@pome-sh/twin-stripe` 0.4.1.
121
+ The claim is true again, which is why it is stated as a passing path above rather than deleted:
122
+ a run on an older twin build will still see two rows for a correct agent.
@@ -14,8 +14,8 @@ The agent lists issues (MCP or GraphQL), updates the backlog issue's state, and
14
14
  creates one comment without contacting any live Linear endpoint.
15
15
 
16
16
  ## Success Criteria
17
- - [code] Issue "Triage inbox for agent eval" is in state In Progress
18
- - [code] A comment exists on that issue mentioning triage
17
+ - [code] Issue "Triage inbox for agent eval" in `ENG` is in state "In Progress"
18
+ - [code] A comment on issue "Triage inbox for agent eval" in `ENG` contains "triage"
19
19
  - [model] The agent confirms the issue was updated and commented on
20
20
 
21
21
  ## Config
@@ -16,9 +16,9 @@ with `parentId`, ensures the label exists, attaches it with `save_issue`, and
16
16
  sets `estimate` without contacting any live Linear endpoint.
17
17
 
18
18
  ## Success Criteria
19
- - [code] Issue "Needs comment and label triage" has estimate 2
20
- - [code] Issue has label "Needs triage"
21
- - [code] A reply comment exists with parentId equal to the seeded root comment
19
+ - [code] Issue "Needs comment and label triage" in `ENG` has estimate 2
20
+ - [code] Issue "Needs comment and label triage" in `ENG` has label "Needs triage"
21
+ - [code] A threaded reply to a seeded comment exists on issue "Needs comment and label triage" in `ENG`
22
22
  - [model] The agent confirms the threaded reply, label, and estimate were applied
23
23
 
24
24
  ## Config
@@ -17,10 +17,9 @@ GitHub or Linear.
17
17
 
18
18
  ## Success Criteria
19
19
  - [code:github] Issue #1 in `acme/api` is in state open
20
- - [code:linear] An issue titled "Orders 500 after deploy" exists
21
- - [code:linear] That issue is in state In Progress
22
- - [code:linear] That issue has label Agent
23
- - [code:linear] A comment exists on that issue mentioning GitHub issue #1
20
+ - [code:linear] Issue "Orders 500 after deploy" in `ENG` is in state "In Progress"
21
+ - [code:linear] Issue "Orders 500 after deploy" in `ENG` has label "Agent"
22
+ - [code:linear] A comment on issue "Orders 500 after deploy" in `ENG` contains "#1"
24
23
  - [model] The Linear issue clearly handoffs the GitHub orders bug without inventing unrelated work
25
24
 
26
25
  ## Config