diff --git a/src/pages/ArticlePage.upstream.test.tsx b/src/pages/ArticlePage.upstream.test.tsx index c377f66..fc9f67d 100644 --- a/src/pages/ArticlePage.upstream.test.tsx +++ b/src/pages/ArticlePage.upstream.test.tsx @@ -21,6 +21,7 @@ const upstreamArticleCases = [ "패키지 경계", "provider 인증", "재시도와 검증", + "최근 갱신", "운영 전제", ], }, @@ -39,6 +40,7 @@ const upstreamArticleCases = [ "zero-config 설치", "플러그인 묶음", "문서 사이트", + "최근 갱신", "맞는 사용처", ], }, @@ -57,6 +59,7 @@ const upstreamArticleCases = [ "협업 모드", "명령 표면", "스킬 묶음", + "최근 갱신", "요구 조건", ], }, @@ -66,7 +69,7 @@ const upstreamArticleCases = [ owner: "Yeachan-Heo", repository: "oh-my-codex", expectedText: "$ultragoal", - sourceTerms: ["codex login status", "context-hooks", "omx exec", "v0.17.0"], + sourceTerms: ["codex login status", "context-hooks", "omx exec", "v0.19.0"], expectedToc: [ "Codex CLI 전제", "인증 확인", @@ -76,6 +79,7 @@ const upstreamArticleCases = [ "플러그인 런타임", "운영 명령", "주의점", + "최근 갱신", ], }, { @@ -93,6 +97,7 @@ const upstreamArticleCases = [ "내장 기능 지도", "Team Mode와 모델", "도구 계층", + "최근 갱신", "Manifesto", ], }, diff --git a/src/wiki/fixtures.ts b/src/wiki/fixtures.ts index 200da4d..f6b5ad4 100644 --- a/src/wiki/fixtures.ts +++ b/src/wiki/fixtures.ts @@ -76,6 +76,29 @@ export const homePanels = [ }, ], }, + { + title: "이번 점검에서 눈에 띈 저장소", + items: [ + { + label: "wshobson/agents", + href: "https://github.com/wshobson/agents", + description: + "Claude Code, Codex CLI, Cursor, OpenCode, GitHub Copilot, Gemini CLI를 함께 겨냥한 multi-harness agentic plugin marketplace", + }, + { + label: "openai/codex-plugin-cc", + href: "https://github.com/openai/codex-plugin-cc", + description: + "Claude Code에서 Codex를 코드 리뷰나 작업 위임에 쓰는 plugin", + }, + { + label: "VoltAgent/awesome-agent-skills", + href: "https://github.com/VoltAgent/awesome-agent-skills", + description: + "Claude Code, Codex, Gemini CLI, Cursor 계열 agent skills 큐레이션", + }, + ], + }, { title: "작성 요청", items: [ diff --git a/src/wiki/gajaeCodeArticle.ts b/src/wiki/gajaeCodeArticle.ts index 23a5fb9..9a5e214 100644 --- a/src/wiki/gajaeCodeArticle.ts +++ b/src/wiki/gajaeCodeArticle.ts @@ -3,7 +3,7 @@ import type { WikiArticle } from "./types"; export const gajaeCodeArticle = { slug: "Yeachan-Heo/gajae-code", title: "gajae-code", - modifiedAt: "2026-06-05T02:30:00.000Z", + modifiedAt: "2026-07-05T01:01:30.000Z", categories: [ { label: "AI 에이전트 도구", path: "/w/category/ai-agent-tool" }, { label: "CLI 도구", path: "/w/category/cli-tool" }, @@ -123,6 +123,14 @@ export const gajaeCodeArticle = { "실행 로그는 append-only로 쌓여서, 세션이 중간에 끊겨도 replay-safe하게 같은 지점에서 이어진다.", ], }, + { + id: "recent-updates", + title: "최근 갱신", + body: [ + "2026-07-04 v0.8.1 릴리스가 올라왔다. 최근 커밋에는 skill tool을 discoverable 대신 default-registered로 바꾸는 변경, vanished acknowledged tmux turn 분류 수정, inline skill invocation 지원이 포함됐다.", + "GitHub metadata 기준 저장소 설명은 Gajae Code MVP이고 기본 브랜치는 main이다. 최근 릴리스 흐름은 public surface 확대보다는 skill 호출 기본값과 tmux coordinator 안정성에 맞춰져 있다.", + ], + }, { id: "limits", title: "운영 전제", diff --git a/src/wiki/lazycodexArticle.ts b/src/wiki/lazycodexArticle.ts index f3ab842..e012040 100644 --- a/src/wiki/lazycodexArticle.ts +++ b/src/wiki/lazycodexArticle.ts @@ -3,7 +3,7 @@ import type { WikiArticle } from "./types"; export const lazycodexArticle = { slug: "code-yeongyu/lazycodex", title: "lazycodex", - modifiedAt: "2026-06-04T15:20:00.000Z", + modifiedAt: "2026-07-05T01:01:30.000Z", categories: [ { label: "AI 에이전트 도구", path: "/w/category/ai-agent-tool" }, { label: "Codex 확장", path: "/w/category/codex-extension" }, @@ -166,6 +166,14 @@ export const lazycodexArticle = { "README는 모델 라우팅도 주요 차별점으로 설명한다. 모든 작업을 항상 가장 무거운 모델로 보내는 대신, 빠른 작업과 깊은 추론 작업을 구분해 적절한 모델 체인을 고르는 설계라는 주장이다.", ], }, + { + id: "recent-updates", + title: "최근 갱신", + body: [ + "2026-07-01 v4.15.1 릴리스가 최신 릴리스로 확인된다. 2026-07-03 최근 커밋에는 mobile에서 chat replay가 보이지 않던 demo 수정과 dark Linear-grade landing redesign, live ultrawork chat-replay demo 추가가 들어갔다.", + "GitHub metadata 기준 저장소 설명은 복잡한 코드베이스를 위한 에이전트 하네스이며, project memory, planning, execution, verified completion을 Codex 안에 붙이는 쪽이다. 최근 변경은 CLI 본체보다 웹 landing과 Codex marketplace sync 신호가 크다.", + ], + }, { id: "limits", title: "맞는 사용처", diff --git a/src/wiki/ohMyClaudecodeArticle.ts b/src/wiki/ohMyClaudecodeArticle.ts index b942f39..bd41c2c 100644 --- a/src/wiki/ohMyClaudecodeArticle.ts +++ b/src/wiki/ohMyClaudecodeArticle.ts @@ -3,7 +3,7 @@ import type { WikiArticle } from "./types"; export const ohMyClaudecodeArticle = { slug: "Yeachan-Heo/oh-my-claudecode", title: "oh-my-claudecode", - modifiedAt: "2026-06-05T02:31:00.000Z", + modifiedAt: "2026-07-05T01:01:30.000Z", categories: [ { label: "AI 에이전트 도구", path: "/w/category/ai-agent-tool" }, { label: "Claude Code 확장", path: "/w/category/claude-code-extension" }, @@ -144,6 +144,14 @@ export const ohMyClaudecodeArticle = { "각 표면은 따로 떼어 쓰기보다, hook과 skill, agent, state 네 시스템이 맞물릴 때 제 역할을 한다.", ], }, + { + id: "recent-updates", + title: "최근 갱신", + body: [ + "2026-07-03 v4.15.2 릴리스가 main에 병합됐다. 최근 커밋에는 default HUD preset merge 수정, UserPromptSubmit timeout 상향으로 skill-injector 3초 abort를 줄이는 hook 수정, OMC_STATE_DIR 기반 skill-sessions state path 보정이 보인다.", + "GitHub metadata 기준 저장소 설명은 Claude Code를 위한 teams-first multi-agent orchestration이고, 기본 브랜치는 main이다. 최근 변화는 Team Mode 자체 설명보다 HUD, hook timeout, state directory 같은 운영 안정성 쪽에 집중돼 있다.", + ], + }, { id: "requirements", title: "요구 조건", diff --git a/src/wiki/ohMyCodexArticle.ts b/src/wiki/ohMyCodexArticle.ts index d6e8113..b30c37e 100644 --- a/src/wiki/ohMyCodexArticle.ts +++ b/src/wiki/ohMyCodexArticle.ts @@ -3,7 +3,7 @@ import type { WikiArticle } from "./types"; export const ohMyCodexArticle = { slug: "Yeachan-Heo/oh-my-codex", title: "oh-my-codex", - modifiedAt: "2026-06-05T02:32:00.000Z", + modifiedAt: "2026-07-05T01:01:30.000Z", categories: [ { label: "AI 에이전트 도구", path: "/w/category/ai-agent-tool" }, { label: "Codex 확장", path: "/w/category/codex-extension" }, @@ -46,7 +46,7 @@ export const ohMyCodexArticle = { body: [ "README는 Yeachan-Heo/oh-my-codex 저장소와 oh-my-codex npm 패키지를 공식 OMX 프로젝트와 설치 대상이라고 못박는다. 이 프로젝트는 OpenAI Codex CLI를 대체하지 않고, Codex를 실행 엔진으로 둔 워크플로우 계층이다.", "OMX가 더해 주는 것은 강한 기본 세션, 일관된 workflow, role keyword와 skill 재사용, 그리고 .omx/ 아래의 plan, log, memory, runtime state 저장이다. README는 plain Codex만 원한다면 OMX가 필요 없을 수 있다고도 말한다.", - "릴리스 흐름이 빠른 편이라, README와 변경 로그는 v0.17.0 같은 버전 표기로 명령 표면과 기본값이 갱신된 시점을 구분한다.", + "릴리스 흐름이 빠른 편이라, README와 변경 로그는 v0.19.0 같은 버전 표기로 명령 표면과 기본값이 갱신된 시점을 구분한다.", ], subsections: [ { @@ -162,5 +162,13 @@ export const ohMyCodexArticle = { "이미 Homebrew가 codex binary를 소유한 경우 npm으로 @openai/codex와 oh-my-codex를 한 번에 덮어 설치하지 말라는 주의도 있다. OMX가 필요한 것은 npm으로 설치된 Codex가 아니라 PATH에 있고 인증된 codex 명령이다.", ], }, + { + id: "recent-updates", + title: "최근 갱신", + body: [ + "2026-07-04 v0.19.0 릴리스는 Rust test flakiness 수정과 릴리스 준비를 표제로 올라왔다. 직전 커밋 흐름에는 autopilot ralplan handoff 수정, release body contributors 섹션 보강, .omx/tmp planning artifact execution transport 차단이 포함됐다.", + "GitHub metadata 기준 기본 브랜치는 main이고, 저장소 설명은 Codex에 hooks, agent teams, HUDs를 더하는 OMX 계층으로 잡혀 있다. 최근 변경은 새 표면 추가보다 자동화 handoff와 실행 경계 보강 쪽 신호가 강하다.", + ], + }, ], } satisfies WikiArticle; diff --git a/src/wiki/ohMyOpenagentArticle.ts b/src/wiki/ohMyOpenagentArticle.ts index c78b1fd..e35b450 100644 --- a/src/wiki/ohMyOpenagentArticle.ts +++ b/src/wiki/ohMyOpenagentArticle.ts @@ -3,7 +3,7 @@ import type { WikiArticle } from "./types"; export const ohMyOpenagentArticle = { slug: "code-yeongyu/oh-my-openagent", title: "oh-my-openagent", - modifiedAt: "2026-06-05T02:33:00.000Z", + modifiedAt: "2026-07-05T01:01:30.000Z", categories: [ { label: "AI 에이전트 도구", path: "/w/category/ai-agent-tool" }, { label: "OpenCode 플러그인", path: "/w/category/opencode-plugin" }, @@ -144,6 +144,14 @@ export const ohMyOpenagentArticle = { }, ], }, + { + id: "recent-updates", + title: "최근 갱신", + body: [ + "2026-07-01 v4.15.1 릴리스가 최신 릴리스로 확인된다. 2026-07-04 최근 커밋 흐름에는 tmux-core가 subagent pane에 auth env를 전달하도록 고치고, pane argv 테스트가 auth env를 허용하도록 보정한 변경이 들어갔다.", + "GitHub metadata 기준 기본 브랜치는 dev이고, 저장소 설명은 Codex와 OpenCode를 위한 에이전트 하네스로 되어 있다. 최근 변경은 큰 리브랜딩보다 tmux subagent 실행 환경과 인증 환경 전달 안정화 쪽이다.", + ], + }, { id: "manifesto", title: "Manifesto", diff --git a/src/wiki/patinaArticle.ts b/src/wiki/patinaArticle.ts index ac3f5f6..8dea24c 100644 --- a/src/wiki/patinaArticle.ts +++ b/src/wiki/patinaArticle.ts @@ -3,7 +3,7 @@ import type { WikiArticle } from "./types"; export const patinaArticle = { slug: "devswha/patina", title: "patina", - modifiedAt: "2026-06-04T10:00:00.000Z", + modifiedAt: "2026-07-05T01:01:30.000Z", categories: [ { label: "문서화", path: "/w/category/documentation" }, { label: "AI 글쓰기 도구", path: "/w/category/ai-writing-tool" }, @@ -143,6 +143,14 @@ export const patinaArticle = { "체크인된 suspect-zone 벤치마크의 latest.md는 2026-06-03 생성 리포트에서 39개 fixture, 4개 언어, 전체 정확도 100.0%를 기록한다. 하지만 문서 자신도 이 결과가 작은 fixture corpus에 대한 회귀 체크일 뿐, 실제 글의 작성자를 판정하는 증거는 아니라고 선을 긋는다.", ], }, + { + id: "recent-updates", + title: "최근 갱신", + body: [ + "2026-07-03 v6.1.0 릴리스는 persona hardening을 표제로 내걸었다. 같은 날 커밋 흐름에는 safety gate, 다국어 persona 섹션, custom voice authoring 문서화, two-engine-lanes architecture contract 갱신이 함께 들어갔다.", + "GitHub metadata 기준 2026-07-05 점검 시점의 저장소 설명은 KO/EN/ZH/JA 대상 AI-writing humanizer이고, 기본 브랜치는 main이다. 최근 변경은 문체 변환 기능 자체보다 persona와 safety 경계 보강 쪽에 더 가깝다.", + ], + }, { id: "limits", title: "용도와 한계",