@phi-code-admin/phi-code 0.93.1 → 0.93.2

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.93.2] - 2026-07-12
4
+
5
+ ### Fixed
6
+
7
+ - /fix: a single shot that changed NOTHING (text-only reply, zero edits — a
8
+ measured 91s failure mode) no longer ends UNVERIFIED; in a git repo with a
9
+ clean tree it ESCALATES to the full pipeline (nothing to verify = the work
10
+ was not done). The shot instruction now states that acting with tools is
11
+ mandatory and a textual plan forfeits the attempt. +1 integration test.
12
+
3
13
  ## [0.93.1] - 2026-07-12
4
14
 
5
15
  ### Fixed
@@ -1364,6 +1364,20 @@ Tag the note with relevant keywords for vector search.
1364
1364
  fixContext.state.failingTest?.trim() || fixContext.state.reproCommand?.trim() || fixContext.reproFromShot;
1365
1365
  const suiteCmd = sandbox.recipe.test?.trim();
1366
1366
 
1367
+ // A shot that changed NOTHING has nothing to verify — "UNVERIFIED" would be
1368
+ // a lie of omission (measured: a text-only 91s shot ended UNVERIFIED with
1369
+ // zero edits). In a git repo with a clean diff, escalate to the full
1370
+ // pipeline instead: the work simply was not done.
1371
+ const inGitRepo = passed(runCommand("git rev-parse --is-inside-work-tree", { cwd, timeoutMs: 15_000 }));
1372
+ if (inGitRepo && !gitIn(cwd, "diff").trim() && !gitIn(cwd, "status --porcelain").trim()) {
1373
+ ctx.ui.notify(
1374
+ `\n🔺 **/fix escalating: the single shot made NO changes** — nothing to verify, the full /debug pipeline takes over.`,
1375
+ "warning",
1376
+ );
1377
+ phaseQueue.push(...buildDebugPhases(fixContext.state));
1378
+ return false; // dispatch REPRODUCE
1379
+ }
1380
+
1367
1381
  if (!sandbox.available() && (reproCmd || suiteCmd)) {
1368
1382
  ctx.ui.notify(
1369
1383
  `\n⚠️ **/fix oracle: sandbox unavailable** (${sandbox.reason}) — the single shot cannot be verified. Treating it as UNVERIFIED.`,
@@ -126,6 +126,8 @@ export function singleShotInstruction(state: FailingState): string {
126
126
  **The problem:**
127
127
  ${failing}
128
128
 
129
+ **You must ACT in this turn — call the read/edit/write tools and actually change the code. A textual plan or analysis with no edits counts as a FAILED shot (measured failure mode) and forfeits your attempt to the full pipeline.**
130
+
129
131
  **Do exactly this:**
130
132
  1. Read the relevant code and locate the root cause.
131
133
  2. Make the smallest change that addresses it. Do NOT edit tests. Every added guard/branch is a liability.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phi-code-admin/phi-code",
3
- "version": "0.93.1",
3
+ "version": "0.93.2",
4
4
  "description": "Coding agent CLI with persistent memory, sub-agents, intelligent routing, and orchestration",
5
5
  "type": "module",
6
6
  "piConfig": {