AMTI v0.3 — 5-Agent 병렬 고도화
2026-05-22 · amti.crowny.org:9813 소넷/하이쿠 에이전트 5개 병렬 + /loop dynamic 자가 점검으로 완성.
개요
v0.2(트래커) 위에 5개 모듈을 동시 추가. 각 에이전트는 신규 파일만 생성 제약 → 충돌 0.
추가된 5개 모듈
1. 알림 + ICS 캘린더 (sonnet)
libs/notify.js: buildICS (RFC5545), buildReminderEmail, dispatchToWebhook (Slack/Discord/카카오)routes/notify.js: GET checkup.ics, POST/DELETE webhook, POST notifyscripts/checkup-cron.sh: 매일 09:00 KST 자동 알림docs/notify-integration.md: 한국어 통합 가이드- 한선씨:
libs/알림.한선
2. 그룹 비교 통계 (sonnet)
libs/stats-aggregate.js: aggregateAll, cohortComparison, userPercentile, topMoversroutes/stats.js: /api/stats/{all,cohort,percentile/:ref}, 60s 캐시public/stats.html+public/js/stats.js+public/css/stats.css: 도넛/막대/라인 inline SVG- 한선씨:
libs/통계.한선
3. 다국어 i18n (haiku)
public/i18n/{ko,en,ja,zh,es}.json(각 ~57키)public/js/i18n.js: localStorage → navigator.language → 'en' fallback, data-i18n 자동 적용public/i18n/README.md: 새 언어 추가 절차
4. 시나리오 7→14 확장 (haiku)
public/js/scenarios_ext.js: 7 신규 (세금/레버리지/공포매도/앵커링/확증/시간일관성/사회동조)public/js/scenarios_meta.js: 분류/측정편향/추천 응답docs/scenarios-catalog.md: Prospect Theory, Disposition Effect, Herding 인용
5. 맘 토큰 보상 (sonnet)
libs/rewards.js: calcReward (streak/milestone/ABTI연계/FFS향상), applyReward, bankSyncStubroutes/rewards.js: GET rewards, POST sync, GET leaderboard (이름 마스킹)public/js/rewards-ui.js+public/css/rewards.css- 한선씨:
libs/보상.한선 - 문서:
docs/rewards-rules.md
통합 작업
server.js
- routes/{notify, stats, rewards}.js mount (정적 파일 직전)
POST /api/profile: 최초 측정 시 calcReward + applyReward 자동 호출POST /api/profile/:ref/assessment: 측정 누적 시 자동 보상 적립
index.html
- scenarios_ext.js + scenarios_meta.js 로드 + AMTI_SCENARIOS 자동 병합
- rewards-ui.js + rewards.css 로드
- i18n.js 로드 (자동 detect)
- nav에 "그룹 통계" 링크 추가
dashboard.html
- rewards-ui.js + rewards.css + i18n.js 로드
검증 결과 (smoke + 회귀)
| 항목 | 결과 |
|---|---|
| /api/assess 회귀 | OK (GALQ γ=2.59 FFS=80) |
| /api/profile 저장 + reward | OK (totalMom 30, ABTI+20) |
| /api/profile/:ref/assessment + reward | OK (delta + reward 동시 반환) |
| /api/stats/all | OK (profiles=3 avgFFS=81) |
| /api/stats/cohort?criterion=all | OK |
| /api/stats/percentile/:ref | OK |
| /api/profile/:ref/checkup.ics | OK (12 VEVENT) |
| /api/profile/:ref/webhook 등록 | OK |
| /api/profile/:ref/rewards | OK |
| /api/profile/:ref/rewards/sync | OK (bank stub) |
| /api/rewards/leaderboard | OK |
| 정적: /, /dashboard.html, /stats.html, /js/i18n.js, /js/scenarios_ext.js, /i18n/en.json, /css/rewards.css | 모두 200 |
학습DB 패턴 등록
AMTI_보상계산— calcReward 한선씨 표현AMTI_백분위계산— userPercentile 한선씨 표현AMTI_ICS캘린더생성— buildICS 한선씨 표현
잔여 이슈 (다음 라운드)
- reward 버그: ABTI link 보너스가 2회차 측정 시에도 적용됨 (최초 1회만 의도)
- reward 버그: 첫 측정 보너스 +50이 적용되지 않음 (base 10만)
- PWA 푸시 알림 (Service Worker + Push API) — 다음 라운드 진행 중
- 시계열 CSV/PDF export — 다음 라운드
- 관리자 대시보드
- ABTI 자동 연계 (abti.crowny.org/api 조회로 코드 자동 검증)