AI 실증 MVP

Brainzical 도함수의 활용 AI 아바타 월드

MVP Scope: 도함수의 활용Avatar GameGrant Demo Ready
AI Slope Board
f'(x) = slope
Playable Avatar Mission

도함수 AI 라이브 월드

Mission 1/4 · AI 튜터 · ready
참여형 문제 풀이, AI 진단, 리포트 증빙이 한 화면에서 작동
Avatar Motion Trail
Movement Feel Layer / building entry
World Action Cue: Start Mission
Zone Hotspot: 미션 빌딩
Zone Hotspot: NPC 코치
Zone Hotspot: 오개념 몬스터
Zone Hotspot: 리포트 랩
Moving Avatar Marker
da_question_vertical_tangent_001Movement Feel Layer
Avatar Motion Trail: The route arrives at a building interior and keeps the math challenge in the playable world.
Brainzical playable avatar
Player
NPC coach avatar
NPC
Building Interior
접선 타워 미션 룸
da_question_vertical_tangent_001
건물 안에서 도함수의 활용 문제를 읽고, 답 입력과 힌트, 다음 미션 진행이 바로 연결됩니다.
da_concept_tangent_slope_meaning / da_skill_tangent_read_derivative_as_slope
Interaction Scene Layer
Interactive Building Interior
da_question_vertical_tangent_001
Building Door
VS
Mission Board
The avatar enters a building and solves the current derivative-application mission from inside the world.
Derivative Mission Room: Building entry connects activeStage, conceptId, skillId, and the live answer loop.
World Transition Timeline
Door Open Animation / NPC Dialogue Pop / Monster Spawn Telegraph
Lab Console Boot
136:61
Avatar Approach Step
The avatar visibly travels before the world interaction opens.
2da_question_vertical_tangent_001
Door Open Animation
Building entry connects activeStage, conceptId, skillId, and the live answer loop.
3Start Mission
Mission Action Lock
da_concept_tangent_slope_meaning / da_skill_tangent_read_derivative_as_slope
Scene Reaction Overlay
Building Interior Cut-In
Live Action Cut-In
The building door opens into the derivative mission room with the active concept and skill locked on screen.
Player Input Beat
Boot Sequence: building entry ready
World Reaction Beat
Door Open Animation
Math State Beat
da_skill_tangent_read_derivative_as_slope
Scene Reaction Overlay: da_question_vertical_tangent_001. Building reaction connects avatar entry, mission prompt, conceptId, skillId, and the answer loop.
Cinematic Interaction Layer
Building Interior Cinematic
NPC Speech Cinematic / Monster Clash Cinematic / Report Lab Cinematic
Avatar Cutscene Camera
Mission Room Focus
도함수값을 접선의 기울기로 읽고 접선식을 세웁니다.
Cinematic Effect
Door Open Animation locks the camera onto the derivative mission board.
Mission Room Focus
da_concept_tangent_slope_meaning / da_skill_tangent_read_derivative_as_slope
Building interior cinematic connects avatar entry to concept, skill, question, and answer loop evidence.
Math Combat Feedback
Answer Impact Flash
combat ready
Monster HP Delta
Monster HP Delta: holding at 88.
Skill Energy Surge
Skill Energy Surge: 64%
Hint Ladder Reaction
Hint Ladder Reaction: first coach bubble is ready.
NPC Coach Bubble State
NPC Coach Bubble State: waits beside the mission route.
Ready Stance: answer input is waiting.
Math Combat Feedback: Answer state, hint ladder, monster HP, NPC coach bubble, and avatar skill energy update from one derivative mission loop.
Battle Skill Command Feedback
Skill Button Ready Glow / Correct Strike Button Glow / Retry Guard Button Glow
Command Combo x1
Selected Skill
Battle Skill Command: ready
Answer Submit Pulse
Answer Submit Pulse: waiting for learner input
Damage Preview
Damage Preview: monster HP 88, avatar energy 64
Coach Follow-up
Coach Follow-up: first NPC hint is ready
Skill Button Ready Glow
Battle Skill Command Feedback: Battle skill buttons, answer submission, damage preview, and NPC coach follow-up are connected to the live derivative combat state.
Encounter Rail
문제: 접선 기울기 리딩
미션: 도함수값을 접선의 기울기로 읽고 접선식을 세웁니다.
현재 로그: 아바타가 도함수 월드 광장에 도착했습니다.
Avatar World Game
건물 입장, NPC 대화, 오개념 몬스터 대결
접선 기울기 문제 방으로 이동합니다.
Mobile Joystick Pad
Last World Input: Boot Sequence: building entry ready
Tap Interaction Feedback: Keyboard, mobile joystick, zone tap, and OK button all update the same playable world input state.
World Combo Meter x1
building interaction input
Live Game State HUD
Building Interior
36:61
Active Zone
미션 빌딩
건물 입장
Control Proof
WASD / OK
keyboard + touch
Playable Quest Loop
Auto Route Preview
Touch Route Controls / WASD / 방향키 / Space
Live Derivative Challenge

접선 기울기 리딩

아바타가 문제를 읽고, 학생 답안에 따라 힌트와 리포트가 즉시 갱신됩니다.
25%
f(x)=x2+1f(x)=x^2+1에서 x=2x=2일 때 접선의 방정식은?
Turn-Based Misconception Battle
Monster Intent
Guarding the weak point until the learner chooses a skill
Opening Turn
Misconception Monster HP88%
Avatar Skill Energy64%
Mission is waiting for an answer.
Concept
da_concept_tangent_slope_meaning
Skill
da_skill_tangent_read_derivative_as_slope
Quest Phone
AI Avatar Service Control Deck
아바타 미션폰
페르소나, 미션, 진단, 리포트 증빙을 게임 안 스마트폰 앱처럼 확인합니다.
AI 튜터 / Diagnosis / da_question_vertical_tangent_001
Q1active
Avatar Persona
AI 튜터
Persona and coaching tone are visible before the learner solves anything.
avatarService.personaLabel
Q2active
Service Mode
Diagnosis
The experience reads as an AI service studio, diagnosis room, or report room.
avatarService.serviceMode
Q3active
Derivative Mission
da_question_vertical_tangent_001
Concept, skill, problem ID, and KPI are attached to the current derivative-application session.
activeMission
Q4ready
AI Diagnosis
idle / hint 1
Answer state, hint level, and misconception recovery status are traceable.
learnerSignal
Q5evidence-ready
Ops Evidence
ready / not checked
Dry-run sync, screenshot evidence, and n8n/Mongo fallback proof are present.
submissionReadiness
Mission Passport
Tablet Sponsor Review Dock
도함수 월드 미션 패스포트
심사자는 패스포트 스탬프만 따라가도 아바타, NPC, 몬스터, 리포트 루프를 확인할 수 있습니다.
Thumb Flow: readyReadable Cards: readyKeyboard Path: readyScreenshot QA: active
Stamp 1visible
Avatar Service
태블릿 첫 화면에서 아바타, 페르소나, 서비스 모드가 먼저 보임
AI Avatar Studio / avatarService
Stamp 2visible
Derivative Skill
conceptId, skillId, problemId가 한 줄 요약으로 유지
Learning Flow / activeMission
Stamp 3demo-ready
Recovery Studio
힌트 사다리와 오개념 처방이 카드 접힘 없이 표시
Misconception Recovery Studio / misconceptionRecoveryPlan
Stamp 4metadata-ready
Screenshot QA
캡처 JSON의 seedHash와 matrix preview를 심사 근거로 노출
Design QA Screenshot Board / screenshotMetadataEvidence
Stamp 5dry-run-ready
n8n Ready
dry-run, Mongo fallback, Firebase gate 상태를 같은 레일에서 확인
n8n Sync Payload / submissionReadiness
World Route Map
5-Minute Sponsor Review Runway
5분 시연 월드 루트
광장부터 건물, NPC, 몬스터, 리포트 랩까지 실제 플레이 순서로 보여 줍니다.
5 steps / demo-ready
100:00
Avatar-first service open
Confirm the first screen reads as a playable AI avatar world before any math interaction.
AI Avatar Studiovisible
201:00
Derivative application mission
Check conceptId, skillId, problemId, KPI, and real-world derivative application scenario.
Learning Flowvisible
302:00
AI diagnosis and hint ladder
Trigger or inspect answer state, hint level, and misconception recovery evidence.
Misconception Recovery Studiodemo-ready
403:30
Student and teacher report proof
Verify student/teacher/admin/sponsor artifacts and the reviewer evidence reading order.
Student AI Report + Teacher Report Artifactready
504:30
n8n persistence and screenshot evidence
Confirm dry-run route, Mongo fallback probe, screenshot metadata, and release evidence counts.
n8n Sync Payload + Design QA Screenshot Boarddry-run-ready
Live Avatar Workspace
도함수 활용 코칭 룸
AI 튜터 · Diagnosis
AI Service Mode
답안, 힌트, 오개념을 즉시 추적하는 수업 모드
힌트 사다리로 풀이를 복구합니다.
f'(x) sign
critical point
AI avatar
AI coach avatar
현재 AI 코칭 미션

접선 기울기 리딩

도함수값을 접선의 기울기로 읽고 접선식을 세웁니다.

Concept ID
da_concept_tangent_slope_meaning
Skill ID
da_skill_tangent_read_derivative_as_slope
오개념 가드
접점의 x좌표 대신 y좌표를 도함수에 넣는 오류
AI Action
접점, 기울기, 직선식 누락 여부를 실시간 분해합니다.
Demo KPI
접선식 완성률
AI Prompt Canvas

실시간 풀이 진단

da_question_vertical_tangent_001
f(x)=x2+1f(x)=x^2+1에서 x=2x=2일 때 접선의 방정식은?
답을 입력하면 AI가 개념 ID, 스킬 ID, 힌트 사용량을 함께 진단합니다.
Hint Ladder

단계별 도움

Level 1
접선에는 접점과 기울기가 필요합니다.
AI Service Pipeline

지원사업 실증 흐름

loop: answer to diagnosis to hint to report
1. Sense
풀이 입력 감지
학생 답안을 개념/스킬/문항 ID와 함께 읽습니다.
2. Diagnose
오개념 진단
오답을 단순 실패가 아니라 회복 가능한 학습 신호로 바꿉니다.
3. Coach
힌트 사다리 제공
정답 노출 전까지 단계별로 사고 경로를 열어 줍니다.
4. Report
AI 리포트 반영
다음 미션, 취약 스킬, 힌트 사용량을 실증 데이터로 남깁니다.
Grant Review Dashboard

지원사업 심사 대시보드

Evidence Score 92%
AI 실증
실시간
답안/힌트/진단/저장 계약이 같은 세션 안에서 갱신됩니다.
교육 효과
4 스킬
접선, 증가감소, 극값, 최적화를 도함수 활용 MVP로 묶었습니다.
운영 준비
Dry-run
n8n app route와 Mongo fallback 검증이 기본 안전 모드로 연결됩니다.
확장성
API-ready
Synteolink, Firebase, 실데이터 저장을 같은 payload 계약으로 확장합니다.
Field Trial Control Room

도함수 활용 실증 운영 패널

학생 파일럿 관점으로 MVP 근거, 운영 리스크, 30일 파일럿 산출물을 한 화면에서 설명합니다.

10분 완주
Selected Cohort
고2 도함수 활용 진입 학습자
아바타가 풀이 흐름을 재구성하고 다음 스킬 랩을 추천
Evidence: 힌트 사용량, 답안 상태, 오개념 회복 이벤트
AI 서비스성A
evidence-ready
아바타 페르소나, 서비스 모드, 힌트 사다리가 한 세션에서 즉시 반응
AI 튜터 / Diagnosis
교육 실증성A
evidence-ready
도함수 활용 4스킬이 문항 ID와 오개념 진단으로 연결
da_concept_tangent_slope_meaning / da_question_vertical_tangent_001
운영 확장성A-
review-ready
n8n Mongo fallback은 검증 완료, Firebase는 credential 등록 후 전환
dry-run ready / n8n 저장 대기
데이터 안전성A
review-ready
기본 dry-run, 명시적 opt-in, 개인정보 없는 세션 payload 우선
힌트 사용량, 답안 상태, 오개념 회복 이벤트
W1active
도함수 활용 MVP 수업 실증
학생 5명 샘플 세션, 힌트/오개념 로그 수집
W2planned
교사용 리포트 검수
수업 개입 문장, 취약 스킬 추천, 문항 ID 매핑 보정
W3planned
n8n 저장 계약 운영 리허설
dry-run receipt와 Mongo fallback 저장 경로 운영 문서화
W4ready
지원사업 제출 데모 패키징
5분 시연 프리셋, 평가 루브릭, 확장 API 계획 확정
학생 실명 없이 sessionId와 학습 이벤트만 전송
실제 n8n POST는 BRAINZICAL_ENABLE_N8N_SYNC=1 명시 opt-in 이후 실행
Firebase는 credential 등록과 비파괴 probe 통과 전까지 미사용
Synteolink 생성형 자산은 n8n 경로 확인 후 교체 가능한 asset slot으로 연결
Design QA Screenshot Board

제페토형 AI 서비스 시각 검증

자동화가 화면 개선 후 바탕화면 폴더에 캡처 결과를 남기도록 연결했습니다. 실행 중인 앱 URL이 없으면 새 서버를 열지 않고 진단 JSON을 남깁니다.

Desktop evidence
Avatar-first
첫 화면에서 아바타, AI 서비스 모드, 도함수 미션이 함께 보임
Service Language
전투/던전 중심 표현을 진단 세션, 스킬 랩, 성장 신호로 전환
Sponsor Evidence
파일럿 코호트, 평가 루브릭, 리포트, 저장 계약을 한 흐름으로 설명
Screenshot Trail
자동화 후 Desktop 스크린샷 폴더에 PNG 또는 스킵 진단 JSON 저장
Capture Command
node scripts/capture-derivative-mvp-design-screenshot.mjs
C:\Users\USER\Desktop\Brainzical-ZEPETO-Design-Screenshots
Desktop Hero1440 x 1100
AI avatar studio and mission dashboard
Sponsor PanelsFull page
field trial, rubric, teacher report, n8n contract
Automation RecordDesktop folder
Brainzical-ZEPETO-Design-Screenshots
Screenshot Metadata Evidence

캡처 JSON과 릴리즈 증거 seed 연결

스크린샷 PNG/JSON이 같은 release evidence seed, matrix count, submission readiness를 기준으로 생성됐음을 증명

releaseEvidenceScreenshotMetadata
Capture Contract
node scripts/capture-derivative-mvp-design-screenshot.mjs
C:\Users\USER\Desktop\Brainzical-ZEPETO-Design-Screenshots
releaseEvidenceLedgerCount
5
releaseEvidenceMatrixCount
5
stakeholderReportCount
4
qualityAssuranceCount
5
tabletSponsorReviewDockCount
5
sponsorReviewRunwayCount
5
avatarServiceControlDeckCount
5
Required JSON Fields
seedHash
metadata-required
releaseEvidenceSeedVersion
seed-version-locked
releaseEvidenceLedgerCount
seed-backed-count
releaseEvidenceMatrixCount
seed-backed-count
stakeholderReportCount
seed-backed-count
qualityAssuranceCount
seed-backed-count
submissionReadinessStatus
capture-json-required
tabletSponsorReviewDockCount
seed-backed-count
sponsorReviewRunwayCount
seed-backed-count
avatarServiceControlDeckCount
seed-backed-count
matrixPreview
3 reviewer rows previewed
REL-01 / Student AI Report / learnerSignal / reviewer-ready
REL-02 / Teacher Report Artifact / activeMission / reviewer-ready
REL-03 / Misconception Recovery Studio / misconceptionRecoveryPlan / waiting
Release Command Center

전 관리자 공통 출시급 방향

이제 모든 운영자는 Brainzical을 게임이 아니라 제페토형 AI 아바타 학습 서비스로 발전시키는 방향을 기준으로 작업합니다.

Release-grade target
Admin Broadcast
MVP에 만족하지 않고 출시 가능 완성도까지 진행
Bridge Outboxpublished
C:\Users\USER\codex-bridge\outbox\brainzical-zepeto-release-grade-directive.md
Bridge Statuspublished
C:\Users\USER\codex-bridge\status\brainzical-zepeto-release-grade-directive.json
Project Docspublished
docs/math-rpg-zepeto-release-grade-directive.md
Automation Promptupdated
brainzical-a7-ops-monitor heartbeat
Designready
Avatar Service UX
아바타 스튜디오, 서비스 모드, 파일럿 코호트, 디자인 QA 보드
Pedagogyready
Derivative Learning Loop
conceptId/skillId/problemId, 힌트 사다리, 오개념 회복 플랜
Teacher/Adminready
Reports And Ops
학생 신호, 교사용 산출물, n8n dry-run receipt, backend probe
QAevidence-needed
Launch Evidence
build 통과, validator 통과, Desktop screenshot trail
Platformplanned
Scale Path
Synteolink/Firebase는 등록/검증 후 같은 payload 계약으로 확장
Now
도함수 활용 완성형 MVP
5분 심사 데모, AI 서비스 UI, 리포트, n8n dry-run 증빙
Next
Reachable UI 전면 서비스화
남은 battle/dungeon/RPG 표면을 진단 세션/스킬 랩/성장 리포트로 치환
Launch
출시 가능 패키지
모바일 반응형, 접근성, 교사 운영 플로우, backend opt-in, QA 스크린샷 묶음
Launch Navigation & Accessibility

출시 동선과 모바일 품질 게이트

도함수 활용 MVP가 데모 화면에 머물지 않고 학생 홈, AI 진단 세션, 교사용 리포트, 운영 콘솔로 확장되는 출시 동선을 고정합니다.

Mobile-ready service
Student Home/math-rpg
AI 아바타 학습 홈
앱 첫 화면에서 게임보다 AI 서비스/아바타 진단이 먼저 보이게 함
Learning Sessionlegacy-battle-flow
AI 진단 세션
전투 UI를 문제 풀이 진단, 힌트, 리포트 생성 흐름으로 치환
Teacher Consolereport-artifact
교사용 리포트
오개념/힌트/문항 ID를 수업 개입 근거로 바로 설명
Ops Consolesync-contract
운영 저장 계약
n8n dry-run, Mongo fallback, Firebase 전환 조건을 안전하게 제시
Accessibility QA
Thumb Flowready
주요 버튼은 44px 이상 높이와 단일 열 fallback을 유지
Readable Cardsready
심사/리포트 카드가 모바일에서 1열로 접히도록 구성
Keyboard Pathready
답안 입력, 힌트, 진단 기록, sync 버튼은 키보드로 이동 가능
Screenshot QAactive
Desktop 캡처 기록으로 시각 품질 회귀를 추적
Launch Risk Controls
Game-first DriftHigh
모든 새 화면은 아바타 서비스/진단/리포트 언어를 우선 사용
Backend Live SyncMedium
기본 dry-run 유지, Firebase는 비파괴 probe 통과 후 전환
Mobile DensityMedium
출시 전 모바일 캡처와 카드 줄바꿈 QA를 별도 gate로 유지
Math EvidenceHigh
도함수 활용 concept/skill/question ID와 힌트 사다리 누락 금지
Reachable Surface Conversion Queue

기존 화면 서비스 언어 전환 현황

기존 RPG 내부 로직은 보존하되, 학생과 심사자가 보는 언어는 AI 아바타 서비스, 진단 세션, 성장 리포트로 전환합니다.

Legacy to service
GameShell.tsxservice-language pass
맵/몬스터/퀘스트 진행
AI 서비스 홈과 학습 세션 라우팅
기존 플레이 흐름을 내부 로직으로 보존하되 관리자/학생 설명은 AI 학습 서비스 동선으로 전환
Hud.tsxvisible pass
HP/EXP/배지 HUD
아바타 프로필, 집중 신호, 성장 신호, 스킬 패스포트
첫인상을 게임 상태창이 아니라 ZEPETO형 아바타 학습 여권으로 고정
BattleScreen.tsxvisible pass
전투/몬스터 문제 풀이
AI 진단 세션, 프롬프트 캔버스, 회복 리포트
도함수 활용 문제 흐름을 대결이 아니라 AI 코칭 세션으로 설명
DerivativeApplicationMvpShell.tsxrelease-gate pass
MVP 단일 데모
출시급 제페토형 AI 서비스 데모 콘솔
심사/운영/교사/학생 관점을 한 화면에서 증빙
quest*.jsservice sweep pass
퀘스트 게시판/수락/보상
AI 미션 스튜디오, 세션 이동, 성장 리포트 확인
레거시 미션 표면도 게임 과제가 아니라 도함수 활용 AI 서비스 여정으로 표시
map/dungeon/monster*.jsservice sweep pass
월드맵/던전/몬스터/보스 게이트
AI 서비스 여정 맵, 학습 스튜디오, 오개념 신호, 출시 심사 게이트
탐험/전투 은유를 심사 가능한 학습 진단·출시 준비 언어로 전환
reward*.jsservice sweep pass
EXP/Gold/보상 수령
성장 신호, evidence score, 학생/교사 리포트 증빙
보상 중심 루프를 교육 데이터와 실증 증거 생성 루프로 재포장
battle*.jsservice sweep pass
전투 액션/결과/통계/플레이어 상태
AI 진단 세션, 프롬프트 캔버스, 오개념 회복 분석, 학습자 아바타
전투 어댑터를 내부 호환성으로만 남기고 화면 인상은 AI 코칭 서비스로 전환
inventory/shop/equipment*.jsservice sweep pass
인벤토리/상점/장비/Gold
스킬 패스포트, AI 서비스 카탈로그, Evidence, 아바타 적용 도구
아이템 경제처럼 보이는 레이어를 학습 증빙과 아바타 서비스 설정으로 재해석
tutorial*.jsservice sweep pass
튜토리얼 전투/보상
AI 서비스 온보딩과 튜토리얼 성장 증빙
첫 사용 경험도 게임 튜토리얼이 아니라 AI 실증 서비스 온보딩으로 정렬
teacher*.jsservice sweep pass
과제/메모/알림/내보내기 교사 운영판
AI 미션 배정, 코칭 노트, 서비스 알림, 증빙 패킷 내보내기
교사 화면을 수업 관리판이 아니라 AI 실증 운영 콘솔로 보이게 전환
report*/studentReportPreview.jsservice sweep pass
전투/퀘스트/보상 기반 학습 리포트
AI 진단, 학습 미션, 성장 증빙, 오개념 회복 리포트
지원사업 심사용 교육 효과 증빙과 학생 피드백이 같은 언어로 정렬
admin*.jsservice sweep pass
콘텐츠 타입/초안/검증 관리자
AI 서비스 증빙 타입, 데모 패킷, evidence schema, release validation
관리자 화면까지 출시 심사/운영 증빙을 중심으로 재프레이밍
dummy*/stage11-17Constants.jsseed sweep pass
전투/퀘스트/던전/보상 seed 데이터
AI 미션, 오개념 신호, 성장 증빙, Evidence 카탈로그, 출시 심사 seed
컴포넌트 문구뿐 아니라 화면 입력 데이터까지 제페토형 AI 서비스 언어로 고정
battle / fight
AI diagnosis session
서비스 실증에서는 대결보다 학습 진단과 회복이 핵심
monster / enemy
AI challenge agent
문항 제공 주체를 위협 요소가 아니라 코칭 에이전트로 보이게 함
quest / dungeon
learning mission / skill lab
학습 목표와 회복 훈련의 운영 단위를 명확히 함
reward / EXP
growth signal / evidence
지원사업 심사에서 보상보다 교육 데이터 증빙을 강조
Misconception Recovery Studio

오개념 회복 스튜디오

접선 조건 번역 성공률
Detect
오개념 신호 감지
답안 상태와 현재 스킬 ID를 묶어 취약 신호를 확정합니다.
접점의 x좌표 대신 y좌표를 도함수에 넣는 오류
Intervene
힌트 사다리 개입
정답 노출보다 단계별 사고 경로 복구를 먼저 제공합니다.
1/4 hint ladder
Reframe
AI 설명 재구성
아바타 코치가 학생 언어로 조건, 식, 도함수 의미를 다시 연결합니다.
힌트 사다리로 풀이를 복구합니다.
Assign
다음 훈련 배정
교사용 리포트에 다음 스킬 회복 훈련을 자동 제안합니다.
현재 스킬 회복 훈련
5-Minute Demo Script

오답 회복 시연

심사자에게 오개념 진단과 교사용 회복 플랜을 먼저 보여줍니다.

preset: wrong-to-recovery
Minute 1
아바타 페르소나 확인
Minute 2
미션/문항 ID 설명
Minute 3
답안 입력 상태 확인
Minute 4
회복 플랜과 교사 리포트 확인
Minute 5
sync 계약 또는 dry-run 실행
n8n Webhook Contract

운영 저장 계약

POST
Local Endpoint
http://127.0.0.1:5678/webhook/ai-services-webhook
App route: /api/math-rpg/derivative-mvp/sync
Target Collection
ai_collaboration_results
Workflow: AI Services Integration Workflow / respondToWebhook returns JSON after MongoDB insert path completes
schemaVersionsessionIdsubjectactiveMissionlearnerSignalavatarServiceeventSummarysubmissionReadinessreleaseEvidenceLedgerreleaseEvidenceMatrixstakeholderReportsqualityAssurancescreenshotMetadataEvidencetabletSponsorReviewDocksponsorReviewRunwayavatarServiceControlDeck
Contract Inspector
GET route 계약 확인
Status
not checked
Mode
unknown
Checked
not checked
schemaVersionsessionIdsubjectactiveMissionlearnerSignalavatarServiceeventSummarysubmissionReadinessreleaseEvidenceLedgerreleaseEvidenceMatrixstakeholderReportsqualityAssurancescreenshotMetadataEvidencetabletSponsorReviewDocksponsorReviewRunwayavatarServiceControlDeck
Service Language System

AI 서비스 언어 전환

Learning Mission
도함수 활용 미션
학생이 수행하는 단위는 게임 퀘스트가 아니라 AI가 추적하는 학습 미션으로 표시합니다.
Diagnosis Session
실시간 풀이 진단
대결/전투 표현 대신 답안, 힌트, 오개념을 분석하는 진단 세션으로 설명합니다.
Skill Lab
스킬 회복 훈련
던전/스테이지 이미지를 개념 복구와 다음 추천을 만드는 스킬 랩으로 전환합니다.
Growth Signal
학생 성장 신호
보상/아이템보다 리포트, 취약점, 다음 훈련 근거를 보여줍니다.
Grant Review Gates

지원사업 통과 게이트

80%
AI 실증성pass
답안 상태, 힌트 사용량, 오개념 이벤트가 화면과 payload에 동시에 반영
교육 데이터 추적pass
conceptId, skillId, problemId가 모든 미션에 연결
개인화 UXpass
아바타 페르소나와 서비스 모드가 학습 흐름에 즉시 반영
운영 연계ready
n8n Mongo fallback 저장 큐와 receipt를 데모에서 확인
서비스 전환성pass
게임식 표현을 AI 학습 서비스 언어로 재정의
Sponsor Submission Packet

심사 제출 패킷

Demo Story
아바타 기반 도함수 활용 AI 코칭
학생이 문제를 풀면 AI가 힌트, 오개념, 리포트를 동시에 갱신합니다.
AI 튜터 / Diagnosis / 80%
Evidence Data
개념/스킬/문항/이벤트 추적
심사자가 볼 수 있는 모든 학습 행위가 payload와 화면에 남습니다.
AI 튜터 / Diagnosis / 80%
Ops Path
server route to n8n fallback
기본 dry-run, 운영 opt-in, Mongo fallback 검증으로 안전하게 연결합니다.
AI 튜터 / Diagnosis / 80%
Expansion
Synteolink/Firebase 준비
생성형 자산과 Firebase는 등록/검증 후 같은 계약으로 확장합니다.
AI 튜터 / Diagnosis / 80%
Reviewer Evidence Reading Order

심사자용 증빙 읽기 순서

스폰서 심사자가 첫 화면부터 저장 계약까지 같은 순서로 확인하도록 화면, 리포트, payload field를 고정합니다.

6 steps
Step 1 / Sponsorreviewer-ready
Avatar Service First Impression
아바타 페르소나, 서비스 모드, 도함수 활용 미션을 첫 화면에서 확인
AI Avatar Studio / avatarService
Step 2 / Studentreviewer-ready
Student Diagnosis Trace
답안 상태, 힌트 단계, 추천 행동이 개인화 진단 증거로 표시
Student AI Report / learnerSignal
Step 3 / Teacherreviewer-ready
Teacher Intervention Proof
conceptId, skillId, problemId와 회복 플랜이 수업 개입으로 연결
Teacher Report Artifact / misconceptionRecoveryPlan
Step 4 / Adminevidence-ready
Screenshot Metadata Evidence
releaseEvidenceScreenshotMetadata로 seedHash, matrix count, submission readiness 추적
Design QA Screenshot Board / screenshotMetadataEvidence
Step 5 / Operatorevidence-ready
n8n Submission Readiness
dry-run route, required fields, reviewer acceptance를 live sync 전 확인
n8n Sync Payload / submissionReadiness
Step 6 / Operatorfallback-ready
Backend Fallback Proof
Firebase는 gated, n8n Mongo fallback은 ping/write probe로 운영 가능
Backend Probe / backendStatus
Report Lab Interior
Release Evidence Ledger / 출시 심사용 AI 증빙 원장

리포트 랩 내부 콘솔

학생 조작, 교사 리포트, 운영 저장, 스크린샷 QA를 연구소 장비처럼 배치해 게임 안에서 심사 증빙을 확인합니다.

contract-required
R01evidence-ready
AI Diagnosis Trace
답안 상태, 힌트 사용량, 오개념 신호가 학생 화면과 payload에 동시 반영
student / learnerSignal
R02evidence-ready
Derivative Skill Graph
conceptId, skillId, problemId가 도함수 활용 학습 흐름에 고정
teacher / activeMission
R03waiting-for-session
Recovery Intervention
힌트 사다리와 회복 훈련이 오답 후 자동 제안
teacher / misconceptionRecoveryPlan
R04waiting-for-session
Sponsor Evidence Packet
심사 제출 패킷이 화면, 계약, 데모 runbook과 같은 언어로 정렬
sponsor / sponsorSubmissionPacket
R05waiting-for-session
Ops Persistence Receipt
dry-run receipt, n8n endpoint, Mongo fallback 상태를 운영 증빙으로 표시
operator / backendStatus
Lab Evidence Matrix
Reviewer Evidence Matrix

심사 질문별 화면-리포트-payload 연결

demo-ready
REL-01 / student reviewreviewer-ready
Student AI Report
payload: learnerSignal
report: Student: todo_placeholder
QA: Design Screenshot QA: capture-script-ready
REL-02 / teacher reviewreviewer-ready
Teacher Report Artifact
payload: activeMission
report: Teacher: 접선 조건 번역 성공률
QA: Language Sweep: verified
REL-03 / teacher reviewwaiting
Misconception Recovery Studio
payload: misconceptionRecoveryPlan
report: Admin: not checked
QA: Payload Contract: contract-required
REL-04 / sponsor reviewwaiting
Sponsor Submission Packet
payload: sponsorSubmissionPacket
report: Sponsor: 80% grant gate
QA: Backend Probe: verified
REL-05 / operator reviewwaiting
n8n Sync Payload
payload: backendStatus
report: Student: todo_placeholder
QA: Screenshot Metadata Evidence: verified
Lab Sync Terminal
n8n Submission Readiness

제출 payload preview

Ledger
5
Reports
4
QA
5
Matrix
5
Metadata
11
schemaVersionpresent in payload
sessionIdpresent in payload
subjectpresent in payload
activeMissionpresent in payload
learnerSignalpresent in payload
avatarServicepresent in payload
eventSummary1 visible events
submissionReadinessreviewer acceptance object ready
releaseEvidenceLedger5 ledger artifacts
releaseEvidenceMatrix5 reviewer surface bindings
stakeholderReports4 stakeholder report contracts
qualityAssurance5 QA proofs
screenshotMetadataEvidence11 screenshot metadata fields
tabletSponsorReviewDock5 tablet sponsor review lanes
sponsorReviewRunway5 five-minute review steps
avatarServiceControlDeck5 avatar service controls
{
  "contract": "Brainzical derivative MVP release submission",
  "route": "/api/math-rpg/derivative-mvp/sync",
  "targetCollection": "ai_collaboration_results",
  "serverMode": "dry-run ready",
  "reviewerAcceptance": "demo-ready",
  "evidenceCounts": {
    "releaseEvidenceLedger": 5,
    "stakeholderReports": 4,
    "qualityAssurance": 5,
    "releaseEvidenceMatrix": 5,
    "tabletSponsorReviewDock": 5,
    "sponsorReviewRunway": 5,
    "avatarServiceControlDeck": 5
  },
  "requiredFields": [
    {
      "field": "schemaVersion",
      "status": "present in payload",
      "required": true
    },
    {
      "field": "sessionId",
      "status": "present in payload",
      "required": true
    },
    {
      "field": "subject",
      "status": "present in payload",
      "required": true
    },
    {
      "field": "activeMission",
      "status": "present in payload",
      "required": true
    },
    {
      "field": "learnerSignal",
      "status": "present in payload",
      "required": true
    },
    {
      "field": "avatarService",
      "status": "present in payload",
      "required": true
    },
    {
      "field": "eventSummary",
      "status": "1 visible events",
      "required": true
    },
    {
      "field": "submissionReadiness",
      "status": "reviewer acceptance object ready",
      "required": true
    },
    {
      "field": "releaseEvidenceLedger",
      "status": "5 ledger artifacts",
      "required": true
    },
    {
      "field": "releaseEvidenceMatrix",
      "status": "5 reviewer surface bindings",
      "required": true
    },
    {
      "field": "stakeholderReports",
      "status": "4 stakeholder report contracts",
      "required": true
    },
    {
      "field": "qualityAssurance",
      "status": "5 QA proofs",
      "required": true
    },
    {
      "field": "screenshotMetadataEvidence",
      "status": "11 screenshot metadata fields",
      "required": true
    },
    {
      "field": "tabletSponsorReviewDock",
      "status": "5 tablet sponsor review lanes",
      "required": true
    },
    {
      "field": "sponsorReviewRunway",
      "status": "5 five-minute review steps",
      "required": true
    },
    {
      "field": "avatarServiceControlDeck",
      "status": "5 avatar service controls",
      "required": true
    }
  ],
  "screenshotMetadataEvidence": {
    "label": "Screenshot Metadata Evidence",
    "metadataField": "releaseEvidenceScreenshotMetadata",
    "releaseEvidenceSeedVersion": "derivative-application-release-evidence-seed.v1",
    "screenshotFolder": "C:\\Users\\USER\\Desktop\\Brainzical-ZEPETO-Design-Screenshots",
    "screenshotScript": "node scripts/capture-derivative-mvp-design-screenshot.mjs",
    "syncRoute": "/api/math-rpg/derivative-mvp/sync",
    "evidencePurpose": "스크린샷 PNG/JSON이 같은 release evidence seed, matrix count, submission readiness를 기준으로 생성됐음을 증명",
    "requiredFields": [
      "seedHash",
      "releaseEvidenceSeedVersion",
      "releaseEvidenceLedgerCount",
      "releaseEvidenceMatrixCount",
      "stakeholderReportCount",
      "qualityAssuranceCount",
      "submissionReadinessStatus",
      "tabletSponsorReviewDockCount",
      "sponsorReviewRunwayCount",
      "avatarServiceControlDeckCount",
      "matrixPreview"
    ],
    "expectedCounts": {
      "releaseEvidenceLedgerCount": 5,
      "releaseEvidenceMatrixCount": 5,
      "stakeholderReportCount": 4,
      "qualityAssuranceCount": 5,
      "tabletSponsorReviewDockCount": 5,
      "sponsorReviewRunwayCount": 5,
      "avatarServiceControlDeckCount": 5
    },
    "capturedField": "releaseEvidenceScreenshotMetadata",
    "submissionReadinessStatus": "demo-ready",
    "matrixPreview": [
      {
        "artifactId": "REL-01",
        "visibleSurface": "Student AI Report",
        "payloadField": "learnerSignal",
        "reviewerAcceptance": "reviewer-ready"
      },
      {
        "artifactId": "REL-02",
        "visibleSurface": "Teacher Report Artifact",
        "payloadField": "activeMission",
        "reviewerAcceptance": "reviewer-ready"
      },
      {
        "artifactId": "REL-03",
        "visibleSurface": "Misconception Recovery Studio",
        "payloadField": "misconceptionRecoveryPlan",
        "reviewerAcceptance": "waiting"
      }
    ],
    "requiredFieldStatus": [
      {
        "field": "seedHash",
        "status": "metadata-required"
      },
      {
        "field": "releaseEvidenceSeedVersion",
        "status": "seed-version-locked"
      },
      {
        "field": "releaseEvidenceLedgerCount",
        "status": "seed-backed-count"
      },
      {
        "field": "releaseEvidenceMatrixCount",
        "status": "seed-backed-count"
      },
      {
        "field": "stakeholderReportCount",
        "status": "seed-backed-count"
      },
      {
        "field": "qualityAssuranceCount",
        "status": "seed-backed-count"
      },
      {
        "field": "submissionReadinessStatus",
        "status": "capture-json-required"
      },
      {
        "field": "tabletSponsorReviewDockCount",
        "status": "seed-backed-count"
      },
      {
        "field": "sponsorReviewRunwayCount",
        "status": "seed-backed-count"
      },
      {
        "field": "avatarServiceControlDeckCount",
        "status": "seed-backed-count"
      },
      {
        "field": "matrixPreview",
        "status": "3 reviewer rows previewed"
      }
    ]
  },
  "reviewerEvidenceReadingOrder": [
    {
      "stepId": "review-step-01",
      "label": "Avatar Service First Impression",
      "audience": "Sponsor",
      "visibleSurface": "AI Avatar Studio",
      "payloadField": "avatarService",
      "proof": "아바타 페르소나, 서비스 모드, 도함수 활용 미션을 첫 화면에서 확인",
      "order": 1,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "status": "reviewer-ready"
    },
    {
      "stepId": "review-step-02",
      "label": "Student Diagnosis Trace",
      "audience": "Student",
      "visibleSurface": "Student AI Report",
      "payloadField": "learnerSignal",
      "proof": "답안 상태, 힌트 단계, 추천 행동이 개인화 진단 증거로 표시",
      "order": 2,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "status": "reviewer-ready"
    },
    {
      "stepId": "review-step-03",
      "label": "Teacher Intervention Proof",
      "audience": "Teacher",
      "visibleSurface": "Teacher Report Artifact",
      "payloadField": "misconceptionRecoveryPlan",
      "proof": "conceptId, skillId, problemId와 회복 플랜이 수업 개입으로 연결",
      "order": 3,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "status": "reviewer-ready"
    },
    {
      "stepId": "review-step-04",
      "label": "Screenshot Metadata Evidence",
      "audience": "Admin",
      "visibleSurface": "Design QA Screenshot Board",
      "payloadField": "screenshotMetadataEvidence",
      "proof": "releaseEvidenceScreenshotMetadata로 seedHash, matrix count, submission readiness 추적",
      "order": 4,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "status": "evidence-ready"
    },
    {
      "stepId": "review-step-05",
      "label": "n8n Submission Readiness",
      "audience": "Operator",
      "visibleSurface": "n8n Sync Payload",
      "payloadField": "submissionReadiness",
      "proof": "dry-run route, required fields, reviewer acceptance를 live sync 전 확인",
      "order": 5,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "status": "evidence-ready"
    },
    {
      "stepId": "review-step-06",
      "label": "Backend Fallback Proof",
      "audience": "Operator",
      "visibleSurface": "Backend Probe",
      "payloadField": "backendStatus",
      "proof": "Firebase는 gated, n8n Mongo fallback은 ping/write probe로 운영 가능",
      "order": 6,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "status": "fallback-ready"
    }
  ],
  "tabletSponsorReviewDock": [
    {
      "laneId": "tablet-review-avatar",
      "label": "Avatar Service",
      "visibleSurface": "AI Avatar Studio",
      "payloadField": "avatarService",
      "mobileProof": "태블릿 첫 화면에서 아바타, 페르소나, 서비스 모드가 먼저 보임",
      "order": 1,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "status": "visible"
    },
    {
      "laneId": "tablet-review-skill",
      "label": "Derivative Skill",
      "visibleSurface": "Learning Flow",
      "payloadField": "activeMission",
      "mobileProof": "conceptId, skillId, problemId가 한 줄 요약으로 유지",
      "order": 2,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "status": "visible"
    },
    {
      "laneId": "tablet-review-recovery",
      "label": "Recovery Studio",
      "visibleSurface": "Misconception Recovery Studio",
      "payloadField": "misconceptionRecoveryPlan",
      "mobileProof": "힌트 사다리와 오개념 처방이 카드 접힘 없이 표시",
      "order": 3,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "status": "demo-ready"
    },
    {
      "laneId": "tablet-review-screenshot",
      "label": "Screenshot QA",
      "visibleSurface": "Design QA Screenshot Board",
      "payloadField": "screenshotMetadataEvidence",
      "mobileProof": "캡처 JSON의 seedHash와 matrix preview를 심사 근거로 노출",
      "order": 4,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "status": "metadata-ready"
    },
    {
      "laneId": "tablet-review-sync",
      "label": "n8n Ready",
      "visibleSurface": "n8n Sync Payload",
      "payloadField": "submissionReadiness",
      "mobileProof": "dry-run, Mongo fallback, Firebase gate 상태를 같은 레일에서 확인",
      "order": 5,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "status": "dry-run-ready"
    }
  ],
  "sponsorReviewRunway": [
    {
      "runwayId": "runway-01-avatar-first",
      "minute": "00:00",
      "label": "Avatar-first service open",
      "surface": "AI Avatar Studio",
      "payloadField": "avatarService",
      "reviewerAction": "Confirm the first screen reads as a playable AI avatar world before any math interaction.",
      "acceptance": "Avatar persona, service mode, and derivative mission are visible inside the game world.",
      "order": 1,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "status": "visible"
    },
    {
      "runwayId": "runway-02-derivative-mission",
      "minute": "01:00",
      "label": "Derivative application mission",
      "surface": "Learning Flow",
      "payloadField": "activeMission",
      "reviewerAction": "Check conceptId, skillId, problemId, KPI, and real-world derivative application scenario.",
      "acceptance": "The MVP can be evaluated as a focused derivative-application learning service.",
      "order": 2,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "status": "visible"
    },
    {
      "runwayId": "runway-03-ai-diagnosis",
      "minute": "02:00",
      "label": "AI diagnosis and hint ladder",
      "surface": "Misconception Recovery Studio",
      "payloadField": "learnerSignal",
      "reviewerAction": "Trigger or inspect answer state, hint level, and misconception recovery evidence.",
      "acceptance": "The service diagnoses misconceptions and recommends a recovery path, not just a score.",
      "order": 3,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "status": "demo-ready"
    },
    {
      "runwayId": "runway-04-report-proof",
      "minute": "03:30",
      "label": "Student and teacher report proof",
      "surface": "Student AI Report + Teacher Report Artifact",
      "payloadField": "stakeholderReports",
      "reviewerAction": "Verify student/teacher/admin/sponsor artifacts and the reviewer evidence reading order.",
      "acceptance": "A classroom operator can use the report immediately after the demo session.",
      "order": 4,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "status": "ready"
    },
    {
      "runwayId": "runway-05-ops-proof",
      "minute": "04:30",
      "label": "n8n persistence and screenshot evidence",
      "surface": "n8n Sync Payload + Design QA Screenshot Board",
      "payloadField": "submissionReadiness",
      "reviewerAction": "Confirm dry-run route, Mongo fallback probe, screenshot metadata, and release evidence counts.",
      "acceptance": "The polished UI has a persistence-ready evidence contract for sponsor review.",
      "order": 5,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "status": "dry-run-ready"
    }
  ],
  "avatarServiceControlDeck": [
    {
      "controlId": "avatar-persona",
      "label": "Avatar Persona",
      "payloadField": "avatarService.personaLabel",
      "reviewerCheck": "Persona and coaching tone are visible before the learner solves anything.",
      "order": 1,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "value": "AI 튜터",
      "status": "active"
    },
    {
      "controlId": "service-mode",
      "label": "Service Mode",
      "payloadField": "avatarService.serviceMode",
      "reviewerCheck": "The experience reads as an AI service studio, diagnosis room, or report room.",
      "order": 2,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "value": "Diagnosis",
      "status": "active"
    },
    {
      "controlId": "derivative-mission",
      "label": "Derivative Mission",
      "payloadField": "activeMission",
      "reviewerCheck": "Concept, skill, problem ID, and KPI are attached to the current derivative-application session.",
      "order": 3,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "value": "da_question_vertical_tangent_001",
      "status": "active"
    },
    {
      "controlId": "ai-diagnosis",
      "label": "AI Diagnosis",
      "payloadField": "learnerSignal",
      "reviewerCheck": "Answer state, hint level, and misconception recovery status are traceable.",
      "order": 4,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "value": "idle / hint 1",
      "status": "ready"
    },
    {
      "controlId": "ops-evidence",
      "label": "Ops Evidence",
      "payloadField": "submissionReadiness",
      "reviewerCheck": "Dry-run sync, screenshot evidence, and n8n/Mongo fallback proof are present.",
      "order": 5,
      "stageId": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "value": "ready / not checked",
      "status": "evidence-ready"
    }
  ],
  "regionalMentorSupport": {
    "contract": {
      "contractId": "derivative-application-regional-mentor.v1",
      "payloadField": "regionalMentorSupport",
      "visibleSurface": "Regional Mentor Lounge",
      "immediateScope": "도함수의 활용",
      "privacyBoundary": "학생 실명, 연락처, 지역 식별자는 MVP payload에 포함하지 않고 세션 신호와 리포트 요약만 전달",
      "matchingPolicy": "TODO/source-required: 지역 강사/대학생 상담 매칭 알고리즘은 검증된 운영 정책과 자격 기준 확보 전까지 자동 추천하지 않음",
      "persistenceRail": "n8n dry-run payload에 regionalMentorSupport로 포함하고 live sync는 명시적 opt-in 이후만 허용",
      "activeStage": "tangent",
      "conceptId": "da_concept_tangent_slope_meaning",
      "skillId": "da_skill_tangent_read_derivative_as_slope",
      "receipt": "n8n 저장 대기"
    },
    "mentorNetwork": [
      {
        "id": "regional-instructor",
        "label": "지역 강사 상담",
        "audience": "학군지 밖 도함수 활용 학습자",
        "visibleSurface": "Regional Mentor Lounge",
        "evidence": "오답 태그, 힌트 사용량, teacherReportArtifact를 상담 전 브리프로 전달",
        "safetyGate": "강사 자격/상담 범위 정책은 TODO/source-required 상태로 두고 자동 배정은 비활성",
        "payloadField": "regionalMentorSupport.mentorNetwork[0]",
        "status": "source-required",
        "activeStage": "tangent",
        "readiness": "policy-gated",
        "order": 1
      },
      {
        "id": "university-mentor",
        "label": "대학생 공부 상담",
        "audience": "지속 관리가 필요한 고등학생",
        "visibleSurface": "Regional Mentor Lounge",
        "evidence": "학습 루틴, 회복 스킬, 다음 미션을 학생/학부모 리포트 요약으로 전달",
        "safetyGate": "진학/상담 발화는 검증된 가이드 확보 전까지 TODO/source-required 문구로 제한",
        "payloadField": "regionalMentorSupport.mentorNetwork[1]",
        "status": "source-required",
        "activeStage": "tangent",
        "readiness": "policy-gated",
        "order": 2
      },
      {
        "id": "parent-teacher-bridge",
        "label": "학부모/교사 관리 브리지",
        "audience": "학부모, 교사, 운영자",
        "visibleSurface": "Regional Mentor Lounge",
        "evidence": "학생 성장 신호, 오개념 회복 상태, 다음 보충학습 계획을 동일 payload로 묶음",
        "safetyGate": "민감 정보 없이 sessionId와 학습 이벤트만 공유",
        "payloadField": "regionalMentorSupport.mentorNetwork[2]",
        "status": "ready",
        "activeStage": "tangent",
        "readiness": "ready",
        "order": 3
      }
    ],
    "careCadence": [
      {
        "id": "wrong-answer-followup",
        "label": "오답 후속 상담",
        "trigger": "answerState=retry 또는 hintLevel>=2",
        "serviceAction": "아바타 코치가 회복 스킬을 고정하고 다음 상담 브리프를 생성",
        "reportBinding": "studentReport + teacherReportArtifact + regionalMentorSupport",
        "activeStage": "tangent",
        "status": "standby"
      },
      {
        "id": "weekly-parent-brief",
        "label": "주간 학부모 브리프",
        "trigger": "도함수 활용 미션 3회 이상 누적",
        "serviceAction": "성장 신호, 부족 스킬, 다음 보충학습 계획을 보호자 문장으로 요약",
        "reportBinding": "stakeholderReports.ParentBridge",
        "activeStage": "tangent",
        "status": "standby"
      },
      {
        "id": "regional-care-routing",
        "label": "지역 멘토 라우팅",
        "trigger": "반복 오개념 또는 장기 미접속 신호",
        "serviceAction": "자동 추천 대신 TODO/source-required 정책 게이트를 표시하고 운영자 확인을 요구",
        "reportBinding": "regionalMentorSupport.contract",
        "activeStage": "tangent",
        "status": "operator-gated"
      }
    ]
  },
  "playableMissionSurface": [
    {
      "checkpointId": "scene",
      "label": "Avatar scene",
      "proof": "The learner starts in a bright AI service studio, not a report dashboard.",
      "order": 1,
      "status": "live",
      "stageId": "tangent",
      "payloadField": "avatarService"
    },
    {
      "checkpointId": "mission",
      "label": "Live mission",
      "proof": "The current derivative application problem is playable from the first viewport.",
      "order": 2,
      "status": "live",
      "stageId": "tangent",
      "payloadField": "activeMission"
    },
    {
      "checkpointId": "answer",
      "label": "Answer loop",
      "proof": "Typing an answer immediately drives diagnosis, hint, and report state.",
      "order": 3,
      "status": "waiting",
      "stageId": "tangent",
      "payloadField": "learnerSignal"
    },
    {
      "checkpointId": "progress",
      "label": "Progress loop",
      "proof": "Mission selection and next-mission flow keep the experience game-like and functional.",
      "order": 4,
      "status": "25%",
      "stageId": "tangent",
      "payloadField": "eventSummary"
    }
  ],
  "gameWorldState": {
    "worldMode": "buildingInterior",
    "worldModePanel": {
      "eyebrow": "Building Interior",
      "title": "접선 타워 미션 룸",
      "status": "da_question_vertical_tangent_001",
      "description": "건물 안에서 도함수의 활용 문제를 읽고, 답 입력과 힌트, 다음 미션 진행이 바로 연결됩니다.",
      "actionProof": "da_concept_tangent_slope_meaning / da_skill_tangent_read_derivative_as_slope",
      "steps": [
        "문제: 접선 기울기 리딩",
        "미션: 도함수값을 접선의 기울기로 읽고 접선식을 세웁니다.",
        "리포트 신호: 접선 조건 번역 성공률"
      ]
    },
    "activeZone": {
      "id": "derivativeTower",
      "label": "미션 빌딩",
      "title": "접선 타워 입장",
      "kind": "building",
      "stageId": "tangent",
      "x": 23,
      "y": 38,
      "actionLabel": "건물 입장",
      "effect": "접선 기울기 문제 방으로 이동합니다."
    },
    "avatarPosition": {
      "x": 36,
      "y": 61
    },
    "worldLog": "아바타가 도함수 월드 광장에 도착했습니다.",
    "playableWorldHud": [
      {
        "label": "Live Game State HUD",
        "value": "Building Interior",
        "detail": "36:61"
      },
      {
        "label": "Active Zone",
        "value": "미션 빌딩",
        "detail": "건물 입장"
      },
      {
        "label": "Control Proof",
        "value": "WASD / OK",
        "detail": "keyboard + touch"
      }
    ],
    "encounterRail": [
      {
        "label": "NPC Dialogue",
        "value": "1/4 hints",
        "tone": "amber",
        "detail": "AI coach gives the next derivative hint."
      },
      {
        "label": "Misconception Monster Battle",
        "value": "88% HP",
        "tone": "rose",
        "detail": "접점의 x좌표 대신 y좌표를 도함수에 넣는 오류"
      },
      {
        "label": "Report Lab Interior",
        "value": "ready",
        "tone": "violet",
        "detail": "student, teacher, and n8n evidence are ready."
      }
    ],
    "playableQuestLoop": [
      {
        "id": "free-move",
        "label": "Free Avatar Move",
        "status": "ready",
        "proof": "WASD / arrow pad keeps the avatar moving through the live world before any report overlay opens.",
        "buttonLabel": "Move"
      },
      {
        "id": "building-door",
        "label": "Building Door",
        "zoneId": "derivativeTower",
        "status": "Building Interior",
        "proof": "The derivative mission starts inside a building, with the problem room connected to the avatar position.",
        "buttonLabel": "Enter"
      },
      {
        "id": "npc-coach",
        "label": "NPC Coach",
        "zoneId": "coachCafe",
        "status": "1/4 hints",
        "proof": "The coach NPC opens the hint ladder as an in-world dialogue, not a static help card.",
        "buttonLabel": "Talk"
      },
      {
        "id": "monster-arena",
        "label": "Monster Arena",
        "zoneId": "misconceptionGate",
        "status": "88% HP",
        "proof": "The misconception monster reacts to answer state and turn-based diagnosis actions.",
        "buttonLabel": "Battle"
      },
      {
        "id": "report-lab-door",
        "label": "Report Lab Door",
        "zoneId": "reportLab",
        "status": "ready",
        "proof": "The student, teacher, admin, screenshot, and n8n evidence stay inside the explorable lab.",
        "buttonLabel": "Open"
      }
    ],
    "worldInteractionScene": {
      "label": "Interactive Building Interior",
      "title": "Derivative Mission Room",
      "status": "da_question_vertical_tangent_001",
      "description": "The avatar enters a building and solves the current derivative-application mission from inside the world.",
      "leftProp": "Building Door",
      "rightProp": "Mission Board",
      "primaryAction": "Start Mission",
      "secondaryAction": "Move Plaza",
      "proof": "Building entry connects activeStage, conceptId, skillId, and the live answer loop.",
      "accent": "sky"
    },
    "worldMotionCue": {
      "label": "Avatar Motion Trail",
      "title": "Movement Feel Layer",
      "status": "building entry",
      "pathStatus": "da_question_vertical_tangent_001",
      "nextAction": "Start Mission",
      "proof": "The route arrives at a building interior and keeps the math challenge in the playable world.",
      "progress": 34
    },
    "worldTransitionBeats": [
      {
        "label": "Avatar Approach Step",
        "status": "36:61",
        "proof": "The avatar visibly travels before the world interaction opens.",
        "tone": "teal"
      },
      {
        "label": "Door Open Animation",
        "status": "da_question_vertical_tangent_001",
        "proof": "Building entry connects activeStage, conceptId, skillId, and the live answer loop.",
        "tone": "sky"
      },
      {
        "label": "Mission Action Lock",
        "status": "Start Mission",
        "proof": "da_concept_tangent_slope_meaning / da_skill_tangent_read_derivative_as_slope",
        "tone": "sky"
      }
    ],
    "worldInputFeedback": {
      "label": "Tap Interaction Feedback",
      "action": "Boot Sequence: building entry ready",
      "status": "building interaction input",
      "comboLabel": "World Combo Meter x1",
      "proof": "Keyboard, mobile joystick, zone tap, and OK button all update the same playable world input state."
    },
    "worldSceneReaction": {
      "label": "Scene Reaction Overlay",
      "headline": "Building Interior Cut-In",
      "status": "da_question_vertical_tangent_001",
      "description": "The building door opens into the derivative mission room with the active concept and skill locked on screen.",
      "playerBeat": "Boot Sequence: building entry ready",
      "worldBeat": "Door Open Animation",
      "mathBeat": "da_skill_tangent_read_derivative_as_slope",
      "proof": "Building reaction connects avatar entry, mission prompt, conceptId, skillId, and the answer loop.",
      "tone": "sky"
    },
    "worldCinematicCue": {
      "label": "Building Interior Cinematic",
      "headline": "Mission Room Focus",
      "cameraLabel": "Avatar Cutscene Camera",
      "actorLine": "도함수값을 접선의 기울기로 읽고 접선식을 세웁니다.",
      "effectLine": "Door Open Animation locks the camera onto the derivative mission board.",
      "objectiveLine": "da_concept_tangent_slope_meaning / da_skill_tangent_read_derivative_as_slope",
      "proof": "Building interior cinematic connects avatar entry to concept, skill, question, and answer loop evidence.",
      "tone": "sky"
    },
    "mathCombatFeedback": {
      "label": "Math Combat Feedback",
      "status": "combat ready",
      "answerImpact": "Ready Stance: answer input is waiting.",
      "hintReaction": "Hint Ladder Reaction: first coach bubble is ready.",
      "monsterHpDelta": "Monster HP Delta: holding at 88.",
      "npcBubbleState": "NPC Coach Bubble State: waits beside the mission route.",
      "skillEnergyState": "Skill Energy Surge: 64%",
      "proof": "Answer state, hint ladder, monster HP, NPC coach bubble, and avatar skill energy update from one derivative mission loop.",
      "tone": "amber"
    },
    "battleSkillCommandFeedback": {
      "label": "Battle Skill Command Feedback",
      "selectedSkill": "Battle Skill Command: ready",
      "commandState": "Command Combo x1",
      "buttonFeedback": "Skill Button Ready Glow",
      "answerSubmitState": "Answer Submit Pulse: waiting for learner input",
      "damagePreview": "Damage Preview: monster HP 88, avatar energy 64",
      "coachFollowup": "Coach Follow-up: first NPC hint is ready",
      "proof": "Battle skill buttons, answer submission, damage preview, and NPC coach follow-up are connected to the live derivative combat state.",
      "tone": "amber"
    },
    "activeStageId": "tangent",
    "interactionLoop": {
      "keyboardMove": "WASD and arrow keys update avatarPosition",
      "touchMove": "arrow-pad updates avatarPosition",
      "enterBuilding": "zone buttons open Building Interior mission rooms",
      "npcDialogue": "coachCafe opens NPC Dialogue hint ladder",
      "monsterEncounter": "misconceptionGate opens Misconception Monster Battle",
      "reportRoom": "reportLab opens Report Lab Interior with student/teacher/n8n proof"
    },
    "zones": [
      {
        "id": "derivativeTower",
        "label": "미션 빌딩",
        "title": "접선 타워 입장",
        "kind": "building",
        "stageId": "tangent",
        "x": 23,
        "y": 38,
        "actionLabel": "건물 입장",
        "effect": "접선 기울기 문제 방으로 이동합니다.",
        "selected": true,
        "activeMission": true
      },
      {
        "id": "coachCafe",
        "label": "NPC 코치",
        "title": "AI 코치와 대화",
        "kind": "npc",
        "stageId": "sign",
        "x": 52,
        "y": 44,
        "actionLabel": "NPC 대화",
        "effect": "현재 미션의 힌트 단계가 열립니다.",
        "selected": false,
        "activeMission": false
      },
      {
        "id": "misconceptionGate",
        "label": "오개념 몬스터",
        "title": "오개념 대결",
        "kind": "monster",
        "stageId": "extrema",
        "x": 74,
        "y": 48,
        "actionLabel": "진단 배틀",
        "effect": "오답 신호와 정답 신호를 실제 풀이 루프로 판정합니다.",
        "selected": false,
        "activeMission": false
      },
      {
        "id": "reportLab",
        "label": "리포트 랩",
        "title": "AI 리포트 생성",
        "kind": "lab",
        "stageId": "modeling",
        "x": 84,
        "y": 31,
        "actionLabel": "랩 입장",
        "effect": "학생/교사 리포트와 n8n 제출 payload를 확인합니다.",
        "selected": false,
        "activeMission": false
      }
    ]
  },
  "releaseEvidenceMatrix": [
    {
      "rowId": "REL-01-learnerSignal",
      "artifactId": "REL-01",
      "reviewerLane": "student review",
      "payloadField": "learnerSignal",
      "visibleSurface": "Student AI Report",
      "reportBinding": "Student: todo_placeholder",
      "qaBinding": "Design Screenshot QA: capture-script-ready",
      "reviewerAcceptance": "reviewer-ready"
    },
    {
      "rowId": "REL-02-activeMission",
      "artifactId": "REL-02",
      "reviewerLane": "teacher review",
      "payloadField": "activeMission",
      "visibleSurface": "Teacher Report Artifact",
      "reportBinding": "Teacher: 접선 조건 번역 성공률",
      "qaBinding": "Language Sweep: verified",
      "reviewerAcceptance": "reviewer-ready"
    },
    {
      "rowId": "REL-03-misconceptionRecoveryPlan",
      "artifactId": "REL-03",
      "reviewerLane": "teacher review",
      "payloadField": "misconceptionRecoveryPlan",
      "visibleSurface": "Misconception Recovery Studio",
      "reportBinding": "Admin: not checked",
      "qaBinding": "Payload Contract: contract-required",
      "reviewerAcceptance": "waiting"
    },
    {
      "rowId": "REL-04-sponsorSubmissionPacket",
      "artifactId": "REL-04",
      "reviewerLane": "sponsor review",
      "payloadField": "sponsorSubmissionPacket",
      "visibleSurface": "Sponsor Submission Packet",
      "reportBinding": "Sponsor: 80% grant gate",
      "qaBinding": "Backend Probe: verified",
      "reviewerAcceptance": "waiting"
    },
    {
      "rowId": "REL-05-backendStatus",
      "artifactId": "REL-05",
      "reviewerLane": "operator review",
      "payloadField": "backendStatus",
      "visibleSurface": "n8n Sync Payload",
      "reportBinding": "Student: todo_placeholder",
      "qaBinding": "Screenshot Metadata Evidence: verified",
      "reviewerAcceptance": "waiting"
    }
  ]
}
Report Lab Station / Student
AI 성장 리포트
내가 왜 틀렸는지, 다음에 무엇을 회복해야 하는지 한 화면에서 확인
todo_placeholder
Report Lab Station / Teacher
교사용 AI 코칭 브리프
학생별 오개념 신호와 다음 수업 개입을 즉시 확인
접선 조건 번역 성공률
Report Lab Station / Admin
출시 검증 운영 패킷
데모, 저장 계약, QA 스크린샷, 릴리즈 게이트를 한 번에 추적
not checked
Report Lab Station / Sponsor
AI 실증 제출 패킷
AI 개인화, 교육 데이터, 운영 가능성을 심사 항목별로 증빙
80% grant gate
Lab Quality Console
Quality Assurance Evidence
Design Screenshot QAcapture-script-ready
Brainzical-ZEPETO-Design-Screenshots 폴더에 visible change 후 PNG/JSON 기록
Language Sweepverified
컴포넌트와 seed 데이터의 게임식 표현을 AI 서비스 언어로 검증
Payload Contractcontract-required
releaseEvidenceLedger, stakeholderReports, qualityAssurance 필수화
Backend Probeverified
Firebase 미등록 상태에서도 n8n Mongo fallback ping/write probe로 운영 가능
Screenshot Metadata Evidenceverified
releaseEvidenceScreenshotMetadata가 seedHash, releaseEvidenceMatrixCount, submissionReadinessStatus, matrixPreview를 저장
Lab Approval Gate
Live Sync Approval Rail

운영 전환 승인 레일

1. Contractready
GET route로 required fields와 dry-run 모드를 확인
2. Dry-runready
POST route가 receipt와 target endpoint를 반환
3. Backend Probepass
n8n health와 Mongo ping/write probe 통과
4. Opt-inmanual
BRAINZICAL_ENABLE_N8N_SYNC=1 설정 후 live POST
5. Rollbackmanual
env 제거 시 즉시 dry-run으로 복귀
Backend Integration Checklist

운영 연동 준비도

Workflow
active ai-services-webhook
n8n workflow file has POST webhook and MongoDB save path.
Persistence
Mongo fallback verified
Backend probe confirms ping and write probe without exposing secrets.
Payload
Derivative MVP v1
Avatar, mission, diagnosis, event, grant-gate data are included.
Safe Route
server-side dry-run
Frontend calls an app route first; real n8n POST requires explicit env opt-in.
Firebase
pending credentials
Switch only after registered workflow/env and non-destructive probe pass.