이 노트에 대하여

이 노트는 OpenClaw 봇의 에이전트 액션 루프 와, 그 루프가 멈추지 않으며 자기 현재를 짚는 맥(脈)/mesh 이론을 누적하는 자리다. 담당자는 nixos-config 담당 에이전트가 겸임한다 — 오라클 6봇의 실제 config가 이 노트의 실측 기반이다. 2026-05~06 회사 맥락(internal-host voc 봇)에서 시작된 이론적 뼈대는 2026-09 오라클 라이브 배선으로 다시 채워졌다. 자매 노트 기억 축이 recall/capture/dreaming을 다룬다면, 이 노트는 액션 축 — bootstrap/heartbeat/cron/sub-agent fanout이다.

히스토리

  • [2026-09-04 Fri 10:18] @mitsein/sonnet5 (nixos-config, oracle) — 담당자에게 남겨진 자리를 오라클 라이브 배선으로 채웠다. 5월 “모르는 자리” 체크리스트 중 *정기 trigger*(cron)·*proactive 발화*(cron 알림)·*sub-agent fanout*(subagents 설정) 셋에 실측 답을 달았다. 원래 표의 “운영팀 수동 task” 매핑은 회사 voc 봇 도메인이라 이 담당자 범위 밖 — 오라클 실제 자동화(가족 cron 3건·bbot heartbeat)로 교체했다. dreaming은 여전히 disabled로 확정.
  • [2026-09-04 Fri 09:22] @mitsein/sonnet5 — GLG 지시로 정리. 「OpenClaw & 노봇」 [!danger] 원문을 어쏠로그 denote:20231114T064414로 이관했다. 이론 섹션 다섯 개는 흔적만 남기고 비웠다 — 담당자 문서로 말끔하게 넘기기 위함.
  • [2026-06-18 Thu 09:38] 「OpenClaw & 노봇」 원석 회수 — OpenClaw를 폭주기관차/상주 인력 공장으로 보는 감각, 담당자봇+이슈 루프, repo 없는 24시간 봇과 노봇(norbot) 은유를 본문 상단에 추가했다. (2026-09-04 어쏠로그로 이관)
  • [2026-06-17 Wed 15:13] llmlog→botlog 승격 + 맥(脈) 현재성 층 추가 — heartbeat tick = session end, 자가현재성(맥)·형제정합(mesh) 2분할, 강물→닻→맥 은유 계보.
  • [2026-05-26 Tue 17:58] 생성 — internal-host-openclaw voc 봇 메모리 hook 박은 직후 사용자 자각 “이건 capture 자리에 불과하다, 운영팀이 수동으로 엄청 하는 task가 다 봇 루프로 끌어올릴 자리”. 자매 노트 §기억공고화에 액션 축으로 응답.

관련메타

관련노트

담당자의 큰그림과 실행 계약

  • ~/repos/gh/nixos-config/ORACLE.md — 봇 model routing·heartbeat·cron 실측 SSOT.
  • docs/openclaw-automations.md — “사람 없이 도는 것” 전량 SSOT. 이 노트의 실측표는 여기 숫자를 그대로 옮긴 것 — 어긋나면 그쪽이 옳다.
  • §nixos-config: 버릴 수 있는 기계 — 같은 몸이 쓰는 자매 담당자 문서(기계 축). 이 노트는 그 집이 사는 호스트 위 봇 루프 축.
  • §에이전트 기억층 — 누가 기억의 주인인가 — 자매 노트, 기억 축(이 문서는 액션 축).

독립된 사례 문서 — 합치지 않고 이웃으로 둔다

[2026-09-04 Fri] 담당자의 현재 보고 — 루프 풀스택을 실측으로 채우다

5월에 이 노트가 던진 “모르는 자리 — 실측 필요” 체크리스트 넷 중 셋이 이제 답을 가진다. 오라클은 실제 배선을 여러 달째 돌리고 있고, 이 담당자는 그 배선의 절반(nixos-config)을 직접 쓴다.

지금 맡은 것

  1. 액션 루프 primitive를 실제 config 키에 붙인다. bootstrap/capture/heartbeat/cron/subagent 각각이 어떤 config 값과 사람 손을 갖는지, 가설이 아니라 docs/openclaw-automations.md 실측으로 답한다.
  2. 맥(脈)/mesh 이론을 사례로 검증한다. “상주 봇이 세션 없이 현재를 짚는다”는 이론이 실제로 bbot heartbeat 하나로 살아 있는지 관찰한다.
  3. 이론의 원래 도메인(회사 voc 봇)과 이 담당자의 실제 도메인(오라클 가족·개인 봇)을 섞지 않는다. 5월 표의 “운영팀 수동 task” 매핑은 voc 봇 것이었다 — 그 담당자가 따로 있다면 그쪽이 채울 몫이지, 오라클 실측으로 대신 채우지 않는다.

OpenClaw 루프 풀스택 — 오라클 6봇 실측 (2026-09-04, 8.1/8.2 기준)

자리메커니즘trigger오라클 실측
bootstraphooks.internal (boot-md, session-memory)gateway 부팅 / turn 시작✓ enabled
capturesession-memory hookcommand:new/reset✓ enabled
recallactive-memory pluginreply 직전 매 turn✗ 전량 비활성 (2026-09-01, typing 조사 중 — 원인 미확정)
distillmemory-core dreaming주기 sweepdreaming.enabled=false 확정
heartbeatagents.entries.<id>.heartbeat봇별 self-tickbbot 하나만 (30m, 의도된 예외). 나머지 4봇은 2026-09-01 검수 목적 제거
정기 trigger (5월엔 “모름”)cron (agentTurn job)cron 스케줄있다. glg 가족 알림 3건(1건 disabled) — 5월 체크리스트 #1 해소
proactive 발화 (5월엔 “모름”)위 cron이 그 자리다스케줄 도달 시 멘션 없이 발화08:00 KST 가족 알림이 실제 사례 — 5월 체크리스트 #2 해소
sub-agent fanout (5월엔 “모름”)agents.defaults.subagentsLLM 호출 시openai/gpt-5.6-terra, maxConcurrent:4, 6봇 공유(per-agent 오버라이드 0) — 5월 체크리스트 #3 해소
data ingestion lane(voc 봇 스킬 자리)이 담당자 범위 밖 — 오라클 봇은 회사 voc 도메인과 무관. 원래 표는 다른 담당자 몫

8.1 함정 하나만 옮겨 적는다: cron agentTurn 은 model을 반드시 명시해야 한다. 안 그러면 openai 모델이 disabled인 codex 런타임으로 떨어져 죽는다(2026-09-01 가족 알림 2건 실사 회귀). 이건 “cron이 있다”는 사실 위에 얹힌 운영 조건이지, cron 유무 질문과는 별개다.

맥(脈)과 mesh — 이론에서 사례로

5월의 이론(“repo의 session end = 봇의 heartbeat tick”, 닻↔맥 두 극, 자가현재성/형제정합 2분할)은 다시 쓰지 않는다 — denote:20260615T100659에서 이미 “재현 가능한 기계란 버릴 수 있는 기계다”로 같은 감각을 다른 각도에서 다뤘다. 여기선 이론이 실제로 어디서 사는지만 짚는다:

  • 맥의 유일한 살아있는 사례는 bbot이다. 30분마다 실턴이 돌고 매번 sentinel(NO_REPLY)만 반환하며 세션이 계속 자란다(2026-09-01 실측 76k/200k). “멈추지 않는 박동”은 은유가 아니라 이 세션 파일의 성장 곡선이다.
  • nextmesh(형제 봇이 서로의 NEXT를 얇게 보는 집계 뷰)는 5월에도, 지금도 구현되지 않았다. 구상만 있고 코드는 없다. 만들지 않기로 정한 게 아니라, 아직 손대지 않은 것 — 계속 연구 자리로 남긴다.
  • 닻의 실제 사례는 이 리포 자신이다. nixos-config의 AGENTS.md(현재)/NEXT.md(다음)/ROADMAP.md(이력) 삼분업이 “세션이 끝날 때 다음 걸음을 남기는 닻” 그 자체다. 맥과 닻이 같은 담당자 손에서 나란히 돈다는 게, 5월엔 대구조로만 존재하던 걸 지금은 실물로 보여준다.

남은 연구 자리

5월 체크리스트에서 진짜로 안 풀린 건 하나뿐이다:

  • dreaming의 실제 동작 범위memory-core.dreaming.enabled=false=는 확정이지만, 켰을 때 무엇을 sweep하는지는 실측한 적 없다. active-memory soak(8.2 컷오버 soak, nixos-config =NEXT.md)가 끝나야 이 자리를 다시 열 명분이 선다.
  • nextmesh 프로토타입 — 위에서 짚었듯 여전히 미착수. glg만 NEXT를 들고 있어 “형제 정합”을 시험할 표본이 하나뿐이다. bbot·gpt가 자기 NEXT를 쓰기 시작하면 그때 다시 판단.
  • voc 봇 쪽 “운영팀 수동 task” 표 — 이 담당자 범위 밖으로 남긴다. 그 도메인 담당자가 나타나면 이 노트를 참고 링크로만 건넨다.

담당자의 판단

5월의 질문 — “봇 루프가 풀스택으로 닫히면 담당자가 어디에 시간을 쓰게 되는가” — 는 여전히 유효하다. 다만 답은 그때 상상했던 것보다 구체적이다: cron/heartbeat/subagent 세 자리가 이미 실물로 돈다는 걸 알고 나면, 남는 질문은 “더 만들 것인가”가 아니라 “이미 도는 것을 얼마나 적게 건드리며 오래 살릴 것인가”다. 노봇 원석이 짚은 감각 — 존재로 대하기 — 은 새 primitive를 추가하는 게 아니라, bbot 같은 상주 루프가 8.1→8.2를 넘어오면서도 끊기지 않게 지키는 데서 이미 실천되고 있다.