Danh mục Nghiên cứu
Tổng hợp toàn bộ nghiên cứu đã thực hiện trong phiên Khám phá Liên tục trước khi viết dòng code đầu tiên. Mỗi Spike là một phiên nghiên cứu có giả thuyết, phát hiện, và kết luận rõ ràng.
PRDs — Bản Thiết kế
PRD-00: Tầm nhìn & Kiến trúc Gmind
Định nghĩa tầm nhìn tổng thể Gmind Platform: nền tảng quản lý vòng đời phần mềm tích hợp AI, 5+1 lớp kiến trúc (Lưu trữ, Công cụ Cốt lõi, Thực thi Agent, Xác minh, API Gateway, Web UI). Bản thiết kế gốc quy tụ mọi PRD con.
- ›Gmind = Nền tảng Agentic Software Engineering cho doanh nghiệp 2 Human + 18 AI Agent
- ›Kiến trúc 5+1 lớp: mỗi lớp hoạt động độc lập, giao tiếp qua Beads ID
- ›Nguyên tắc 'Agents đề xuất, Humans phê duyệt' xuyên suốt toàn hệ thống
- ›Tech stack: Rust core (beads_rust, FastCode) + Go CLI/API + Next.js Web UI
Tác động: Bản thiết kế nền tảng — mọi PRD khác đều tham chiếu về đây
PRD-01: Lớp Lưu trữ & Công cụ Đồ thị
Lưu trữ kết hợp: FrankenSQLite (trạng thái có cấu trúc, MVCC ghi đồng thời) + Zvec (tìm kiếm ngữ nghĩa cho tài liệu/chat). Công cụ Đồ thị xây dựng Knowledge Graph từ Beads ID, liên kết mọi thực thể (PRD, Plan, Task, Commit, PR, CI).
- ›FrankenSQLite dùng cột SQL first-class (indexed, type-safe) — KHÔNG dùng JSON blob
- ›JSONL là SSOT đồng bộ qua git — FrankenSQLite là cache cục bộ (tái tạo được)
- ›Graph Assembler duyệt song song 5+ nguồn dữ liệu tại thời điểm truy vấn
- ›12+ loại cạnh tự phát hiện: satisfies, implements, committed-for, discussed-in, v.v.
Tác động: Định hướng thiết kế schema beads_rust và động cơ trí tuệ Knowledge Graph
PRD-02: Theo dõi Phổ quát & RTM
Hệ thống Theo dõi Phổ quát (Universal Tracking): Beads-ID là khoá chính xuyên suốt mọi lớp. ID cấp phần cho truy vết PRD ↔ Plan ↔ Task ↔ Commit. Trực quan hoá Ma trận Truy vết Yêu cầu (RTM) với coverage, gap analysis, impact analysis.
- ›Beads ID cấp phần: br-prdNN-sM cho mục PRD, br-plan-NN cho kế hoạch
- ›RTM 3 lớp: Mục PRD ↔ Phần tử Kế hoạch ↔ Task (truy vết đầy đủ)
- ›gmind coverage, gmind gaps, gmind impact — 3 lệnh RTM cốt lõi
- ›Chiến lược Dọn rác Lười: polling bảng events + garbage collection Zvec
Tác động: Cho phép trực quan hoá Requirements Traceability Matrix đầu-cuối
PRD-03: CLI & Quy trình Agent
gmind là Cổng API Ngữ cảnh duy nhất. Định nghĩa 8+ lệnh CLI: search, search-codebase, context, trace, coverage, impact, gaps, github. Áp dụng Nguyên tắc Bốn Mắt (Code Agent ≠ Reviewer Agent) và khoá tệp Lease Timeout.
- ›gmind search-codebase là điểm vào duy nhất cho Trí tuệ Mã nguồn (FastCode ẩn bên trong)
- ›Quy trình Agent: Phân loại → TimCode → NạpNgữCảnh → KhoáTệp → Code → XácMinh → Đóng
- ›Tag truy vết bắt buộc: --tag='implements:' và --tag='satisfies:' trên mọi task
- ›Beads-ID: Git Trailer trong mọi commit — không còn cú pháp #br-123
Tác động: Định nghĩa chính xác quy tắc skill agent và bề mặt API CLI
PRD-04: WebUI & PM Workspace
Giao diện Web quản lý dự án tích hợp: Dashboard RTM (4 panel), Kanban Board, Knowledge Graph trực quan, và giao diện phê duyệt cho Human. Web UI giao tiếp qua Go REST API — không truy cập DB trực tiếp.
- ›4-panel Dashboard: Coverage Heatmap, Task Progress, Interactive Graph, Gap Analysis
- ›gmind serve: Go HTTP server, embed frontend via embed.FS, single binary distribution
- ›D3.js force-directed graph cho Knowledge Graph visualization
- ›Human Approval UI: review agent output, approve/reject/escalate qua web
Tác động: Định nghĩa giao diện quản lý cho PM và Human reviewer
PRD-05: GSafe Workflow & Triển khai
Quy trình GSafe: ánh xạ SAFe 6.0 vào Agentic Software House. Continuous Exploration → PI Planning → Implementation → Verification. Workflow agent tự động hoá với cổng phê duyệt Human tại các điểm quyết định quan trọng.
- ›4 Activity CE: Hypothesize → Collaborate & Research → Architect → Synthesize
- ›Agent workflow: Spike → PRD → Plan → Task decomposition → Implementation
- ›RTE Agent điều phối, Dev Agent thực thi, QA Agent xác minh
- ›Human approval chỉ 1 lần cuối CE — không phải mỗi spike
Tác động: Bản thiết kế quy trình vận hành GSafe cho toàn bộ dự án
Phiên Nghiên cứu — Hoàn tất
FrankenSQLite vs DoltDB
Đánh giá beads_rust+FrankenSQLite so với DoltDB cho quản lý task. FrankenSQLite thắng ở: MVCC trong tiến trình (không qua giao thức MySQL), đồng bộ JSONL qua git (1 VCS thay vì 2), binary 5-8MB vs 30+MB, và cột SQL first-class thay JSON blob.
- ›✅ beads_rust thay thế DoltDB — lợi ích vượt trội hơn mất mát
- ›Cell-level merge không cần thiết — agent làm việc trên task riêng biệt (khác hàng)
- ›Cần migration 5 cột PM: qa_status, qa_verified_by, test_logs_ref, coverage, escalation_level
- +1 kết luận nữa
Tích hợp FastCode CLI
FastCode đã có pipeline hoàn chỉnh: Tree-sitter AST → Graph Builder → BM25/Vector Index → LLM Iterative Retrieval → Answer Generator. Zvec không còn cần cho trí tuệ mã nguồn — chỉ phục vụ tài liệu/chat.
- ›gmind search-codebase là điểm vào duy nhất — FastCode là chi tiết nội bộ
- ›Zvec được đơn giản hoá: chỉ Tài liệu + Lịch sử Chat (không còn AST node hay đồ thị code)
- ›2 lệnh search tách biệt: gmind search (docs/Zvec) vs gmind search-codebase (code/FastCode)
- +1 kết luận nữa
Động cơ Knowledge Graph Beads
Beads ID là Nút Đồ thị Phổ quát — không chỉ là ID task. Mọi thực thể (PRD, Kế hoạch, Task, Commit, Chat, Ghi chú cuộc họp, Tệp code, PR, CI Run) liên kết qua Beads ID. gmind xây đồ thị tại thời điểm truy vấn từ 5+ nguồn dữ liệu, không lưu trùng lặp.
- ›gmind = Động cơ Truy vấn Đồ thị — duyệt song song FrankenSQLite, Git, Zvec, GitHub, YAML
- ›12+ loại cạnh tự phát hiện: satisfies, implements, committed-for, discussed-in, approved-by, code-touches, v.v.
- ›Zvec mở rộng thành Bộ Lập chỉ mục Dữ liệu Phi cấu trúc Phổ quát — index git commits, PRs, CI logs, ghi chú cuộc họp
- +1 kết luận nữa
Tích hợp Hệ sinh thái GitHub
Nghiên cứu sâu 3 phiên: GitHub Autolinks, Quy ước Commit (Git Trailers), tích hợp CI/CD, giới hạn API, chiến lược đồng bộ. Quyết định cuối: ưu tiên cục bộ dùng git + gh CLI — không dùng thư viện Go API, không webhooks.
- ›git + gh CLI thay thế thư viện Go API — không phụ thuộc bên ngoài
- ›Đồng bộ 3 tầng: Git cục bộ (90% trường hợp) → Theo sự kiện (CI đẩy) → Polling theo lịch (15-30 phút)
- ›Dữ liệu GitHub là ngữ cảnh ngữ nghĩa → thuộc về Zvec, không phải bảng SQL
- +2 kết luận nữa
Monorepo Đa ngôn ngữ & Hệ thống Thiết kế
Gmind là Monorepo Đa ngôn ngữ (Go, Rust, TypeScript). Sử dụng Language-Native Workspaces (go.work, Cargo.toml, pnpm) + Turborepo làm Bộ điều phối Gốc. Design System chia sẻ qua packages/design-system/.
- ›Turborepo + pnpm là bộ điều phối gốc — không dùng Bazel (quá nặng cho agent)
- ›Thư mục Go/Rust có package.json tối thiểu để Turborepo ủy quyền script
- ›PRDs phân vùng tên dưới /docs/PRDs/{subsystem}/ — SSOT tại gốc
- +1 kết luận nữa
Beads ID trong Tài liệu (Cấp phần)
Mở rộng Beads ID từ cấp task lên cấp phần tài liệu. Mục PRD, phần tử Kế hoạch được gán ID duy nhất qua YAML front matter. Cho phép RTM 3 lớp: Mục PRD ↔ Phần tử Kế hoạch ↔ Task.
- ›YAML front matter với beads-id mỗi phần: định dạng br-prdNN-sM
- ›Hai loại liên kết mới: satisfies (Kế hoạch→PRD) và implements (Task→Kế hoạch)
- ›Giai đoạn 1: dùng tag tạm (--tag='implements:br-plan-01')
- +1 kết luận nữa
500 Vấn Đề Hiệu Suất Phát Triển Phần Mềm
Tổng hợp 500 vấn đề cụ thể từ nghiên cứu học thuật, phân loại theo 10 nhóm chủ đề chính (Quản lý Tri thức, Nợ Kỹ thuật, Lãnh đạo, Quy trình, Bảo mật, v.v.) để xây dựng framework đánh giá hiệu suất tổ chức phát triển phần mềm.
- ›500 vấn đề phân loại 10 nhóm: KM, Technical Debt, Leadership, Process, Security...
- ›Nguồn: NotebookLM Notebook tổng hợp từ academic papers về SE Management
- ›Framework đánh giá: mỗi vấn đề ánh xạ sang giải pháp của Gmind Platform
- +1 kết luận nữa
Đề xuất 20+ AI Workflows dựa trên Agile
Đề xuất 25 AI Workflows chuyên biệt phủ sóng 8+1 phương pháp Agile (Scrum, Kanban/Lean, XP, AUP/DAD, DSDM, FDD, TDD, RAD, SAFe 6.0). Mỗi workflow có prompt template riêng, từ Scrum Daily Standup Synthesis đến RAD UI Prototype Sketcher.
- ›25 workflow đề xuất cho 9 phương pháp Agile — mỗi phương pháp 2-4 workflow
- ›Top 5 ưu tiên: xp-continuous-refactoring, tdd-test-cases-bootstrap, rad-ui-prototype, scrum-story-slicer, fdd-domain-model
- ›Workflow JSON nằm tại apps/website/src/data/workflows/, đăng ký trong workflow-prompts.ts
- +1 kết luận nữa
Document Lifecycle trong SAFe 6.0
Vòng đời tài liệu trong SAFe 6.0 Agentic: lên kế hoạch → viết → phê duyệt → tham chiếu → tạo PRDs → decompose thành Beads tasks. Source of truth = filesystem (git-tracked docs/), Zvec chỉ dùng cho semantic search.
- ›Zvec CHỈ dùng cho semantic search — KHÔNG phải nơi lưu trữ tài liệu
- ›Source of truth cho docs = filesystem (docs/ folder), tracked bởi git
- ›PM Web cần API endpoints để view/search/render docs từ filesystem
- +1 kết luận nữa
Vai trò trong SAFe 6.0 Framework
SAFe 6.0 tổ chức roles theo 4 tầng (Portfolio → Solution Train → ART → Team). Trong bối cảnh Agentic Software House (2 Human + 18 AI Agents), roles phân chia rõ: Human giữ quyền phê duyệt, Agent thực thi.
- ›4 tầng roles: Portfolio (Strategy), Solution Train (Coordination), ART (Delivery), Team (Execution)
- ›Human roles: Epic Owner, LPM, RTE — giữ quyền approve tại decision points
- ›Agent roles: Dev Agent, QA Agent, Architect Agent — thực thi theo skill rules
- +1 kết luận nữa
RTE Approval Workflow
Khi Dev SubAgent phát hiện rủi ro → kích hoạt buổi thảo luận với RTE Team → RTE phê duyệt phương án → nội dung phê duyệt trở thành execution context. Toàn bộ quy trình lưu với Beads ID, trở thành nodes trong Knowledge Graph.
- ›Trigger: Dev SubAgent phát hiện rủi ro → tạo discussion request với Beads ID
- ›MCP Agent Mail là cơ chế giao tiếp giữa Dev SubAgent và RTE Team
- ›Approval context trở thành node trong Knowledge Graph — truy vết được
- +1 kết luận nữa
Chuẩn hoá Format Plan Document
So sánh 3 phương án format cho Plan documents: (A) Structured Markdown + YAML markers, (B) Pure Beads Issues, (C) Hybrid. Quyết định: Phương án C (Hybrid) — MD file là human-readable, Beads Issues cho machine tracking.
- ›Phương án C (Hybrid) thắng: MD cho human, Beads cho machine — best of both worlds
- ›Plan MD file có YAML markers liên kết satisfies → PRD sections
- ›Beads Issues mirror MD sections — tự động sync khi parse
- +1 kết luận nữa
Issue Satisfaction Matrix
Ma trận đối chiếu 500 vấn đề hiệu suất với mức độ giải quyết (%) của mỗi PRD và Spike. Cho phép đo coverage: vấn đề nào đã được giải quyết bao nhiêu phần trăm bởi tài liệu/giải pháp nào.
- ›Matrix 500 hàng × 15 cột — mapping issue → PRD/Spike với % coverage
- ›Mỗi ô chứa % satisfaction và link trực tiếp đến dòng cụ thể trong tài liệu
- ›Top coverage: spike-beads-knowledge-graph (nhiều issue 100%), PRD-01-Overview (broad coverage)
- +1 kết luận nữa
Web UI RTM Dashboard
Wireframe chi tiết cho RTM Dashboard: 4 panel (Coverage Heatmap, Task Progress, Interactive Knowledge Graph, Gap Analysis). Tech stack: Go server (gmind serve) + Vanilla JS + D3.js, embed vào single binary qua embed.FS.
- ›4-panel dashboard: Coverage Heatmap, Task Progress, Interactive Graph, Gap Analysis
- ›gmind serve: Go HTTP server, REST API wrapper quanh gmind CLI commands
- ›D3.js force-directed graph cho Knowledge Graph visualization
- +1 kết luận nữa
Nghiên cứu Trong hàng đợi
Hiệu năng Graph Assembler
Đo hiệu năng xây đồ thị tại thời điểm truy vấn với 1000+ Beads ID. Xác định có cần tầng cache cho Graph Assembler không.
Pipeline Lập chỉ mục Zvec
Chi tiết cách lập chỉ mục git commits, mô tả PR, CI logs vào Zvec — kích thước chunk, schema metadata, tự phát hiện Beads ID trong mỗi chunk.