Insights — 2026-06
Theme of the month: 운영 안정화 + CHANGELOG 정합성 회복
Drewgent v0.7.2 (2026-05-13) 이후 약 19일간 진행된 6개 release가 모두 CHANGELOG에 누락된 상태였음. 2026-06-01에 v0.8.0~v0.8.5까지 한 번에 prepend.
v0.8.0 — Token Plan M3 (1M context) Default 전환
4개 auxiliary 스크립트 (run_kanban_worker, hindsight, auxiliary_client×2) default를 MiniMax-M2.7 → MiniMax-M3 (1M context, 1,048,576 tokens). 소모 방식이 per-call 정액제 → 입력/출력 단가 기반 + 1M context 활용으로 변경.
왜 M3인가: M2.7 superset (1M context 포함), drop-in 호환. 장기 운영 시 context 압축 부담 감소 + Token Plan credits 효율.
scripts/run_kanban_worker.py이 가장 큰 영향 — 워커가 1M context로 작업하면 작은 SEO 글 작성 같은 작업에서 compression 안 일어나도 됨.
v0.8.1 — M2.5 Legacy 보존
agent/model_metadata.py의 MiniMaxAI/MiniMax-M2.5=204800 entry는 legacy flag로 보존. 기존 사용자 호환. 문서만 4개 doc/providers/ 페이지 default M3로 업데이트.
hard-delete 안 함 이유: M2.5는 여전히 작동. breaking change 우려. legacy flag로 mark.
v0.8.2 — P0 ReBAC Neurons 2개 추가
OpenCrab의 ReBAC (Relationship-Based Access Control) 패턴을 Drewgent에 적용:
| Neuron | 대상 | ReBAC 체크 |
|---|---|---|
禁rebac_integration | tool/skill integration | INTEGRATION_PROTOCOL 참조 이력 |
禁rebac_kanban | kanban 작업 | KANBAN_INDEX 참조 이력 |
기존 禁rule들이 정적 (위반 후 감지)이라면, ReBAC는 예방 (작업 전 relationship check). signal_processor.py의 _on_integration_workflow_started + _on_kanban_operation handlers가 발화 시점에 awareness.integrity event emit.
hybrid 구조: 정적 禁rule (위반 감지) + 동적 ReBAC (작업 전 nudge) 두 트랙이 독립적으로 작동.
v0.8.3 — Memory & Session Edge Cases (8 bugs)
장기 운영에서 누적된 8개 memory 버그 fix:
drewgent_state.py5 patches: session dedup, encoding, PII 해시agent/auto_learn.py2 patches: dedup race, family filteracp_adapter/server.py1 patch: race condition
모두 edge case 모음이라 사용자 1회 데이터 손실 + 중복 insert 가능성이었음. 일괄 처리.
v0.8.4 — M3 follow-up (orchestrator/bot.py)
source/_agent/orchestrator/bot.py의 call_minimax() 안에 audit_log + client.messages.create() 두 곳이 M2.7로 남아있었음 (사용자 4개 파일 scope 밖). M3 superset이라 안전하게 같이 patch. CHANGELOG v0.8.4 sub-bullet follow-up entry.
v0.8.5 — Kanban Dispatcher Board Scope Hardening (오늘 작업)
3개 board-scoped dispatcher (default / content / integrations)의 Phase 0 (watchdog) + Phase 1 (TTL reclaim) SQL에 board 필터 추가.
문제: 이전까지 모든 dispatcher가 같은 in_progress pool을 봐서, 한 dispatcher가 다른 board의 dead worker를 reclaim해버리는 cross-board race가 존재. 예: [WATCHDOG-TEST] (default) + 정상 content task + 정상 integrations task가 동시에 죽으면, default dispatcher가 content task를 자기 board로 오인하고 reclaim.
해결: 각 dispatcher의 Phase 0/1 SQL에 AND board = "self_board" 추가. content만 legacy 호환 (board = "content" OR board = "" OR board IS NULL).
검증: 3 board에 fake in_progress (dead PID, TTL expired) 동시 생성 → 3개 dispatcher 각각 실행 → 자기 board만 reclaim, 다른 board는 touch 안 함. 격리 확인.
P0 alignment: 禁kanban_worker_accountability의 board-scoped enforcement 강화.
문서 정합성 회복
| File | Before | After |
|---|---|---|
CHANGELOG.md | 0.7.2에서 stop (5개 release 누락) | v0.8.0~v0.8.5 모두 기록 |
P5-ego/SELF_MODEL.md | dispatcher path 오류 + board scope 미기록 | path 수정 + v0.8.5 board scope 라인 |
P2-hippocampus/memories/MEMORY.md | v0.8.0, v0.8.4만 1줄 | v0.8.1~v0.8.5 4줄 추가 |
kanban-dispatcher-hardening SKILL.md | board 필터 노트 없음 | board 필터 섹션 + legacy pitfall |
Cross-reference
- INTEGRATION_PROTOCOL — ReBAC integration check
- KANBAN_INDEX — ReBAC kanban check
- SELF_MODEL — P5-Ego dispatcher section (board scope updated)
~/.drewgent/skills/brain/kanban-dispatcher-hardening/SKILL.md— 운영 가이드~/.drewgent/source/drewgent-agent/CHANGELOG.md— 전체 release history
Lessons learned
-
CHANGELOG는 commit-time이 아니라 work-time에: 작업을 하면 그 release 당일에 CHANGELOG도 같이 prepend. batch prepend는 drift가 누적되어서 위험. 지금 19일치 누락이 한 번에 발견됨.
-
Cross-cutting 변경은 영향 범위 전체를 audit: M3 전환 (v0.8.0) 시 4개 파일만 했지만 5번째 파일 (orchestrator/bot.py)이 v0.8.4에 발견됨. 한 곳에 모델 이름이 hardcoded되어 있다면 다른 곳에도 있을 가능성. “이 값을 쓰는 모든 곳” 검색이 안전.
-
Dispatcher의 SQL은 single source of truth: 3개 dispatcher가 같은
_reclaim_stale_tasks()SQL을 복붙하면서 board scope가 빠짐. 함수형으로 만들어서 한 곳에서 board를 파라미터로 받는 게 더 안전. 현재는 inlined SQL이지만 sub-tick에는 helper 함수로 분리 가능성 있음. -
Legacy 보존 vs 하드 삭제: M2.5처럼 명시적으로 deprecated 되었지만 사용자 코드가 있을 수 있는 entry는 legacy flag + 문서만 업데이트. hard-delete는 surprise breakage.
2026-06-01
- user, preference exist
- user, preference trigger, only watchdog should reclaim)
- user, communication from short input: Verifying Phase 0 watchdog in dispatch_once_default.py. PID=
- environment, tool the
- user, communication from short input: Review the conversation above and consider two things:
**Me
- environment, tool Watchdog + board scope isolation regression test (v0.8.5 verification). Phase 0 watchdog (os.kill(pid, 0)) catches dead workers BEFORE TTL expires; each dispatcher only touches its own board’s tasks via
AND board = "self_board"SQL filter. Test: inject 3 tasks (pid=9999999 DEAD, claim_expires=+1h far future) into default/content/integrations boards, run all 3 dispatchers, assert (1) each task appears in its owning dispatcher’s watchdog_targets, (2) NO cross-board leak, (3) TTL=0. Script at /tmp/test_watchdog_isolation.py. Expected behavior: watchdog reclaims to status=ready, then Phase 2 re-claims with new live worker in the same tick (pid changes from FAKE to real). - user, communication from short input: worker_pid=9999999 (non-existent). claim_expires=FUTURE so T
- environment, project [TEST] B: dead worker + expired TTL verification — 2026-06-01. Inject task (status=in_progress, worker_pid=DEAD, claim_expires=PAST), run dispatcher, assert: (1) watchdog_reclaimed=1, (2) ttl_reclaimed=0 (Phase 0 already moved it to ready), (3) claimed>=1 (Phase 2 re-claims in same tick), (4) spawned>=1 (new live worker), (5) board scope isolation — only owning dispatcher touches the task, no cross-board leak. Script: /tmp/test_b_deadworker_expired_ttl.py. Extends test_watchdog_isolation.py (test A) with TTL=-1h injection.
- user, preference exist)
- environment, project [TEST] B result: dead worker + expired TTL PASS (2026-06-01). All 6 assertions across 3 boards (default/content/integrations): watchdog_reclaimed=1, ttl_reclaimed=0 (Phase 0 moves it to ready before Phase 1 sees it), claimed=1, spawned=1, no cross-board leak, new live pid 9999999→44100/44102/44105, spawned workers alive=True. Self-heal works in single tick even when both failure modes fire simultaneously. Script: /tmp/test_b_deadworker_expired_ttl.py. Pairs with test A (/tmp/test_watchdog_isolation.py) — together they cover the watchdog matrix (dead/future+TTL=0, dead/past+TTL=0 due to ordering).
- user, preference exist), TTL=+1h
- environment, tool what
- user, communication from short input: Review the conversation above and consider saving or updatin- environment, tool open(‘/Users/drew/
- user, communication from short input: [SYSTEM: Background process proc_2e8bfa8a478b completed (exi
- user, communication from short input: SEO가 수집하는 내용이 진짜 Search Engine Optimization에 관련된 것들인지 점검해줘.
- environment, project 2026-06-01: gateway decomposition plan vs reality 갭 발견. (1) run.py 9,876→8,752 lines (1,124 lines already extracted). (2) cron_runner는 이미 done — cron_runner.py root (9.9KB) + P3-sensors/gateway/cron_scheduler.py (162 lines, start/stop/execute). (3) sentinel key-prefix bug fix 미적용 — run.py:2080-2091은 여전히 sentinel check 없이 무조건 evict. (4) mock_gateway_runner fixture는 conftest.py에 미존재 — 실제 4-file test는 116/133 pass, 16 fail, 1 skip. plan이 진술한 131/131은 거짓. (5) 9/9 sentinel test가 아닌 6/9 (3 fail with 30s timeout). 실제 scope: dispatcher.py 신규 (1,777 LOC _handle_message+_handle_message_with_agent) + sentinel eviction fix + 선택적 conftest mock fixture 정식 추가 + 3개 신규 test 파일.
- user, communication from short input: 목적 gateway_decomposition_plan.md에서 dispatcher (~2,000 LOC
- user, communication from short input: 모델 호출 할 때 하나로 고정되어 있나? minimax가 새 모델이 추가되면서 차이가 생긴 것 같은데. 1M
- user, communication from short input: 다음을 진행하기 전에 확인이 필요한데, 지금 콘텐트 파이프라인을 통해 쿼츠로 humanerd.kr 사이트에
[2026-06-01 16:16] Trend: vibe-kanban
- Source: https://github.com/BloopAI/vibe-kanban
- Score: 7.32 | Axes: {‘relevance’: 1.0, ‘direct_impact’: 0.8, ‘actionability’: 0.5, ‘novelty’: 0.5, ‘credibility’: 0.65}
- Reason: keep: score=7.32, direct_impact=0.8, relevance=1.0
Related
[2026-06-01 16:16] Trend: Anthropic, OpenAI를 제치고 가장 가치 있는 AI 스타트업이 됨
- Source: unknown
- Score: 6.61 | Axes: {‘relevance’: 1.0, ‘direct_impact’: 0.5, ‘actionability’: 0.5, ‘novelty’: 0.559, ‘credibility’: 0.65}
- Reason: keep: score=6.61, direct_impact=0.5, relevance=1.0
[2026-06-01 16:16] Trend: Show GN: $300/월 AI 비용을 절반으로 줄인 OSS — claude-ns-hub
- Source: unknown
- Score: 6.68 | Axes: {‘relevance’: 1.0, ‘direct_impact’: 0.65, ‘actionability’: 0.65, ‘novelty’: 0.299, ‘credibility’: 0.5}
- Reason: keep: score=6.68, direct_impact=0.65, relevance=1.0
[2026-06-01 16:16] Trend: Claude Code - 문서가 알려주지 않는 설정 가능한 모든 것
- Source: unknown
- Score: 6.75 | Axes: {‘relevance’: 0.95, ‘direct_impact’: 0.65, ‘actionability’: 0.5, ‘novelty’: 0.561, ‘credibility’: 0.5}
- Reason: keep: score=6.75, direct_impact=0.65, relevance=0.95
[2026-06-01 16:16] Trend: MCP는 죽었나?
- Source: unknown
- Score: 7.15 | Axes: {‘relevance’: 1.0, ‘direct_impact’: 0.65, ‘actionability’: 0.65, ‘novelty’: 0.559, ‘credibility’: 0.5}
- Reason: keep: score=7.15, direct_impact=0.65, relevance=1.0
[2026-06-01 16:16] Trend: docs
- Source: https://github.com/github/docs
- Score: 7.14 | Axes: {‘relevance’: 0.95, ‘direct_impact’: 0.5, ‘actionability’: 1.0, ‘novelty’: 0.5, ‘credibility’: 0.5}
- Reason: keep: score=7.14, direct_impact=0.5, relevance=0.95
[2026-06-02 00:06] Trend: tiez-clipboard
- Source: https://github.com/jimuzhe/tiez-clipboard
- Score: 6.77 | Axes: {‘relevance’: 0.95, ‘direct_impact’: 0.5, ‘actionability’: 0.8, ‘novelty’: 0.5, ‘credibility’: 0.5}
- Reason: keep: score=6.77, direct_impact=0.5, relevance=0.95
[2026-06-02 00:06] Trend: cli-printing-press
- Source: https://github.com/mvanhorn/cli-printing-press
- Score: 7.45 | Axes: {‘relevance’: 1.0, ‘direct_impact’: 0.65, ‘actionability’: 0.8, ‘novelty’: 0.5, ‘credibility’: 0.65}
- Reason: keep: score=7.45, direct_impact=0.65, relevance=1.0
[2026-06-02 00:06] Trend: skills-for-copilot-studio
- Source: https://github.com/microsoft/skills-for-copilot-studio
- Score: 7.73 | Axes: {‘relevance’: 1.0, ‘direct_impact’: 0.65, ‘actionability’: 0.95, ‘novelty’: 0.5, ‘credibility’: 0.65}
- Reason: keep: score=7.73, direct_impact=0.65, relevance=1.0
[2026-06-02 00:06] Trend: armbian
- Source: https://github.com/sponsors/armbian
- Score: 7.27 | Axes: {‘relevance’: 1.0, ‘direct_impact’: 0.5, ‘actionability’: 1.0, ‘novelty’: 0.5, ‘credibility’: 0.5}
- Reason: keep: score=7.27, direct_impact=0.5, relevance=1.0
[2026-06-02 00:06] Trend: TradingAgents
- Source: https://github.com/TauricResearch/TradingAgents
- Score: 6.5 | Axes: {‘relevance’: 0.95, ‘direct_impact’: 0.5, ‘actionability’: 0.65, ‘novelty’: 0.5, ‘credibility’: 0.5}
- Reason: keep: score=6.5, direct_impact=0.5, relevance=0.95
[2026-06-02 00:06] Trend: ruflo
- Source: https://github.com/ruvnet/ruflo
- Score: 7.18 | Axes: {‘relevance’: 1.0, ‘direct_impact’: 0.65, ‘actionability’: 0.65, ‘novelty’: 0.5, ‘credibility’: 0.65}
- Reason: keep: score=7.18, direct_impact=0.65, relevance=1.0
2026-06-02
- environment, tool what
- user, communication from short input: Review the conversation above and consider saving or updatin
- user, communication from short input: humanerd.kr 사이트에 올라가는 모든 콘텐트는 콘텐트 파이프라인을 거치고 특히 윤문 단계를 통해 잘 - user, communication from short input: 지금 내 토큰의 사용량과 리셋까지 남은시간, 주간 한도 등 정보를 터미널에 띄울 수 없을까? 매번 platf
- user, communication from short input: Review the conversation above and consider two things:
**Me
- user, communication from short input: drewgent 터미널에서만 한도가 나오는거 아니야? 왜 로컬 터미널 라인 끝에 계속 따라나오지? drew@
- user, preference installed
- environment, tool pip
- user, communication from short input: 이건 뭐야? 왜 drewgent만으로 안켜져? drew@mini-HUMANERD ~ % drewgent
- user, communication from short input: 이대로 멈춰 있는데?
drew@mini-HUMANERD ~ % drewgent
2026-06- - user, communication from short input: 에이전트가 작동 중임을 나타내는 애니메이션? 같은게 있으면 좋겠는데. 가끔 메시지 출력 중 멈추면, 로딩 중
[2026-06-02 06:08] Trend: Show GN: Codexplain: Codex를 Claude Code처럼 말하게 하기 프로젝트
- Source: unknown
- Score: 6.69 | Axes: {‘relevance’: 0.95, ‘direct_impact’: 0.65, ‘actionability’: 0.65, ‘novelty’: 0.302, ‘credibility’: 0.65}
- Reason: keep: score=6.69, direct_impact=0.65, relevance=0.95
[2026-06-02 12:06] Trend: Show GN: oh-my-harness - AI 코딩 에이전트를 위한 훅 제너레이터 CLI
- Source: unknown
- Score: 6.96 | Axes: {‘relevance’: 1.0, ‘direct_impact’: 0.65, ‘actionability’: 0.8, ‘novelty’: 0.303, ‘credibility’: 0.5}
- Reason: keep: score=6.96, direct_impact=0.65, relevance=1.0
[2026-06-02 12:06] Trend: geo-seo-claude - Claude Code용 GEO 우선 SEO 스킬
- Source: unknown
- Score: 7.15 | Axes: {‘relevance’: 1.0, ‘direct_impact’: 0.65, ‘actionability’: 0.5, ‘novelty’: 0.559, ‘credibility’: 0.8}
- Reason: keep: score=7.15, direct_impact=0.65, relevance=1.0
[2026-06-02 18:07] Trend: Show GN: Velith — AI 기반 장문 콘텐츠 제작 파이프라인
- Source: unknown
- Score: 6.54 | Axes: {‘relevance’: 0.95, ‘direct_impact’: 0.65, ‘actionability’: 0.65, ‘novelty’: 0.297, ‘credibility’: 0.5}
- Reason: keep: score=6.54, direct_impact=0.65, relevance=0.95
[2026-06-03 00:07] Trend: mksglu
- Source: https://github.com/sponsors/mksglu
- Score: 7.32 | Axes: {‘relevance’: 1.0, ‘direct_impact’: 0.65, ‘actionability’: 0.8, ‘novelty’: 0.5, ‘credibility’: 0.5}
- Reason: keep: score=7.32, direct_impact=0.65, relevance=1.0
[2026-06-03 00:07] Trend: LocalMiniDrama
- Source: https://github.com/xuanyustudio/LocalMiniDrama
- Score: 6.77 | Axes: {‘relevance’: 0.95, ‘direct_impact’: 0.5, ‘actionability’: 0.8, ‘novelty’: 0.5, ‘credibility’: 0.5}
- Reason: keep: score=6.77, direct_impact=0.5, relevance=0.95
[2026-06-03 00:07] Trend: aidlc-workflows
- Source: https://github.com/awslabs/aidlc-workflows
- Score: 6.77 | Axes: {‘relevance’: 1.0, ‘direct_impact’: 0.65, ‘actionability’: 0.5, ‘novelty’: 0.5, ‘credibility’: 0.5}
- Reason: keep: score=6.77, direct_impact=0.65, relevance=1.0
[2026-06-03 00:07] Trend: cli
- Source: https://github.com/googleworkspace/cli
- Score: 7.73 | Axes: {‘relevance’: 1.0, ‘direct_impact’: 0.65, ‘actionability’: 0.8, ‘novelty’: 0.5, ‘credibility’: 0.95}
- Reason: keep: score=7.73, direct_impact=0.65, relevance=1.0
[2026-06-03 00:07] Trend: chopratejas
- Source: https://github.com/sponsors/chopratejas
- Score: 7.32 | Axes: {‘relevance’: 1.0, ‘direct_impact’: 0.65, ‘actionability’: 0.8, ‘novelty’: 0.5, ‘credibility’: 0.5}
- Reason: keep: score=7.32, direct_impact=0.65, relevance=1.0
[2026-06-03 00:07] Trend: ai-website-cloner-template
- Source: https://github.com/JCodesMore/ai-website-cloner-template
- Score: 7.05 | Axes: {‘relevance’: 1.0, ‘direct_impact’: 0.65, ‘actionability’: 0.65, ‘novelty’: 0.5, ‘credibility’: 0.5}
- Reason: keep: score=7.05, direct_impact=0.65, relevance=1.0
2026-06-03
-
environment, tool what
-
user, communication from short input: Review the conversation above and consider saving or updatin
-
user, communication from short input: 내가 맥북을 주로 쓰면서 맥미니에 접속해서 에이전트를 사용하거든, 그런데 이 메시지는 어디가 문제인거지?
-
user, communication from short input: 오, 잘했어. 메시지는 안나온다. 그런데 [3] 블라블라 이건 뭐야? drew@MacBookAir ~ %
-
user, communication from short input: LLM 응답 대기 중 … 30초 경과 . 이게 네가 작업한거지? 이거 말고. 이 자리에는 이미 에이전트
-
user, communication from short input: 네가 찾아온 토큰 플랜 얘기는 drewgent가 사용하는 터미널 어쩌구이고. 내가 보여준건 그냥 로컬 터미널
-
user, communication from short input: opencode의 스피너만 봤었는데, 클로드 코드랑 제드는 어떤 건지 먼저 보여주기나 해봐. 그리고 위치는
-
user, communication from short input: 우리 에이전트는 minimax m 시리즈 모델을 쓰니까 이거 보고 공부해봐. 필요한 내용있는지 보고 하고 추
[2026-06-03 12:11] Trend: 작업별 맞춤 하네스: Claude Code의 동적 워크플로우
- Source: unknown
- Score: 6.83 | Axes: {‘relevance’: 0.95, ‘direct_impact’: 0.65, ‘actionability’: 0.55, ‘novelty’: 0.556, ‘credibility’: 0.5}
- Reason: keep: score=6.83, direct_impact=0.65, relevance=0.95