seon
26061a474b
chore: ai image b0ff118 (external responder), harness ed3d41d (26 min diagnose for external-*)
...
external-* 모델 참고 측정용. ai-agent 는 EXTERNAL_ADDR=:8090 리스너를 켜되 호스트의
127.0.0.1:8090 에만 매핑해 IAP SSH 터널로만 닿게 한다(응답이 곧 진단이므로 VPC 노출 금지).
ai.env 에 진단·턴 대기 시간(1500/1200초)을 명시. 하네스는 external- 모델의 /diagnose 를
26분 기다린다. VM 반영(make ai-sync / harness-sync)은 진행 중인 m1·Fable 배치가 끝난 뒤.
2026-10-16 09:10:07 +09:00
seon
ac2afea4d0
chore(ai-env): Claude WIF rule/service-account ids and ai image 684e70b
...
Claude Console 에서 만든 Workload Identity Federation 리소스의 ID(규칙 gcp-selfheal-ai-vm,
서비스 계정 selfheal-ai-vm, Default 워크스페이스)를 ai.env 에 넣고, 페더레이션을 지원하는
ai 이미지 684e70b 로 올린다. ID 는 비밀이 아니다.
2026-10-15 20:42:19 +09:00
seon
7967f7a320
chore(ai-env): add the Claude Workload Identity Federation id settings (empty until the Console rule exists)
...
ai.env 에 ANTHROPIC_FEDERATION_RULE_ID 등 4개 설정 키를 추가한다. 값은 Console 위자드로
규칙을 만든 뒤 채운다. 비어 있는 동안 에이전트는 기존 키 파일 경로로 동작한다.
2026-10-15 11:48:36 +09:00
seon
d7ecd59b4c
chore: ai/harness images 53ff243 (per-run model, usage, Claude provider) and the Anthropic key file
...
ai-env·harness 이미지를 53ff243 로 올린다. apply.sh 가 Secret Manager 의
selfheal-anthropic-api-key 를 받아 /run/secrets/anthropic-api-key 로 두고 compose 가
ANTHROPIC_KEY_FILE 로 넘긴다. 값이 없으면 기존처럼 저하 모드로 기동한다.
2026-10-14 23:21:50 +09:00
seon
e64e24bdb1
feat(ai-env): switch the Jev review gate to enforce
...
shadow での 2 回のキャンペーンで review ゲートが LLM と食い違う判定を出さなかった
ことを確認したうえで、JEV_MODE を enforce にする。best_action が確信度 0.9 以上で
提案と異なる場合と target_valid が 0.5 未満の場合に、提案を escalate に格下げする。
2026-10-08 19:22:06 +09:00
seon
b2e10cf300
chore: bump harness and ai images to 13797e5 (1-minute p95 in the judge, Jev triage state v2, enforce mode)
...
ハーネスは復旧判定に 1 分窓の p95 を加えた版、ai-agent は Jev triage の state を
作り直し JEV_MODE=enforce を実装した版へ更新する。JEV_MODE は shadow のまま。
2026-10-08 17:53:08 +09:00
seon
d050c6d54b
feat(ai-env): wire the TypeSafe key and enable Jev shadow gates
...
AI VM の apply.sh が Secret Manager の selfheal-typesafe-api-key を取得し、
agent コンテナに JEV_KEY_FILE として渡す。ai.env で JEV_MODE=shadow、
JEV_MODEL=jev-1.13.0 を設定し、鍵が未登録でも agent は通常どおり動く
(ゲートは鍵未登録を記録するだけ)。
2026-10-08 15:10:25 +09:00
seon
364654bb2c
feat(ai-env): write runbooks and prompt context in Japanese, set HITL_LANG=ja
...
ランブック 11 本と prompts/topology.md・slo.md を日本語で書き直し、
system.md に「根拠と判断理由は日本語で書く」指示を追加した。
Discord ボットの文言も HITL_LANG=ja で日本語になる。
識別子(action id、ラベル、メトリクス名、オブジェクト名)は英語のまま。
2026-10-08 14:34:10 +09:00
seon
027e896f30
chore(ai-env): gpt-6.1-sol for the comparison run (C-G1, C-I1, V-I1)
...
luna 캠페인에서 2층 진단이 발생한 3건을 sol로 재실행해 라벨·조치·비용·소요를 비교한다(설계서 11.1).
2026-10-08 14:00:30 +09:00
seon
4886c97f9e
chore(ai-env): run the first live checks on gpt-6-luna
...
잔고 한도(약 $8) 안에서 WP-12 라이브 판정과 캠페인 1회차를 돌리기 위해 기본 모델을
gpt-6-luna(입력 $0.10/출력 $0.50 per 1M, 공식 가격 페이지 2026-10-08)로 둔다.
정확도 비교가 필요한 시나리오는 뒤에 gpt-6.1-sol로 재실행한다(설계서 11.1).
2026-10-08 10:33:41 +09:00
seon
7ce2dc68fe
feat: AI VM stack (WP-12) and Alloy telemetry on k8s, legacy and DB VMs (WP-15)
...
WP-12(실험 설계서 6장) vm/ai-env: apply.sh(시크릿 4종을 Secret Manager에서 파일로, 미등록이면
성능 저하 모드로 기동), compose(agent 8080·hitl 8081·rag-db pgvector 0.8.7-pg16), ai.env(Discord
서버 Selfheal Lab 1557424985793101824, approvals 1557425140302872698, escalation 1557425282363691048,
OPENAI_MODEL gpt-6.1-sol 후보), 프롬프트 3종, 러너북 11종(조치별·토폴로지·3층 절차).
WP-15(실험 설계서 4.1·4.3): apps/alloy.yaml(Alloy Helm 1.13.0 DaemonSet, 클러스터링으로 KSM·Argo CD·
cadvisor 스크랩 분산, demo 등 파드 로그 → Loki), apps/kube-state-metrics.yaml(Helm 8.6.0).
legacy-api compose에 Alloy 사이드카(up{job="legacy-api"}, 컨테이너 로그). DB VM은
vm/postgres-common/alloy.sh로 apt 설치 + prometheus.exporter.postgres(pg_replication_lag_seconds)
+ custom query pg_is_wal_replay_paused + PostgreSQL 로그.
vm/harness/apply.sh: 준비 대기 루프의 curl에 || true(러너 재기동 순간 curl 56으로 중단되던 문제,
2026-10-08 harness-sync 실측).
2026-10-08 01:47:38 +09:00