Hashline Edit — 해시 검증 파일 편집, 이제 실험 단계입니다.
에이전트는 이제 라인 레벨 해시 앵커( 5:a3|const x = 1 )를 사용하여 파일을 편집할 수 있습니다. 모든 편집은 적용 전에 현재 라인 콘텐츠의 해시에 대해 검증됩니다. 파일이 마지막으로 읽은 이후 변경되었다면, 코드를 자동으로 손상시키는 대신 편집이 실패합니다.
이는 기존 작업 관리 시스템(Claude Code의 tasklist)과 함께 experimental.hashline_edit 로 제공되며, 둘 다 같은 이유로 실험 단계로 표시됩니다. OpenCode의 TUI/GUI는 아직 이들의 출력을 기본적으로 렌더링할 수 없습니다. Hashline diff와 작업 진행 상황은 적절한 시각적 처리가 필요합니다. 우리는 렌더링 레이어를 적극적으로 개발 중이며, 둘 다 실험 단계에서 벗어나도록 작업하고 있습니다.
75개 커밋. 157개 파일 변경. +6,904/-2,196 줄.
4가지 편집 작업: set_line, replace_lines, insert_after, replace — 모두 해시 검증됨
읽기 훅은 활성화되면 출력을 LINE:HASH|content 형식으로 자동 변환
상향식 적용은 다중 편집 배치에서 라인 번호 참조를 유지
설정에서 experimental.hashline_edit 뒤에 게이트됨
새로운 브라우저 자동화 제공자: MCP 기반 playwright 스킬의 경량 CLI 대안
전체 명령 세트: 네비게이션, 폼, 탭, 스토리지, 네트워크 모킹, 스크린샷, 추적
@jonasherr 의 기여에 감사합니다
창 레이아웃은 이제 하드코딩된 50% 비율 대신 실제 main_pane_size 설정을 존중합니다
고스트 세션(준비되지 않은 세션)은 영구적으로 추적되는 대신 정리됩니다
창 제거는 close+spawn 대신 replace를 사용합니다 — 시각적 변화가 적습니다
Context window 1M 플래그는 시작 시 환경 변수가 아닌 라이브 모델 캐시에서 읽습니다
google-vertex-anthropic 은 모든 곳에서 Claude 제공자로 인식됩니다
폴백 모델 매칭은 모든 Claude 버전 형식을 처리합니다( claude-opus-4-6 등)
폴백 모델이 해결되지 않을 때 경고 로그
모든 마크다운 테이블을 불릿 목록으로 교체(토큰 감소, 모델 이해도 향상)
Oracle 보호 강화: 에이전트는 최종 답변 전에 Oracle 결과를 수집해야 합니다
Hephaestus 진행 상황 업데이트, 스킬 로딩 예제, 완료 보장으로 재작성
sessionID 및 sessionId 이벤트 형식 모두 처리
입력 미리보기와 함께 인라인으로 표시되는 도구 실행
인증 실패에 대한 Toast 오류 감지
헤드리스 모드에서 시작 toast 억제
@jsl9208 @potb @dankochetov @jonasherr @jkoelker
e3342dc refactor(prompts): replace markdown tables with bullet lists, harden Oracle protection
764abb2 docs: fix ultrabrain model reference in category-skill-guide (GPT-5.2→GPT-5.3 Codex)
f8e58ef docs: fix agent model references in all READMEs (Opus 4.5→4.6, GPT 5.2 Codex→5.3, Librarian→GLM-4.7, Explore→Grok Code Fast 1)
fba0686 docs: fix model references across guide docs (Opus 4.5→4.6, GPT-5.2 Codex→5.3, Atlas model, add deep category, fix dot notation)
c51994c docs: fix agent fallback chains, provider chains, and category tables to match model-requirements.ts
3facf9f docs: fix structural counts in AGENTS.md (hook handlers 7→8, tool dirs 14→15, core hooks 33→32, session hooks 20→19, config merge order)
aac79f0 docs: regenerate all AGENTS.md files from comprehensive codebase exploration
5a8e424 Merge pull request #1910 from code-yeongyu/fix/1753-context-window-hardcoded
d786691 fix: read anthropic 1m flag from live model cache state
b444899 fix: use model cache context flag for runtime context limits
b1e7bb4 Merge pull request #1912 from code-yeongyu/fix/1694-fallback-wiring
8e115c7 fix: export fallback availability from traced module
fe5d341 Merge pull request #1909 from code-yeongyu/fix/1694-fallback-model-ids
ca06ce1 fix: add fallback resolution warnings for unavailable models
72fa2c7 fix(tmux): stop layout override after spawn, use configured main pane size
b3c5f4c fix(tmux): use actual pane dimensions and configured min width for grid calculation
219c1f8 update: always wait for Oracle results instead of blanket background_cancel(all=true)
6208c07 @xinpengdr has signed the CLA in #1906
1b7a1e3 Merge pull request #1905 from code-yeongyu/fix/tmux-split-stability
84a8392 fix: stop tracking sessions that never become ready
17da227 fix: size main pane using configured layout percentage
da3f24b fix: align split targeting with configured pane width
b027214 refactor: route status porcelain map parsing through line parser
1566cfc update: Hephaestus completion guarantee, Sisyphus-Junior Hephaestus-style rewrite, snake_case tools
2b5887a fix: prevent overlapping poll cycles in managers
8c88da5 update: soften Hephaestus brevity bias — replace 'brief/briefly' with 'clear' throughout
199992e update: Hephaestus prompt — restore intent gate, strengthen parallelism and reporting
6b54652 refactor: diet Hephaestus prompt — remove redundancy, add progress updates and skill examples
c44509b fix: skip startup toasts in CLI run mode for auto-update-checker
1799469 fix: add directory parameter and improve CLI run session handling
a31087e fix: add propertyNames validation to object schemas in JSON schema
5c13a63 fix: invoke claude-code-hooks PreCompact in session compacting handler
d9f21da fix: prefer a runnable opencode binary for cli run
7d2c798 Merge pull request #1893 from code-yeongyu/fix/1716-disabled-agents-enforcement
ea589e6 Merge remote-tracking branch 'origin/dev' into fix/1716-disabled-agents-enforcement
e299c09 fix: include provider-models cache for Hephaestus availability
285d8d5 fix: skip compaction messages in parent-session context lookup
e1e4491 Merge pull request #1898 from code-yeongyu/fix/1671-tmux-layout
324d2c1 Merge branch 'dev' into fix/1671-tmux-layout
f3de0f4 Merge pull request #1899 from code-yeongyu/fix/1700-vertex-anthropic
5839594 Merge pull request #1897 from code-yeongyu/fix/1679-copilot-fallback
ada0a23 Merge pull request #1894 from code-yeongyu/fix/1681-oracle-json-parse
b7497d0 Merge branch 'dev' into fix/1700-vertex-anthropic
7bb0370 Merge branch 'dev' into fix/1671-tmux-layout
ccbeea9 Merge branch 'dev' into fix/1679-copilot-fallback
9922a94 Merge branch 'dev' into fix/1681-oracle-json-parse
e78c54f Merge pull request #1896 from code-yeongyu/fix/1283-review-code-silent-fail
74be163 Merge pull request #1895 from code-yeongyu/fix/1718-windows-subagent-dir
2478933 fix: detect AppData directory paths without trailing separators
0e0bfc1 Merge pull request #1849 from jkoelker/preserve-default-agent
90ede44 fix(config): preserve configured default_agent
3a2f886 fix: apply tmux layout config during pane spawning ( #1671 )
2fa8289 Merge pull request #1884 from code-yeongyu/feat/hashline-edit
5aa9ecd Merge pull request #1870 from dankochetov/fix/background-notification-hook-gate
c8d03aa Merge pull request #1708 from jsl9208/fix/ast-grep-replace-silent-noop
693f73b Merge pull request #1729 from potb/fix/1716-disabled-agents-call-omo
1b05c3f Merge pull request #1819 from jonasherr/feat/add-playwright-cli-provider
5ae45c8 fix: use correct project directory for Windows subagents ( #1718 )
931bf6c fix: resolve JSON parse error in Oracle after promptAsync refactor ( #1681 )
d672eb1 fix: recognize google-vertex-anthropic as Claude provider ( #1700 )
dab9953 fix: handle all model versions in normalizeModelName for fallback chains ( #1679 )
d7a53e8 fix: report errors instead of silent catch in subagent-resolver ( #1283 )
56353ae fix: enforce disabled_agents config in call_omo_agent ( #1716 )
af7b1ee refactor(hashline): override native edit tool instead of separate tool + disabler hook
9eb786d test(session-manager): fix storage tests by mocking message-dir dependency
25f2003 fix(ci): isolate session-manager tests to prevent flakiness
359c6b6 fix(hashline): address Cubic review comments
51dde4d feat(hashline): port hashline edit tool from oh-my-pi
149de9d feat(config): add experimental.hashline_edit flag and provider state module
9b187e2 Merge remote-tracking branch 'origin/dev' into fix/background-notification-hook-gate
27f8fed feat(browser-automation): add playwright-cli as browser automation provider
0f287eb fix(plugin): honor disabled background-notification hook
5298ff2 fix(background-agent): allow disabling parent session reminders
cd0949c fix(call-omo-agent): enforce disabled_agents config ( #1716 )
0f5b8e9 test(call-omo-agent): add disabled_agents validation tests
fec12b6 fix(ast-grep): fix ast_grep_replace silent write failure
@jsl9208 :
fix(ast-grep): fix ast_grep_replace silent write failure
@potb :
test(call-omo-agent): add disabled_agents validation tests
fix(call-omo-agent): enforce disabled_agents config ( #1716 )
@dankochetov :
fix(background-agent): allow disabling parent session reminders
fix(plugin): honor disabled background-notification hook
Merge remote-tracking branch 'origin/dev' into fix/background-notification-hook-gate
@jonasherr :
feat(browser-automation): add playwright-cli as browser automation provider
@jkoelker :
fix(config): preserve configured default_agent