humanish 0.70.0 → 0.72.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.
package/README.md CHANGED
@@ -132,7 +132,10 @@ Three things to know before you rely on it:
132
132
  app-server thread, Claude Code through one `claude -p` stream-json session.
133
133
  A participant that starts every turn cold cannot remember trying the menu
134
134
  and tries it again; measured on one lab, that was 188 actions over 90 turns
135
- and no finish against 21 actions over 8 turns.
135
+ and no finish against 21 actions over 8 turns. `HUMANISH_LOCAL_AGENT_ONE_SHOT=1`
136
+ keeps the cold-start path for the Claude agent as a measurement switch, so
137
+ "remembers" can be compared against "does not" on your own lab; the trace's
138
+ `ids.model` says which ran.
136
139
 
137
140
  ## Telemetry
138
141
 
@@ -31,7 +31,7 @@ import { adapterScoreFailureMessage, applyBrowserAdapterHooks } from "./adapter-
31
31
  import { actorRegistry, isCuaActorDescriptor } from "./actor-registry.js";
32
32
  import { CHROMIUM_EVIDENCE_HYGIENE_FLAGS, chromiumEvidenceProfilePreferencesJson } from "./browser-evidence-hygiene.js";
33
33
  import { DEFAULT_OPENAI_CU_MODEL } from "./openai-responses-cu.js";
34
- import { detectLocalAgents } from "./local-agent-cli.js";
34
+ import { createLocalAgentProvider, detectLocalAgents } from "./local-agent-cli.js";
35
35
  import { startAppServerSession } from "./local-agent-appserver.js";
36
36
  import { startClaudeSession } from "./local-agent-claude-session.js";
37
37
  import { createDesktopSandbox, loadE2BDesktopModule } from "./e2b-desktop-launch.js";
@@ -1641,12 +1641,27 @@ export async function runCuaLane(spec, deps) {
1641
1641
  else if (deps.localAgent === "claude") {
1642
1642
  // One session for the whole run, like the codex thread above (#520). The one-shot
1643
1643
  // provider (createLocalAgentProvider) spawned `claude -p` per turn, and every turn
1644
- // started with no memory of the last.
1645
- claudeSession = await startClaudeSession({
1646
- ...(spec.reasoningEffort === undefined ? {} : { reasoningEffort: spec.reasoningEffort }),
1647
- ...(config.actors[0]?.model === undefined ? {} : { model: config.actors[0].model })
1648
- });
1649
- localAgentProvider = claudeSession.provider;
1644
+ // started with no memory of the last. HUMANISH_LOCAL_AGENT_ONE_SHOT=1 keeps that path
1645
+ // reachable as a MEASUREMENT switch: MemTrapBench (2026-08) reports memory frameworks
1646
+ // degrading agent performance by 10-40% on some tasks, so "remembers" has to be measured
1647
+ // against "does not" on the same lab, not assumed. The trace records which one ran.
1648
+ const oneShot = env.HUMANISH_LOCAL_AGENT_ONE_SHOT !== undefined
1649
+ && env.HUMANISH_LOCAL_AGENT_ONE_SHOT !== ""
1650
+ && env.HUMANISH_LOCAL_AGENT_ONE_SHOT !== "0";
1651
+ if (oneShot) {
1652
+ localAgentProvider = createLocalAgentProvider({
1653
+ agent: "claude",
1654
+ ...(spec.reasoningEffort === undefined ? {} : { reasoningEffort: spec.reasoningEffort }),
1655
+ ...(config.actors[0]?.model === undefined ? {} : { model: config.actors[0].model })
1656
+ });
1657
+ }
1658
+ else {
1659
+ claudeSession = await startClaudeSession({
1660
+ ...(spec.reasoningEffort === undefined ? {} : { reasoningEffort: spec.reasoningEffort }),
1661
+ ...(config.actors[0]?.model === undefined ? {} : { model: config.actors[0].model })
1662
+ });
1663
+ localAgentProvider = claudeSession.provider;
1664
+ }
1650
1665
  }
1651
1666
  // World is ready: release the pipeline gate so the remaining lanes may start.
1652
1667
  provisioned = true;