codex-genesis-harness 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codebase/ARCHITECTURE_REVIEW_COMPLETE.md +216 -216
- package/.codebase/CURRENT_STATE.md +9 -7
- package/.codebase/FILE_NAMING_CLARIFICATION.md +161 -161
- package/.codebase/HARNESS_COMPLETENESS_AUDIT.md +613 -613
- package/.codebase/IMPLEMENTATION_COMPLETE.md +429 -429
- package/.codebase/IMPLEMENTATION_HANDOFF.md +351 -351
- package/.codebase/IMPROVEMENTS_SUMMARY.md +419 -419
- package/.codebase/PHASE3_SKILLS_NAMING_COMPLETE.md +292 -292
- package/.codebase/PHASE_DEPENDENCY_MAP.md +486 -486
- package/.codebase/QUICK_START_SPEC_IMPACT.md +456 -456
- package/.codebase/README.md +139 -139
- package/.codebase/RECOVERY_POINTS.md +438 -438
- package/.codebase/state.json +37 -0
- package/.codex/skills/genesis-api-sync/SKILL.md +354 -354
- package/.codex/skills/genesis-api-sync/checklists/api-sync-checklist.md +101 -101
- package/.codex/skills/genesis-api-sync/templates/api-change-template.md +257 -257
- package/.codex/skills/genesis-debug-guide/SKILL.md +479 -479
- package/.codex/skills/genesis-debug-guide/checklists/flaky-test-investigation.md +339 -339
- package/.codex/skills/genesis-debug-guide/checklists/production-bug-debug.md +210 -210
- package/.codex/skills/genesis-debug-guide/checklists/test-failure-debug.md +158 -158
- package/.codex/skills/genesis-debug-guide/observability/debug-commands.md +365 -365
- package/.codex/skills/genesis-debug-guide/playbooks/unit-test-failures.md +289 -289
- package/.codex/skills/genesis-debug-guide/templates/debug-investigation-log.md +288 -288
- package/.codex/skills/genesis-docs-automation/SKILL.md +1003 -1003
- package/.codex/skills/genesis-docs-automation/checklists/docs-validation.md +359 -359
- package/.codex/skills/genesis-docs-automation/checklists/spec-alignment.md +312 -312
- package/.codex/skills/genesis-docs-automation/observability/docs-tracking.md +382 -382
- package/.codex/skills/genesis-docs-automation/playbooks/auto-update-flow.md +851 -851
- package/.codex/skills/genesis-docs-automation/playbooks/changelog-generation.md +491 -491
- package/.codex/skills/genesis-docs-automation/templates/changelog-entry-template.md +187 -187
- package/.codex/skills/genesis-docs-automation/templates/handoff-template.md +297 -297
- package/.codex/skills/genesis-harness/SKILL.md +1427 -1418
- package/.codex/skills/genesis-harness/agents/openai.yaml +7 -7
- package/.codex/skills/genesis-harness/checklists/bug-fix-qa.md +169 -169
- package/.codex/skills/genesis-harness/checklists/new-feature-qa.md +157 -157
- package/.codex/skills/genesis-harness/checklists/refactor-qa.md +216 -216
- package/.codex/skills/genesis-harness/checklists/requirements-validation.md +211 -211
- package/.codex/skills/genesis-harness/references/planning-schema.md +35 -35
- package/.codex/skills/genesis-harness/references/quality-rubric.md +21 -21
- package/.codex/skills/genesis-harness/references/research-rubric.md +41 -41
- package/.codex/skills/genesis-harness/references/workflows.md +33 -33
- package/.codex/skills/genesis-harness/resources/agents-template.md +27 -27
- package/.codex/skills/genesis-harness/resources/api-docs-template.md +32 -32
- package/.codex/skills/genesis-harness/resources/architecture-template.md +30 -30
- package/.codex/skills/genesis-harness/resources/audit-template.md +26 -26
- package/.codex/skills/genesis-harness/resources/bug-template.md +34 -34
- package/.codex/skills/genesis-harness/resources/change-impact-matrix-template.md +204 -204
- package/.codex/skills/genesis-harness/resources/check-template.md +21 -21
- package/.codex/skills/genesis-harness/resources/conventions-template.md +42 -42
- package/.codex/skills/genesis-harness/resources/decision-template.md +33 -33
- package/.codex/skills/genesis-harness/resources/design-template.md +26 -26
- package/.codex/skills/genesis-harness/resources/escalation-template.md +21 -21
- package/.codex/skills/genesis-harness/resources/feature-template.md +49 -49
- package/.codex/skills/genesis-harness/resources/foundation-phase-template.md +131 -131
- package/.codex/skills/genesis-harness/resources/integrations-template.md +32 -32
- package/.codex/skills/genesis-harness/resources/journeys-template.md +13 -13
- package/.codex/skills/genesis-harness/resources/lessons-learned-template.md +12 -12
- package/.codex/skills/genesis-harness/resources/observability-template.md +34 -34
- package/.codex/skills/genesis-harness/resources/phase-00-foundation-template.md +76 -76
- package/.codex/skills/genesis-harness/resources/phase-template.md +34 -34
- package/.codex/skills/genesis-harness/resources/pitfalls-template.md +22 -22
- package/.codex/skills/genesis-harness/resources/planning-tree-template.md +39 -39
- package/.codex/skills/genesis-harness/resources/post-implementation-guide.md +347 -347
- package/.codex/skills/genesis-harness/resources/project-template.md +38 -38
- package/.codex/skills/genesis-harness/resources/quality-score-template.md +11 -11
- package/.codex/skills/genesis-harness/resources/requirements-template.md +26 -26
- package/.codex/skills/genesis-harness/resources/research-template.md +26 -26
- package/.codex/skills/genesis-harness/resources/review-template.md +22 -22
- package/.codex/skills/genesis-harness/resources/spec-changelog-template.md +6 -6
- package/.codex/skills/genesis-harness/resources/stack-template.md +33 -33
- package/.codex/skills/genesis-harness/resources/verification-template.md +26 -26
- package/.codex/skills/genesis-harness/scripts/check-architecture-boundaries.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/check-docs-sync.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/check-no-debug-logs.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/check-required-planning-files.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/check-spec-changelog.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/check-task-tracking.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/compact-context.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/create-adr.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/create-bug.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/create-feature.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/detect-stack.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/init-planning.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/list-changed-files.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/offload-log.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/run-verification.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/run-verify-loop.sh +0 -0
- package/.codex/skills/genesis-harness/scripts/update-state.sh +0 -0
- package/.codex/skills/genesis-mvp-planning/SKILL.md +114 -0
- package/.codex/skills/genesis-mvp-planning/agents/openai.yaml +6 -0
- package/.codex/skills/genesis-mvp-planning/checklists/mvp-readiness.md +18 -0
- package/.codex/skills/genesis-mvp-planning/examples/5-phase-roadmap-example.md +43 -0
- package/.codex/skills/genesis-mvp-planning/templates/phase-1-core.md +17 -0
- package/.codex/skills/genesis-mvp-planning/templates/phase-2-auth.md +17 -0
- package/.codex/skills/genesis-mvp-planning/templates/phase-3-features.md +17 -0
- package/.codex/skills/genesis-mvp-planning/templates/phase-4-integrations.md +17 -0
- package/.codex/skills/genesis-mvp-planning/templates/phase-5-readiness.md +17 -0
- package/.codex/skills/genesis-new-design/agents/openai.yaml +3 -3
- package/.codex/skills/genesis-observability-automation/checklists/.gitkeep +0 -0
- package/.codex/skills/genesis-observability-automation/observability/.gitkeep +0 -0
- package/.codex/skills/genesis-observability-automation/playbooks/.gitkeep +0 -0
- package/.codex/skills/genesis-observability-automation/templates/.gitkeep +0 -0
- package/.codex/skills/genesis-release-orchestration/SKILL.md +653 -653
- package/.codex/skills/genesis-release-orchestration/checklists/post-deployment-verification.md +274 -274
- package/.codex/skills/genesis-release-orchestration/checklists/pre-release-validation.md +220 -220
- package/.codex/skills/genesis-release-orchestration/observability/release-tracking.md +253 -253
- package/.codex/skills/genesis-release-orchestration/playbooks/canary-deployment-orchestration.md +472 -472
- package/.codex/skills/genesis-release-orchestration/playbooks/semantic-versioning-automation.md +494 -494
- package/.codex/skills/genesis-release-orchestration/templates/deployment-strategy-template.md +303 -303
- package/.codex/skills/genesis-release-orchestration/templates/release-runbook-template.md +420 -420
- package/.codex/skills/genesis-research-first/SKILL.md +237 -237
- package/.codex/skills/genesis-research-first/templates/.gitkeep +0 -0
- package/.codex/skills/genesis-spec-propagation/SKILL.md +534 -534
- package/.codex/skills/genesis-spec-propagation/checklists/phase-update-verification.md +384 -384
- package/.codex/skills/genesis-spec-propagation/checklists/spec-change-detection.md +257 -257
- package/.codex/skills/genesis-spec-propagation/observability/propagation-tracking.md +373 -373
- package/.codex/skills/genesis-spec-propagation/playbooks/breaking-change-propagation.md +692 -692
- package/.codex/skills/genesis-spec-propagation/playbooks/feature-change-propagation.md +434 -434
- package/.codex/skills/genesis-spec-propagation/templates/migration-guide-template.md +407 -407
- package/.codex/skills/genesis-state-machine/SKILL.md +34 -0
- package/.codex/skills/genesis-upgrade-design/agents/openai.yaml +3 -3
- package/.codex/skills/spec-impact-engine/SKILL.md +504 -504
- package/.codex/skills/spec-impact-engine/detect-spec-changes.sh +0 -0
- package/.codex-plugin/plugin.json +24 -24
- package/CHANGELOG.md +42 -0
- package/LICENSE +22 -22
- package/README.EN.md +784 -719
- package/README.VI.md +776 -712
- package/README.md +113 -253
- package/VERSION +2 -2
- package/bin/genesis-harness.js +90 -87
- package/package.json +68 -43
- package/scripts/README.md +342 -342
- package/scripts/compact-context.sh +0 -0
- package/scripts/contract_integrity_gate.js +83 -0
- package/scripts/detect-changes.sh +0 -0
- package/scripts/healing_telemetry.js +118 -0
- package/scripts/install.sh +4 -1
- package/scripts/offload-log.sh +0 -0
- package/scripts/prompt_sentinel.js +84 -0
- package/scripts/run-evals.sh +1 -0
- package/scripts/run-verify-loop.sh +11 -0
- package/scripts/spec_visual_sync.js +157 -0
- package/scripts/test_generator.js +142 -0
- package/scripts/transition_state.sh +67 -0
- package/scripts/uninstall.sh +1 -0
- package/scripts/validation_gates.sh +85 -0
- package/scripts/verify.sh +5 -0
- package/tests/unit/contract_integrity_gate.test.js +74 -0
- package/tests/unit/healing_telemetry.test.js +58 -0
- package/tests/unit/prompt_sentinel.test.js +50 -0
- package/tests/unit/spec_visual_sync.test.js +77 -0
- package/tests/unit/test_generator.test.js +62 -0
package/README.VI.md
CHANGED
|
@@ -1,712 +1,776 @@
|
|
|
1
|
-
# Genesis Codex Harness - Hướng Dẫn Tiếng Việt
|
|
2
|
-
|
|
3
|
-
**Tiếng Việt** | [English](README.EN.md)
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## 📌 Genesis Codex Harness Là Gì?
|
|
8
|
-
|
|
9
|
-
**Genesis Codex Harness** là một bộ framework phát triển phần mềm cấp enterprise, **chỉ dành cho Codex
|
|
10
|
-
|
|
11
|
-
### Các Khả Năng Chính
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
- ✅ **
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
**Phù hợp cho**:
|
|
22
|
-
- Team xây dựng phần mềm enterprise với Codex
|
|
23
|
-
- Dự án cần workflow phát triển đáng tin cậy
|
|
24
|
-
- Developer mệt mỏi với việc bắt đầu từ đầu mỗi lần
|
|
25
|
-
- Công ty muốn giảm chi phí token phát triển
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## 🎯 Tại Sao Dùng Genesis? (ROI trong 3 phút)
|
|
30
|
-
|
|
31
|
-
### Trước Genesis ❌
|
|
32
|
-
```
|
|
33
|
-
Yêu cầu feature mới
|
|
34
|
-
→ Giải thích cho Codex (3k tokens)
|
|
35
|
-
→ Codex bắt đầu từ đầu mỗi lần
|
|
36
|
-
→ Thiết kế API thủ công, không nhất quán
|
|
37
|
-
→ Không enforce test-first
|
|
38
|
-
→ Thay đổi 1 spec, break 5 cái khác
|
|
39
|
-
→ Rework, rework, rework...
|
|
40
|
-
→ Tổng: 80-150k tokens per project
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### Với Genesis ✅
|
|
44
|
-
```
|
|
45
|
-
Yêu cầu feature: /new-feature "mô tả"
|
|
46
|
-
→ Codex nhớ mọi thứ từ .codebase/ (cache hit!)
|
|
47
|
-
→ Contract đã định nghĩa
|
|
48
|
-
→ Test fixtures sẵn sàng
|
|
49
|
-
→ Phát hiện thay đổi: /spec-change file.json
|
|
50
|
-
→ Cập nhật tự động: /propagate-spec
|
|
51
|
-
→ Test xác minh mọi thứ
|
|
52
|
-
→ Xong.
|
|
53
|
-
→ Tổng: 40-80k tokens (tiết kiệm 60%!)
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## 📊 So Sánh Vượt Trội Với Agent Thông Thường
|
|
59
|
-
|
|
60
|
-
Khi bạn làm việc với một Agent thông thường (như Claude Code ở chế độ basic, GitHub Copilot Workspace mặc định, hoặc các GPT-4o wrappers đơn giản), bạn sẽ liên tục gặp phải các vấn đề về trôi context, thiếu tính nhất quán, và lỗi phát sinh khi dự án lớn dần. Genesis Codex Harness được thiết kế để giải quyết triệt để những nỗi đau này thông qua triết lý **Harness Engineering**.
|
|
61
|
-
|
|
62
|
-
| Tiêu chí | AI Agent Thông Thường (Claude Code, Copilot, wrappers) | Genesis Codex Harness (Codex-Exclusive Harness) |
|
|
63
|
-
| :--- | :--- | :--- |
|
|
64
|
-
| **Quy trình làm việc (Workflow)** | **Bị động (Passive Code-Gen):** Viết code ngay khi được yêu cầu, bỏ qua kiểm thử, gây tích tụ lỗi kỹ thuật (technical debt). | **Chủ động & Nghiêm ngặt (Contract-First + TDD):** Bắt buộc định nghĩa API contract trước, viết test tự động (RED), code minimal (GREEN), rồi mới tối ưu (IMPROVE). |
|
|
65
|
-
| **Quản lý Context & Trôi nhớ** | **Trôi tự do (Context Rot):** Càng làm việc lâu, context càng phình to vì log debug, code thừa, dẫn đến ảo giác (hallucination) và mất khả năng nhớ. | **Nén & Tối ưu hóa chủ động:** Tự động offload log lớn (`offload-log.sh`) và nén context (`compact-context.sh`). Bảo vệ context window tối đa 40-60%. |
|
|
66
|
-
| **Tự khắc phục lỗi (Self-Healing)** | **Thủ công:** Khi test fail, user phải copy-paste log lỗi và ra lệnh cho Agent sửa đi sửa lại thủ công. | **Tự động hóa với Ralph Loops:** Tự động phát hiện lỗi và khởi chạy vòng lặp **Verify-Fix Loop** (`run-verify-loop.sh`) lên đến 5 lần để tự sửa và qua test. |
|
|
67
|
-
| **Quản lý thay đổi Spec** | **Hỗn loạn:** Thay đổi 1 file spec/schema sẽ làm gãy các phần phía sau mà Agent không hề hay biết cho đến khi chạy runtime. | **Lan tỏa tự động (Cascading updates):** Tự động phát hiện thay đổi spec (`/spec-change`) và lan tỏa cập nhật (`/propagate-spec`) đến toàn bộ các pha hạ nguồn. |
|
|
68
|
-
| **Tính Nhớ & Khôi Phục** | **Mất dấu:** Refresh phiên làm việc là mất sạch lịch sử phân tích codebase, phải giải thích và nạp lại từ đầu. | **Bền vững dài hạn:** Hệ thống memory nén chuyên biệt trong thư mục `.codebase/` lưu giữ trạng thái, quyết định thiết kế (ADR) vĩnh viễn. |
|
|
69
|
-
| **Hiệu suất Token & Chi phí** | **Lãng phí lớn:** Gửi toàn bộ file và log thô lên API. Token tiêu tốn tăng lũy tiến, chi phí cực cao. | **Tiết kiệm vượt trội:** Nhờ token caching thông minh và nén context, giúp tiết kiệm **40-60%** lượng token tiêu thụ trên mỗi dự án. |
|
|
70
|
-
| **Độ tin cậy & Kiểm chứng** | **Hên xui:** Code chạy được trên máy Agent nhưng không có cơ chế kiểm chứng cấu trúc và tính toàn vẹn của skill. | **Tuyệt đối:** Enforce chặt chẽ qua bộ CLI tự động (`verify.sh`) kiểm tra tính đúng đắn của skill, metadata và các assertions nghiệp vụ. |
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## 🧬 Công Nghệ Đột Phá:
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
**Lợi
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
**
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
* **Bước 3**:
|
|
320
|
-
|
|
321
|
-
*
|
|
322
|
-
*
|
|
323
|
-
*
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
*
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
*
|
|
345
|
-
|
|
346
|
-
* Tạo
|
|
347
|
-
*
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
*
|
|
353
|
-
* **Bước
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
* **Bước
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
*
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
###
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
**
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
```
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
```
|
|
450
|
-
|
|
451
|
-
**
|
|
452
|
-
```
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
)
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
});
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
```
|
|
502
|
-
|
|
503
|
-
**
|
|
504
|
-
```
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
**
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
**
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
-
|
|
621
|
-
-
|
|
622
|
-
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
**
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
genesis-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
**
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
###
|
|
673
|
-
-
|
|
674
|
-
-
|
|
675
|
-
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
1
|
+
# Genesis Codex Harness - Hướng Dẫn Tiếng Việt
|
|
2
|
+
|
|
3
|
+
**Tiếng Việt** | [English](README.EN.md)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 📌 Genesis Codex Harness Là Gì?
|
|
8
|
+
|
|
9
|
+
**Genesis Codex Harness** là một bộ framework phát triển phần mềm cấp enterprise, **chỉ dành cho Codex**, giúp bạn xây dựng phần mềm chất lượng cao một cách có quy trình và hiệu quả.
|
|
10
|
+
|
|
11
|
+
### Các Khả Năng Chính
|
|
12
|
+
|
|
13
|
+
- 🗺️ **Lộ trình 5-Phase MVP chuyên biệt (`genesis-mvp-planning`)** - Đảm bảo lộ trình phát triển rõ ràng bằng cách tổ chức dự án qua 5 cổng kiểm soát tiêu chuẩn, giúp các API core và database được kiểm chứng nghiêm ngặt trước khi code các tính năng nâng cao.
|
|
14
|
+
- 🛡️ **Cổng kiểm soát Drift Tài Liệu (`validation_gates.sh`)** - Chống trôi tài liệu (Documentation Decay). Tự động chạy quét Git diff khi thay đổi trạng thái phát triển, đưa ra cảnh báo nếu mã nguồn (API, database schema, test) đã thay đổi mà tài liệu spec kỹ thuật tương ứng trong `.codebase/` chưa được cập nhật.
|
|
15
|
+
- 🛑 **Triệt tiêu hoàn toàn trôi Context (Context Compaction)** - Tự động di tản log lệnh dung lượng lớn ra đĩa (`offload-log.sh`) và nén cô đọng lịch sử kiến trúc (`compact-context.sh`), giúp bảo toàn 40-60% dung lượng prompt window.
|
|
16
|
+
- 🔥 **Cơ chế tự chữa lành lỗi (Ralph Loops)** - Tự động phát hiện lỗi kiểm thử hay lỗi biên dịch, kích hoạt vòng lặp **Verify-Fix Loop** (`run-verify-loop.sh`) khép kín lên tới 5 lần để tự động sửa code và test lại cho đến khi pass.
|
|
17
|
+
- ✅ **Quy trình Test-First & Contract-First tuyệt đối** - Bắt buộc định nghĩa API contract trước khi code, tự động tạo các kịch bản test thất bại (RED), viết code tối thiểu để pass (GREEN), rồi mới cải tiến (IMPROVE).
|
|
18
|
+
- 🔄 **Lan tỏa đặc tả tự động (Cascading Spec Propagation)** - Phát hiện thay đổi đặc tả API và tự động lan tỏa, cập nhật đồng bộ các file contract hạ nguồn, test fixtures và assertions thông qua lệnh `/propagate-spec`.
|
|
19
|
+
- 🧠 **Cam kết Research-First thực chứng** - Tự động quét và nghiên cứu các mẫu thiết kế trong codebase nội bộ cùng tài liệu thư viện bên ngoài *trước* khi lập kế hoạch hay thực hiện bất kỳ thay đổi nào.
|
|
20
|
+
|
|
21
|
+
**Phù hợp cho**:
|
|
22
|
+
- Team xây dựng phần mềm enterprise với Codex
|
|
23
|
+
- Dự án cần workflow phát triển đáng tin cậy
|
|
24
|
+
- Developer mệt mỏi với việc bắt đầu từ đầu mỗi lần
|
|
25
|
+
- Công ty muốn giảm chi phí token phát triển
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 🎯 Tại Sao Dùng Genesis? (ROI trong 3 phút)
|
|
30
|
+
|
|
31
|
+
### Trước Genesis ❌
|
|
32
|
+
```
|
|
33
|
+
Yêu cầu feature mới
|
|
34
|
+
→ Giải thích cho Codex (3k tokens)
|
|
35
|
+
→ Codex bắt đầu từ đầu mỗi lần
|
|
36
|
+
→ Thiết kế API thủ công, không nhất quán
|
|
37
|
+
→ Không enforce test-first
|
|
38
|
+
→ Thay đổi 1 spec, break 5 cái khác
|
|
39
|
+
→ Rework, rework, rework...
|
|
40
|
+
→ Tổng: 80-150k tokens per project
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Với Genesis ✅
|
|
44
|
+
```
|
|
45
|
+
Yêu cầu feature: /new-feature "mô tả"
|
|
46
|
+
→ Codex nhớ mọi thứ từ .codebase/ (cache hit!)
|
|
47
|
+
→ Contract đã định nghĩa
|
|
48
|
+
→ Test fixtures sẵn sàng
|
|
49
|
+
→ Phát hiện thay đổi: /spec-change file.json
|
|
50
|
+
→ Cập nhật tự động: /propagate-spec
|
|
51
|
+
→ Test xác minh mọi thứ
|
|
52
|
+
→ Xong.
|
|
53
|
+
→ Tổng: 40-80k tokens (tiết kiệm 60%!)
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 📊 So Sánh Vượt Trội Với Agent Thông Thường
|
|
59
|
+
|
|
60
|
+
Khi bạn làm việc với một Agent thông thường (như Claude Code ở chế độ basic, GitHub Copilot Workspace mặc định, hoặc các GPT-4o wrappers đơn giản), bạn sẽ liên tục gặp phải các vấn đề về trôi context, thiếu tính nhất quán, và lỗi phát sinh khi dự án lớn dần. Genesis Codex Harness được thiết kế để giải quyết triệt để những nỗi đau này thông qua triết lý **Harness Engineering**.
|
|
61
|
+
|
|
62
|
+
| Tiêu chí | AI Agent Thông Thường (Claude Code, Copilot, wrappers) | Genesis Codex Harness (Codex-Exclusive Harness) |
|
|
63
|
+
| :--- | :--- | :--- |
|
|
64
|
+
| **Quy trình làm việc (Workflow)** | **Bị động (Passive Code-Gen):** Viết code ngay khi được yêu cầu, bỏ qua kiểm thử, gây tích tụ lỗi kỹ thuật (technical debt). | **Chủ động & Nghiêm ngặt (Contract-First + TDD):** Bắt buộc định nghĩa API contract trước, viết test tự động (RED), code minimal (GREEN), rồi mới tối ưu (IMPROVE). |
|
|
65
|
+
| **Quản lý Context & Trôi nhớ** | **Trôi tự do (Context Rot):** Càng làm việc lâu, context càng phình to vì log debug, code thừa, dẫn đến ảo giác (hallucination) và mất khả năng nhớ. | **Nén & Tối ưu hóa chủ động:** Tự động offload log lớn (`offload-log.sh`) và nén context (`compact-context.sh`). Bảo vệ context window tối đa 40-60%. |
|
|
66
|
+
| **Tự khắc phục lỗi (Self-Healing)** | **Thủ công:** Khi test fail, user phải copy-paste log lỗi và ra lệnh cho Agent sửa đi sửa lại thủ công. | **Tự động hóa với Ralph Loops:** Tự động phát hiện lỗi và khởi chạy vòng lặp **Verify-Fix Loop** (`run-verify-loop.sh`) lên đến 5 lần để tự sửa và qua test. |
|
|
67
|
+
| **Quản lý thay đổi Spec** | **Hỗn loạn:** Thay đổi 1 file spec/schema sẽ làm gãy các phần phía sau mà Agent không hề hay biết cho đến khi chạy runtime. | **Lan tỏa tự động (Cascading updates):** Tự động phát hiện thay đổi spec (`/spec-change`) và lan tỏa cập nhật (`/propagate-spec`) đến toàn bộ các pha hạ nguồn. |
|
|
68
|
+
| **Tính Nhớ & Khôi Phục** | **Mất dấu:** Refresh phiên làm việc là mất sạch lịch sử phân tích codebase, phải giải thích và nạp lại từ đầu. | **Bền vững dài hạn:** Hệ thống memory nén chuyên biệt trong thư mục `.codebase/` lưu giữ trạng thái, quyết định thiết kế (ADR) vĩnh viễn. |
|
|
69
|
+
| **Hiệu suất Token & Chi phí** | **Lãng phí lớn:** Gửi toàn bộ file và log thô lên API. Token tiêu tốn tăng lũy tiến, chi phí cực cao. | **Tiết kiệm vượt trội:** Nhờ token caching thông minh và nén context, giúp tiết kiệm **40-60%** lượng token tiêu thụ trên mỗi dự án. |
|
|
70
|
+
| **Độ tin cậy & Kiểm chứng** | **Hên xui:** Code chạy được trên máy Agent nhưng không có cơ chế kiểm chứng cấu trúc và tính toàn vẹn của skill. | **Tuyệt đối:** Enforce chặt chẽ qua bộ CLI tự động (`verify.sh`) kiểm tra tính đúng đắn của skill, metadata và các assertions nghiệp vụ. |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 🧬 Công Nghệ Đột Phá: Các Phân Hệ Cốt Lõi Của Kiến Trúc Harness (Evolutionary Upgrades)
|
|
75
|
+
|
|
76
|
+
Hệ thống FSM chủ động bao bọc quanh Codex để kiểm soát chất lượng, tự động sửa lỗi và bảo vệ context. Dưới đây là sơ đồ luồng vận hành của Genesis Harness:
|
|
77
|
+
|
|
78
|
+
```mermaid
|
|
79
|
+
graph TD
|
|
80
|
+
User([Yêu cầu từ Developer]) --> RF[1. Phân tích & Nghiên cứu]
|
|
81
|
+
RF --> IP[Kế hoạch & API Contracts]
|
|
82
|
+
IP --> TDD[2. Viết Test trước - RED]
|
|
83
|
+
TDD --> Codex{Codex thực thi code}
|
|
84
|
+
Codex --> VL[3. Vòng lặp tự sửa lỗi - Ralph Loop]
|
|
85
|
+
VL -- Lỗi <= 5 lần --> Correct[Tự động phân tích logs & sửa code]
|
|
86
|
+
Correct --> Codex
|
|
87
|
+
VL -- Test Pass - GREEN --> VG[4. Cổng chống trôi spec]
|
|
88
|
+
VG -- Quét Git Diff spec warning --> Synced[5. Tự động cập nhật tài liệu & Nén FSM state]
|
|
89
|
+
Synced --> Complete([Trạng thái hoàn thành - COMPLETED])
|
|
90
|
+
|
|
91
|
+
subgraph Hệ điều phối FSM - Harness Shell
|
|
92
|
+
RF
|
|
93
|
+
TDD
|
|
94
|
+
VL
|
|
95
|
+
Correct
|
|
96
|
+
VG
|
|
97
|
+
Synced
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
subgraph Bảo vệ Context & Memory
|
|
101
|
+
Compaction[(Nén context lịch sử)] <--> Synced
|
|
102
|
+
Offload[(Chuyển logs test/build ra đĩa)] <--> VL
|
|
103
|
+
end
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Genesis Codex Harness giới thiệu 5 phân hệ kỹ thuật mang tính đột phá nhằm đảm bảo Agent có thể hoạt động bền bỉ, nhất quán trong các dự án lớn mà không bao giờ bị tràn context hay trôi tài liệu đặc tả:
|
|
107
|
+
|
|
108
|
+
### 1. Context Compaction Engine (`compact-context.sh`)
|
|
109
|
+
* **Vấn đề**: Các cuộc hội thoại dài tạo ra hàng trăm nghìn token lịch sử dư thừa, gây loãng context, làm Agent bị "mất trí nhớ" và đẩy chi phí API lên cực cao.
|
|
110
|
+
* **Giải pháp**: Hoạt động tự động khi context chạm ngưỡng giới hạn an toàn. Engine chắt lọc toàn bộ quyết định kiến trúc, sơ đồ API hiện tại, trạng thái FSM hiện có lưu vào `.codebase/context/`, xóa bỏ các đoạn hội thoại rác và nạp lại trạng thái cô đọng cốt lõi.
|
|
111
|
+
* **Lợi ích**: Giúp Agent luôn sắc bén suốt hơn 100+ bước làm việc liên tục, tiết kiệm **40-60%** token.
|
|
112
|
+
|
|
113
|
+
### 2. Tool Call Offloading (`offload-log.sh`)
|
|
114
|
+
* **Vấn đề**: Việc chạy test suite, compiler hoặc quét thư mục trả về hàng chục nghìn dòng log thô. Log khổng lồ này sẽ lập tức lấp đầy và phá hủy context window của Agent.
|
|
115
|
+
* **Giải pháp**: Tự động chuyển hướng toàn bộ log lệnh cồng kềnh ra đĩa cục bộ (`.system_generated/tasks/`), chỉ trả về cho Agent một bản tóm tắt trạng thái cực kỳ ngắn gọn (mã exit code, lỗi chính, số lượng test case pass/fail).
|
|
116
|
+
* **Lợi ích**: Triệt tiêu 100% rủi ro tràn context do logs chạy test hay build hệ thống.
|
|
117
|
+
|
|
118
|
+
### 3. Ralph Loops / Vòng Lặp Tự Sửa Lỗi Verify-Fix (`run-verify-loop.sh`)
|
|
119
|
+
* **Vấn đề**: Khi test bị fail hoặc biên dịch lỗi, việc bắt lập trình viên phải copy-paste log lỗi và chỉ dẫn Agent sửa code thủ công là rất mất thời gian.
|
|
120
|
+
* **Giải pháp**: Thiết lập một vòng lặp tự phục hồi khép kín (Autonomous Self-Healing Loop). Khi lệnh verify phát hiện lỗi, script tự động đọc logs lỗi từ đĩa, phân tích, viết mã sửa đổi, và chạy lại bộ test liên tục lên tới 5 lần cho đến khi thành công.
|
|
121
|
+
* **Lợi ích**: Tự động giải quyết hơn 90% lỗi cú pháp, import thiếu hay lệch contract mà không cần con người can thiệp.
|
|
122
|
+
|
|
123
|
+
### 4. Công Cụ Lập Kế Hoạch 5-Phase MVP (`genesis-mvp-planning`)
|
|
124
|
+
* **Vấn đề**: Các Agent thông thường giải quyết công việc tự phát (ad-hoc), code bừa các tính năng khi chưa xây dựng vững chắc API Core, cơ sở dữ liệu hay cổng bảo mật, dẫn đến nợ kỹ thuật nghiêm trọng.
|
|
125
|
+
* **Giải pháp**: Tự động kích hoạt ngay sau khi khởi tạo dự án để cấu trúc công việc theo 5 cổng kiểm soát sản phẩm MVP (Móng API, Auth & Bảo mật, Tính năng cốt lõi, Tích hợp, Sẵn sàng Production), đảm bảo hạ tầng core được kiểm chứng trước khi viết code nghiệp vụ.
|
|
126
|
+
* **Lợi ích**: Áp đặt tính kỷ luật kiến trúc nghiêm ngặt và ngăn ngừa việc xây dựng tính năng trên một nền móng lỏng lẻo.
|
|
127
|
+
|
|
128
|
+
### 5. Cổng Kiểm Soát Trôi Đặc Tả Zero-Drift (`validation_gates.sh`)
|
|
129
|
+
* **Vấn đề**: Do tốc độ phát triển nhanh, tài liệu thiết kế (API contracts, DB schema, specs) thường bị trôi lệch và lỗi thời so với mã nguồn thực tế vì lập trình viên quên cập nhật.
|
|
130
|
+
* **Giải pháp**: Tích hợp trực tiếp vào các cổng chuyển đổi trạng thái FSM. Nó tự động quét Git changes và cảnh báo ngay lập tức nếu phát hiện file mã nguồn bị thay đổi mà tài liệu thiết kế đặc tả tương ứng trong `.codebase/` vẫn giữ nguyên.
|
|
131
|
+
* **Lợi ích**: Loại bỏ hoàn toàn sự trôi lệch tài liệu thiết kế, đảm bảo sơ đồ kiến trúc luôn phản ánh chính xác 100% mã nguồn thực tế.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## 🚀 Nâng Cấp Kỹ Nghệ Harness Thế Hệ Mới (v0.1.6)
|
|
136
|
+
|
|
137
|
+
Phiên bản Genesis v0.1.6 giới thiệu năm công cụ cao cấp, đột phá trong thư mục `scripts/` nhằm áp đặt an toàn kiểu dữ liệu, tự động hóa test, thiết lập sự đồng nhất giữa sơ đồ trực quan và mã nguồn, chủ động kiểm soát token và khôi phục nhanh bài học sửa lỗi của Ralph Loop:
|
|
138
|
+
|
|
139
|
+
1. **Đồng bộ Sơ đồ Trực quan 2 Chiều (`scripts/spec_visual_sync.js`)**: Trình biên dịch hai chiều tự động đồng bộ hóa sơ đồ cơ sở dữ liệu ERD Mermaid (`database-erd.mmd`) sang các tệp JSON API contracts (`contracts/api/`) và ngược lại, bảo vệ tính nhất quán thiết kế tuyệt đối.
|
|
140
|
+
2. **Trình Tự Động Sinh Test từ Hợp Đồng (`scripts/test_generator.js`)**: Tự động biên dịch và tạo cấu trúc các bộ kiểm thử tích hợp (Node.js/Jest) hoàn chỉnh tại `tests/integration/` trực tiếp từ các file response contract JSON, hỗ trợ lập tức kịch bản TDD "RED" skeleton.
|
|
141
|
+
3. **Cổng Kiểm Soát Đồng Nhất Kiểu Dữ Liệu Tĩnh (`scripts/contract_integrity_gate.js`)**: Trình phân tích tĩnh chủ động đối chiếu mã nguồn thực tế với JSON API contract khi FSM chuyển trạng thái, khóa cứng tiến trình build/commit nếu phát hiện trường dữ liệu bị thiếu hoặc sai lệch kiểu dữ liệu.
|
|
142
|
+
4. **Vệ Binh Tiền Trảm Token Chủ Động (`scripts/prompt_sentinel.js`)**: Bộ giám sát dung lượng token thời gian thực. Sentinel đo lường tải lượng token trước khi gọi LLM, chủ động tạm dừng các lệnh quá nặng và kích hoạt nén FSM/dọn logs khi dung lượng chạm ngưỡng an toàn (ví dụ: 20k tokens).
|
|
143
|
+
5. **Tự Động Thu Hồi Bài Học Sửa Lỗi (`scripts/healing_telemetry.js`)**: Hệ thống ghi chép lịch sử chữ ký lỗi và mã nguồn sửa lỗi thành công vào `.codebase/failures/lessons_learned.md`. Vòng lặp Ralph Loop sẽ đối sánh và tái sử dụng trực tiếp các phương án sửa lỗi này khi gặp lỗi tương ứng, đạt hiệu suất **tự khắc phục lỗi chỉ trong đúng 1 turn**.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## 🔬 Bảo Đảm Research-First (MỚI)
|
|
148
|
+
|
|
149
|
+
**Mỗi quyết định quan trọng đều dựa trên bằng chứng. Không đoán mò.**
|
|
150
|
+
|
|
151
|
+
Khi bạn dùng commands như `/genesis-init`, `/new-feature`, `/fix-bug`, Genesis tự động:
|
|
152
|
+
|
|
153
|
+
1. **Research Local** - Đọc codebase, pattern hiện tại, tài liệu
|
|
154
|
+
2. **Research External** - Kiểm tra GitHub, docs chính thức, best practices
|
|
155
|
+
3. **Compile Bằng Chứng** - Tạo research note với khuyến nghị + risks
|
|
156
|
+
4. **Generate Plan** - Tạo plan được điền sẵn từ findings
|
|
157
|
+
5. **Bạn Review** - Phê duyệt plan trước khi bắt đầu implement
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
/new-feature "Thêm WebSocket notifications"
|
|
161
|
+
↓
|
|
162
|
+
[TỰ ĐỘNG] Research Phase
|
|
163
|
+
- Tìm thấy Socket.io setup hiện tại trong codebase
|
|
164
|
+
- GitHub best practices: Redis adapter để scale
|
|
165
|
+
- Official docs: Socket.io namespace pattern
|
|
166
|
+
↓
|
|
167
|
+
[TỰ ĐỘNG] Compiled Research Note
|
|
168
|
+
- Câu hỏi: Cách tốt nhất để thêm real-time notifications?
|
|
169
|
+
- Bằng chứng: Codebase dùng Socket.io, team quen thuộc
|
|
170
|
+
- Khuyến nghị: Extend Socket.io hiện tại (không library mới)
|
|
171
|
+
- Risks: Cần Redis availability
|
|
172
|
+
↓
|
|
173
|
+
[TỰ ĐỘNG] Generated Plan
|
|
174
|
+
- Phase 1: Socket.io namespace setup
|
|
175
|
+
- Phase 2: Authentication
|
|
176
|
+
- Phase 3: Notification flow
|
|
177
|
+
- Pre-populated risks từ research
|
|
178
|
+
↓
|
|
179
|
+
Bạn Review & Approve
|
|
180
|
+
- Plan sẵn sàng với đầy đủ research backing
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**Lợi Ích**:
|
|
184
|
+
- ✅ Không "framework nào nên dùng?" đoán mò
|
|
185
|
+
- ✅ Tất cả quyết định backed by evidence
|
|
186
|
+
- ✅ Pattern tái sử dụng từ existing codebase
|
|
187
|
+
- ✅ Best practices tự động included
|
|
188
|
+
- ✅ Risks identified upfront
|
|
189
|
+
- ✅ 0 rework từ wrong assumptions
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## 🚀 Bắt Đầu Nhanh (5 Phút)
|
|
194
|
+
|
|
195
|
+
### 1. Cài Đặt
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
# Cài global (recommended)
|
|
199
|
+
npm install -g codex-genesis-harness@latest
|
|
200
|
+
|
|
201
|
+
# Kiểm tra cài đặt
|
|
202
|
+
genesis-harness verify
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### 2. Khởi Tạo Dự Án
|
|
206
|
+
|
|
207
|
+
Mở Codex (VS Code Copilot) và gõ một command:
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
/genesis-init
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**Codex sẽ hỏi**:
|
|
214
|
+
- Tên dự án? (ví dụ: "E-Commerce API")
|
|
215
|
+
- Mô tả ngắn? (ví dụ: "REST API cho cửa hàng online với thanh toán Stripe")
|
|
216
|
+
|
|
217
|
+
**Genesis tự động tạo**:
|
|
218
|
+
```
|
|
219
|
+
✅ Cấu trúc dự án (30 thư mục)
|
|
220
|
+
✅ Template tài liệu (22 file)
|
|
221
|
+
✅ Lập kế hoạch giai đoạn (5 giai đoạn mặc định)
|
|
222
|
+
✅ Template test (sẵn sàng customize)
|
|
223
|
+
✅ Template contract (API, UI, data)
|
|
224
|
+
✅ Hệ thống memory (.codebase/ structure)
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### 3. Bắt Đầu Feature Đầu Tiên
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
/new-feature "Thêm xác thực người dùng với JWT"
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
**Genesis cung cấp**:
|
|
234
|
+
```
|
|
235
|
+
contracts/api/auth/
|
|
236
|
+
├── request.json # API nhận gì
|
|
237
|
+
├── response.json # API trả gì
|
|
238
|
+
├── error.json # Các lỗi
|
|
239
|
+
├── schema.json # Quy tắc validation
|
|
240
|
+
└── example.json # Ví dụ cụ thể
|
|
241
|
+
|
|
242
|
+
tests/integration/
|
|
243
|
+
├── auth.test.md # Template test (viết test trước!)
|
|
244
|
+
|
|
245
|
+
fixtures/
|
|
246
|
+
├── auth-fixture.md # Test data + expected output
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### 4. Tuân Theo Test-First Workflow
|
|
250
|
+
|
|
251
|
+
**RED** - Viết test thất bại:
|
|
252
|
+
```javascript
|
|
253
|
+
// tests/integration/auth.test.md
|
|
254
|
+
it('nên xác thực người dùng với mật khẩu đúng', async () => {
|
|
255
|
+
const res = await POST('/api/auth/login', {
|
|
256
|
+
email: 'user@example.com',
|
|
257
|
+
password: 'correct_password'
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
assert(res.status === 200);
|
|
261
|
+
assert(res.body.token); // JWT token được trả về
|
|
262
|
+
});
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
**GREEN** - Code minimal để pass test:
|
|
266
|
+
```javascript
|
|
267
|
+
// src/auth.js
|
|
268
|
+
app.post('/api/auth/login', (req, res) => {
|
|
269
|
+
const { email, password } = req.body;
|
|
270
|
+
|
|
271
|
+
if (password === 'correct_password') {
|
|
272
|
+
const token = jwt.sign({ email }, process.env.JWT_SECRET);
|
|
273
|
+
res.json({ token });
|
|
274
|
+
} else {
|
|
275
|
+
res.status(401).json({ error: 'Mật khẩu sai' });
|
|
276
|
+
}
|
|
277
|
+
});
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
**IMPROVE** - Refactor:
|
|
281
|
+
```javascript
|
|
282
|
+
// Validation tốt hơn, error handling, logging
|
|
283
|
+
// Genesis kiểm tra: tests pass ✅, contract match ✅, coverage 80%+ ✅
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### 5. Xác Minh Mọi Thứ
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
npm run verify
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
**Genesis kiểm tra**:
|
|
293
|
+
- ✅ Tất cả test pass
|
|
294
|
+
- ✅ Contract match implementation
|
|
295
|
+
- ✅ 80%+ test coverage
|
|
296
|
+
- ✅ Không vượt token budget
|
|
297
|
+
- ✅ Code quality đạt tiêu chuẩn
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## 🛠️ Hướng Dẫn Sử Dụng Chi Tiết Cho Từng Trường Hợp
|
|
302
|
+
|
|
303
|
+
Dưới đây là cẩm nang hướng dẫn từng bước (Step-by-step Runbook) để vận hành Genesis Codex Harness trong mọi tình huống phát triển phần mềm thực tế.
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
### 1️⃣ Khởi Tạo Dự Án Mới Từ Đầu (`/genesis-init` Flow)
|
|
308
|
+
Áp dụng khi bạn bắt đầu một dự án hoàn toàn mới và muốn Genesis thiết lập nền móng chuẩn chỉnh ngay từ ngày đầu.
|
|
309
|
+
|
|
310
|
+
* **Bước 1**: Tạo một thư mục trống và mở bằng VS Code (đã cài Codex/Claude):
|
|
311
|
+
```bash
|
|
312
|
+
mkdir my-awesome-project && cd my-awesome-project
|
|
313
|
+
code .
|
|
314
|
+
```
|
|
315
|
+
* **Bước 2**: Gõ lệnh khởi tạo trong chat của Codex:
|
|
316
|
+
```text
|
|
317
|
+
/genesis-init
|
|
318
|
+
```
|
|
319
|
+
* **Bước 3**: Cung cấp thông tin dự án khi được hỏi (Tên dự án, Mô tả, Tech Stack đề xuất).
|
|
320
|
+
* **Bước 4**: Genesis sẽ tự động chạy `init-planning.sh` để:
|
|
321
|
+
* Khởi tạo cây thư mục tiêu chuẩn (`contracts/`, `fixtures/`, `tests/`, `.codebase/`, `observability/`).
|
|
322
|
+
* Tạo file `.codebase/CURRENT_STATE.md` và `ARCHITECTURE.md`.
|
|
323
|
+
* Phân rã dự án thành **5 giai đoạn phát triển (Phases)** rõ ràng với các mốc bàn giao cụ thể.
|
|
324
|
+
* **Bước 5**: Chạy thử lệnh verify đầu tiên để đảm bảo cấu trúc hoàn hảo:
|
|
325
|
+
```bash
|
|
326
|
+
genesis-harness verify
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
### 2️⃣ Thêm Một Feature Mới (`/new-feature` Flow - Tuân Thủ TDD Tuyệt Đối)
|
|
332
|
+
Áp dụng khi bạn phát triển một tính năng mới trong dự án đã có sẵn Genesis. Quy trình bắt buộc tuân theo triết lý Test-First.
|
|
333
|
+
|
|
334
|
+
* **Bước 1**: Ra lệnh cho Codex bắt đầu tính năng mới:
|
|
335
|
+
```text
|
|
336
|
+
/new-feature "Thêm API thanh toán Momo với callback URL"
|
|
337
|
+
```
|
|
338
|
+
* **Bước 2**: [TỰ ĐỘNG] Genesis kích hoạt **Research-First Engine**:
|
|
339
|
+
* Quét codebase để tìm cấu trúc thanh toán Stripe hoặc ZaloPay hiện tại.
|
|
340
|
+
* Tạo bản nghiên cứu `research-template.md` đề xuất giải pháp Momo SDK/API.
|
|
341
|
+
* Thiết lập một **Implementation Plan** chi tiết.
|
|
342
|
+
* **Bước 3**: Bạn xem xét và duyệt Implementation Plan.
|
|
343
|
+
* **Bước 4**: **Thiết lập Contract (Contract-First)**:
|
|
344
|
+
* Tạo/cập nhật contract tại `contracts/api/payments/momo-request.json` và `momo-response.json`.
|
|
345
|
+
* **Bước 5**: **Viết Test Thất Bại (RED)**:
|
|
346
|
+
* Tạo test case trong `tests/integration/momo.test.md` mô phỏng việc gọi API Momo và nhận callback.
|
|
347
|
+
* Chạy test và xác nhận test bị lỗi (RED):
|
|
348
|
+
```bash
|
|
349
|
+
npm run test
|
|
350
|
+
```
|
|
351
|
+
* **Bước 6**: **Implement Code Minimal (GREEN)**:
|
|
352
|
+
* Viết lượng code tối thiểu trong `src/routes/payments.js` để làm test pass.
|
|
353
|
+
* **Bước 7**: **Tự Động Xác Minh & Tối Ưu (IMPROVE)**:
|
|
354
|
+
* Kích hoạt Ralph Loop để kiểm tra và tối ưu chất lượng code, độ phủ test (>80%):
|
|
355
|
+
```bash
|
|
356
|
+
bash scripts/run-verify-loop.sh
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
---
|
|
360
|
+
|
|
361
|
+
### 3️⃣ Sửa Một Bug Phát Sinh (`/fix-bug` Flow)
|
|
362
|
+
Áp dụng khi có bug phát sinh ở môi trường production hoặc khi chạy bộ test suite bị fail.
|
|
363
|
+
|
|
364
|
+
* **Bước 1**: Ra lệnh cho Codex phân tích và xử lý bug:
|
|
365
|
+
```text
|
|
366
|
+
/fix-bug "Mã giảm giá (discount_code) không áp dụng được khi giỏ hàng có trên 5 sản phẩm"
|
|
367
|
+
```
|
|
368
|
+
* **Bước 2**: [TỰ ĐỘNG] Genesis tạo file theo dõi lỗi `bug-template.md` trong `.codebase/failures/` yêu cầu:
|
|
369
|
+
* Xác định nguyên nhân gốc rễ (Root Cause).
|
|
370
|
+
* Viết một test case tái hiện lỗi (Reproducible Test Case) trước khi sửa code.
|
|
371
|
+
* **Bước 3**: **Tái Hiện Lỗi (Write Repro Test)**:
|
|
372
|
+
* Thêm test case vào `tests/unit/discount.test.js` truyền giỏ hàng 6 sản phẩm và mã giảm giá, kiểm tra xem giá trị giảm có bằng 0 hay không.
|
|
373
|
+
* Chạy test để thấy lỗi đỏ (RED).
|
|
374
|
+
* **Bước 4**: **Sửa Lỗi (Fix & Self-Heal)**:
|
|
375
|
+
* Sửa logic tính toán trong `src/services/discount.js`.
|
|
376
|
+
* Chạy vòng lặp tự phục hồi lỗi để đảm bảo code sửa không làm hỏng các tính năng cũ (Regression Testing):
|
|
377
|
+
```bash
|
|
378
|
+
bash scripts/run-verify-loop.sh
|
|
379
|
+
```
|
|
380
|
+
* **Bước 5**: Cập nhật trạng thái bug thành đã giải quyết và lưu lại bài học kinh nghiệm (`lessons-learned-template.md`) để tránh lặp lại lỗi.
|
|
381
|
+
|
|
382
|
+
---
|
|
383
|
+
|
|
384
|
+
### 4️⃣ Tích Hợp Genesis Vào Dự Án Đã Có Sẵn (Existing Project Integration)
|
|
385
|
+
Áp dụng khi bạn có một codebase truyền thống đang chạy và muốn áp dụng sức mạnh quản lý của Genesis Codex Harness.
|
|
386
|
+
|
|
387
|
+
* **Bước 1**: Cài đặt gói harness toàn cục nếu chưa cài:
|
|
388
|
+
```bash
|
|
389
|
+
npm install -g codex-genesis-harness@latest
|
|
390
|
+
```
|
|
391
|
+
* **Bước 2**: Tại thư mục gốc của dự án hiện tại, khởi khởi chạy quá trình tiêm (injection):
|
|
392
|
+
```bash
|
|
393
|
+
genesis-harness init --existing
|
|
394
|
+
```
|
|
395
|
+
*(Hoặc gõ lệnh trong Codex: `Tôi muốn tích hợp Genesis vào dự án hiện tại này`)*
|
|
396
|
+
* **Bước 3**: **Thiết lập Cầu Nối Khai Báo (Memory Mapping)**:
|
|
397
|
+
* Genesis sẽ quét toàn bộ dự án hiện có để tự động tạo sơ đồ dependency và lưu vào `.codebase/DEPENDENCY_GRAPH.md`.
|
|
398
|
+
* Tạo file cấu trúc `.codebase/CURRENT_STATE.md` liệt kê các module hiện tại của bạn như "Phase 0 (Legacy Components)".
|
|
399
|
+
* **Bước 4**: **Tạo API Contracts Cho Hệ Thống Hiện Tại**:
|
|
400
|
+
* Chọn các API Core quan trọng nhất, gõ lệnh:
|
|
401
|
+
```text
|
|
402
|
+
/spec-change src/routes/users.js
|
|
403
|
+
```
|
|
404
|
+
* Genesis sẽ tự động dịch code hiện có thành API contracts chuẩn đặt tại `contracts/api/users/`.
|
|
405
|
+
* **Bước 5**: Chạy `genesis-harness verify` để xác nhận việc tích hợp thành công mà không ảnh hưởng tới code cũ.
|
|
406
|
+
|
|
407
|
+
---
|
|
408
|
+
|
|
409
|
+
### 5️⃣ Cập Nhật Đặc Tả Spec & Lan Tỏa Thay Đổi (`/spec-change` & `/propagate-spec` Cascade Rules)
|
|
410
|
+
Áp dụng khi khách hàng hoặc đội ngũ thiết kế thay đổi yêu cầu nghiệp vụ (ví dụ: đổi tên trường dữ liệu, thêm điều kiện bắt buộc của API).
|
|
411
|
+
|
|
412
|
+
* **Bước 1**: Cập nhật file contract vật lý (ví dụ: `contracts/api/products/response.json`).
|
|
413
|
+
* **Bước 2**: Khai báo sự thay đổi spec với Codex:
|
|
414
|
+
```text
|
|
415
|
+
/spec-change contracts/api/products/response.json
|
|
416
|
+
```
|
|
417
|
+
* **Bước 3**: [TỰ ĐỘNG] Genesis quét toàn bộ dự án để tìm các thành phần chịu ảnh hưởng (Impact Analysis):
|
|
418
|
+
* Phát hiện ra API Orders hiển thị thông tin sản phẩm bị ảnh hưởng.
|
|
419
|
+
* Phát hiện ra Frontend UI hiển thị sản phẩm bị ảnh hưởng.
|
|
420
|
+
* **Bước 4**: Gọi lệnh lan tỏa để tự động cập nhật đồng bộ hạ nguồn:
|
|
421
|
+
```text
|
|
422
|
+
/propagate-spec
|
|
423
|
+
```
|
|
424
|
+
* **Bước 5**: Genesis sẽ tự động sửa đổi tất cả các file contract phụ thuộc, test fixtures liên quan, và chạy lại bộ test để đảm bảo không có gì bị gãy.
|
|
425
|
+
|
|
426
|
+
---
|
|
427
|
+
|
|
428
|
+
## 💡 Ví Dụ Thực Tế: E-Commerce API
|
|
429
|
+
|
|
430
|
+
### Tình Huống
|
|
431
|
+
Xây dựng complete e-commerce API với:
|
|
432
|
+
- Products (search, filter)
|
|
433
|
+
- Orders (create, track, list)
|
|
434
|
+
- Payments (Stripe integration)
|
|
435
|
+
|
|
436
|
+
### Thực Hiện (90 phút)
|
|
437
|
+
|
|
438
|
+
#### Bước 1: Khởi Tạo (5 phút)
|
|
439
|
+
```bash
|
|
440
|
+
/genesis-init
|
|
441
|
+
# Input: "Nền tảng E-Commerce"
|
|
442
|
+
# Output: Project auto-structured với 5 giai đoạn
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
#### Bước 2: Giai Đoạn 1 - Products API (30 phút)
|
|
446
|
+
|
|
447
|
+
```bash
|
|
448
|
+
/new-feature "GET /api/products với search, filter, pagination"
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
**Contract tạo** (`contracts/api/products/request.json`):
|
|
452
|
+
```json
|
|
453
|
+
{
|
|
454
|
+
"method": "GET",
|
|
455
|
+
"endpoint": "/api/products",
|
|
456
|
+
"query_params": {
|
|
457
|
+
"search": "string (optional, min 2 ký tự)",
|
|
458
|
+
"category": "string (optional: điện tử, sách, quần áo)",
|
|
459
|
+
"price_min": "number (optional, >= 0)",
|
|
460
|
+
"price_max": "number (optional, > price_min)",
|
|
461
|
+
"sort": "string (price_asc, price_desc, newest, rating)",
|
|
462
|
+
"page": "number (default 1, min 1)",
|
|
463
|
+
"limit": "number (default 20, max 100)"
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
**Test template** (`tests/integration/products.test.md`):
|
|
469
|
+
```javascript
|
|
470
|
+
describe('GET /api/products', () => {
|
|
471
|
+
it('nên trả tất cả sản phẩm khi không có filter', async () => {
|
|
472
|
+
const res = await fetch('/api/products');
|
|
473
|
+
assert(res.status === 200);
|
|
474
|
+
assert(Array.isArray(res.data));
|
|
475
|
+
});
|
|
476
|
+
|
|
477
|
+
it('nên filter theo category', async () => {
|
|
478
|
+
const res = await fetch('/api/products?category=điện tử');
|
|
479
|
+
assert(res.data.every(p => p.category === 'điện tử'));
|
|
480
|
+
});
|
|
481
|
+
|
|
482
|
+
it('nên search theo tên sản phẩm', async () => {
|
|
483
|
+
const res = await fetch('/api/products?search=laptop');
|
|
484
|
+
assert(res.data.some(p => p.name.toLowerCase().includes('laptop')));
|
|
485
|
+
});
|
|
486
|
+
|
|
487
|
+
it('nên sort theo giá tăng dần', async () => {
|
|
488
|
+
const res = await fetch('/api/products?sort=price_asc');
|
|
489
|
+
const prices = res.data.map(p => p.price);
|
|
490
|
+
assert(prices.every((p, i, arr) => i === 0 || arr[i-1] <= p));
|
|
491
|
+
});
|
|
492
|
+
|
|
493
|
+
it('nên phân trang kết quả', async () => {
|
|
494
|
+
const res1 = await fetch('/api/products?page=1&limit=10');
|
|
495
|
+
const res2 = await fetch('/api/products?page=2&limit=10');
|
|
496
|
+
assert(res1.data.length === 10);
|
|
497
|
+
assert(res2.data.length === 10);
|
|
498
|
+
assert(res1.data[0].id !== res2.data[0].id);
|
|
499
|
+
});
|
|
500
|
+
});
|
|
501
|
+
```
|
|
502
|
+
|
|
503
|
+
**Implementation** (bạn code):
|
|
504
|
+
```javascript
|
|
505
|
+
// src/routes/products.js
|
|
506
|
+
app.get('/api/products', (req, res) => {
|
|
507
|
+
let products = db.products.getAll();
|
|
508
|
+
|
|
509
|
+
// Search
|
|
510
|
+
if (req.query.search) {
|
|
511
|
+
products = products.filter(p =>
|
|
512
|
+
p.name.toLowerCase().includes(req.query.search.toLowerCase())
|
|
513
|
+
);
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
// Filter by category
|
|
517
|
+
if (req.query.category) {
|
|
518
|
+
products = products.filter(p => p.category === req.query.category);
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
// Price range
|
|
522
|
+
if (req.query.price_min) products = products.filter(p => p.price >= req.query.price_min);
|
|
523
|
+
if (req.query.price_max) products = products.filter(p => p.price <= req.query.price_max);
|
|
524
|
+
|
|
525
|
+
// Sort
|
|
526
|
+
if (req.query.sort === 'price_asc') products.sort((a, b) => a.price - b.price);
|
|
527
|
+
if (req.query.sort === 'price_desc') products.sort((a, b) => b.price - a.price);
|
|
528
|
+
|
|
529
|
+
// Pagination
|
|
530
|
+
const page = parseInt(req.query.page) || 1;
|
|
531
|
+
const limit = Math.min(parseInt(req.query.limit) || 20, 100);
|
|
532
|
+
const start = (page - 1) * limit;
|
|
533
|
+
|
|
534
|
+
res.json({
|
|
535
|
+
data: products.slice(start, start + limit),
|
|
536
|
+
pagination: {
|
|
537
|
+
page,
|
|
538
|
+
limit,
|
|
539
|
+
total: products.length,
|
|
540
|
+
pages: Math.ceil(products.length / limit)
|
|
541
|
+
}
|
|
542
|
+
});
|
|
543
|
+
});
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
#### Bước 3: Lan Tỏa Thay Đổi Spec (5 phút)
|
|
547
|
+
|
|
548
|
+
**Bạn quyết định**: "Thêm `rating` và `reviews_count` vào sản phẩm"
|
|
549
|
+
|
|
550
|
+
```bash
|
|
551
|
+
# Cập nhật contract
|
|
552
|
+
/spec-change contracts/api/products/response.json
|
|
553
|
+
```
|
|
554
|
+
|
|
555
|
+
**Genesis phát hiện**:
|
|
556
|
+
```
|
|
557
|
+
✓ Breaking change: response schema cập nhật
|
|
558
|
+
✓ Giai đoạn bị ảnh hưởng:
|
|
559
|
+
- Giai đoạn 2 (Orders) hiển thị sản phẩm
|
|
560
|
+
- Giai đoạn 3 (Payments) hiển thị sản phẩm
|
|
561
|
+
✓ Auto-updating: contracts, tests, fixtures
|
|
562
|
+
✓ Running verification: Tất cả test pass
|
|
563
|
+
✓ Report: "2 giai đoạn auto-updated ✅"
|
|
564
|
+
```
|
|
565
|
+
|
|
566
|
+
**Không cần tọa độ thủ công!** Các giai đoạn sau tự động cập nhật.
|
|
567
|
+
|
|
568
|
+
#### Bước 4: Giai Đoạn 2 - Orders API (30 phút)
|
|
569
|
+
|
|
570
|
+
```bash
|
|
571
|
+
/new-feature "POST /api/orders để tạo đơn hàng"
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
Genesis tạo contracts, tests, fixtures. Bạn implement.
|
|
575
|
+
|
|
576
|
+
#### Bước 5: Giai Đoạn 3 - Payments (30 phút)
|
|
577
|
+
|
|
578
|
+
```bash
|
|
579
|
+
/new-feature "POST /api/payments với Stripe integration"
|
|
580
|
+
```
|
|
581
|
+
|
|
582
|
+
Genesis tạo contracts cho:
|
|
583
|
+
- Create payment intent
|
|
584
|
+
- Handle Stripe webhook
|
|
585
|
+
- Update order payment status
|
|
586
|
+
|
|
587
|
+
#### Bước 6: Release (15 phút)
|
|
588
|
+
|
|
589
|
+
```bash
|
|
590
|
+
/release
|
|
591
|
+
```
|
|
592
|
+
|
|
593
|
+
Genesis:
|
|
594
|
+
- ✅ Kiểm tra tất cả test pass (80%+ coverage)
|
|
595
|
+
- ✅ Generate changelog từ commits
|
|
596
|
+
- ✅ Bump version (v1.0.0 → v1.1.0)
|
|
597
|
+
- ✅ Tag git release
|
|
598
|
+
- ✅ Sẵn sàng publish
|
|
599
|
+
|
|
600
|
+
---
|
|
601
|
+
|
|
602
|
+
## 📚 25 Skills (Tất Cả)
|
|
603
|
+
|
|
604
|
+
Mỗi skill tuân theo naming quy chuẩn trong thư mục `.codex/skills/`:
|
|
605
|
+
|
|
606
|
+
| Skill Thư Mục | Mục Đích | Khi Dùng |
|
|
607
|
+
|---|---|---|
|
|
608
|
+
| **genesis-harness** | Entry point chính của hệ thống | `/genesis-init`, `/new-feature`, `/fix-bug` |
|
|
609
|
+
| **genesis-research-first** | Tự động hóa nghiên cứu thực chứng trước khi lập kế hoạch | Tự động chạy khi nhận task mới |
|
|
610
|
+
| **genesis-api-contract** | Thiết kế API contract chuẩn (schema, request, response) | Trước khi code endpoint |
|
|
611
|
+
| **genesis-api-sync** | Đồng bộ hóa API contract và codebase tự động | Khi cập nhật endpoint |
|
|
612
|
+
| **genesis-spec-propagation** | Tự động lan tỏa thay đổi đặc tả xuống hạ nguồn | Khi spec thay đổi |
|
|
613
|
+
| **genesis-docs-automation** | Tự động hóa đồng bộ tài liệu hệ thống | Tự động chạy sau khi test pass |
|
|
614
|
+
| **ui-ux-test-skill** | Thiết kế và xác thực UI flows, kịch bản test giao diện | Trước khi triển khai giao diện |
|
|
615
|
+
| **genesis-debug-guide** | Hướng dẫn chẩn đoán và khắc phục lỗi có hệ thống | Khi code lỗi hoặc test fail |
|
|
616
|
+
| **genesis-pipeline-orchestration** | Điều phối pipeline phát triển nhiều giai đoạn | Quản lý đa giai đoạn |
|
|
617
|
+
| **genesis-architecture** | Thiết kế hệ thống và ghi nhận quyết định kiến trúc (ADR) | Quyết định thiết kế lớn |
|
|
618
|
+
| **genesis-planning** | Lập kế hoạch phân rã công việc khoa học | Chuẩn bị feature phức tạp |
|
|
619
|
+
| **genesis-mvp-planning** | Tự động lập kế hoạch và phân rã Lộ trình 5-Phase MVP | Chạy ngay sau khi khởi tạo dự án |
|
|
620
|
+
| **genesis-codebase-map** | Vẽ bản đồ kiến trúc codebase | Tìm hiểu codebase lớn |
|
|
621
|
+
| **genesis-docs** | Tạo tài liệu kỹ thuật chi tiết | Kết thúc giai đoạn / release |
|
|
622
|
+
| **genesis-research** | Nghiên cứu công nghệ, thư viện phù hợp | Tìm kiếm best practices |
|
|
623
|
+
| **genesis-release** | Quản lý quy trình phát hành phiên bản | Version control + git tag |
|
|
624
|
+
| **genesis-release-orchestration** | Tự động hóa lập kế hoạch và runbook phát hành | Chuẩn bị deploy hệ thống |
|
|
625
|
+
| **genesis-performance-profiling** | Đo lường hiệu suất và tối ưu hóa thời gian chạy | Trước khi tối ưu hiệu năng |
|
|
626
|
+
| **genesis-observability-automation** | Tự động ghi chép quyết định (ADR) và log hành vi hệ thống | Ghi chép lịch sử vận hành |
|
|
627
|
+
| **genesis-ai-provider** | Theo dõi và tối ưu hóa lượng token tiêu thụ | Giám sát chi phí API |
|
|
628
|
+
| **genesis-new-design** | Xây dựng đặc tả thiết kế UI/UX mới | Feature UI/UX mới |
|
|
629
|
+
| **genesis-upgrade-design** | Kiểm toán và nâng cấp thiết kế UI hiện có | Cải tiến giao diện hiện tại |
|
|
630
|
+
| **genesis-design-spec** | Thiết lập Design System và Design Tokens | Đồng bộ thiết kế hệ thống |
|
|
631
|
+
| **genesis-harness-engineering** | Xây dựng cơ sở hạ tầng test và dữ liệu mẫu | Setup test framework |
|
|
632
|
+
| **spec-impact-engine** | Công cụ đánh giá mức độ ảnh hưởng của thay đổi spec | Kiểm tra độ tương thích |
|
|
633
|
+
|
|
634
|
+
---
|
|
635
|
+
|
|
636
|
+
## 📖 Tài Liệu Tham Khảo
|
|
637
|
+
|
|
638
|
+
| Tài Liệu | Mục Đích | Thời Gian |
|
|
639
|
+
|----------|---------|----------|
|
|
640
|
+
| [MODEL_ALLOCATION.md](.codex/MODEL_ALLOCATION.md) | Tại sao Codex là primary | 5 phút |
|
|
641
|
+
| [SKILLS_INDEX.md](.codex/SKILLS_INDEX.md) | Chi tiết 19 skills | 20 phút |
|
|
642
|
+
| [SKILLS_NAMING_GUIDE.md](.codex/SKILLS_NAMING_GUIDE.md) | Convention naming | 5 phút |
|
|
643
|
+
| [FILE_NAMING_CLARIFICATION.md](.codebase/FILE_NAMING_CLARIFICATION.md) | Giải thích file naming | 5 phút |
|
|
644
|
+
| [CONTRIBUTING.md](CONTRIBUTING.md) | Cách đóng góp | 10 phút |
|
|
645
|
+
|
|
646
|
+
---
|
|
647
|
+
|
|
648
|
+
## ❓ Câu Hỏi Thường Gặp
|
|
649
|
+
|
|
650
|
+
**Q: Tôi cần phải là expert Codex không?**
|
|
651
|
+
A: Không! Genesis xử lý hầu hết. Bạn chỉ dùng commands đơn giản như `/genesis-init`, `/new-feature`.
|
|
652
|
+
|
|
653
|
+
**Q: Genesis có dành cho mô hình AI khác không?**
|
|
654
|
+
A: **Chỉ dành cho Codex**. Genesis được thiết kế riêng cho Codex.
|
|
655
|
+
|
|
656
|
+
**Q: Tiết kiệm token bao nhiêu thực tế?**
|
|
657
|
+
A: **40-60% per project**. Dự án bình thường: 150k tokens → 60-90k tokens (với Genesis).
|
|
658
|
+
|
|
659
|
+
**Q: Tôi có thể customize skills không?**
|
|
660
|
+
A: Có! Copy skill từ `.codex/skills/genesis-*`, sửa, Genesis sẽ dùng version của bạn.
|
|
661
|
+
|
|
662
|
+
**Q: Tôi muốn thêm Genesis vào dự án hiện tại?**
|
|
663
|
+
A: Xem [CONTRIBUTING.md](CONTRIBUTING.md). Mất khoảng 30 phút.
|
|
664
|
+
|
|
665
|
+
**Q: Có giới hạn hoặc cạm bẫy nào không?**
|
|
666
|
+
A: Main limits: max 5 giai đoạn/project, token budget enforcement.
|
|
667
|
+
|
|
668
|
+
---
|
|
669
|
+
|
|
670
|
+
## 📦 Cài Đặt & Setup
|
|
671
|
+
|
|
672
|
+
### Yêu Cầu
|
|
673
|
+
- Node.js 16+
|
|
674
|
+
- npm 8+
|
|
675
|
+
- Codex qua VS Code Copilot
|
|
676
|
+
|
|
677
|
+
### Cách Cài
|
|
678
|
+
|
|
679
|
+
**Cách 1: npm (Recommended)**
|
|
680
|
+
```bash
|
|
681
|
+
npm install -g codex-genesis-harness@latest
|
|
682
|
+
genesis-harness verify
|
|
683
|
+
```
|
|
684
|
+
|
|
685
|
+
**Cách 2: Từ Git**
|
|
686
|
+
```bash
|
|
687
|
+
git clone https://github.com/tuanpham09/codex-genesis-harness.git
|
|
688
|
+
cd codex-genesis-harness
|
|
689
|
+
./scripts/install.sh
|
|
690
|
+
./scripts/verify.sh
|
|
691
|
+
```
|
|
692
|
+
|
|
693
|
+
### Kiểm Tra Cài Đặt
|
|
694
|
+
|
|
695
|
+
```bash
|
|
696
|
+
npm run verify # Kiểm tra file
|
|
697
|
+
./scripts/verify.sh # Kiểm tra skills
|
|
698
|
+
npm run eval # Chạy evaluation
|
|
699
|
+
```
|
|
700
|
+
|
|
701
|
+
---
|
|
702
|
+
|
|
703
|
+
## 🎓 Lộ Trình Học
|
|
704
|
+
|
|
705
|
+
### Tuần 1: Cơ Bản (2-3 tiếng)
|
|
706
|
+
- [ ] Đọc README này
|
|
707
|
+
- [ ] Chạy `/genesis-init` tạo project đầu tiên
|
|
708
|
+
- [ ] Đọc execution-plan.md
|
|
709
|
+
- [ ] Hoàn thành Giai Đoạn 0 (nền tảng)
|
|
710
|
+
- [ ] Bắt đầu Giai Đoạn 1 với `/new-feature`
|
|
711
|
+
|
|
712
|
+
### Tuần 2: Workflows (3-4 tiếng)
|
|
713
|
+
- [ ] Implement 2-3 features với `/new-feature`
|
|
714
|
+
- [ ] Trải nghiệm `/spec-change` auto-updates
|
|
715
|
+
- [ ] Fix bugs với `/fix-bug`
|
|
716
|
+
- [ ] Chạy test: `npm run verify`
|
|
717
|
+
- [ ] Review code: `/review`
|
|
718
|
+
|
|
719
|
+
### Tuần 3: Thành Thạo (2-3 tiếng)
|
|
720
|
+
- [ ] Lead một 2-phase project từ đầu đến cuối
|
|
721
|
+
- [ ] Cảm nhận tiết kiệm token thực tế
|
|
722
|
+
- [ ] Hiểu lợi ích memory system
|
|
723
|
+
- [ ] Hướng dẫn người khác
|
|
724
|
+
|
|
725
|
+
### Liên Tục: Nâng Cao
|
|
726
|
+
- [ ] Customize skills cho domain của bạn
|
|
727
|
+
- [ ] Tạo skill templates tái sử dụng
|
|
728
|
+
- [ ] Đóng góp cải thiện vào Genesis
|
|
729
|
+
- [ ] Dùng cho dự án production
|
|
730
|
+
|
|
731
|
+
---
|
|
732
|
+
|
|
733
|
+
## 💖 Ủng Hộ Dự Án (Donate)
|
|
734
|
+
|
|
735
|
+
Dự án này là mã nguồn mở và được phát triển hoàn toàn vì đam mê. Nếu bạn thấy **Genesis Codex Harness** hữu ích và giúp bạn tiết kiệm thời gian, bạn có thể mời tôi một ly cafe để tiếp thêm động lực phát triển nhé:
|
|
736
|
+
|
|
737
|
+
- **Momo**: `0865814259`
|
|
738
|
+
- **PayPal**: *(Sẽ cập nhật sau)*
|
|
739
|
+
|
|
740
|
+
Cảm ơn bạn rất nhiều vì đã đồng hành cùng sự phát triển của dự án! ❤️
|
|
741
|
+
|
|
742
|
+
---
|
|
743
|
+
|
|
744
|
+
## 🔗 Tài Nguyên
|
|
745
|
+
|
|
746
|
+
- **GitHub**: [codex-genesis-harness](https://github.com/tuanpham09/codex-genesis-harness)
|
|
747
|
+
- **Tài Liệu**: Xem thư mục [.codex/](./codex/)
|
|
748
|
+
- **Issues**: GitHub Issues
|
|
749
|
+
- **Thảo Luận**: GitHub Discussions
|
|
750
|
+
|
|
751
|
+
---
|
|
752
|
+
|
|
753
|
+
## 📊 Trạng Thái Dự Án
|
|
754
|
+
|
|
755
|
+
- ✅ **Architecture**: 10/10 (research-first + auto-debug + auto-spec-propagation + auto-docs + validation gates)
|
|
756
|
+
- ✅ **Codex-Only Enforcement**: 100%
|
|
757
|
+
- ✅ **25 Skills**: Hoàn toàn kế thừa và triển khai đầy đủ (đã bổ sung lộ trình 5-Phase MVP, tự chữa lành & nén context)
|
|
758
|
+
- ✅ **Test Coverage**: 80%+ required
|
|
759
|
+
- ✅ **Token Savings**: 40-60%
|
|
760
|
+
- ✅ **Production Ready**: Yes (v0.1.6)
|
|
761
|
+
- ✅ **Auto-Research Enforcement**: Active
|
|
762
|
+
- ✅ **Auto-Debug Verification**: Active
|
|
763
|
+
- ✅ **Auto-Spec-Propagation**: Active
|
|
764
|
+
- ✅ **Auto-Docs-Automation**: Active
|
|
765
|
+
|
|
766
|
+
---
|
|
767
|
+
|
|
768
|
+
## 📄 License & Ghi Nhận
|
|
769
|
+
|
|
770
|
+
MIT License - Xem [LICENSE](LICENSE)
|
|
771
|
+
|
|
772
|
+
**Genesis Codex Harness** - Xây dựng phần mềm production với Codex | v0.1.6 | Tháng 6, 2026
|
|
773
|
+
|
|
774
|
+
---
|
|
775
|
+
|
|
776
|
+
**Tiếp Theo**: Đọc [English](README.EN.md) để xem documentation tiếng Anh.
|