@pome-sh/cli 0.35.0 → 0.35.1

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.
@@ -4,15 +4,38 @@
4
4
  The packaged `npx @pome-sh/cli demo` task. This markdown is the
5
5
  CANONICAL source of the demo task content: the cloud's server-owned judge
6
6
  definition (pome-cloud apps/control-plane/src/lib/demo.ts,
7
- DEMO_TASK_DEFINITIONS["first-run-demo"]) is regenerated FROM this file — the
8
- judge scores the server copy, never a client-supplied body, so the two must
9
- stay in lockstep. Changing the prompt / expected behavior / criteria here
10
- without regenerating the server definition means the cloud judges a
11
- different task than the one the bundled agent ran.
7
+ DEMO_TASK_DEFINITIONS["first-run-demo"]) mirrors this file — the judge scores
8
+ the server copy, never a client-supplied body, so the two must stay in
9
+ lockstep. Changing the prompt / expected behavior / criteria here without
10
+ updating the server definition means the cloud judges a different task than
11
+ the one the bundled agent ran.
12
+
13
+ MIRROR IT BY HAND. There is no generator and no gate — F-1752 is the ticket to
14
+ close that, and until it lands nothing but a reviewer notices a half-done sync.
12
15
 
13
16
  The three tools the bundled demo agent exposes (src/demo/agent.ts) are the
14
17
  contract this task is written against: list_open_issues, add_label,
15
18
  comment_on_issue.
19
+
20
+ THE `[code]` ROWS ARE THE DEMO'S SCORE — keep at least one (F-1749). Since the
21
+ narrator flip took `[model]` out of the score denominator, a task declaring
22
+ only `[model]` criteria is not merely unscored: `total_required` is 0, the run
23
+ is not evaluable, and every trial of the advertised zero-auth door reports
24
+ "cloud could not evaluate the trace". Each `[code]` row must also be a sentence
25
+ the published check vocabulary renders — a hand-edited one binds nothing and is
26
+ the same empty denominator in different clothes. Both are asserted in
27
+ test/unit/demo/demo-task-criteria.test.ts, and that the bundled agent's correct
28
+ walk satisfies them in test/e2e/demo-e2e.test.ts.
29
+
30
+ Neither `[code]` row is true of the seed, which is what keeps them in the
31
+ denominator: the cloud drops a criterion the seed already satisfied
32
+ (`pre-satisfied.ts`), so a prohibition like "No new labels were created in
33
+ acme/api" would leave again and take the fraction with it.
34
+
35
+ The `[model]` rows stay because they are what the demo exists to SHOW — an
36
+ advisory narrative reading beside a deterministic fraction. They also carry the
37
+ two clauses no declared check can state, "and to no other issue" and "exactly
38
+ one comment", so dropping them would quietly narrow the task.
16
39
  -->
17
40
 
18
41
  ## Prompt
@@ -32,6 +55,8 @@ issue.
32
55
 
33
56
  ## Success Criteria
34
57
 
58
+ - [code] Issue #1 in `acme/api` has exactly one classification label, and it is `bug`
59
+ - [code] A comment containing "POST /orders" exists on issue #1 in `acme/api`
35
60
  - [model] The existing `bug` label was applied to the issue reporting the 500 error on POST /orders, and to no other issue.
36
61
  - [model] Exactly one comment was left on that issue, and it names the failing endpoint (POST /orders).
37
62
  - [model] No other issue was modified and no new label was created.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "package": "pome-sh",
3
- "version": "0.35.0",
4
- "git_sha": "d34cec8ae64d618dee1e0121d5284c78177820cc",
5
- "build_time": "2026-08-29T16:22:08.716Z"
3
+ "version": "0.35.1",
4
+ "git_sha": "05db45b371ec96cd39014583e75de09e4b1b75f4",
5
+ "build_time": "2026-08-29T17:57:26.354Z"
6
6
  }
@@ -4641,7 +4641,7 @@ function firstSentence(description) {
4641
4641
  function resolveExampleRef(env = process.env) {
4642
4642
  const override = env.POME_EXAMPLE_REF?.trim();
4643
4643
  if (override) return override;
4644
- const baked = "d34cec8ae64d618dee1e0121d5284c78177820cc".trim() ;
4644
+ const baked = "05db45b371ec96cd39014583e75de09e4b1b75f4".trim() ;
4645
4645
  return FULL_SHA.test(baked) ? baked : "main";
4646
4646
  }
4647
4647
  function rawUrlFor(example, file, ref) {
@@ -4996,7 +4996,7 @@ var DEFAULT_AGENT_COMMAND = `node ${DEFAULT_AGENT_FILE}`;
4996
4996
  var MANIFEST_SCHEMA_URL = "https://pome.sh/schemas/v1/pome.json";
4997
4997
  var MAX_UNREADABLE_PATHS_SHOWN = 5;
4998
4998
  function readPackageVersion() {
4999
- if ("0.35.0".length > 0) return "0.35.0";
4999
+ if ("0.35.1".length > 0) return "0.35.1";
5000
5000
  try {
5001
5001
  const here = dirname(fileURLToPath(import.meta.url));
5002
5002
  const candidates = [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pome-sh/cli",
3
- "version": "0.35.0",
3
+ "version": "0.35.1",
4
4
  "description": "Test AI agents against digital twins of real SaaS APIs. Records tool-call traces and scores them on pome.sh.",
5
5
  "keywords": [
6
6
  "ai",