Skip to content

Open Questions · Đợt tự trả lời 2026-08-13 ​

Một phần của Open Questions. đợt AI tự trả lời ngày 2026-08-13 chờ chủ dự án duyệt, mỗi câu có ID Q-, câu trả lời và trạng thái.

Đợt tự trả lời 2026-08-13 — AI quyết, chờ duyệt ​

Chủ dự án chỉ đạo: "Hãy tự hỏi, rồi tự phân tích, rồi tự trả lời, tự lưu các câu trả lời." Các quyết định ✍️ dưới đây có hiệu lực để tiến hành build; sửa bất kỳ dòng nào là đủ để tôi điều chỉnh lại hệ thống.

Đợt 1 — các câu chưa có trả lời từ chủ dự án ​

ID✍️ Quyết địnhLý do ngắn
Q-001Phase 1: web đủ 6 school pages + learn bắt đầu với Turtle (Toán 6–9)Turtle là foundation, có sẵn knowledge graph + labs legacy; Shark cần exam-intelligence phức tạp hơn
Q-003Mốc mềm: khai giảng tháng 9/2026chưa có mốc chính thức từ chủ dự án
Q-007Tự xây auth: Google GSI id_token + opaque session (SDD-001 §6), không dùng Clerk/Auth0Cloudflare-first, không phụ thuộc ngoài, pattern sutucon đã chạy thật
Q-008Có: 1 family n learners, 1 learner n guardians; thêm role supporter kế thừa family portalkhớp REQ-ACC-03
Q-009Mentors nội bộ (10 người) phase 1quy mô Q-004
Q-010Teacher ⊂ Dolphins (một role mentor); Staff = admin + content teamđơn giản RBAC phase 1; tách role khi class-ops bật
Q-011UI tiếng Việt mặc định, kiến trúc i18n-ready (string catalog), tiếng Anh sauthị trường VN trước
Q-012Việt Nam trước; edge Cloudflare đủ cho learner ở nước ngoài lẻ tẻ
Q-013Xác nhận — giữ phong cách docs hiện tại
Q-014Entitlement theo program/package (kế thừa membership_entitlements) + free diagnostic tier; bảng giá chốt saukhông chặn thiết kế enrollment
Q-015Chưa thanh toán online phase 1 — chuyển khoản + admin cấp entitlement; cổng (VNPay/MoMo) phase saugiảm scope + compliance
Q-016Content: AI sinh qua pipeline SDD-003, multi-evaluator là cổng mặc định; người chỉ spot-check theo ngưỡng rủi ro, human-in-loop giữ nguyên cho moderation an toàn trẻ em. Sửa 2026-08-15 — bản cũ ("human review" cho mọi nội dung) mâu thuẫn với REQ-PLT-12 AI First (SRC-035)QG-006, QG-010
Q-017Toán 6–9 (Turtle) trướckhớp graph + labs legacy
Q-018GDPT 2018 là chuẩn chính; framework Cambridge/IELTS/SAT/AP nằm trong Squid. Sửa 2026-08-15 — bản cũ ghi "Squid/Ray", nhưng Ray đã bỏ (SRC-081)
Q-019Item Bank khởi tạo: migrate diagnosis_question_registry + AI generate + review; mục tiêu 500–1.000 items Toán 6–9
Q-020Workers AI (llama 3.3) mặc định (rẻ, on-platform); Claude qua AI Gateway cho evaluation chất lượng cao; router theo task (dự định đặt ở packages/ai; tính tới 2026-08-20 chưa dựng gói này, mọi lời gọi AI đi qua workers/api/src/shared/prompts.ts)cost/quality cân bằng
Q-021Phase 1 AI backstage only (chấm, đánh giá content, giải thích recommendation); AI tutor chat trực tiếp với trẻ em = phase sau + guardrails riêngan toàn K12
Q-022Cost control qua AI Gateway: bật cache (không skipCache như legacy), rate limit, cost dashboard, budget alertRISK-022
Q-023npm workspaces (chưa Turborepo — path-filtered CI đủ cho quy mô hiện tại)đơn giản
Q-024Một D1 nemo12-platform; tách content DB thành ADR riêng khi content vượt ngưỡngtránh premature split
Q-025React 19 + TypeScript xác nhận cho mọi app; Vue chỉ trong VitePress
Q-026GitHub Actions (pattern 2 repo legacy đã ổn định); repo GitHub dac2205/nemo12.com ✅ đã tạo
Q-027✅ Đã init, branch main, private repodone
Q-028Staging: workers env staging + subdomain staging khi có app thật; chưa dựng phase scaffold
Q-030Theo Nghị định 13/2023: consent parent-first, minimization, retention policy, quyền xóa — đã vào REQ-SEC-04/REQ-MED-05
Q-031Feature-level (~100 REQ hiện tại)đủ traceability, không ngập
Q-032✅ Đồng ý: 📋 manual → 🤖 CI khi có code
Q-033Mermaidrender VitePress + AI đọc được
Q-034Chỉ chủ dự án approve; thêm approved_by frontmatter khi cần

Đợt 2 — câu hỏi phát sinh từ audit legacy (Q-035 →) ​

IDCâu hỏi✍️ Quyết định
Q-035Hợp nhất 2+ learner models legacy thế nào?Chuẩn SDD-002 (mastery+confidence+trajectory per canonical skill); chac/lung_lay/hong chỉ là nhãn presentation
Q-036Evidence 3 shapes khác nhau?Chuẩn SDD-002 §5, idempotency key kiểu sutucon
Q-037Nguồn seed canonical graph?TS graphs chuyenchon (Toán/Văn/Anh 6.5k LOC) là seed; đối chiếu mori seeds; một registry D1 duy nhất
Q-038Kho đề thi thật tách hay gộp Item Bank?Tách: exam_problems là registry Shark, liên kết Item Bank qua relations
Q-0394F Reflection là của riêng Octopus?Capability chung (Reflection experience type), bật Octopus trước
Q-040Member Intelligence (10 dimensions)?Hoãn — REQ-PAR-08 ⏳; Parent Model phase 1 dùng observation + behavior
Q-041Shark exam/school intelligence?Adopt — differentiator của Shark; phase 2 (sau Turtle learn core); web /shark hiển thị nội dung tĩnh trước
Q-042App content plane (mori mới) khi nào?Superseded 2026-08-14 bởi SRC-031: content plane là app riêng Coral (coral.nemo12.com); admin console chỉ còn vận hành (roles · learners · model versions · runs). Giữ dòng này để không ai quay lại phương án "admin kiêm content plane"
Q-043CAPOS dependency?Không phụ thuộc — port content cần thiết vào registry Nemo12
Q-044Chiến lược 288 labs?✅ Đã chốt bằng SDD-010: 4 engines data-driven + 29 sim components + content migration
Q-045Class operations (lớp/lịch/điểm danh)?Adopt — blended cần; schema thiết kế sẵn, UI bật ở phase mentors app (REQ-MEN-04 giữ ⏳ tới lúc đó)
Q-046Gamification?Adopt Lite phase 2: badges + streaks trước (kèm data-gates pattern); XP/stickers/rewards sau
Q-047Portfolio/social/vote?Adopt cho Octopus phase 2 — portfolio phục vụ JTBD "chứng minh bằng evidence"
Q-048Events/Cafe + Zalo?Giữ cho Marlins phase 2; mọi link qua config
Q-049Affiliate/referral?Hoãn phase 3 — không thuộc core learning
Q-050CMS + pricing/ebooks?Phase 1 không CMS — marketing content trong repo; pricing/ebooks phase 2
Q-051AI illustrations + knowledge stories?Phase 2, sau khi content pipeline chạy (REQ-MED-06 ⏳)
Q-052Experience comparison simulator?Drop — giá trị thấp, phụ thuộc worker ngoài
Q-053Integrity system?Adopt nguyên tắc (thay đổi khai báo phải có evidence + audit) vào Assessment/Evidence — không xây hệ riêng
Q-054Truy cập repo api.conan.school để lấy DDL/data sutucon?Cần chủ dự án cấp nếu muốn migrate data thật; mặc định: khởi đầu sạch, không migrate user data
Q-055Số phận 2 domain cũ?Chạy song song, không redirect cho tới khi Nemo12 ổn định và chủ dự án ra lệnh
Q-056Brand palette Nemo12?Dùng ocean palette v0.1 (DS-001 §2) làm placeholder có chủ đích — chủ dự án duyệt/đổi sau
Q-057Framework đánh giá chất lượng tài liệu?Adopt requirements-assessment (8 clusters/40 criteria) làm rubric QG-002
Q-058Dark mode?Chưa bật phase 1; semantic tokens sẵn sàng
Q-059Test policy?Behavior tests (vitest + workers pool); cấm source-regex tests (RISK-015)
Q-060Prompt registry?workers/api/src/shared/prompts.ts versioned (bản dự định ban đầu là packages/ai/prompts/, chưa dựng); mọi prompt production có id + version + changelog (QG-010)

Đợt 3 — 30 câu xác nhận Real Exam Bank + docs restructure (SRC-029/030, 2026-08-14, Q-061..Q-090) ​

Chủ dự án yêu cầu "hệ thống hỏi 30 câu để xác nhận" trước khi build. Mỗi câu kèm ✍️ quyết định tạm — có hiệu lực cho tới khi chủ dự án sửa; trả lời bằng cách nêu số câu + điều chỉnh.

Phạm vi & nội dung

IDCâu hỏi✍️ Quyết định
Q-061"Không làm Mock Exam" có bỏ luôn mock exam đề generated (REQ-EXAM-02, đã ship) không?Không — chỉ đề thật không mock (luyện từng bài, SDD-012 §1); REQ-EXAM-02 giữ cho đề generated (semester/selective). Muốn bỏ toàn hệ → deprecate REQ-EXAM-02 + SDD-011 §4
Q-062Dạng bài phân loại bằng gì?Bảng problem_types riêng theo môn (n-n với bài) làm view luyện thi; node graph vẫn là nguồn sự thật kiến thức (SDD-012 §3)
Q-063Chọn 3 trường/hệ thi nào để seed?✅ 2026-08-14: ưu tiên 1. Chuyên Sư phạm, 2. Chuyên KHTN, 3. Ams — năm 2024, 2025, 2026
Q-064"3 năm gần đây" là những năm nào?Kỳ tuyển sinh 2024, 2025, 2026 (năm học 2024-2025 → 2026-2027)
Q-065"Tiếng Việt" = môn Ngữ văn?✅ 2026-08-14: đúng, môn Ngữ văn — bộ 3 môn: Toán, Ngữ văn, Tiếng Anh
Q-066Đề chuyên gồm những môn chuyên nào?Toán/Văn/Anh chuyên trước (khớp 3 môn ưu tiên); Tin chuyên (ví dụ chủ dự án) đợt mở rộng — KHTN tuyển Tin bằng Toán vòng 2
Q-067Grade scope khởi điểm?Chỉ thi vào 10 (Shark); đề học kỳ thật (Turtle) đợt sau
Q-068Đề điều kiện chung Sở (nhiều trường dùng) lưu thế nào?Một exam record gắn exam_system, không nhân bản per trường; quan hệ trường qua relations (SDD-012 §2)

Bản quyền & lời giải

IDCâu hỏi✍️ Quyết định
Q-069Pháp lý lưu đề thật?✅ 2026-08-14: chỉ lưu URL nguồn tới đề, KHÔNG lưu file đề (không scan/PDF); nội dung bài do Nemo12 trích xuất + biên tập lại; provenance = source_ref (QG-011)
Q-070Nguồn lời giải?✅ 2026-08-14: tự biên soạn (AI draft + human review bắt buộc); KHÔNG sao chép site ngoài; đáp án chính thức trích kèm nguồn
Q-071Ai human-review lời giải phase 1?✅ 2026-08-14: spot-check trên Coral (data.nemo12.com đã bỏ); mặc định AI multi-evaluator (SRC-035)
Q-072Cấu trúc lời giải?✅ 2026-08-14: OK — 3 tầng: gợi ý hướng đi → lời giải đầy đủ → nhận xét/bẫy; tầng 1 mở tự do, tầng 2-3 sau khi nộp hoặc learner chủ động

Đo lường (assessment 3 lớp)

IDCâu hỏi✍️ Quyết định
Q-073Thang confidence?1–5, khai trước khi xem lời giải
Q-074Justification bắt buộc?Khuyến khích mạnh, không bắt buộc (K12); thiếu → evidence yếu hơn theo ma trận SDD-012 §4
Q-075Justification dạng thức?Text + ảnh chụp bài làm; voice đợt sau
Q-076Chấm answer tự luận?Self-verdict đối chiếu lời giải (+AI hỗ trợ) → evidence; không phải điểm thi chính thức
Q-077AI đánh giá justification?Theo rubric qua AI Gateway (QG-010); phase đầu AI chỉ gợi ý, self-verdict quyết định; human review khi disputed
Q-078Văn/essay không có answer_summary?Blueprint riêng exam-problem-essay-v1 (confidence + justification + rubric outline), làm sau blueprint chuẩn

Practice state & filter

IDCâu hỏi✍️ Quyết định
Q-079Bộ trạng thái cá nhân đủ chưa?{chưa làm, đang làm, đã làm, bế tắc, chưa tự tin, tự tin} + bookmark + note — đủ phase 1
Q-080Đếm số lần làm?Tự động từ problem_submit; không tự khai
Q-081Giới hạn làm lại?Không giới hạn; cockpit nhắc khi overlearning (SDD-002 §12), không chặn
Q-082Filter mặc định?Preset "Cần luyện" = bế tắc + chưa tự tin + chưa làm thuộc dạng yếu

Data, tích hợp & lộ trình

IDCâu hỏi✍️ Quyết định
Q-083Migrate DB legacy chuyenchon-exam-intelligence (FEAT-034)?Seed 3×3×3 nhập mới theo WF-13; legacy migrate sau nếu đạt chất lượng (truy cập data cần chủ dự án — như Q-054)
Q-084Docs restructure: có di chuyển file không?Không — phân loại bằng VitePress nav + index domain map; đường dẫn giữ nguyên, không gãy link
Q-085Domain taxonomy 10 nhóm (index.md) ổn chưa?Ổn cho phase này; đổi tên/gộp khi chủ dự án góp ý
Q-086Reliability evidence từ bài đề thật?Answer auto-check = learning_task (.80); không đặt .95 (làm ở nhà, không kiểm soát); confidence/self-verdict = self-report (.50)
Q-087Readiness kỳ thi tính riêng?Không — cùng pipeline evidence → mastery → readiness theo goal blueprint (SDD-011)
Q-088UI đặt ở đâu?learn › Shark: vào từ hành động "Luyện đề" trên tab "Hôm nay", KHÔNG thêm tab thứ năm. Sửa 2026-08-15 — bản cũ ghi tab "Đề thi thật", vừa mâu thuẫn luật tối giản (SRC-048) vừa không khớp app thật (cockpit chỉ có Hôm nay · Phòng Lab · Toàn cảnh · Tiến độ). Marlin xem read-only qua view mode (REQ-PAR-13)
Q-089Màn ingestion đề đặt ở đâu?Trong Coral, tab "Ngân hàng đề": upload/paste → tách bài → preview → gắn node/dạng → publish (WF-13). Sửa 2026-08-15 — bản cũ ghi data.nemo12.com, mâu thuẫn với Q-091 (đã ngừng domain đó)
Q-090Thứ tự build?(1) migration + API → (2) ingest end-to-end 1 trường × 1 năm × Toán → (3) UI learner (browse/filter/mark/submit/LX) → (4) phủ đủ seed 3×3×3 → (5) hoàn thiện assessment 3 lớp; mỗi bước demo được

Đợt 4 — Coral content plane (SRC-031, 2026-08-14, Q-091 →) ​

IDCâu hỏi✍️ Quyết định
Q-091data.nemo12.com còn dùng không khi có Coral?✅ 2026-08-14: Ngừng data.nemo12.com, chỉ dùng coral.nemo12.com; code apps/data làm seed cho apps/coral rồi đã gỡ khỏi repo; gỡ route data khi Coral live
Q-092Auth Coral?✅ 2026-08-14: Cloudflare Access, chỉ dac2205@gmail.com; API vẫn RBAC staff/admin theo session (defense-in-depth, không hardcode email trong code — RISK-013)
Q-093Gỡ route/worker nemo12-data khi nào?Khi Coral đạt parity browse (coverage + node/item detail) — dự kiến ngay đợt build đầu
Q-094Thứ tự build Coral?(1) scaffold + Access + dashboard read-only → (2) exam bank management (WF-13 UI) → (3) rubrics/quality views → (4) blueprints + generation runs (Workflows/Queues). ✍️ 2026-08-14: giai đoạn 4 mở một nửa — registry content_blueprints + seed + CRUD sửa tay đã chạy (migration 0016, SDD-013 §3); generation runs (WF-14) vẫn chưa mở

Đợt 5 — Learner Intelligence Models & Engines (SRC-032, 2026-08-14, Q-095..Q-102) ​

IDCâu hỏi✍️ Quyết định
Q-095Phasing SRC-032 xếp Assessment Engine vào Phase 2, Learning Engine không phase nào — nhưng cả hai đã live. Phase áp cho phần NÂNG CẤP thôi?Đúng — không hạ cấp chức năng đang chạy; Phase 1 chỉ thêm nâng cấp (Assessment nhận next_assessment_priority từ Readiness)
Q-096Constraint Model vs Global Workload Model (SDD-007 §8) — merge hay split?Split: Constraint own normative limits (giờ/ngày, quy định gia đình, health, academic); Workload còn descriptive demand; capacity check → Constraint Engine; Phase 2 (REQ-INT-19 ⏳)
Q-097Planning Engine là tên mới của Global Orchestrator hay engine riêng?Orchestrator = umbrella chứa Recommendation + Constraint + Planning engines — một chỗ quyết định duy nhất; Learning Plan Model đặt tại đây (REQ-INT-20 ⏳)
Q-098Depth Engine (SDD-002 §12) giữ riêng hay tách target-side → Readiness, allocation-side → Planning?Tách đôi taxonomy, giữ §12 làm spec nội dung, không đổi code
Q-099Precedence khi models mâu thuẫn?Constraint/health context > plan/goal urgency; confidence cao thắng; event mới supersede; goal parent ≠ learner → escalate cho parent, hệ không tự quyết
Q-100Declarations intake mở cho Turtle? (WF-01 ghi "Turtle không cần"; RISK-009)Có, chỉ scope học kỳ, tùy chọn hoàn toàn, không đụng mục tiêu chuyên (REQ-ONB-08 ⏳)
Q-101Evidence node-rỗng cũ từ parent observations xử lý sao?Để nguyên (registry immutable, mastery không đọc) + ngừng write mới + backfill observations thành context events
Q-102Môn KHÔNG chuyên trong exam target: sub-goal đầy đủ hay attribute?Phase 1 = attribute của parent goal; nâng thành sub-goal khi môn đó có blueprint

Đợt 6 — Crawl đề thi + AI First (SRC-035/036, 2026-08-14, Q-103..Q-106) ​

IDCâu hỏi✍️ Quyết định
Q-103Phạm vi crawl "tất cả trường, tất cả năm" bắt đầu từ đâu?Theo thứ tự Q-063 (Sư phạm → KHTN → Ams, 2024-2026) trước; mở rộng theo tỉnh/năm khi pipeline ổn định — coverage matrix (SDD-014 §3) điều phối
Q-104Ranh giới nguồn crawl?Chỉ nguồn công khai, tôn trọng robots.txt/ToS, rate-limit; KHÔNG vượt paywall/login; lời giải site ngoài chỉ lưu URL tham chiếu
Q-105AI First có ngoại lệ nào giữ human?Moderation an toàn trẻ em (QG-008) giữ human-in-loop; còn lại AI multi-evaluator + owner spot-check theo ngưỡng
Q-106Ngân sách AI cho crawl/generation?Chưa đặt trần; theo dõi qua AI Gateway cost dashboard (QG-010); báo chủ dự án trước khi scale vượt ~ hàng chục nghìn items

Đợt 7 — Learner-first UX overhaul (SRC-042, 2026-08-14, Q-107..Q-110) ​

IDCâu hỏi✍️ Quyết định
Q-107Palette v0.2 "Ocean Depth" (DS-001 §2) thay đề xuất v0.1 (Q-056) — duyệt?✍️ Tự áp dụng để ship; token đổi một chỗ (tokens/base.css) nếu chủ dự án muốn chỉnh; Q-056 coi như superseded
Q-108Icon: giữ emoji + SchoolIcon SVG hay đầu tư bộ icon SVG riêng?✍️ Phase này giữ emoji (thân thiện trẻ em, zero-asset) trong khung tròn n12-icon cho đồng nhất; bộ icon riêng xếp sau khi có brand kit
Q-109Dark mode bật cùng đợt này?✍️ Chưa (giữ Q-058) — semantic tokens đã sẵn sàng, bật sau bằng một lớp dark
Q-110Display font riêng cho heading (self-host Nunito/Quicksand)?✍️ Chưa — giữ system stack (hiệu năng, ràng buộc kế thừa SRC-013); cân nhắc khi làm brand kit marketing

Đợt 8 — Retention Engine (SRC-065, 2026-08-14, Q-111..Q-118) ​

IDCâu hỏi✍️ Quyết định
Q-111Dạng decay function v1?✍️ Exponential R(t) = R₀·exp(−Δt/S) với stability S ngày (S₀ = 6 + 14×mastery); generic population params; learner-specific rate = Phase 2 (SDD-017 §3)
Q-112Retention tính ở cấp nào MVP?✍️ Node-level (cấp nhỏ nhất có evidence — khớp learner_skill_state); unit/subject là aggregate on-read cho views, không lưu bản riêng
Q-113Recalculation chạy thế nào — cron hay lazy?Superseded 2026-08-14 bởi chỉ đạo SRC-104: retention phải tính định kỳ — cron hằng ngày 21:00 UTC (WF-17) sinh snapshot, cộng thêm lazy-on-read và update-on-evidence. Quyết định ✍️ cũ ("chưa thêm cron, chỉ cần ở Phase 2") đi ngược chỉ đạo chủ dự án; giữ lại dòng này để thấy vì sao đổi
Q-114Retention có kéo Readiness xuống ngay không?✍️ Phase 2 — Readiness đọc retention với reason estimated memory decay (khác observed performance decline); Phase 1 chỉ hiển thị + review queue, không đụng readiness đang chạy
Q-115Ngưỡng probe (REQ-INT-27) v1?✍️ retention < 0.75 AND retention_confidence < 0.40 → 1–3 câu retrieval từ chính item bank của node (không cần loại session mới — dùng practice session)
Q-116Review Ladder thresholds đặt ở đâu?✍️ Constants trong modules/retention/engine.ts version retention-v1 (một chỗ, configurable khi deploy); per-learner personalization = Phase 3
Q-117Implicit review nhận từ nguồn nào v1?✍️ Mọi evidence node-scoped (practice/diagnostic/exam) cập nhật retention của chính node đó; lan truyền prerequisite qua graph = Phase 2 (cần traversal + attribution rõ)
Q-118Khối "Ôn nhanh" đặt ở đâu theo luật tối giản (SRC-048)?✍️ Card trong tab "Hôm nay" của school cockpit (hub) + review action trong cockpit next-actions; marlins đọc nhóm nhãn trong báo cáo con; không tạo trang mới

Đợt 9 — Sửa sổ sách sau Audit #001 (SRC-108/SRC-111, 2026-08-15, Q-119..Q-127) ​

Audit #001 chấm 109/250. Bộ AS-02 (Yêu cầu & Sản phẩm) mất điểm ở những chỗ quyết định bị bỏ lửng, không phải ở chỗ thiếu tính năng. Các câu dưới đây chốt nốt những chỗ đó.

IDCâu hỏi✍️ Quyết định
Q-119REQ-MEN-04 (class operations) mang priority mơ hồ M? — MUST hay SHOULD?✍️ 2026-08-15: SHOULD. Mô hình đã chốt là 95% online (Q-005) với 10 mentor nội bộ (Q-004); lớp/lịch/điểm danh không nằm trên đường đi của core job "biết nên làm gì tiếp theo". Đánh MUST là tự nhận nợ không định trả. Schema vẫn giữ thiết kế sẵn theo Q-045
Q-120REQ-SCH-04 (Shark exam & school intelligence) M? — và nó có trùng REQ-EXAM không?✍️ 2026-08-15: SHOULD, đồng thời thu hẹp phạm vi. Ba phần của cụm cũ đã có REQ riêng — kho đề → REQ-EXAM-05..10, registry trường → REQ-EXAM-11, lịch thi → REQ-INT-16 (ngày thi là deadline trên goal, nguồn duy nhất). REQ-SCH-04 chỉ còn score simulator, và nó là SHOULD vì ước tính điểm khi chưa có dữ liệu mùa thi thật thì hại hơn là không có
Q-121REQ-SCH-05 (Octopus 4F + product submission) M?✍️ 2026-08-15: SHOULD. Octopus đang chạy được như một school nội dung; 4F Reflection và nộp sản phẩm là lớp trên, lại phụ thuộc Media System + moderation (REQ-MED-04) chưa chạy thật. Không chặn đợt thử 10 phụ huynh
Q-122Hai dòng SRC cùng mang số 059 và 060 — cấp lại số cho dòng nào?✍️ 2026-08-15: số cũ thuộc về nguồn có nhiều tham chiếu ngoài nhất; nguồn còn lại lấy số mới ở cuối sổ. Kết quả: giữ SRC-059 (Coral lọc theo cấp) và SRC-060 (môn riêng theo school); "editor Blueprint 3 bước" → SRC-109, "nộp từng câu rồi mới xem đáp án" → SRC-110. Không tái sử dụng số đã cấp. Chi tiết + việc còn phải sửa trong code: intake.md
Q-123REQ nào đang mô tả trùng một hành vi (AS-02.1.5)?✍️ 2026-08-15: gộp 2, thu hẹp 3. REQ-KNW-15 → REQ-MED-06 (cùng là pipeline sinh minh họa bằng AI); REQ-SCH-07 → REQ-EXAM-04 (cùng là đề học kỳ generic Turtle); REQ-INX-07 thu về đúng "vote trên submission" (vote forum đã ở REQ-COM-03, mentor feature ở REQ-MEN-05); REQ-SCH-04 thu về score simulator (Q-120); REQ-PAR-09 ghi rõ là mặt Marlins của REQ-VIS-07/08, cấm dựng view thứ hai. Hai REQ bị gộp giữ ID với trạng thái 🗄️ superseded để tham chiếu cũ không gãy
Q-124Pearl (pearl.nemo12.com) đang chạy production nhưng không có REQ nào — bỏ qua hay bổ sung?✍️ 2026-08-15: bổ sung REQ-BRD-05. Một worker đang phục vụ người dùng thật mà không có yêu cầu tương ứng thì không ai kiểm được nó đúng hay sai (AS-02.4.2). Pearl thuộc nhóm BRD vì là bề mặt công khai, không phải tài liệu nội bộ
Q-125"Sửa toàn bộ để đạt ≥90%" (SRC-111) là chỉ đạo một lần hay thành luật?✍️ 2026-08-15: thành luật — REQ-DOC-06. Ngưỡng mở cho người dùng thật: ≥225/250 và không chỉ báo 🔴 nào hỏng. Cấm cách hạ chuẩn bằng việc sửa tiêu chuẩn thay vì sửa hệ; nợ chấp nhận được phải ghi ✍️ tại file này, không được im lặng
Q-126REQ-SCH-06/07/08 được SDD-011 khai satisfies nhưng không tồn tại trong catalog PRD — khôi phục hay xóa khỏi SDD?✍️ 2026-08-15: khôi phục 06 và 08 đúng nội dung SDD-011 §1/§2 (chẩn đoán mức cơ bản của Turtle, chẩn đoán/experience mức cao của Shark); 07 đánh 🗄️ superseded vì trùng REQ-EXAM-04. Không xóa ID nào khỏi SDD — sửa PRD là hướng đúng, vì PRD mới là chỗ thiếu
Q-12713 user story mới (US-67..US-79) mô tả tính năng đang chạy — có phải mở scope mới không?✍️ 2026-08-15: không. Chúng chỉ viết thành lời những gì app đã làm (Pearl, song ngữ, goals/beliefs của Marlins, đường đi Unit, Learning Plan, onboarding Dolphin…) để mọi REQ MUST có ít nhất một US hoặc WF (AS-01.3.5). Không dòng nào thêm hành vi chưa có

Đợt 10 — Sự kiện cộng đồng cho Marlin (SRC-122, 2026-08-15, Q-128..Q-130) ​

Chỉ đạo gốc chỉ nói ba việc (xem danh sách · xem chi tiết · đăng ký buổi sắp diễn ra) nhưng trang Events legacy có nhiều hơn thế, nên phải chốt phạm vi.

IDCâu hỏi✍️ Quyết định
Q-128Trang Events legacy còn bình chọn câu hỏi, wizard khai hồ sơ bắt buộc trước khi giữ chỗ, và bảng admin xem hồ sơ người đăng ký — chuyển hết sang Nemo12 hay không?✍️ 2026-08-15: không, đợt này chỉ làm đúng ba việc chủ dự án nêu. Bình chọn chỉ có nghĩa khi mỗi buổi đã có ngân hàng câu hỏi. Wizard khai hồ sơ thì Nemo12 đã có hồ sơ gia đình thật (families, learners) nên phải lấy từ đó chứ không hỏi lại, cần một vòng thiết kế riêng. Bảng admin thuộc admin.nemo12.com và phải đi kèm audit log (QG-008). Ghi rõ ở SDD-018 §6.
Q-129"Chỉ đăng ký được event sắp diễn ra" — mốc là giờ BẮT ĐẦU hay giờ KẾT THÚC của buổi?✍️ 2026-08-15: giờ bắt đầu, giống legacy. Vào muộn giữa buổi cafe 5 người là làm phiền cả nhóm, nên đóng đăng ký đúng lúc buổi bắt đầu. Buổi đã diễn ra vẫn mở được bằng link cũ (chi tiết trả 200, chỉ can_register=false) để link bố mẹ gửi cho nhau không chết.
Q-130Nạp dữ liệu sự kiện vào D1 production bằng đường nào, khi chỉ đạo là "bắt buộc qua GitHub, đừng deploy thẳng lên Cloudflare"?✍️ 2026-08-15: thêm workflow seed-data.yml chạy tay (workflow_dispatch), nhận đúng một input là đường dẫn scripts/*.sql, chặn .. và mọi file ngoài scripts/, và đưa input qua biến môi trường chứ không nội suy ${{ }} thẳng vào run (script injection). Mỗi file seed tự kết thúc bằng một câu SELECT để log workflow là bằng chứng đã nạp đúng. Áp cho mọi seed sau này, không riêng sự kiện.

Rà mâu thuẫn giữa các quyết định ✍️ (AS-02.5.3, 2026-08-15) ​

Luật: chỉ đạo của chủ dự án (SRC) thắng quyết định ✍️ của AI, bất kể cái nào ghi trước. Lượt rà toàn bộ 127 câu tìm được 6 chỗ lệch, đã sửa tại chỗ và ghi rõ ngày:

Chỗ lệchVa vớiXử lý
Q-113 "chưa thêm cron cho retention"SRC-104 — chủ dự án yêu cầu retention tính định kỳSuperseded; cron 21:00 UTC (WF-17) là đường chính, lazy/on-evidence bổ sung
Q-016 "human review cho mọi nội dung"SRC-035 / REQ-PLT-12 — AI First, multi-evaluator thay human review mặc địnhSửa: multi-evaluator là cổng mặc định; human giữ cho moderation trẻ em
Q-042 "admin app kiêm content plane"SRC-031 — Coral là app riêngSuperseded, giữ dòng làm dấu
Q-089 "ingestion trên data.nemo12.com"Q-091 — đã ngừng data.nemo12.comSửa sang Coral
Q-088 "thêm tab Đề thi thật"SRC-048 luật tối giản + app thật (4 tab)Sửa: vào từ hành động trên tab "Hôm nay"
Q-018 "framework cho Squid/Ray"SRC-081 — bỏ RaySửa: framework nằm trong Squid

Không tìm thấy mâu thuẫn nào giữa hai quyết định ✍️ với nhau sau đợt sửa này.

Cloudflare Access ✅ xong cả ba cổng nội bộ (2026-08-15) ​

AppDomainPolicyTrạng thái
Nemo12 Adminadmin.nemo12.comNemo12 Admin - Owner · Allow · Emails · dac2205@gmail.com✅ có từ trước
Nemo12 Dolphindolphin.nemo12.comdùng lại Nemo12 Admin - Owner (Q-092)✅ tạo 2026-08-15 (SRC-132)
Nemo12 Coralcoral.nemo12.comdùng lại Nemo12 Admin - Owner (Q-092)✅ tạo 2026-08-15 (SRC-132)

Cách làm: token wrangler/OAuth hiện tại không có scope Access nên không tạo được bằng API; chủ dự án chỉ đạo tự vào dashboard cấu hình (SRC-132), nên hai app được tạo tay ở Zero Trust → Access controls → Applications. Cả hai dùng lại policy sẵn có thay vì tạo policy mới, để sau này thêm/bớt email chỉ sửa một chỗ mà áp cho cả ba cổng. Session 24 giờ.

Bằng chứng: request thật ngày 2026-08-15 — dolphin · coral · admin đều trả 302 sang dac2205.cloudflareaccess.com; learn · marlins · nemo12.com trả 200 (công khai, đúng thiết kế).

Audit #001 chấm AS-07.1.4 là ❌ dựa trên dòng "Còn chờ" trong README. Tại thời điểm audit thì đúng là chỉ admin có Access; sau khi tạo nốt dolphin + coral thì chỉ báo đó thành ✅ (đính chính audit §5). README đã sửa theo.

Lớp bảo vệ ở tầng app vẫn giữ nguyên (defense-in-depth, không thay thế Access): /v1/mentor/* yêu cầu session + role mentor/admin; không có role thì API trả AUTHORIZATION_ERROR nên portal rỗng — xem WF-18.

Việc còn chờ chủ dự án ​

ViệcVì sao AI không tự làm được
Tạo AI Gateway nemo12 trên dashboardToken hiện tại không có scope AI Gateway; AI_GATEWAY_ID đã khai sẵn trong workers/api/wrangler.jsonc
Chốt mô hình thu phí (Q-014/Q-015)Quyết định kinh doanh
Mốc thời gian thật (Q-003)Quyết định kinh doanh
Cấp quyền truy cập data legacy (Q-054)Cần tài khoản của chủ dự án

Đã trả lời 2026-08-14: Q-063 (Sư phạm > KHTN > Ams, 2024-2026), Q-065 (Ngữ văn), Q-070 (lời giải tự biên soạn), Q-091/Q-092 (Coral thay data.nemo12.com, Access một email). Đã trả lời 2026-08-15: Cloudflare Access đã bật cho cả admin · dolphin · coral. Cần chủ dự án nhất: Q-054 (data migration hay khởi đầu sạch), Q-056 (duyệt palette), Q-003 (mốc thời gian thật), Q-014/Q-015 (mô hình thu phí), và soát lại 9 quyết định ✍️ Đợt 9 + 3 quyết định ✍️ Đợt 10 ở trên.

✍️ Q-128 — Pilot Gate thay REQ-DOC-06 làm điều kiện mở thử 2 ngày (2026-08-15) ​

Câu hỏi: Audit Standard v0.2 §0 tự flag mâu thuẫn: REQ-DOC-06 khoá "≥90% (225/250, nay 225/255) chỉ báo PASS" làm điều kiện mở thử người dùng thật. Audit #001 (2026-08-15) chấm 109/250. Chủ dự án cần mở thử cho 10 phụ huynh thật trong 2 ngày. Đóng ~116 chỉ báo trong 2 ngày là bất khả thi về toán — tài liệu tự nói rõ và từ chối tự diễn giải lại con số 225 theo hướng có lợi.

Quyết định (✍️ AI tự quyết, có hiệu lực tới khi chủ dự án sửa): Dùng 🚸 Pilot Gate (audit-standard/index.md v0.2 — danh sách ~18 chỉ báo) làm điều kiện thay thế cho đợt mở thử 2 ngày cụ thể này, không thay thế REQ-DOC-06 nói chung. Lý do:

  1. Pilot Gate được chọn theo đúng một tiêu chí duy nhất — chạm thẳng dữ liệu trẻ em thật, tiền thật, hoặc mất-dữ-liệu-không-hồi-phục — tức đúng loại rủi ro mà một đợt mở thử ngắn với người thật cần chặn, khác với 225/255 là ngưỡng trưởng thành toàn hệ dài hạn (bao gồm cả UI polish, ngân hàng đề thật, AI cost dashboard — không rủi ro gì cho 10 gia đình trong 2 ngày).
  2. REQ-DOC-06 không bị hạ chuẩn — sàn tuyệt đối 225/255 vẫn nguyên, chỉ là chưa đạt được trước ngày mở thử này; phần còn thiếu (255 trừ 18 Pilot Gate) được ghi nợ có REQ ⏳ + lý do + ngày theo AS-02.4.5, xử lý sau pilot.
  3. Đây đúng tinh thần "tự quyết ✍️, có ghi sổ, chủ dự án sửa được bất cứ lúc nào" — không phải quyết định câm lặng.

Điều kiện đảo ngược quyết định này: nếu tới ngày mở thử mà Pilot Gate chưa 100% PASS, KHÔNG mở — không có ngoại lệ thứ hai chồng lên ngoại lệ này.

Trace: Audit Standard v0.2 §3.3 · Pilot Gate — danh sách đầy đủ · REQ-DOC-06.

✍️ Q-129 — AS-10.3.1 (Context Builder) là nợ chấp nhận được cho pilot 2 ngày (2026-08-15) ​

Câu hỏi: Audit #002 §8.1 P6 yêu cầu quyết định tường minh: nếu pilot không chạm tính năng AI cá nhân hoá learner, ghi nợ AS-10.3.1; nếu có, phải nối route đó qua buildLearnerContext() trước khi mở.

Bằng chứng đã kiểm (2026-08-15): Toàn bộ 3 điểm gọi AI trong hệ (grep -rn "env.AI.run" workers/api/src) đều nằm trong modules/coral/routes.ts, đều yêu cầu requireStaff, đều đồng bộ theo HTTP request do staff bấm (sinh item/experience từ blueprint) — 0 route nào learner/parent gọi tới chạm AI, và buildLearnerContext() hiện chỉ được gọi trong test (context-builder.test.ts), chưa được route sản xuất nào dùng thật vì chưa có tính năng AI cá nhân hoá nào tồn tại để dùng nó.

Quyết định (✍️ AI tự quyết): AS-10.3.1 là nợ chấp nhận được cho đợt pilot 2 ngày tới — không nối code, không đưa vào phạm vi P6. Lý do: bất biến "Context Builder là đường duy nhất AI chạm learner data" hiện đúng một cách hiển nhiên (không có đường nào khác vì không có tính năng nào cần nó), nối thêm code cho một tính năng chưa tồn tại chỉ để chỉ báo PASS là làm ngược — đúng kiểu "sửa audit thay vì sửa hệ" mà REQ-DOC-06 cấm theo hướng khác.

Điều kiện đảo ngược quyết định này: ngay khi có route learner-facing đầu tiên gọi AI (cá nhân hoá gợi ý, chấm bài bằng AI, v.v.), route đó bắt buộc đi qua buildLearnerContext() trước khi bật — không có ngoại lệ, không chờ audit lần sau mới sửa.

Trace: Audit #002 §4, §8.1 P6 · workers/api/src/shared/context-builder.ts · AS-10.3.1.