jeopi-cli 16.2.30 → 16.4.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 (44) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/cli.js +2824 -2736
  3. package/dist/types/config/settings-schema.d.ts +32 -2
  4. package/dist/types/goals/runtime.d.ts +16 -0
  5. package/dist/types/goals/verifier.d.ts +9 -0
  6. package/dist/types/memories/index.d.ts +9 -0
  7. package/dist/types/memory-backend/types.d.ts +11 -0
  8. package/dist/types/session/agent-session.d.ts +22 -7
  9. package/dist/types/slash-commands/helpers/skill-verify.d.ts +5 -0
  10. package/dist/types/task/model-tier-classifier.d.ts +8 -0
  11. package/dist/types/tools/builtin-names.d.ts +1 -1
  12. package/dist/types/tools/index.d.ts +1 -0
  13. package/dist/types/tools/learn.d.ts +4 -0
  14. package/dist/types/tools/path-write-lock.d.ts +10 -0
  15. package/dist/types/tools/vision-verify.d.ts +34 -0
  16. package/package.json +12 -12
  17. package/src/autolearn/controller.ts +21 -5
  18. package/src/autoresearch/index.ts +60 -6
  19. package/src/config/settings-schema.ts +38 -2
  20. package/src/edit/index.ts +2 -1
  21. package/src/goals/runtime.ts +51 -0
  22. package/src/goals/verifier.ts +100 -0
  23. package/src/internal-urls/docs-index.generated.txt +2 -2
  24. package/src/memories/index.ts +10 -2
  25. package/src/memory-backend/local-backend.ts +34 -0
  26. package/src/memory-backend/types.ts +11 -0
  27. package/src/prompts/agents/designer.md +1 -0
  28. package/src/prompts/agents/goal-verifier.md +51 -0
  29. package/src/prompts/tools/learn.md +2 -0
  30. package/src/prompts/tools/vision-verify-system.md +16 -0
  31. package/src/prompts/tools/vision-verify.md +20 -0
  32. package/src/sdk.ts +2 -0
  33. package/src/session/agent-session.ts +51 -8
  34. package/src/slash-commands/builtin-registry.ts +9 -0
  35. package/src/slash-commands/helpers/skill-verify.ts +171 -0
  36. package/src/task/agents.ts +2 -0
  37. package/src/task/index.ts +26 -1
  38. package/src/task/model-tier-classifier.ts +43 -0
  39. package/src/tools/builtin-names.ts +1 -0
  40. package/src/tools/index.ts +4 -0
  41. package/src/tools/learn.ts +16 -1
  42. package/src/tools/path-write-lock.ts +44 -0
  43. package/src/tools/vision-verify.ts +347 -0
  44. package/src/tools/write.ts +12 -9
package/CHANGELOG.md CHANGED
@@ -2,6 +2,38 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [16.4.0] - 2026-07-12
6
+
7
+ ### Added
8
+
9
+ - The `learn` tool now accepts optional `verified`/`evidence` params (article gap: "verified fact" vs. "hypothesis" distinction). Every `learned.md` line is now tagged `[VERIFIED]`/`[UNVERIFIED]` (legacy untagged lines are read back as unverified for backward compat, never retagged). The `local` memory backend's previously-unimplemented `stats()` now reports total/verified/unverified lesson counts and a verification-coverage percentage for `/memory stats`.
10
+ - New `/verify-skill <name>` command: runs a skill's `## Eval Cases` markdown section (bulleted verifiable claims) against the current repo via one read-only `critic` sub-agent per case, reporting pass/fail. A skill with no `## Eval Cases` section reports how to add one instead of erroring. Failing cases on a managed skill suggest a `## Known Failure Modes` line to append — never auto-written.
11
+ - `AutoLearnController`'s capture-turn eligibility now also fires when a turn's tool calls included any failure (`tool_execution_end` with `isError`), independent of the existing `autolearn.minToolCalls` volume threshold — a single failed tool call is now eligible for a capture nudge even in an otherwise-short turn.
12
+ - New `vision_verify` tool (gated by `vision_verify.enabled`, same gating shape as `inspect_image`): takes a goal description, a screenshot path, and an optional `baseline` screenshot for regression comparison, returning a structured `{matches, summary, gaps}` verdict from a vision-capable model instead of free text. `designer` agent's verify step now references it after producing a UI change.
13
+ - New per-path write lock (`tools/path-write-lock.ts`) wraps both `EditTool`'s and `WriteTool`'s disk-write callback: concurrent non-isolated subagents (the default — `task.isolation.mode` is `"none"`) editing the same file now have their physical writes serialized instead of racing, closing a lost-write window with no other collision-avoidance mechanism.
14
+ - New `task.autoModelTier` setting (default `true`): the default (unnamed) `task` sub-agent spawn now classifies its assignment text via the existing auto-thinking difficulty classifier and routes `Minimal`/`Low`-effort assignments to the `smol` model tier automatically, when the caller has not explicitly overridden the model. Named specialist agents (reviewer/critic/architect/etc.), which already carry their own `model:` frontmatter pin, are unaffected. Fails open (no override) on any classification error/timeout.
15
+ - `swarm-extension` gains opt-in per-agent worktree isolation (`isolation: true` in the swarm YAML): each agent runs in its own git worktree via the same isolation primitives `task`/`agent()` use, merging back after completion; a non-git workspace fails the agent's iteration cleanly rather than silently falling back to shared-workspace execution. `swarm-extension`'s CLI runner also gains a `--resume` flag: reconstructs `StateTracker` from the persisted `pipeline.json` and continues the pipeline from its last recorded iteration instead of restarting at 0, for a `"running"`/`"failed"` (not `"completed"`/`"aborted"`) prior state.
16
+
17
+ ### Fixed
18
+
19
+ - The new `/verify-skill` command was initially registered as `/skill verify <name>`, which silently shadowed the pre-existing `/skill:<name>` skill-invocation syntax — both parse to the command-name token `skill` under `parseSlashCommand`'s earliest-whitespace-or-colon splitting rule, and the builtin-command dispatch runs before the skill-invocation dispatch, so every `/skill:<name>` call would have hit the new command's usage error instead of invoking the named skill. Renamed to `/verify-skill <name>` before release.
20
+
21
+ ## [16.3.0] - 2026-07-12
22
+
23
+ ### Added
24
+
25
+ - Goal-mode completion now spawns an independent `goal-verifier` sub-agent (fresh context, no exposure to the maker's transcript/reasoning) to grade a `goal({op:"complete"})` claim against the objective and the actual repo diff, after the existing deterministic evidence gate passes. New `goal.verifyCompletion` setting (default `true`). A non-`okay` verdict (`iterate`/`reject`) bounces the completion once with the verifier's justification and required fixes; a second `complete` call with no new mutation/verification evidence in between passes (the same bounce-once escape hatch pattern as the existing evidence gate, tracked independently so a wrong verifier verdict can't permanently block completion).
26
+ - Autoresearch mode now auto-resumes a pending (run-but-never-logged) experiment on the next session load — `session_start` and `/resume`-reason `session_switch` re-arm the same auto-continuation the live in-process loop already used, closing the gap where a process restart required manually re-invoking `/autoresearch` to pick a run back up. Bounded to pending runs completed within the last 24 hours, and skipped entirely when messages are already queued.
27
+
28
+ ### Changed
29
+
30
+ - `advisor.includeThinking` now defaults to `false`: the advisor no longer sees the primary agent's raw thinking blocks by default, only messages/tool calls/results/diffs — reduces anchoring on the maker's own already-committed reasoning trail instead of bringing an independent angle. Still toggleable via Settings → Advisor.
31
+ - Raised `SHUTDOWN_CONSOLIDATE_BUDGET_MS` (the `/quit`/`/exit` shutdown budget for the mnemopi consolidate pass and the hindsight retain-queue flush) from 1500ms to 8000ms — the prior budget was tighter than a single LLM fact-extraction round-trip (1-3s), so it lost the race on effectively every session with any memory-worthy content.
32
+
33
+ ### Fixed
34
+
35
+ - The Hindsight retain-queue flush on session dispose (`AgentSession.dispose` → `HindsightSessionState.flushRetainQueue`) made unbounded `fetch()` calls with no timeout, so an unreachable or hung Hindsight server could block `/quit`/`/exit` indefinitely. Now bounded by the same shutdown budget used for mnemopi consolidation when one is supplied; remaining items are dropped with a logged warning on timeout instead of hanging the process.
36
+
5
37
  ## [16.2.30] - 2026-07-10
6
38
 
7
39
  ### Added