Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
83d9ca8
feat: add --tui and --no-tui CLI flags for REPL mode selection
sorlros May 6, 2026
476d8eb
feat: implement Phase 1 TUI shell scaffold with basic rendering
sorlros May 6, 2026
10b9752
feat: implement PTY/session controller types and event-based runner
sorlros May 6, 2026
83205df
feat: add PTY-aware adapter execution path
sorlros May 6, 2026
1f5dbe8
feat: extend executor and pipeline contracts for PTY metadata
sorlros May 6, 2026
3630c3a
feat: implement Phase 2 TUI panel rendering
sorlros May 6, 2026
46b72ca
feat(tui): improve initial screen with config info and pipeline status
sorlros May 6, 2026
20cb955
feat(tui): enhance input handling and rendering performance
sorlros May 6, 2026
12a57c8
test(tui): add comprehensive unit tests for TUI components
sorlros May 6, 2026
4edabc1
fix(tui): resolve cursor position mismatch and Korean input compositi…
sorlros May 6, 2026
44118ce
fix: improve Korean IME composition detection for multi-character input
sorlros May 6, 2026
57ccdef
refactor: use StringDecoder for robust UTF-8 input handling
sorlros May 6, 2026
81dcee5
fix: restore escape sequence handling after StringDecoder refactor
sorlros May 6, 2026
9feedd5
docs: add comprehensive comments on Korean input handling improvements
sorlros May 6, 2026
c5385cf
fix: align all TUI content rendering to col 0 to match border layout
sorlros May 6, 2026
9f6c4cb
refactor: remove all borders from TUI for cleaner Korean input handling
sorlros May 6, 2026
cd68c66
refactor: remove pipeline status panel and all separator lines from TUI
sorlros May 6, 2026
77bae6a
refactor: remove all border characters from panel rendering
sorlros May 6, 2026
ae1ae0d
feat: add colored separator line for input prompt area
sorlros May 6, 2026
2a18da9
fix: handle long Korean input by showing rightmost portion
sorlros May 6, 2026
0a62a28
Switch translation model selection to Qwen3.5-2B (#203)
SihoHan11 May 7, 2026
a4ac44f
feat(cli): add adapter auth caching and selection flow
sorlros May 7, 2026
71f5210
feat(cli): refine TUI shell, input, and slash UX
sorlros May 7, 2026
6b77530
feat(core): stream real execution and transcript blocks
sorlros May 7, 2026
25afa83
test(cli): add TUI Korean input integration coverage
sorlros May 7, 2026
e96f590
chore: ignore local detoks artifacts
sorlros May 7, 2026
144182a
docs: add section index files
sorlros May 7, 2026
f0e310e
docs: add root documentation references
sorlros May 7, 2026
de919a7
merge: sync origin/dev into dev
sorlros May 7, 2026
2493edf
ci: parallelize checks and skip docs-only runs
sorlros May 7, 2026
e45c522
test(cli): auto-finish fake smoke adapters
sorlros May 8, 2026
c7d8125
prebuilt llama-server 계약으로 전환하고 Role 1 검증 흐름 정리 (#207)
SihoHan11 May 8, 2026
b161f8f
Integrate LLM metadata and dynamic context management features (#209)
Evan-Yoon May 8, 2026
40ae5a6
feat(cli): unify passthrough UI and action timeline (#210)
sorlros May 8, 2026
29f4bb8
Fix/session atomic write (#214)
Evan-Yoon May 11, 2026
f9230b8
Update SessionState schema to align with pipeline.ts (#215)
Evan-Yoon May 11, 2026
0fa9199
Enhance pipeline progress events with metrics and task graph details …
Evan-Yoon May 11, 2026
b83ded7
ci: disable llama-server auto-start in CI environment
sorlros May 11, 2026
4f3b231
test: increase vitest testTimeout to 10s
sorlros May 11, 2026
887bdea
[codex] node-llama-cpp migration (#217)
SihoHan11 May 11, 2026
533da33
chore: add Apache License 2.0 and update README with Authors and Lice…
Evan-Yoon May 11, 2026
f459a6c
Enhance idiom handling and synchronize action verb lists (#221)
Evan-Yoon May 11, 2026
1d4c362
fix(cli): restore embedded prompt flow and execution clock (#222)
sorlros May 11, 2026
766108c
Embedded terminal focus work (#225)
sorlros May 12, 2026
f936a40
Merge node-only migration into development branch (#224)
Evan-Yoon May 12, 2026
0a6a912
fix: use npx --no-install tsc to resolve PATH issue on GitHub install…
Evan-Yoon May 12, 2026
2f84cd4
feat: embedded pane scroll, adapter parity, real-mode pipeline harden…
sorlros May 12, 2026
7acae1e
fix: TUI paste handling, Korean response output, node-pty spawn-helpe…
sorlros May 12, 2026
fcbff45
Align compression flow spec and improve taskgraph handoff tests (#231)
Evan-Yoon May 12, 2026
789c8f4
feat(cli): embedded pane fidelity and real embedded smoke (#232)
sorlros May 12, 2026
0dd6a13
fix(cli): restore embedded pane fit and finish
sorlros May 12, 2026
f37c41f
node-llama-cpp 마이그레이션과 Role 1 번역/마스킹 안정화를 반영 (#233)
SihoHan11 May 12, 2026
cd9817b
test(cli): remove legacy passthrough CI coverage
sorlros May 12, 2026
025d549
feat: RAG schema extension + TUI focus reporting (#235)
sorlros May 12, 2026
acbada2
fix(cli): render embedded CLI wide chars contiguously (#241)
sorlros May 12, 2026
8185ff2
feat: session-level and task-level cache bypass (F1+F2) (#239)
sorlros May 12, 2026
d54aa12
feat(rag): RAG MVP — F1+F2 Cross-Session Cache + /cache REPL 명령 (#240)
sorlros May 12, 2026
bcdd5e6
test(ci): remove unnecessary and failing smoke tests
sorlros May 12, 2026
b10b0ec
feat(rag): F3 — 미완성 세션 resume 자동 감지 힌트
sorlros May 12, 2026
db03221
feat(rag): Phase 2A — semantic retrieval F4~F7 (sqlite-vec + BGE-M3)
sorlros May 13, 2026
315ff17
feat(rag): RagContextLoader — 벡터 검색 결과를 세션 파일에서 로딩해 prompt 주입
sorlros May 13, 2026
82805d9
feat(rag): F8+F9 — Task 시퀀스 패턴 추출 & 실패 패턴 인식
sorlros May 13, 2026
cf5d099
feat(rag): F8+F9 오케스트레이터 wiring — 시퀀스 예측 & 실패 패턴 경고 emit
sorlros May 13, 2026
2d17695
feat(rag): F11+F13+F14 — 워크플로우 템플릿 자동 생성 & Adapter/Token 통계 학습
sorlros May 13, 2026
5c316dd
feat(rag): F12 — ProjectMemory project_id 격리 + 오케스트레이터 통합
sorlros May 13, 2026
2c1c4a1
fix(rag): resolve CI TS2307 — lazy-load native sqlite modules at runt…
sorlros May 13, 2026
4c76cf3
PR: feat(rag): RAG Phase 1~2 완성 — Cross-Session Cache, 의미 검색, 패턴 학습 (…
sorlros May 13, 2026
740e51b
Implement cache improvements with new validity checks and hashing (#246)
Evan-Yoon May 13, 2026
79aa8ff
Add token accounting features and privacy enhancements (#249)
Evan-Yoon May 13, 2026
1732ccf
Implement memory disable features and improve RAG handling (#251)
Evan-Yoon May 13, 2026
a2c4281
Fix various state management issues and enhance executor concurrency …
Evan-Yoon May 13, 2026
d573fa2
Fix cache token savings and improve CLI memory handling (#256)
Evan-Yoon May 13, 2026
f727444
feat(cache): advise 모드 사용자 안내 이벤트 추가 (#258)
Evan-Yoon May 14, 2026
8393503
Add RAG embedding eval dataset (#252)
SihoHan11 May 14, 2026
e66b59e
fix(tui): compact live activity and guard approval enter
sorlros May 14, 2026
46edd5f
fix(tui): compact live activity and guard approval enter (#259)
sorlros May 14, 2026
a702871
Add regression tests for session ID validation and state locking (#261)
Evan-Yoon May 14, 2026
622728a
fix(tui): route approval input and preserve multiline paste
sorlros May 14, 2026
a87547e
refactor(model-store): 모델 다운로드 경로를 role 기반 구조로 변경 (#265)
SihoHan11 May 14, 2026
fda5025
fix: CLI 모델 변경, KURE-v1 임베딩 적용 및 첫 실행 자동 다운로드 (#268)
SihoHan11 May 14, 2026
542f53b
fix(tui): improve viewport hints and multiline paste
sorlros May 14, 2026
7afdb72
fix(tui): route approval input and preserve multiline paste
sorlros May 14, 2026
49e2618
fix(tui): improve viewport hints and multiline paste
sorlros May 14, 2026
0965731
fix(tui): avoid duplicate failure task records
sorlros May 14, 2026
3a95cda
fix(tui): restore single transcript merge
sorlros May 14, 2026
e39cb25
test(core): stabilize orchestrator real-mode boundary
sorlros May 14, 2026
c565c18
Merge origin/dev into fix/tui-crlf-approval-and-activity-ci
sorlros May 14, 2026
d4cfd29
test(core): real 모드 경계 테스트 안정화 (#275)
sorlros May 14, 2026
6f3dd68
Refactor orchestrator and implement cross-project contribution featur…
Evan-Yoon May 14, 2026
fbf5542
로컬 런타임을 node-llama-cpp로 고정하고 llama-server 경로를 제거 (#276)
SihoHan11 May 14, 2026
fc778c4
test(cli): cover best-effort cache invalidation
sorlros May 15, 2026
ea9ed06
test(cli): cover best-effort cache invalidation (#277)
sorlros May 15, 2026
43b36c4
test(tui): cover embedded approval focus flow
sorlros May 15, 2026
9e58035
Merge branch 'fix/tui-crlf-approval-and-activity-ci' into dev
sorlros May 15, 2026
6760cca
test(subprocess): fix runner approval controller typing
sorlros May 15, 2026
b8f59ed
Add readable RAG context display and CLI summary (#280)
Evan-Yoon May 15, 2026
3f67b5f
fix(tui): render embedded transcript from PTY buffer
sorlros May 15, 2026
811804f
Merge remote-tracking branch 'origin/dev' into dev
sorlros May 15, 2026
6dbb3d4
fix(tui): stabilize embedded transcript and allow cancel
sorlros May 15, 2026
16c0df0
fix(tui): restore embedded pane placement
sorlros May 15, 2026
6f7e193
RAG 캐시 검증용 테스트와 영상 데모 프로젝트를 추가 (#279)
SihoHan11 May 15, 2026
0d653bb
Fix local state save path handling across CLI workflows (#281)
SihoHan11 May 15, 2026
a27c376
fix(tui): TUI 실행 중 cmake stderr / [detoks] 안내 메시지 오염 수정 (#282)
SihoHan11 May 15, 2026
b9cdabe
refactor(tui): 디자인 토큰 + Panel 공통 헬퍼 도입 (#283)
sorlros May 16, 2026
3cb107e
refactor(tui): 이벤트 라우터 + 선언형 레이아웃 스키마 도입 (#284)
sorlros May 16, 2026
abd9f79
feat(tui): 시각 폴리시 — empty state CTA · truncation marker · stage 시간 · …
sorlros May 16, 2026
6517f73
refactor(tui): renderer / index / approval-prompt 색 호출을 디자인 토큰으로 일원화 …
sorlros May 16, 2026
26e0104
feat(tui): 캐시 라이브 스트림 + RAG 컨텍스트 요약 표시 (P1-1, P1-2) (#288)
sorlros May 16, 2026
2b6308d
feat(tui): result panel 에 Resume / Task grid / Verbose cost 노출 (P1-3,…
sorlros May 16, 2026
8d9b571
feat(tui): 테마 시스템 — 3 built-in palette + DETOKS_THEME env (P3-2) (#290)
sorlros May 16, 2026
0c4f73e
feat(tui): adapter transcript auto-save + result panel 경로 노출 (P3-4) (…
sorlros May 16, 2026
5b5699a
feat(tui): 입력 히스토리 — ↑/↓ 로 이전 프롬프트 recall + 디스크 영속 (P3-3 1단계) (#292)
sorlros May 16, 2026
1ae9b4f
feat(tui): in-line cursor editing — Ctrl+A/E, ←/→, Home/End, 위치 기반 ba…
sorlros May 16, 2026
785de19
feat(tui): runtime resizable transcript/result split — /layout 명령 + A…
sorlros May 16, 2026
8802065
optimize embedded PTY rendering (#295)
sorlros May 16, 2026
8e2c92e
[codex] embedded pane UI/UX polish 및 approval smoke 안정화 (#297)
sorlros May 16, 2026
0b618b7
feat(bench): 번역 모델 시각화 벤치마크 — translate-reference 데이터셋 + 벤치마크 리포트 스크립…
SihoHan11 May 16, 2026
9e778fd
fix(translate): preamble 제거 + fallback 안정성 개선 (#300)
SihoHan11 May 17, 2026
40c507e
fix: chunk long rag outputs (#301)
sorlros May 17, 2026
d243c55
feat(tui): Nerd Font 아이콘 옵션 + TUI 구조 개선 (#303)
sorlros May 17, 2026
638d221
fix(tui): slash autocomplete 패널 렌더링 복구 + README 최신화 (#304)
sorlros May 17, 2026
08e3e66
feat(tui): 마우스 스크롤 복구 + RunBlock 누적 스택 뷰 + /clear 명령
sorlros May 17, 2026
bd7ca36
perf(tui): RunBlockScrollback이 viewport 크기 만큼만 라인 materialize
sorlros May 17, 2026
d54f423
fix(tui): 슬래시 명령 화이트리스트 게이트 — 자연어 /경로 통과 (#305)
sorlros May 17, 2026
8a55254
feat(tui): compact embedded activity cards (#306)
sorlros May 17, 2026
50fa1be
fix(codex): 사용자 원본 명령 의도를 orchestrator 프롬프트에 포함 (#307)
sorlros May 17, 2026
9b4efae
fix(codex): embedded-pane 모드에서 compressed_prompt만 전달 (#308)
sorlros May 17, 2026
bbf8f00
fix(tui/codex): embedded-pane UX 3종 수정 — Enter 1회 실행·한국어 응답·멀티라인 appr…
sorlros May 18, 2026
3c99a18
fix(tui): alternate screen 종료 시 codex 응답 내용 보존 (#311)
sorlros May 18, 2026
f506f30
fix(tui): stabilize codex embedded execution output
sorlros May 18, 2026
4fb25c5
fix(tui): stabilize codex embedded pane rendering
sorlros May 18, 2026
f6ab41d
feat(tui): show git branch in footer
sorlros May 18, 2026
0ff0ec5
fix(tui): polish embedded pane final output
sorlros May 18, 2026
2798bea
fix(tui): restore live goal lines in embedded pane
sorlros May 18, 2026
1aa3bff
fix: filter codex stderr noise
sorlros May 18, 2026
552056a
fix(task-graph): collapse single deliverable context
Evan-Yoon May 18, 2026
07c352c
test(task-graph): cover single deliverable collapse
Evan-Yoon May 18, 2026
acf09a9
fix(pipeline): preserve task prompts in embedded pane
Evan-Yoon May 18, 2026
27f8baa
fix(pipeline): show terminal task output
Evan-Yoon May 18, 2026
2304193
fix: stabilize embedded pane session continuation
sorlros May 19, 2026
78b796b
merge: integrate main into dev for PR #318
sorlros May 19, 2026
374a44c
fix: restore embedded TUI approval flow
sorlros May 20, 2026
f620744
fix real adapter smoke stability
sorlros May 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 2 additions & 3 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,12 @@ LOCAL_LLM_STARTUP_TIMEOUT=300000
# Model source
LOCAL_LLM_HF_REPO=example-user/example-model-repo:main
LOCAL_LLM_HF_FILE=example-model.gguf
# LOCAL_LLM_MODEL_PATH=/path/to/example-model.gguf
LOCAL_LLM_MODEL_DIR=/Users/example/.detoks/models/example-user/example-model-repo
# LOCAL_LLM_MODEL_PATH=/Users/example/.detoks/models/example-user/example-model-repo/example-model.gguf
# LOCAL_LLM_MODEL_URL=https://example.com/path/to/example-model.gguf

# Kompress runtime
KOMPRESS_PYTHON_BIN=python3.11
KOMPRESS_MODEL_ID=example/kompress-model
KOMPRESS_STARTUP_TIMEOUT=60000

# Pipeline tuning
PIPELINE_MODE=debug
Expand Down
111 changes: 111 additions & 0 deletions .github/workflows/auto-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
name: Auto Release and Publish

on:
push:
branches: [main]

permissions:
contents: write
id-token: write
pull-requests: write
jobs:
release:
name: Auto Release
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 24.15.0
cache: npm

- name: Install dependencies
run: npm ci

- name: Type check
run: npm run typecheck

- name: Build
run: npm run build

- name: Run tests
run: npm test

- name: Get current version
id: current_version
run: echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT

- name: Calculate next version
id: next_version
run: |
CURRENT="${{ steps.current_version.outputs.version }}"
IFS='.' read -r MAJOR MINOR PATCH <<< "$CURRENT"

# Patch 버전 증가
PATCH=$((PATCH + 1))

# Patch가 10 이상이면 Minor 증가, Patch는 0
if [ $PATCH -ge 10 ]; then
PATCH=0
MINOR=$((MINOR + 1))
fi

# Minor가 10 이상이면 Major 증가, Minor는 0
if [ $MINOR -ge 10 ]; then
MINOR=0
MAJOR=$((MAJOR + 1))
fi

NEXT_VERSION="$MAJOR.$MINOR.$PATCH"
echo "version=$NEXT_VERSION" >> $GITHUB_OUTPUT
echo "Current: $CURRENT → Next: $NEXT_VERSION"

- name: Update package.json version
run: |
node -e "
const fs = require('fs');
const pkg = JSON.parse(fs.readFileSync('./package.json', 'utf8'));
pkg.version = '${{ steps.next_version.outputs.version }}';
fs.writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\n');
"

- name: Verify build with new version
run: npm run build

- name: Commit and tag
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add package.json
git commit -m "chore: release v${{ steps.next_version.outputs.version }}"
git tag "v${{ steps.next_version.outputs.version }}"
git push origin main
git push origin "v${{ steps.next_version.outputs.version }}"

- name: Setup npm registry
uses: actions/setup-node@v4
with:
node-version: 24.15.0
registry-url: https://registry.npmjs.org
cache: npm

- name: Publish to npm
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Create Release
run: |
gh release create "v${{ steps.next_version.outputs.version }}" \
--title "Release v${{ steps.next_version.outputs.version }}" \
--generate-notes
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
105 changes: 99 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,88 @@ name: CI
on:
push:
branches: [dev]
paths-ignore:
- "docs/**"
- "README.md"
- "README.ko.md"
- "README.en.md"
pull_request:
branches: [dev]
paths-ignore:
- "docs/**"
- "README.md"
- "README.ko.md"
- "README.en.md"

concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true

jobs:
node-only-acceptance:
name: Node-only acceptance
runs-on: ubuntu-latest
timeout-minutes: 90
container:
image: node:24.15.0-bookworm-slim
env:
LOCAL_LLM_RUNTIME_PROVIDER: node-llama-cpp
LOCAL_LLM_DEVICE: none
LOCAL_LLM_GPU_LAYERS: "0"
LOCAL_LLM_MAX_TOKENS: "32"
REQUEST_TIMEOUT: "120000"

steps:
- name: Checkout
uses: actions/checkout@v5

- name: Reject Python runtime reintroduction
shell: bash
run: |
set -euo pipefail

python_runtime_files="$(
find . \
-path ./.git -prune -o \
-path ./node_modules -prune -o \
\( \
-path './python/*' -o \
-name '*.py' -o \
-name 'pyproject.toml' -o \
-name 'requirements*.txt' -o \
-name 'Pipfile' -o \
-name 'Pipfile.lock' -o \
-name 'poetry.lock' -o \
-name '.python-version' \
\) \
-print || true
)"

if [[ -n "$python_runtime_files" ]]; then
echo "Python runtime files are not allowed in the Node-only acceptance gate:"
echo "$python_runtime_files"
exit 1
fi

if grep -R "actions/setup-python" .github/workflows \
--exclude="ci.yml" >/dev/null 2>&1; then
echo "actions/setup-python is not allowed in CI workflows."
exit 1
fi

- name: Install build tools for native modules
shell: bash
run: apt-get update -qq && apt-get install -y --no-install-recommends python3 make g++

- name: Install dependencies
run: npm install

- name: Build
run: npm run build

# - name: Verify Role 1 with node-llama-cpp
# run: npm run verify:role1 -- --runtime-provider node-llama-cpp

test-typescript:
name: TypeScript
runs-on: ubuntu-latest
Expand All @@ -24,11 +102,26 @@ jobs:
- name: Install dependencies
run: npm ci

- name: Type check
run: npm run typecheck
- name: Run typecheck and tests in parallel
shell: bash
env:
LOCAL_LLM_AUTO_START: "0"
run: |
set -euo pipefail

- name: Build
run: npm run build
pids=()

npm run typecheck &
pids+=($!)

npx vitest run --passWithNoTests &
pids+=($!)

status=0
for pid in "${pids[@]}"; do
if ! wait "$pid"; then
status=1
fi
done

- name: Run tests
run: npx vitest run --passWithNoTests
exit "$status"
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,11 @@ yarn.lock
*~

# Project-specific
!data/row_data_translated.json
.repl-session.json
.detoks/
.serena/
session-report*.html
.devlogs/
daily-reports/
.prompts/
Expand All @@ -96,7 +100,7 @@ scripts/daily-report
scripts/generate-daily-reports.py
JetBrainsMono-2.304/
daily/
data/
data/*
datasets/validation/
docs/blog/
docs/logic/
Expand Down Expand Up @@ -130,3 +134,4 @@ test_data_role2
# Docs
docs/my docs/**
docs/my\\ docs/**
docs/**/*PLAN.md
1 change: 0 additions & 1 deletion .python-version

This file was deleted.

Loading
Loading