jeo-code 0.9.9 → 0.9.11

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
@@ -8,6 +8,32 @@ The README mirrors the latest 5 entries — regenerate with `bun run changelog:s
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [0.9.11] - 2026-07-30
12
+ _Imports GJC v5 sessions safely, exposes bounded slash controls, and gates the release artifact before publication._
13
+
14
+ ### Added
15
+ - **Read-only GJC v5 session continuation** (`/resume gajae:<session-id>[#<leaf-entry-id>]`) — imports only exact version 5 JSONL sessions into a fresh Jeo v1 session, preserves SHA-256 and source session/leaf provenance, supports deterministic branch/tool/image/patch errors, and never writes the GJC format.
16
+ - **Slash command parity** — `/changelog [--full]` uses the existing release-notes renderer, `/jobs` controls the existing session `JobRegistry`, and `/resume gajae:` provides a TTY picker with a non-TTY list-only fallback.
17
+ - **Account-scoped OpenAI Codex discovery** — live/cache model rows are scoped to the authenticated OAuth account; `gpt-5.3-codex-spark` is accepted only from that account's Codex Responses model list with `supported_in_api !== false`.
18
+
19
+ ### Changed
20
+ - **Release verification** — Chromium rendering/screenshot checks, exact-SHA check-only CI, and packed-artifact smoke gates are now required before a 0.9.11 release.
21
+ - **Upstream parity baseline** — the gajae-code review is pinned to commit `5224493208ab11549fa3d48cc699f21114eed518`; only evidence-backed deltas are carried into Jeo.
22
+ - **Provider catalog safety** — no unverified static provider rows were added; API-key discovery cannot widen the OAuth Codex allow-list.
23
+
24
+ ### Verified
25
+ - Verification results are recorded only after the complete release gate has run.
26
+
27
+ ## [0.9.10] - 2026-07-27
28
+ _`jeo update` now verifies the binary you actually run, and recovers from bun's stale registry cache._
29
+
30
+ ### Fixed
31
+ - **`jeo update` claimed success while the machine still ran the old build** (`src/commands/update.ts`) — a package manager's zero exit was treated as proof of an update. In practice bun can fail to resolve a just-published version (`No version matching "x.y.z" ... (but package exists)`) from a stale manifest, jeo then fell back to npm, npm installed into a prefix the user's PATH does not resolve, and the command printed `Successfully installed` while `jeo --version` still reported the previous release. The install now retries bun with `--force` (which re-resolves against the registry) before falling back to npm, stops only once the binary on PATH reports the requested version, and reports a stale active binary as a failure (exit 1, `installed: false` in `--json`) with the exact recovery commands.
32
+
33
+ ### Verified
34
+ - Update suite: 33 pass / 0 fail, including the new stale-active-binary failure, its `--json` shape, and the bun `--force` retry ordering.
35
+ - Reproduced live: `bun install -g jeo-code@0.9.9` resolved nothing from cache while `--force` installed it correctly.
36
+
11
37
  ## [0.9.9] - 2026-07-27
12
38
  _Root-causes the frozen `jeo --tmux` TUI: the window was pinned to its launch size, so resizing the terminal only cut the view._
13
39
 
package/README.ja.md CHANGED
@@ -93,7 +93,9 @@ jeo --tmux # 独立した tmux セッションで実行
93
93
  | `/fast [on\|off\|status]` | 現在のモデルが low 推論をサポートする場合に fast thinking モードを切替 |
94
94
  | `/skill` · `$<skill> [intent]` | ワークフロースキルの一覧/実行(`$team "task"` 形式) |
95
95
  | `/view` · `/diff` · `/find` · `/search` | コード表示、git diff、ファイル/パターン検索 |
96
- | `/new` · `/resume` · `/sessions` | セッション管理 |
96
+ || `/new` · `/sessions` | 新しいセッションを開始、または保存済みセッションを一覧表示 |
97
+ || `/resume [id|gajae:<session-id>[#<leaf>]] [--any-cwd]` | Jeo セッションを再開、または読み取り専用の正確なバージョンの GJC v5 ブランチを新しい Jeo セッションへインポート |
98
+ || `/changelog [--full]` · `/jobs [list|tail|await|cancel]` | リリースノートを表示 · 現在のセッションのバックグラウンドジョブを確認・待機・キャンセル |
97
99
  | `/history [n\|all]` · `/export` | 作業アクティビティ履歴を読みやすくスクロールバックへ再出力・トランスクリプト出力 |
98
100
  | `/retry` · `/btw <q>` | 直前要求の再試行 · 履歴に残らないサイド質問 |
99
101
  | `/usage` · `/context` · `/compact` | トークン使用量、コンテキスト内訳、手動コンパクション |
@@ -285,10 +287,10 @@ CI は `.github/workflows/npm-publish.yml` で公開します — GitHub リリ
285
287
 
286
288
  <!-- CHANGELOG:START (auto-generated from CHANGELOG.md — run `bun run changelog:sync`) -->
287
289
  - **[Unreleased]**
290
+ - **[0.9.11]** (2026-07-30) — Imports GJC v5 sessions safely, exposes bounded slash controls, and gates the release artifact before publication.
291
+ - **[0.9.10]** (2026-07-27) — `jeo update` now verifies the binary you actually run, and recovers from bun's stale registry cache.
288
292
  - **[0.9.9]** (2026-07-27) — Root-causes the frozen `jeo --tmux` TUI: the window was pinned to its launch size, so resizing the terminal only cut the view.
289
293
  - **[0.9.8]** (2026-07-27) — The provider model list now persists and rehydrates, so an account's live models survive across launches (gjc parity).
290
- - **[0.9.7]** (2026-07-27) — Fixes the broken 0.9.3-0.9.6 npm releases: `jeo` and `jeo --tmux` crashed at startup right after `jeo update`.
291
- - **[0.9.6]** (2026-07-27) — Resize-safe ledger flush and terminal clear handling after viewport shrink.
292
294
 
293
295
  See [CHANGELOG.md](CHANGELOG.md) for the full history.
294
296
  <!-- CHANGELOG:END -->
package/README.ko.md CHANGED
@@ -94,7 +94,9 @@ jeo --tmux # 독립 tmux 세션에서 실행
94
94
  | `/fast [on\|off\|status]` | 현재 모델이 low 추론을 지원하면 fast thinking 모드를 켜고 끔 |
95
95
  | `/skill` · `$<skill> [intent]` | 워크플로 스킬 목록/실행(`$team "작업"` 스타일) |
96
96
  | `/view` · `/diff` · `/find` · `/search` | 코드 보기, git diff, 파일/패턴 검색 |
97
- | `/new` · `/resume` · `/sessions` | 세션 관리 |
97
+ || `/new` · `/sessions` | 새 세션 시작 또는 저장된 세션 목록 표시 |
98
+ || `/resume [id|gajae:<session-id>[#<leaf>]] [--any-cwd]` | Jeo 세션을 재개하거나 읽기 전용 정확한 버전의 GJC v5 브랜치를 새 Jeo 세션으로 가져오기 |
99
+ || `/changelog [--full]` · `/jobs [list|tail|await|cancel]` | 릴리스 노트 표시 · 현재 세션의 백그라운드 작업 조회·대기·취소 |
98
100
  | `/history [n\|all]` · `/export` | 작업 활동 히스토리를 읽기 좋게 스크롤백에 재출력 · 트랜스크립트 내보내기 |
99
101
  | `/retry` · `/btw <질문>` | 마지막 요청 재시도 · 히스토리에 안 남는 사이드 질문 |
100
102
  | `/usage` · `/context` · `/compact` | 토큰 사용량, 컨텍스트 내역, 수동 컴팩션 |
@@ -286,10 +288,10 @@ CI는 `.github/workflows/npm-publish.yml`로 배포합니다 — GitHub 릴리
286
288
 
287
289
  <!-- CHANGELOG:START (auto-generated from CHANGELOG.md — run `bun run changelog:sync`) -->
288
290
  - **[Unreleased]**
291
+ - **[0.9.11]** (2026-07-30) — Imports GJC v5 sessions safely, exposes bounded slash controls, and gates the release artifact before publication.
292
+ - **[0.9.10]** (2026-07-27) — `jeo update` now verifies the binary you actually run, and recovers from bun's stale registry cache.
289
293
  - **[0.9.9]** (2026-07-27) — Root-causes the frozen `jeo --tmux` TUI: the window was pinned to its launch size, so resizing the terminal only cut the view.
290
294
  - **[0.9.8]** (2026-07-27) — The provider model list now persists and rehydrates, so an account's live models survive across launches (gjc parity).
291
- - **[0.9.7]** (2026-07-27) — Fixes the broken 0.9.3-0.9.6 npm releases: `jeo` and `jeo --tmux` crashed at startup right after `jeo update`.
292
- - **[0.9.6]** (2026-07-27) — Resize-safe ledger flush and terminal clear handling after viewport shrink.
293
295
 
294
296
  See [CHANGELOG.md](CHANGELOG.md) for the full history.
295
297
  <!-- CHANGELOG:END -->
package/README.md CHANGED
@@ -99,7 +99,9 @@ Inside the `jeo` REPL (Tab autocompletes; `/` opens the palette).
99
99
  | `/fast [on\|off\|status]` | Toggle fast thinking mode when the active model advertises low reasoning |
100
100
  | `/skill` · `$<skill> [intent]` | List/run workflow skills (`$team "task"` style) |
101
101
  | `/view` · `/diff` · `/find` · `/search` | Code view, git diff, file/pattern search |
102
- | `/new` · `/resume` · `/sessions` | Session management |
102
+ || `/new` · `/sessions` | Start a fresh session or list saved sessions |
103
+ || `/resume [id|gajae:<session-id>[#<leaf>]] [--any-cwd]` | Resume a Jeo session or import a read-only exact-version GJC v5 branch into a fresh Jeo session |
104
+ || `/changelog [--full]` · `/jobs [list|tail|await|cancel]` | Show release notes · inspect, await, or cancel this session's background jobs |
103
105
  | `/history [n\|all]` · `/export` | Reprint readable worked activity history into scrollback · transcript export |
104
106
  | `/retry` · `/btw <q>` | Retry last request · side question without touching history |
105
107
  | `/usage` · `/context` · `/compact` | Token usage, context breakdown, manual compaction |
@@ -293,10 +295,10 @@ Huge thanks to [gajae-code](https://github.com/Yeachan-Heo/gajae-code) for the i
293
295
 
294
296
  <!-- CHANGELOG:START (auto-generated from CHANGELOG.md — run `bun run changelog:sync`) -->
295
297
  - **[Unreleased]**
298
+ - **[0.9.11]** (2026-07-30) — Imports GJC v5 sessions safely, exposes bounded slash controls, and gates the release artifact before publication.
299
+ - **[0.9.10]** (2026-07-27) — `jeo update` now verifies the binary you actually run, and recovers from bun's stale registry cache.
296
300
  - **[0.9.9]** (2026-07-27) — Root-causes the frozen `jeo --tmux` TUI: the window was pinned to its launch size, so resizing the terminal only cut the view.
297
301
  - **[0.9.8]** (2026-07-27) — The provider model list now persists and rehydrates, so an account's live models survive across launches (gjc parity).
298
- - **[0.9.7]** (2026-07-27) — Fixes the broken 0.9.3-0.9.6 npm releases: `jeo` and `jeo --tmux` crashed at startup right after `jeo update`.
299
- - **[0.9.6]** (2026-07-27) — Resize-safe ledger flush and terminal clear handling after viewport shrink.
300
302
 
301
303
  See [CHANGELOG.md](CHANGELOG.md) for the full history.
302
304
  <!-- CHANGELOG:END -->
package/README.zh.md CHANGED
@@ -93,7 +93,9 @@ jeo --tmux # 在独立 tmux 会话中运行
93
93
  | `/fast [on\|off\|status]` | 当前模型支持 low 推理时切换 fast thinking 模式 |
94
94
  | `/skill` · `$<skill> [intent]` | 列出/运行工作流技能(`$team "任务"` 风格) |
95
95
  | `/view` · `/diff` · `/find` · `/search` | 代码查看、git diff、文件/模式搜索 |
96
- | `/new` · `/resume` · `/sessions` | 会话管理 |
96
+ || `/new` · `/sessions` | 开始新会话或列出已保存会话 |
97
+ || `/resume [id|gajae:<session-id>[#<leaf>]] [--any-cwd]` | 恢复 Jeo 会话,或将只读的精确版本 GJC v5 分支导入新的 Jeo 会话 |
98
+ || `/changelog [--full]` · `/jobs [list|tail|await|cancel]` | 显示发布说明 · 查看、等待或取消当前会话的后台任务 |
97
99
  | `/history [n\|all]` · `/export` | 将可读的工作活动历史重新输出到滚动区 · 导出记录 |
98
100
  | `/retry` · `/btw <问题>` | 重试上次请求 · 不写入历史的旁路提问 |
99
101
  | `/usage` · `/context` · `/compact` | Token 用量、上下文明细、手动压缩 |
@@ -285,10 +287,10 @@ CI 通过 `.github/workflows/npm-publish.yml` 发布 — GitHub 发布 release
285
287
 
286
288
  <!-- CHANGELOG:START (auto-generated from CHANGELOG.md — run `bun run changelog:sync`) -->
287
289
  - **[Unreleased]**
290
+ - **[0.9.11]** (2026-07-30) — Imports GJC v5 sessions safely, exposes bounded slash controls, and gates the release artifact before publication.
291
+ - **[0.9.10]** (2026-07-27) — `jeo update` now verifies the binary you actually run, and recovers from bun's stale registry cache.
288
292
  - **[0.9.9]** (2026-07-27) — Root-causes the frozen `jeo --tmux` TUI: the window was pinned to its launch size, so resizing the terminal only cut the view.
289
293
  - **[0.9.8]** (2026-07-27) — The provider model list now persists and rehydrates, so an account's live models survive across launches (gjc parity).
290
- - **[0.9.7]** (2026-07-27) — Fixes the broken 0.9.3-0.9.6 npm releases: `jeo` and `jeo --tmux` crashed at startup right after `jeo update`.
291
- - **[0.9.6]** (2026-07-27) — Resize-safe ledger flush and terminal clear handling after viewport shrink.
292
294
 
293
295
  See [CHANGELOG.md](CHANGELOG.md) for the full history.
294
296
  <!-- CHANGELOG:END -->
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jeo-code",
3
- "version": "0.9.9",
3
+ "version": "0.9.11",
4
4
  "description": "Clean, highly optimized AI coding agent using spec-first loop",
5
5
  "type": "module",
6
6
  "main": "src/cli.ts",
@@ -52,6 +52,7 @@
52
52
  "publish:npm": "npm publish --access public --registry https://registry.npmjs.org/",
53
53
  "changelog:sync": "bun scripts/sync-changelog.ts",
54
54
  "test": "bun test",
55
+ "verify:browser": "bun scripts/verify-browser.ts",
55
56
  "verify:tmux": "bash scripts/tmux-verify.sh",
56
57
  "dev:link": "bun scripts/dev-link.ts link",
57
58
  "dev:doctor": "bun scripts/dev-link.ts doctor"