looply-cli 0.5.24 → 0.5.26

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.
@@ -12,9 +12,11 @@ const core_1 = require("@looply/core");
12
12
  * said what it was waiting for: *"Making it really ask is a change to the round
13
13
  * protocol and the owner's decision."* `OWNER_CHARTER.md` §6.C is that decision.
14
14
  *
15
- * ⚠️ AN UNPAIRED MACHINE BEHAVES EXACTLY AS IT DID. No project, no server, no
16
- * question: the same two lines and the same `discard`. Everything below is what
17
- * happens INSTEAD of that, and only when there is somebody to ask.
15
+ * ⚠️ AN UNPAIRED MACHINE ASKS NOBODY. No project, no server, no question: it
16
+ * answers `discard` marked `nobodyAnswered`, and since TAB-B-61 (2026-10-17)
17
+ * the round then lets its checks decide — kept when every check that applied
18
+ * ran and passed, discarded otherwise (`partial-keep.ts`). Everything below is
19
+ * what happens INSTEAD of that, and only when there is somebody to ask.
18
20
  *
19
21
  * ─────────────────────────────────────────────────────────────────────────────
20
22
  * 🔴 EVERY WAY OUT OF HERE IS `discard` EXCEPT A RECORDED `keep`.
@@ -34,6 +36,8 @@ const core_1 = require("@looply/core");
34
36
  exports.PARTIAL_ASK_GRACE_MS = 2 * 60_000;
35
37
  /** How often the answer is looked for. Cheap: one bounded read of one row. */
36
38
  exports.PARTIAL_ASK_POLL_MS = 15_000;
39
+ /** Nobody answered: the safe half, marked so the round can let the checks decide. */
40
+ const nobody = { answer: 'discard', nobodyAnswered: true };
37
41
  /**
38
42
  * The `resolvePartial` a run installs.
39
43
  *
@@ -41,6 +45,12 @@ exports.PARTIAL_ASK_POLL_MS = 15_000;
41
45
  * this item, and says `keep`. Everything else — an unpaired machine, a server
42
46
  * that refused, a question nobody answered, an answer that does not belong to
43
47
  * this round — is `discard`, with a line saying which.
48
+ *
49
+ * ⚠️ AND IT SAYS WHETHER A PERSON ANSWERED (TAB-B-61). An unpaired machine, a
50
+ * question that could not be filed, or one the deadline answered as `system`
51
+ * is `nobodyAnswered: true`: the round may then keep the work when its checks
52
+ * vouch for it (`partial-keep.ts`). This file still never says `keep` itself
53
+ * on anything but a recorded answer; the round decides from the checks.
44
54
  */
45
55
  function makePartialAsker(deps) {
46
56
  return async (item, proof) => {
@@ -49,8 +59,8 @@ function makePartialAsker(deps) {
49
59
  if (server === null) {
50
60
  // Word for word what a run has said since M6-20, because nothing about
51
61
  // this case has changed.
52
- deps.log('round: nobody to ask from a terminal run, so discarding. Pair a device to be asked.');
53
- return 'discard';
62
+ deps.log('round: nobody to ask from a terminal run, so the checks decide: kept when every check that applied ran and passed, discarded otherwise. Pair a device to be asked.');
63
+ return nobody;
54
64
  }
55
65
  const askedAtMs = deps.now();
56
66
  const body = (0, core_1.partialQuestion)({
@@ -72,8 +82,8 @@ function makePartialAsker(deps) {
72
82
  * round takes the safe half and says why — a run that treated an
73
83
  * unreachable server as permission would keep work nothing judged.
74
84
  */
75
- deps.log(`round: could not ask — ${e.message}. Discarding, as an unasked question would.`);
76
- return 'discard';
85
+ deps.log(`round: could not ask — ${e.message}. Nobody answered, so the checks decide, as with nobody to ask.`);
86
+ return nobody;
77
87
  }
78
88
  deps.log(`round: asked ${questionId} — keep or discard "${item.title}"? Answer on your phone before ${body.deadline}.`);
79
89
  const ctx = { questionId, runId: deps.runId, itemId: item.id };
@@ -92,7 +102,8 @@ function makePartialAsker(deps) {
92
102
  const r = (0, core_1.resolutionFrom)(view, ctx);
93
103
  if (r.kind === 'answered') {
94
104
  deps.log(`round: ${r.by ?? 'somebody'} answered ${r.answer}.`);
95
- return r.answer;
105
+ // `system` is the server's sweep answering an overdue question with its default: nobody did.
106
+ return { answer: r.answer, nobodyAnswered: r.by === 'system' };
96
107
  }
97
108
  if (r.kind === 'unusable') {
98
109
  /**
@@ -103,12 +114,12 @@ function makePartialAsker(deps) {
103
114
  * attach to this round.
104
115
  */
105
116
  deps.log(`round: the answer to ${questionId} cannot be used — ${r.because}. Discarding.`);
106
- return 'discard';
117
+ return { answer: 'discard', nobodyAnswered: false };
107
118
  }
108
119
  }
109
120
  if (deps.now() >= until) {
110
- deps.log(`round: ${questionId} is still unanswered and its deadline has passed — discarding, which is its default.`);
111
- return 'discard';
121
+ deps.log(`round: ${questionId} is still unanswered and its deadline has passed — nobody answered, so the checks decide (discard otherwise, its default).`);
122
+ return nobody;
112
123
  }
113
124
  await deps.sleep(deps.pollMs);
114
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"partial-asker.js","sourceRoot":"","sources":["../src/partial-asker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"partial-asker.js","sourceRoot":"","sources":["../src/partial-asker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import type { GateStepResult, PartialAnswer } from '@looply/core';
2
+ import type { StepSpec } from './gate';
3
+ /**
4
+ * WHAT A PARTIAL PROOF IS WORTH WHEN NOBODY CAN BE ASKED ABOUT IT.
5
+ *
6
+ * `proof.on_partial: ask` on a machine with no phone (AutoRyn-managed, unpaired)
7
+ * had one answer: `discard`. TAB-B-61 (2026-10-17) lost every round of four
8
+ * Starts that way. Each time the gate had run `admin:vitest` on the change and
9
+ * it PASSED, and each time the second agent said "partial" only because
10
+ * "nothing visible shows the ticket's vitest command was run or passed" — it
11
+ * had not been shown the gate's results. The work was right; what the checker
12
+ * doubted was something the run already knew.
13
+ *
14
+ * So two things change, and both are here so they can be tested on their own:
15
+ *
16
+ * - the prover is SHOWN the round's gate results (`proverGateSteps`): each
17
+ * executed step's name, the command it ran, and passed / failed / skipped.
18
+ * That is what "the tests were run" means.
19
+ * - with nobody to ask, a partial proof is KEPT when the checks vouch for it
20
+ * (`checksVouch`): every required step that applied ran and passed, nothing
21
+ * that ran failed, and at least one step actually ran. Otherwise it is
22
+ * discarded, as before.
23
+ *
24
+ * ⚠️ A PERSON'S ANSWER IS NEVER OVERRULED. A paired machine asks exactly as it
25
+ * did, and a `discard` a person gave stays a discard. Only an answer nobody
26
+ * gave — no server, a server that could not be asked, a deadline the server's
27
+ * sweep answered as `system` — is replaced by what the checks say.
28
+ */
29
+ /** One gate step as the prover is shown it. */
30
+ export interface ProverGateStep {
31
+ readonly name: string;
32
+ /** The command the gate ran (or would have run, for a skipped step). */
33
+ readonly command: string;
34
+ readonly outcome: 'passed' | 'failed' | 'skipped';
35
+ }
36
+ /** The round's gate results, in the order the gate ran them, with the configured command for each. */
37
+ export declare function proverGateSteps(steps: readonly GateStepResult[], specs: readonly StepSpec[]): ProverGateStep[];
38
+ /**
39
+ * Do the checks alone vouch for this change? Every required step that applied ran and passed,
40
+ * no step that ran failed, and at least one step really ran. A required step that was skipped
41
+ * or never ran is not a pass (`mayCommit` refuses it too); a gate where nothing ran proves nothing.
42
+ */
43
+ export declare function checksVouch(steps: readonly GateStepResult[], required: readonly string[]): boolean;
44
+ /**
45
+ * What an asker answers: the answer, and whether a PERSON gave it.
46
+ *
47
+ * `nobodyAnswered` is true when there was nobody to ask (unpaired), the question could not be
48
+ * filed, or the deadline passed and the server's sweep answered it as `system`. A bare
49
+ * `PartialAnswer` from an older asker is read as a person's answer, so nothing is overruled.
50
+ */
51
+ export interface PartialResolution {
52
+ readonly answer: PartialAnswer;
53
+ readonly nobodyAnswered: boolean;
54
+ }
55
+ export declare function asResolution(r: PartialAnswer | PartialResolution): PartialResolution;
56
+ /** Said on the run's feed and on the item when a partial proof is kept on the checks alone. */
57
+ export declare const PARTIAL_KEPT_NOTE = "kept: the checks passed, and the second agent only doubted what it could not see";
58
+ /** The feed's sentence: which work, which checks, and what the second agent doubted. */
59
+ export declare function partialKeptText(itemTitle: string, reason: string, steps: readonly GateStepResult[]): string;
60
+ //# sourceMappingURL=partial-keep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partial-keep.d.ts","sourceRoot":"","sources":["../src/partial-keep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CACnD;AAED,sGAAsG;AACtG,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,cAAc,EAAE,CAM9G;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CASlG;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,aAAa,GAAG,iBAAiB,GAAG,iBAAiB,CAEpF;AAED,+FAA+F;AAC/F,eAAO,MAAM,iBAAiB,qFAAqF,CAAC;AAEpH,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,CAM3G"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PARTIAL_KEPT_NOTE = void 0;
4
+ exports.proverGateSteps = proverGateSteps;
5
+ exports.checksVouch = checksVouch;
6
+ exports.asResolution = asResolution;
7
+ exports.partialKeptText = partialKeptText;
8
+ /** The round's gate results, in the order the gate ran them, with the configured command for each. */
9
+ function proverGateSteps(steps, specs) {
10
+ return steps.map((s) => ({
11
+ name: s.step,
12
+ command: specs.find((spec) => spec.name === s.step)?.run ?? '(command not recorded)',
13
+ outcome: s.skipped === true ? 'skipped' : s.ok ? 'passed' : 'failed',
14
+ }));
15
+ }
16
+ /**
17
+ * Do the checks alone vouch for this change? Every required step that applied ran and passed,
18
+ * no step that ran failed, and at least one step really ran. A required step that was skipped
19
+ * or never ran is not a pass (`mayCommit` refuses it too); a gate where nothing ran proves nothing.
20
+ */
21
+ function checksVouch(steps, required) {
22
+ const ran = steps.filter((s) => s.skipped !== true);
23
+ if (ran.length === 0)
24
+ return false;
25
+ if (ran.some((s) => !s.ok))
26
+ return false;
27
+ for (const name of required) {
28
+ const step = steps.find((s) => s.step === name);
29
+ if (step === undefined || step.skipped === true || !step.ok)
30
+ return false;
31
+ }
32
+ return true;
33
+ }
34
+ function asResolution(r) {
35
+ return typeof r === 'string' ? { answer: r, nobodyAnswered: false } : r;
36
+ }
37
+ /** Said on the run's feed and on the item when a partial proof is kept on the checks alone. */
38
+ exports.PARTIAL_KEPT_NOTE = 'kept: the checks passed, and the second agent only doubted what it could not see';
39
+ /** The feed's sentence: which work, which checks, and what the second agent doubted. */
40
+ function partialKeptText(itemTitle, reason, steps) {
41
+ const passed = steps.filter((s) => s.skipped !== true && s.ok).map((s) => s.step);
42
+ return (`${exports.PARTIAL_KEPT_NOTE} — "${itemTitle}": ${passed.join(', ')} passed, nobody could be asked, ` +
43
+ `and the second agent's doubt was: ${reason}`);
44
+ }
45
+ //# sourceMappingURL=partial-keep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partial-keep.js","sourceRoot":"","sources":["../src/partial-keep.ts"],"names":[],"mappings":";;;AAuCA,0CAMC;AAOD,kCASC;AAcD,oCAEC;AAMD,0CAMC;AAnDD,sGAAsG;AACtG,SAAgB,eAAe,CAAC,KAAgC,EAAE,KAA0B;IAC1F,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,wBAAwB;QACpF,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;KACrE,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,KAAgC,EAAE,QAA2B;IACvF,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IACpD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAChD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAcD,SAAgB,YAAY,CAAC,CAAoC;IAC/D,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,+FAA+F;AAClF,QAAA,iBAAiB,GAAG,kFAAkF,CAAC;AAEpH,wFAAwF;AACxF,SAAgB,eAAe,CAAC,SAAiB,EAAE,MAAc,EAAE,KAAgC;IACjG,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClF,OAAO,CACL,GAAG,yBAAiB,OAAO,SAAS,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kCAAkC;QAC7F,qCAAqC,MAAM,EAAE,CAC9C,CAAC;AACJ,CAAC"}
package/dist/prover.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import type { Item, ProofVerdict } from '@looply/core';
2
2
  import { type ImplementerResult } from './agent-driver';
3
3
  import type { CommandResult } from './gate';
4
+ import type { ProverGateStep } from './partial-keep';
4
5
  import type { ProofOutcome } from './round-runner';
5
6
  /**
6
7
  * The prover invocation (DESIGN §2.2, Key 2): build the read-only prompt from
7
- * exactly three things — the item title, its evidence, and the diff — and run
8
- * the prover agent over it.
8
+ * the item title, its evidence, the diff, and the gate results the run itself
9
+ * measured (never the implementer's account) — and run the prover agent over it.
9
10
  *
10
11
  * The context deliberately carries the full implementer result even though the
11
12
  * prompt uses none of it. The round runner holds that result, and the natural
@@ -22,6 +23,13 @@ export interface ProverContext {
22
23
  diff: string;
23
24
  /** Held so the exclusion is enforced (and tested) here, never used in the prompt. */
24
25
  implementer: ImplementerResult;
26
+ /**
27
+ * This round's gate results, as the RUN measured them: each step's name, the command it ran,
28
+ * and passed / failed / skipped. Not the implementer's story — the machine ran these. Without
29
+ * them the prover said "partial" on TAB-B-61 four times because "nothing shows the ticket's
30
+ * vitest command was run or passed", when the gate had run it and it had passed.
31
+ */
32
+ gate?: readonly ProverGateStep[];
25
33
  }
26
34
  /**
27
35
  * Runs the prover agent over a finished prompt. The prompt travels as data,
@@ -77,4 +85,9 @@ export declare function extractProverVerdict(transcript: string): ProverVerdictE
77
85
  * The exit code is recorded upstream but decides nothing here, same as case 3.
78
86
  */
79
87
  export declare function toProofOutcome(run: ProverRunResult): ProofOutcome;
88
+ /**
89
+ * The gate's results as the prover reads them. A step listed as passed WAS run on this diff and
90
+ * passed; the prover is told not to doubt that, and to judge the code it can read.
91
+ */
92
+ export declare function renderGate(gate: readonly ProverGateStep[] | undefined): string[];
80
93
  //# sourceMappingURL=prover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prover.d.ts","sourceRoot":"","sources":["../src/prover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,IAAI,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;IACvC,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;AAEzF,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,2EAA2E;IAC3E,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAI1B;AAYD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAuB5D;AAED,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAED,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GACpC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElC;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,CAU7E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,YAAY,CAUjE"}
1
+ {"version":3,"file":"prover.d.ts","sourceRoot":"","sources":["../src/prover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,IAAI,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;IACvC,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,WAAW,EAAE,iBAAiB,CAAC;IAC/B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;AAEzF,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,2EAA2E;IAC3E,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAI1B;AAYD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAwB5D;AAED,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAED,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GACpC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElC;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,CAU7E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,YAAY,CAUjE;AAsDD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CAUhF"}
package/dist/prover.js CHANGED
@@ -4,6 +4,7 @@ exports.runProver = runProver;
4
4
  exports.buildProverPrompt = buildProverPrompt;
5
5
  exports.extractProverVerdict = extractProverVerdict;
6
6
  exports.toProofOutcome = toProofOutcome;
7
+ exports.renderGate = renderGate;
7
8
  const agent_driver_1 = require("./agent-driver");
8
9
  async function runProver(invoke, ctx, timeoutMs) {
9
10
  const prompt = buildProverPrompt(ctx);
@@ -30,6 +31,7 @@ function buildProverPrompt(ctx) {
30
31
  '',
31
32
  renderEvidence(ctx.item.evidence),
32
33
  '',
34
+ ...renderGate(ctx.gate),
33
35
  '--- BEGIN DIFF ---',
34
36
  ctx.diff,
35
37
  '--- END DIFF ---',
@@ -125,6 +127,22 @@ function parseChecks(v) {
125
127
  }
126
128
  return out;
127
129
  }
130
+ /**
131
+ * The gate's results as the prover reads them. A step listed as passed WAS run on this diff and
132
+ * passed; the prover is told not to doubt that, and to judge the code it can read.
133
+ */
134
+ function renderGate(gate) {
135
+ if (gate === undefined || gate.length === 0)
136
+ return [];
137
+ return [
138
+ 'Checks the run itself executed on this diff (measured by the machine, not reported by the implementer):',
139
+ ...gate.map((g) => `- ${g.name}: \`${g.command}\` — ${g.outcome}`),
140
+ 'A check listed as passed was run on exactly this diff and passed. Do not call the item partial only',
141
+ 'because you cannot see a test being run: these results are that evidence. A skipped check did not',
142
+ 'apply to the files changed.',
143
+ '',
144
+ ];
145
+ }
128
146
  function renderEvidence(evidence) {
129
147
  if (evidence.length === 0)
130
148
  return 'Evidence: none recorded for this item.';
@@ -1 +1 @@
1
- {"version":3,"file":"prover.js","sourceRoot":"","sources":["../src/prover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prover.js","sourceRoot":"","sources":["../src/prover.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pursuit-ending.d.ts","sourceRoot":"","sources":["../src/pursuit-ending.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAElG;;;;;;;;;;;;;;;;;;GAkBG;AAEH,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,sCAAsC,CAAC;AACtE,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,oCAAoC,CAAC;AAEtE,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,KAAK,EAAE,iBAAiB,CAAC;IACzB,kDAAkD;IAClD,GAAG,EAAE,cAAc,CAAC;IACpB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAC;IACrB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;CACjB;AA8BD,iDAAiD;AACjD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,GAAG,aAAa,CAuFvE"}
1
+ {"version":3,"file":"pursuit-ending.d.ts","sourceRoot":"","sources":["../src/pursuit-ending.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAGlG;;;;;;;;;;;;;;;;;;GAkBG;AAEH,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,sCAAsC,CAAC;AACtE,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,oCAAoC,CAAC;AAEtE,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,KAAK,EAAE,iBAAiB,CAAC;IACzB,kDAAkD;IAClD,GAAG,EAAE,cAAc,CAAC;IACpB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAC;IACrB,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;CACjB;AA+BD,iDAAiD;AACjD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,GAAG,aAAa,CAuFvE"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.COMPILE_REFUSED_NOTE = exports.COMPILE_EMPTY_NOTE = void 0;
4
4
  exports.describePursuitEnding = describePursuitEnding;
5
5
  const core_1 = require("@looply/core");
6
+ const ticket_words_1 = require("./ticket-words");
6
7
  /**
7
8
  * WHY A PURSUIT ENDED, SAID TO A PERSON WHO IS NOT A DEVELOPER.
8
9
  *
@@ -28,7 +29,8 @@ exports.COMPILE_EMPTY_NOTE = 'compile: the plan came back empty';
28
29
  exports.COMPILE_REFUSED_NOTE = 'compile: every step was refused';
29
30
  /** A quoted fragment: one line, scrubbed, short enough to leave room for the advice. */
30
31
  function quote(text, max = 220) {
31
- let s = (0, core_1.cleanPursuitEndReason)(text).replace(/[.\s]+$/, '');
32
+ // Plain words first (TAB-B-61): a QA tester reads this, not a developer at a terminal.
33
+ let s = (0, core_1.cleanPursuitEndReason)((0, ticket_words_1.ticketSentence)(text)).replace(/[.\s]+$/, '');
32
34
  if (s.length > max)
33
35
  s = `${s.slice(0, max - 1).trimEnd()}…`;
34
36
  return s;
@@ -103,7 +105,7 @@ function describePursuitEnding(ctx) {
103
105
  case 'cancelled':
104
106
  return out('cancelled', 'A person stopped this.');
105
107
  default:
106
- return out(ctx.end, ctx.because);
108
+ return out(ctx.end, (0, ticket_words_1.ticketSentence)(ctx.because));
107
109
  }
108
110
  }
109
111
  /** Ran out of Starts or of time: say what was holding it, or what the last try said. */
@@ -1 +1 @@
1
- {"version":3,"file":"pursuit-ending.js","sourceRoot":"","sources":["../src/pursuit-ending.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pursuit-ending.js","sourceRoot":"","sources":["../src/pursuit-ending.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,11 @@ export declare function countByState(items: readonly Pick<Item, 'state'>[]): Sta
11
11
  * refused on.
12
12
  */
13
13
  export declare function describeNoReady(items: readonly Pick<Item, 'state'>[]): string;
14
+ /**
15
+ * Does an unpickable queue wait on a PERSON's decision? Only a `draft` does: the verify pass
16
+ * answered `unclear`, and a person must say what it means. Stale, duplicate, split, blocked
17
+ * and closed rows wait on nobody — a re-plan is the answer to those (TAB-B-61), so a run that
18
+ * finds only them is retryable, never `human_required`.
19
+ */
20
+ export declare function waitsOnPersonDecision(items: readonly Pick<Item, 'state'>[]): boolean;
14
21
  //# sourceMappingURL=queue-summary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queue-summary.d.ts","sourceRoot":"","sources":["../src/queue-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AA+BpD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,CAOhF;AA8BD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAS7E"}
1
+ {"version":3,"file":"queue-summary.d.ts","sourceRoot":"","sources":["../src/queue-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AA+BpD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,CAOhF;AA8BD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAS7E;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,CAEpF"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.countByState = countByState;
4
4
  exports.describeNoReady = describeNoReady;
5
+ exports.waitsOnPersonDecision = waitsOnPersonDecision;
5
6
  /**
6
7
  * Why the run found nothing to pick.
7
8
  *
@@ -79,4 +80,13 @@ function describeNoReady(items) {
79
80
  .join(', ');
80
81
  return `no ready items: the queue holds ${inventory}. ${nextStep(counts)}`;
81
82
  }
83
+ /**
84
+ * Does an unpickable queue wait on a PERSON's decision? Only a `draft` does: the verify pass
85
+ * answered `unclear`, and a person must say what it means. Stale, duplicate, split, blocked
86
+ * and closed rows wait on nobody — a re-plan is the answer to those (TAB-B-61), so a run that
87
+ * finds only them is retryable, never `human_required`.
88
+ */
89
+ function waitsOnPersonDecision(items) {
90
+ return items.some((i) => i.state === 'draft');
91
+ }
82
92
  //# sourceMappingURL=queue-summary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queue-summary.js","sourceRoot":"","sources":["../src/queue-summary.ts"],"names":[],"mappings":";;AAqCA,oCAOC;AAmCD,0CASC;AAtFD;;;;;;;;;;;GAWG;AAEH,yEAAyE;AACzE,MAAM,WAAW,GAAyB;IACxC,OAAO;IACP,OAAO;IACP,WAAW;IACX,aAAa;IACb,SAAS;IACT,OAAO;IACP,WAAW;IACX,OAAO;IACP,MAAM;IACN,QAAQ;CACT,CAAC;AAEF,MAAM,WAAW,GAAuC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;AAOvF,4EAA4E;AAC5E,SAAgB,YAAY,CAAC,KAAqC;IAChE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtE,KAAK;QACL,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE;KAC1B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,GAAG,CAAC,MAA6B,EAAE,KAAgB;IAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,MAA6B;IAC7C,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;QACrD,uEAAuE;QACvE,mEAAmE;QACnE,uEAAuE;QACvE,OAAO,sGAAsG,CAAC;IAChH,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;QAC/B,2EAA2E;QAC3E,0EAA0E;QAC1E,uEAAuE;QACvE,OAAO,6IAA6I,CAAC;IACvJ,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,gIAAgI,CAAC;IAC1I,CAAC;IACD,OAAO,0EAA0E,CAAC;AACpF,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,KAAqC;IACnE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,kGAAkG,CAAC;IAC5G,CAAC;IACD,MAAM,SAAS,GAAG,MAAM;SACrB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;SACpE,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,mCAAmC,SAAS,KAAK,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"queue-summary.js","sourceRoot":"","sources":["../src/queue-summary.ts"],"names":[],"mappings":";;AAqCA,oCAOC;AAmCD,0CASC;AAQD,sDAEC;AAhGD;;;;;;;;;;;GAWG;AAEH,yEAAyE;AACzE,MAAM,WAAW,GAAyB;IACxC,OAAO;IACP,OAAO;IACP,WAAW;IACX,aAAa;IACb,SAAS;IACT,OAAO;IACP,WAAW;IACX,OAAO;IACP,MAAM;IACN,QAAQ;CACT,CAAC;AAEF,MAAM,WAAW,GAAuC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;AAOvF,4EAA4E;AAC5E,SAAgB,YAAY,CAAC,KAAqC;IAChE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtE,KAAK;QACL,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE;KAC1B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,GAAG,CAAC,MAA6B,EAAE,KAAgB;IAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,MAA6B;IAC7C,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;QACrD,uEAAuE;QACvE,mEAAmE;QACnE,uEAAuE;QACvE,OAAO,sGAAsG,CAAC;IAChH,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;QAC/B,2EAA2E;QAC3E,0EAA0E;QAC1E,uEAAuE;QACvE,OAAO,6IAA6I,CAAC;IACvJ,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,gIAAgI,CAAC;IAC1I,CAAC;IACD,OAAO,0EAA0E,CAAC;AACpF,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,KAAqC;IACnE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,kGAAkG,CAAC;IAC5G,CAAC;IACD,MAAM,SAAS,GAAG,MAAM;SACrB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;SACpE,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,mCAAmC,SAAS,KAAK,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,KAAqC;IACzE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;AAChD,CAAC"}
@@ -3,6 +3,7 @@ import type { ImplementerRunResult } from './agent-driver';
3
3
  import type { LooplyConfig } from './config';
4
4
  import type { EvidenceLookup } from './evidence-cache';
5
5
  import { type CommandResult, type CommandRunner, type GateStepDiagnostic } from './gate';
6
+ import { type PartialResolution, type ProverGateStep } from './partial-keep';
6
7
  import { type RejectedAttemptInput, type RejectedEvidenceSink } from './rejected-evidence';
7
8
  import type { AnyEventInput } from './ledger-store';
8
9
  import type { RunProgressNotifier } from './notify-cadence';
@@ -349,16 +350,25 @@ export interface RoundRunnerDeps {
349
350
  * the item's `lastFailure` still carries the one-line reason either way.
350
351
  */
351
352
  implement(item: Item, attempt: number, repair?: RepairContext): Promise<ImplementerRunResult>;
352
- /** The second key (DESIGN §2.2). Required whenever `proof.enabled` is true. */
353
+ /**
354
+ * The second key (DESIGN §2.2). Required whenever `proof.enabled` is true.
355
+ *
356
+ * `gate` is this round's gate results — each step's name, the command it ran
357
+ * and passed / failed / skipped — so the prover knows what was run rather
358
+ * than doubting it (TAB-B-61: "nothing shows the vitest command was run").
359
+ */
353
360
  prove?(input: {
354
361
  item: Item;
355
362
  changedPaths: readonly string[];
363
+ gate?: readonly ProverGateStep[];
356
364
  }): Promise<ProofOutcome>;
357
365
  /**
358
366
  * Resolves a `partial` verdict when `proof.on_partial: ask` — whatever can
359
367
  * reach a human (daemon → phone). It owns emitting question.asked/answered.
368
+ * A `PartialResolution` also says whether a person gave the answer; with
369
+ * nobody to ask, the runner keeps the work when the checks vouch for it.
360
370
  */
361
- resolvePartial?(item: Item, proof: ProofOutcome): Promise<PartialAnswer>;
371
+ resolvePartial?(item: Item, proof: ProofOutcome): Promise<PartialAnswer | PartialResolution>;
362
372
  /**
363
373
  * Drops an item's cached evidence (see `EvidenceCache.invalidate`). Called
364
374
  * after every discard — §12 case 19's second trigger. Optional because a run
@@ -615,6 +625,12 @@ export declare const RUN_HALTED_CODE = "run-halted";
615
625
  * owner's decision, not this alert's business.
616
626
  */
617
627
  export declare const PARTIAL_DISCARDED_CODE = "proof-partial-discarded";
628
+ /**
629
+ * The alert a run writes when a partial proof was KEPT because nobody could be
630
+ * asked and the checks vouch for the change (`partial-keep.ts`). `info`: work
631
+ * was kept, nothing is wrong, and the feed and the item both say why.
632
+ */
633
+ export declare const PARTIAL_KEPT_CODE = "proof-partial-kept";
618
634
  /** What a partial proof discarded for want of anyone to ask says, in one sentence. */
619
635
  export declare function partialDiscardedText(itemTitle: string, reason: string): string;
620
636
  export interface RunSummary {
@@ -1 +1 @@
1
- {"version":3,"file":"round-runner.d.ts","sourceRoot":"","sources":["../src/round-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"round-runner.d.ts","sourceRoot":"","sources":["../src/round-runner.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RoundRunner = exports.DEFAULT_PAUSE_POLL_MS = exports.RunnerError = exports.PARTIAL_DISCARDED_CODE = exports.RUN_HALTED_CODE = exports.GATE_MACHINERY = exports.MAX_CONSECUTIVE_BLOCKED_ROUNDS = void 0;
3
+ exports.RoundRunner = exports.DEFAULT_PAUSE_POLL_MS = exports.RunnerError = exports.PARTIAL_KEPT_CODE = exports.PARTIAL_DISCARDED_CODE = exports.RUN_HALTED_CODE = exports.GATE_MACHINERY = exports.MAX_CONSECUTIVE_BLOCKED_ROUNDS = void 0;
4
4
  exports.partialDiscardedText = partialDiscardedText;
5
5
  const core_1 = require("@looply/core");
6
6
  const gate_1 = require("./gate");
7
7
  const glob_1 = require("./glob");
8
+ const partial_keep_1 = require("./partial-keep");
8
9
  const scope_rule_1 = require("./scope-rule");
9
10
  const rejected_evidence_1 = require("./rejected-evidence");
10
11
  const verify_apply_1 = require("./verify-apply");
@@ -74,6 +75,12 @@ exports.RUN_HALTED_CODE = 'run-halted';
74
75
  * owner's decision, not this alert's business.
75
76
  */
76
77
  exports.PARTIAL_DISCARDED_CODE = 'proof-partial-discarded';
78
+ /**
79
+ * The alert a run writes when a partial proof was KEPT because nobody could be
80
+ * asked and the checks vouch for the change (`partial-keep.ts`). `info`: work
81
+ * was kept, nothing is wrong, and the feed and the item both say why.
82
+ */
83
+ exports.PARTIAL_KEPT_CODE = 'proof-partial-kept';
77
84
  /** What a partial proof discarded for want of anyone to ask says, in one sentence. */
78
85
  function partialDiscardedText(itemTitle, reason) {
79
86
  return (`the checker was not sure about "${itemTitle}" — ${reason} — and nothing on this machine can be asked, ` +
@@ -1094,7 +1101,7 @@ class RoundRunner {
1094
1101
  let proof;
1095
1102
  if (this.cfg.proof.enabled && this.deps.prove) {
1096
1103
  try {
1097
- proof = await this.deps.prove({ item, changedPaths: changed });
1104
+ proof = await this.deps.prove({ item, changedPaths: changed, gate: (0, partial_keep_1.proverGateSteps)(gate.steps, this.cfg.gates) });
1098
1105
  }
1099
1106
  catch (err) {
1100
1107
  // §12 case 15's harder sibling: an unparseable verdict is a rejection,
@@ -1135,7 +1142,42 @@ class RoundRunner {
1135
1142
  // reach a human. The 'discard' fallback is unreachable (constructor
1136
1143
  // refuses ask-with-nothing-wired) but keeps the safe default explicit.
1137
1144
  const ask = this.deps.resolvePartial;
1138
- const answer = this.cfg.proof.onPartial !== 'ask' ? this.cfg.proof.onPartial : ask ? await ask(item, proof) : 'discard';
1145
+ const resolved = this.cfg.proof.onPartial !== 'ask'
1146
+ ? { answer: this.cfg.proof.onPartial, nobodyAnswered: false }
1147
+ : ask
1148
+ ? (0, partial_keep_1.asResolution)(await ask(item, proof))
1149
+ : { answer: 'discard', nobodyAnswered: true };
1150
+ let answer = resolved.answer;
1151
+ /**
1152
+ * 🔴 NOBODY TO ASK IS NOT A REASON TO THROW AWAY WORK THE CHECKS VOUCH FOR (TAB-B-61).
1153
+ *
1154
+ * An unpaired machine — or a question the deadline answered as `system` — used to
1155
+ * discard every partial proof, even when the gate had run the ticket's own tests and
1156
+ * they passed and the second agent doubted only what it could not see. With nobody's
1157
+ * answer to go on, the checks decide: every required step that applied ran and passed,
1158
+ * nothing that ran failed, and at least one step ran. A person's own answer is never
1159
+ * overruled, and a project that chose `discard` keeps it. The attempt is not spent: the
1160
+ * item is done, exactly as a person's `keep` would make it, and every brake below
1161
+ * (late rails, surfaces, the fence, cross-repo needs) still stands between this and
1162
+ * the commit.
1163
+ */
1164
+ if (this.cfg.proof.onPartial === 'ask' &&
1165
+ answer === 'discard' &&
1166
+ resolved.nobodyAnswered &&
1167
+ (0, partial_keep_1.checksVouch)(gate.steps, (0, gate_1.requiredSteps)(this.cfg.gates))) {
1168
+ answer = 'keep';
1169
+ this.roundNote = partial_keep_1.PARTIAL_KEPT_NOTE;
1170
+ try {
1171
+ await this.emit('alert', {
1172
+ code: exports.PARTIAL_KEPT_CODE,
1173
+ severity: 'info',
1174
+ text: (0, partial_keep_1.partialKeptText)(item.title, proof.reason, gate.steps),
1175
+ });
1176
+ }
1177
+ catch {
1178
+ /* the round's own record is the one that must land */
1179
+ }
1180
+ }
1139
1181
  /**
1140
1182
  * M6-20: A DISCARD THE PROJECT DID NOT CHOOSE IS SAID OUT LOUD.
1141
1183
  *