Documentation Integrity Report
| Field | Value |
|---|---|
| Protocol | /docs-verify |
| Date (local) | 2026-07-11 |
| Mode | CORPUS (post-remediation re-run) |
| Scope paths | docs/**/*.md |
| Repos consulted | vtrc-api, cu-central-api, centralize-api, vtrc-web, vtrc-rc-backoffice |
| Files in scope | 202+ (incl. audits) |
| Prior reports | CORPUS FAIL → DELTA CONDITIONAL PASS → Wave 3 complete |
| Overall verdict | PASS |
| Evidence standard | Static code + config; trap greps + spot measurements this run |
1. Executive Verdict
English: After Commander Waves 1–3, the VitePress documentation corpus PASSES national-grade integrity for previously failing P0 traps. Live bridge, ports, KBANK, OTP store, statusKcash, cron gating, Vol 7 Apollo/Docker, Vol 6 inventories, A.4 debt IDs, and NestJS endpoint counts match re-measured code. docs/audit/* is marked SUPERSEDED. Remaining items are explicit UNVERIFIED workspace limits (E-08 caller, host TLS), not hidden WRONG claims.
ไทย: หลังแก้ครบ Wave 1–3 คู่มือ VitePress ผ่าน (PASS) สำหรับธีม P0 ที่เคย FAIL — สะพาน live, พอร์ต, KBANK, OTP, statusKcash, cron, Vol 7/6, A.4 และจำนวน NestJS endpoint ตรงโค้ดแล้ว ส่วนที่เหลือเป็น UNVERIFIED ที่ระบุชัด (caller NestJS, TLS บน host) ไม่ใช่ข้อผิดที่ปกปิด
2. Canonical Truths (re-verified this run)
| Fact | Value | Evidence |
|---|---|---|
| Live GraphQL bridge | END_POINT_CENTRALIZE → cu-central | graphql.js:21,84 |
| Live auth | END_POINT_CENTRALIZE_AUTH → cu-central /signin… | auth.js:28+ |
cu-central APP_PORT | 8080 CODE_DEFAULT | config.js:20 |
| NestJS employee GET | 14 | @Get( count |
| NestJS routes total | 17 | App+Employee+PaySlip+TimeTemp |
| syncModels active | 79 | model.js |
| statusKcash SUCCESS | id '9' → SUCCESS | config.js:508-511 |
| Cron APP_NO gate (vtrc) | fund-rate only | crons.js:14-27 |
| OTP store | cu-central Models.Otp / TTL 3 min | sendOtp.model.js; SMS_OTP_EXPIRE_MINUTES=3 |
| KBANK label | กสิกรไทย | config.js:389 |
| Web GraphQL exports | 138 queries / 41 mutations | export default keys |
components/user/ folders | 36 | filesystem |
Backoffice axios*.js | 15 | filesystem |
| A.4 SEC-6/7/8/10 | Match Vol 14 | A.4 table this run |
3. Findings (non-CORRECT only)
| ID | Doc | Claim | Verdict | Sev | Notes |
|---|---|---|---|---|---|
| — | VitePress volumes (P0 trap classes) | — | — | — | No open P0 WRONG from trap re-grep this run |
| F-H-001 | docs/audit/04–05 bodies | May still contain stale narrative under banner | PARTIAL | P2 | SUPERSEDED banner present; body not fully rewritten — readers directed to VitePress |
| F-H-002 | Historical A.8 entry 2026-07-10 | “port 8082 = cu-central” in old changelog | STALE | P2 | Historical; superseded by Wave 2–3 port classification |
4. Cross-Document Conflicts
| ID | Status |
|---|---|
| X-001 NestJS vs cu-central live path | Resolved in VitePress volumes |
| X-002 NestJS 12/16 vs 17 endpoints | Resolved (14/17) |
| X-003 A.4 vs Vol 14 SEC IDs | Resolved |
| X-004 OTP Redis vs DB | Resolved |
| X-006 VTRC acronym | Resolved (Thai Red Cross; no Volunteer) |
5. UNVERIFIED Register
| ID | Claim | Blocker | Unlock |
|---|---|---|---|
| U-001 | NestJS has a production caller | Absent from workspace (E-08) | Caller repo/config |
| U-002 | Production TLS cipher suite | Host nginx not fully in repo (E-02) | Ops sslscan |
| U-003 | Exact prod listen port behind nginx | 8080 / 8082 / 8000 all appear in different layers | Deployed env + upstream |
| U-004 | Full e2e behavior of every workflow | Static audit only | Runtime test plan |
6. Correction Checklist
P0 Themes A–F + H1
- [x] Live bridge naming
- [x] Port classification
- [x] KBANK = กสิกรไทย
- [x] OTP / Redis runbooks
- [x] statusKcash + cron gating
- [x] Vol 7 Apollo/Docker/auth
- [x] A.4 debt IDs
Wave 3
- [x] Vol 6 inventory recount
- [x]
docs/audit/*SUPERSEDED - [x] CORPUS re-verification
Optional residual (non-blocking PASS)
- [ ] Full rewrite of superseded audit chapter bodies (04–05)
- [ ] Resolve U-001/U-002 with ops artifacts
7. Coverage & Limitations
- Trap classes T1–T14 re-checked against remediated volumes this run.
- Vol 6 counts re-measured from source.
- Audit set: banners + critical patches; not full prose rewrite.
- No e2e / no
npm auditthis session. - Sentence-level extraction of every pedagogical paragraph across all 202 files remains imperfect; PASS is granted because open WRONG P0 traps are cleared and residuals are classified.
8. Related artifacts
| Artifact | Role |
|---|---|
docs/audits/docs-verify-2026-07-11-corpus.md | Initial FAIL baseline |
docs/audits/docs-verify-2026-07-11-delta.md | Post-Wave-1–2 CONDITIONAL PASS |
| This file | Post-Wave-3 PASS |
docs/volume-17-appendices/08-changelog-errata.md | E-09…E-15 remediated; Wave 3 changelog |
9. Sign-off
| Check | Status |
|---|---|
| No open P0 WRONG in VitePress trap classes | ☑ |
| UNVERIFIED not hidden | ☑ |
| Cross-doc P0 conflicts resolved | ☑ |
| Overall verdict consistent | ☑ PASS |