Skip to content

Latest commit

Β 

History

History
212 lines (169 loc) Β· 23.3 KB

File metadata and controls

212 lines (169 loc) Β· 23.3 KB

Document Review Report β€” database_system

Generated: 2026-04-14 Mode: Report-only Files analyzed: 80

Scope: All *.md files under /Volumes/T5 EVO/Sources/database_system excluding build/, .git/, vcpkg-*/, and docs/doxygen-awesome-css/. Primary tree is docs/; root README*, CHANGELOG*, CODE_OF_CONDUCT*, CONTRIBUTING*, SECURITY*, .github/**, benchmarks/README.md, integration_tests/README.md, samples/README.md, examples/README.md also covered. Korean *.kr.md files included.

Ground-truth anchors: 2,492. Links validated (excluding external URLs): 1,115. Broken links: 73 (71 missing files, 2 missing anchors).

Findings Summary

Severity Phase 1 Phase 2 Phase 3 Total
Must-Fix 73 14 10 97
Should-Fix 3 12 12 27
Nice-to-Have 2 4 6 12

Must-Fix Items

Phase 1 β€” Broken Links & Anchors (73)

Intra-anchor mismatches:

  1. README.md:263 β€” docs/FEATURES.md#query-builders. Anchor query-builders does not exist in FEATURES.md (which is now a split index). Actual anchor is in docs/FEATURES_ORM_QUERY.md#query-builders. (Phase 1)
  2. README.md:293 β€” docs/FEATURES.md#orm-framework. Anchor is in docs/FEATURES_ORM_QUERY.md#orm-framework. (Phase 1)

Missing files referenced by links (71 total; grouped below):

  1. README.md:40 β€” docs/migration/proxy-mode.md not present. (Phase 1)
  2. README.md:153 β€” docs/guides/QUICK_START_KO.md not present (actual file is QUICK_START.kr.md). (Phase 1)
  3. README.md:508,581 β€” docs/01-ARCHITECTURE.md not present (should be docs/ARCHITECTURE.md). (Phase 1)
  4. README.md:563 β€” ../ECOSYSTEM.md resolves outside repo (/Volumes/T5 EVO/Sources/ECOSYSTEM.md). Actual file is docs/ECOSYSTEM.md. (Phase 1)
  5. README.md:582 β€” docs/02-API_REFERENCE.md not present (should be docs/API_REFERENCE.md). (Phase 1)
  6. README.md:583 β€” docs/advanced/SECURITY.md not present. (Phase 1)
  7. README.md:584 β€” docs/guides/MIGRATION_GUIDE.md not present (should be docs/advanced/MIGRATION.md). (Phase 1)
  8. docs/ADAPTER_PATTERNS.md:15 β€” ADAPTER_PATTERNS.kr.md not present (Language switcher link broken). (Phase 1)
  9. docs/API_REFERENCE.md:1107 β€” guides/PROXY_LAYER.md not present. (Phase 1)
  10. docs/README.kr.md:66..258 β€” 21 broken links to BUILD_GUIDE.kr.md, SAMPLES_GUIDE.kr.md, PERFORMANCE_BENCHMARKS.kr.md at wrong paths (actual files live under guides/ or performance/). (Phase 1)
  11. docs/advanced/MIGRATION.md:394 β€” ../migration/proxy-mode.md not present. (Phase 1)
  12. docs/advanced/MIGRATION.md:869 β€” docs/API_REFERENCE.md resolves to docs/advanced/docs/API_REFERENCE.md (path prefix error; should be ../API_REFERENCE.md). (Phase 1)
  13. docs/advanced/THREAD_SYSTEM_MIGRATION.md:398..399 β€” ./INTEGRATION.md, ./API_REFERENCE.md at wrong relative path. (Phase 1)
  14. docs/advanced/TYPE_SYSTEM.md:434..437 β€” API_REFERENCE.md, ORM.md, BACKEND_INTEGRATION.md at wrong relative path (files live in ../). (Phase 1)
  15. docs/contributing/CONTRIBUTING.md:80,908 β€” ../BUILD_GUIDE.md not present (should be ../guides/BUILD_GUIDE.md). (Phase 1)
  16. docs/contributing/CONTRIBUTING.md:81,911 β€” ../../IMPROVEMENT_PLAN.md not present in repo. (Phase 1)
  17. docs/guides/ASYNC_OPERATIONS.md:15 β€” ASYNC_OPERATIONS.kr.md not present. (Phase 1)
  18. docs/guides/FAQ.md:171,795,928,1126,1377,1490,1493,1494,1495 β€” 9 broken links (../BUILD_GUIDE.md, ../PERFORMANCE_BENCHMARKS.md, ../INTEGRATION.md, ../../IMPROVEMENT_PLAN.md). (Phase 1)
  19. docs/guides/INTEGRATION.md:15 β€” INTEGRATION.kr.md not present. (Phase 1)
  20. docs/guides/INTEGRATION.md:1076..1077 β€” docs/API_REFERENCE.md, docs/BUILD_GUIDE.md resolved incorrectly. (Phase 1)
  21. docs/guides/QUICK_START.md:159 β€” ../../INTEGRATION.md not present in repo root. (Phase 1)
  22. docs/guides/SAMPLES_GUIDE.md:797, docs/guides/SAMPLES_GUIDE.kr.md:797 β€” API_REFERENCE.md at wrong relative path (should be ../API_REFERENCE.md). (Phase 1)
  23. docs/guides/TROUBLESHOOTING.md:915 β€” ../BUILD_GUIDE.md not present. (Phase 1)
  24. docs/guides/UNIFIED_SYSTEM.md:15 β€” UNIFIED_SYSTEM.kr.md not present. (Phase 1)
  25. docs/integration/README.md:21..25 β€” 5 broken links to with-common-system.md, with-logger.md, with-monitoring.md, with-thread-system.md, with-network-system.md (none exist). (Phase 1)
  26. docs/integration/README.md:222 β€” ../../../ECOSYSTEM.md resolves outside repo. (Phase 1)
  27. docs/migration/database_base.md:316 β€” ../guides/backend_registry.md not present. (Phase 1)
  28. docs/performance/BENCHMARKS.kr.md:15 β€” PERFORMANCE_BENCHMARKS.md (language-switcher) not present; docs/performance/BENCHMARKS.md:15 β€” same mirror issue for .kr.md. (Phase 1)
  29. docs/performance/TUNING_GUIDE.md:133..134 β€” POSTGRESQL_TUNING.md, SQLITE_TUNING.md not present. (Phase 1)
  30. integration_tests/README.md:285 β€” ../docs/performance.md not present. (Phase 1)

Phase 2 β€” Factual Accuracy (14 items)

  1. docs/advanced/CURRENT_STATE.md:30,36,54,74,84 β€” Documents claim backends are PostgreSQL, MySQL, SQLite. Actual supported backends per CLAUDE.md and vcpkg.json are PostgreSQL, SQLite, MongoDB, Redis. MySQL does not exist; MongoDB/Redis not mentioned. Korean mirror CURRENT_STATE.kr.md has identical errors. (Phase 2)
  2. docs/advanced/ARCHITECTURE_ISSUES.md:32..33 + Korean mirror β€” "ARC-001: MySQL/SQLite Backend Testing (P0, Phase 1)". MySQL is not a real backend. (Phase 2)
  3. docs/PROJECT_STRUCTURE.md:684, docs/PROJECT_STRUCTURE.kr.md:508 β€” libpqxx listed as "7.7+", but vcpkg.json pins 7.9.2. (Phase 2)
  4. docs/SOUP.md:43,86 β€” libpqxx listed as 7.9.0 rather than 7.9.2 (vcpkg override). (Phase 2)
  5. docs/GETTING_STARTED.md:24 β€” Compiler baseline given as GCC 12+/Clang 15+/MSVC 17.4+; README.md:74 says GCC 13+/Clang 17+/MSVC 2022+. (Phase 2)
  6. docs/guides/QUICK_START.kr.md:30 β€” Compiler baseline says GCC 11+/Clang 14+; actual (per README) is GCC 13+/Clang 17+. (Phase 2)
  7. samples/README.md:212 β€” Compiler baseline GCC 10+/Clang 12+/MSVC 2019+; severely out of date. (Phase 2)
  8. CONTRIBUTING.md:17 β€” "GCC 13+, Clang 16+, MSVC 2022+" β€” Clang 16 inconsistent with README's Clang 17+. (Phase 2)
  9. docs/FEATURES_POOLING_SECURITY.md:35..160 β€” Documents active connection_pool, connection_pool_v3, acquire_connection() etc. as current features. Per CLAUDE.md Phase 4.3 and docs/CHANGELOG.md:206,272, all local pooling classes were removed. Entire "Connection Pooling" and "Resilient Connections" sections are factually obsolete. (Phase 2)
  10. docs/BACKENDS.md:41 β€” Lists "Connection pooling support" as a PostgreSQL feature (contradicts Phase 4.3 removal). (Phase 2)
  11. docs/FEATURES.kr.md (lines 29, 412–) β€” Korean features doc still describes connection pooling as a current feature and was not updated when English FEATURES.md was split and pool removal was documented. (Phase 2)
  12. docs/ORM_GUIDE.md:15,80,250,413 and docs/FEATURES_ORM_QUERY.md:39 β€” Claim "Full Support (C++17 SFINAE-based)". Project root CLAUDE.md states ORM uses "C++20 concepts". Inconsistency between implementation language claim and project description. (Phase 2)
  13. docs/guides/SAMPLES_GUIDE.md:750, docs/guides/SAMPLES_GUIDE.kr.md:750 β€” Hard-coded date literal "2023-01-01" in sample; acceptable as example data but mismatched with other 2026 dates (Nice-to-Have; surfaced here because paired with the 2025-12/2026-02 inconsistencies).
  14. docs/advanced/CURRENT_STATE.md:46..48 β€” Lists Ubuntu 22.04 (GCC 12, Clang 15) as the validated platform baseline. Given README's GCC 13+/Clang 17+ requirement, the baseline is out of date. (Phase 2)

Phase 3 β€” SSOT Contradictions (10)

  1. docs/ARCHITECTURE.md:13 AND docs/advanced/ARCHITECTURE.md:13 β€” Both claim "single source of truth for Database System Architecture". Duplicate SSOT with different doc_ids (DBS-ARCH-002 and DBS-ARCH-003). Content not reconciled. (Phase 3)
  2. docs/PROJECT_STRUCTURE.md:13 AND docs/advanced/STRUCTURE.md:13 β€” Both SSOT for "Database System Project Structure" (DBS-PROJ-004 vs DBS-ARCH-006). Content overlap unresolved. (Phase 3)
  3. docs/BENCHMARKS.md:13 AND docs/performance/BENCHMARKS.md:13 β€” Both SSOT for "Database System Performance Benchmarks" (DBS-PERF-002 vs DBS-PERF-006). Two parallel benchmark documents. (Phase 3)
  4. docs/BENCHMARKS.kr.md AND docs/performance/BENCHMARKS.kr.md β€” Same duplication in Korean. (Phase 3)
  5. docs/MIGRATION_database_base.md:13 AND docs/migration/database_base.md:13 β€” Two migration guides for the same database_base β†’ database_backend topic (DBS-MIGR-001 vs DBS-GUID-022), both claiming SSOT. (Phase 3)
  6. docs/FEATURES.md was refactored into split sub-documents (FEATURES_BACKENDS.md, FEATURES_ORM_QUERY.md, FEATURES_POOLING_SECURITY.md), but docs/FEATURES.kr.md was NOT split. Korean docs are out of sync with English SSOT structure. (Phase 3)
  7. docs/FEATURES_POOLING_SECURITY.md documents connection pooling as current functionality while README.md:40,52 and docs/CHANGELOG.md:206,272 state it was removed in Phase 4.3. Cross-document SSOT contradiction on a load-bearing technical fact. (Phase 3)
  8. docs/BACKENDS.md:41 contradicts the same Phase 4.3 status (states pool support for PostgreSQL). (Phase 3)
  9. docs/README.md lists 59 documents. Actual total is 80. Missing from the registry: FEATURES_BACKENDS.md, FEATURES_ORM_QUERY.md, FEATURES_POOLING_SECURITY.md, API_QUICK_REFERENCE.md, ECOSYSTEM.md, GETTING_STARTED.md plus all root/sub-README and .github templates. Registry is stale. (Phase 3)
  10. docs/README.kr.md:17-53 table of contents uses emoji-prefixed headings that produce anchors the ToC does not match (fixed by emoji-stripping in this audit), but the ToC was clearly authored without running it through a GitHub-style renderer β€” high risk of drift if headings change. (Phase 3)

Should-Fix Items

Phase 1

  • docs/README.kr.md β€” many .kr.md links use bare filename root (BUILD_GUIDE.kr.md) but the target files live in guides/ or performance/. Convert to relative paths.
  • docs/guides/INTEGRATION.md:1076..1077 β€” recurring pattern of docs/API_REFERENCE.md-style absolute references from within docs/ subdirs. Standardize on relative paths.
  • docs/advanced/MIGRATION.md:869 β€” same absolute-from-docs pattern; replace with ../API_REFERENCE.md.

Phase 2 (Terminology)

  • "backend" vs "driver" used interchangeably in docs/advanced/CURRENT_STATE*.md:54 ("Database drivers"). Project convention is "backend" (per CLAUDE.md and BACKENDS.md).
  • "connection pool" vs "connection pooling" vs "pool" β€” inconsistent noun usage across FEATURES_POOLING_SECURITY.md and BACKENDS.md.
  • "ORM framework" vs "ORM" vs "entity system" β€” ORM_GUIDE.md uses "ORM framework"; other docs drop "framework".
  • "query builder" vs "query_builder" β€” API_REFERENCE.md uses underscore namespace form; narrative docs use space form. Acceptable, but not called out.
  • "transaction" vs "transaction management" β€” mixed.
  • README.md:74 vs README.kr.md:77 β€” English gives GCC 13+/Clang 17+, Korean table gives "MSVC 2022+ | C++20 κΈ°λŠ₯ ν•„μˆ˜" with no GCC/Clang row. Korean table is incomplete.
  • benchmarks/README.md:299 β€” "Last Updated: 2025-10-07" vs newer docs dated 2026-02-08. Stale timestamp.
  • docs/API_REFERENCE.md:1245 β€” "Last Updated: 2025-12-09" vs most docs 2026-02-08.
  • docs/ORM_GUIDE.md β€” no frontmatter doc_date update; has 2026-04-04 but references say C++17 still.
  • docs/advanced/ARCHITECTURE.md and docs/advanced/STRUCTURE.md β€” do not declare language-switcher links (present in most other English docs).
  • docs/SOUP.md:43 β€” libpqxx 7.9.0 should match override (7.9.2).
  • CHANGELOG.md:316 β€” "OpenSSL 1.1.1 reached End-of-Life in September 2023" is a correct historical fact; flagged only because it sits next to version rows that are otherwise current β€” verify vs current OpenSSL override (3.4.1).

Phase 3 (Cross-refs / Redundancy)

  • docs/advanced/TYPE_SYSTEM.md is referenced by only 1 other file. Consider adding bidirectional xref from API_REFERENCE.md or ORM_GUIDE.md.
  • docs/ADAPTER_PATTERNS.md β€” only 4 inbound refs; CLAUDE.md cites "Adapter pattern" as a key pattern but ARCHITECTURE.md is the only SSOT linker. Strengthen xrefs from FEATURES_BACKENDS.md.
  • docs/ECOSYSTEM.md is not in the registry index (docs/README.md) yet is cross-linked from README.md. Decide orphan-vs-registered status.
  • docs/API_QUICK_REFERENCE.md and docs/GETTING_STARTED.md β€” orphan from registry; decide whether to add rows or remove files.
  • docs/FEATURES.kr.md β€” not linked from FEATURES.md via "Korean" switcher despite same topic. Add language switch.
  • docs/FEATURES_BACKENDS.md, docs/FEATURES_ORM_QUERY.md, docs/FEATURES_POOLING_SECURITY.md β€” no Korean counterparts; inconsistent with rest of docs which maintain *.kr.md.
  • docs/PROJECT_STRUCTURE.md (root) vs docs/advanced/STRUCTURE.md (advanced) β€” same title, same SSOT claim, different structure. Pick one as canonical, redirect the other.
  • docs/ARCHITECTURE.md (root) vs docs/advanced/ARCHITECTURE.md β€” redundant pair; reconcile and delete or retitle.
  • docs/BENCHMARKS.md vs docs/performance/BENCHMARKS.md β€” pick SSOT and collapse the other into a stub linking to it.
  • docs/MIGRATION_database_base.md vs docs/migration/database_base.md β€” collapse duplication.
  • docs/advanced/CURRENT_STATE.md β€” "Phase 0 Baseline" document appears to be a frozen historical baseline. If so, flag status Frozen or Baseline rather than Released to prevent confusion; otherwise update to reflect real backends.
  • docs/integration/README.md lists 5 sub-documents (with-*.md) none of which exist; either the sub-docs should be created or the ToC should be trimmed.

Nice-to-Have Items

Phase 1

  • Normalize all emoji in heading anchors (GitHub strips emoji in slugs; manual ToCs can drift silently). Present in README.md, docs/README.kr.md, docs/advanced/TYPE_SYSTEM.md.
  • Language switchers at the top of each English doc that references a .kr.md which doesn't exist are cosmetically broken β€” consider a lint-style CI check.

Phase 2

  • docs/performance/STATIC_ANALYSIS_BASELINE.md:73,77 β€” "Phase 1 Goals (By 2025-11-01)" and "Phase 2 Goals (By 2025-12-01)" are past-dated; consider moving to a Completed table or archiving.
  • docs/performance/BASELINE.md:368..385 β€” version history ends 2025-10-09 though date is 2026-04-04; update.
  • docs/CHANGELOG.md:334 uses ## [Previous] - 2025-12-09; keep-a-changelog style would prefer a concrete version header.
  • Badge block at top of README.md uses relative branch URLs β€” fine; but "Code Coverage" badge's workflow file name (coverage.yml) should be verified to exist in .github/workflows/.

Phase 3

  • Consider adding a docs/INDEX.md that enumerates all 80 files (orphans included) and flags their role (registered/index/archive). Current docs/README.md only covers 59.
  • Consider collapsing docs/advanced/ content into docs/ and demoting per-topic "advanced" duplicates β€” the split currently creates SSOT conflicts.
  • All "SSOT" notice blocks should include either an authoritative doc_id or a line stating "if content here conflicts with X, X wins", so reviewers can break ties.
  • Add a bidirectional-xref linter to CI (the 22 .kr.md TOC entries in docs/README.kr.md are the canonical repeat-error case).
  • FrontMatter doc_date dates (2026-04-04) differ from in-body Last Updated fields (2025-xx-xx or 2026-02-08) β€” decide a single date-of-record field.
  • docs/adr/ only has 2 ADRs (multi-backend abstraction, connection pool) yet connection pooling was removed in Phase 4.3. Consider adding ADR-003 superseding ADR-002.

Score

  • Overall: 6.3 / 10
  • Anchors (Phase 1): 6 / 10 β€” 73 broken links out of 1,115; most are file-path errors (missing .kr.md mirrors, incorrect relative paths after folder restructuring, stale 01-/02- numbered filenames).
  • Accuracy (Phase 2): 5 / 10 β€” Load-bearing technical claims are wrong (MySQL listed as a backend, C++17 SFINAE vs C++20 concepts, connection pool documented as active after Phase 4.3 removal, inconsistent compiler baselines across 5+ docs, libpqxx version drift).
  • SSOT (Phase 3): 5 / 10 β€” Multiple pairs of documents claim SSOT for identical topics (Architecture, Project Structure, Benchmarks, Migration, database_base). FEATURES split diverged between English (split) and Korean (monolithic). Registry (docs/README.md) is stale, missing 3 newly-split docs and 3 orphans.

Notes

  • Audit generated via a local Python slug-builder implementing GitHub's anchor rules (lowercase, strip emoji, keep Korean/CJK, replace single whitespace with hyphen, preserve consecutive hyphens from "&"/"/" removals, duplicate-suffix via -N). Fenced code blocks (``` / ~~~) are skipped during heading extraction and link scraping.
  • External URLs (schemes with :) are excluded; only intra-repo links validated.
  • docs/doxygen-awesome-css/, docs/custom.css, *.dox, *.html excluded from corpus.
  • Phase 4.3 pool-removal is the single largest SSOT hazard: it affects BACKENDS.md, FEATURES_POOLING_SECURITY.md, FEATURES.kr.md, ADR-002, and multiple guide docs. Consolidating a single authoritative page (e.g., docs/migration/proxy-mode.md which is linked but absent) would close ~20% of the findings.
  • The pattern docs/xxx.md used as a link inside a file located in docs/advanced/ or docs/guides/ (producing docs/advanced/docs/xxx.md) recurs at least 4 times. One sweep of relative-path repair would clear a cluster.
  • Eight .kr.md language-switcher links target files that do not exist (ADAPTER_PATTERNS.kr.md, ASYNC_OPERATIONS.kr.md, INTEGRATION.kr.md, UNIFIED_SYSTEM.kr.md, PERFORMANCE_BENCHMARKS.kr.md x2, etc.). Either the Korean translations should be created or the switcher blocks removed.

Post-Fix Re-Validation (2026-04-15)

Fix commit: 3b6f5be3 β€” docs: fix 30 broken links, 11 factual errors, 5 ssot redundancies Re-run scope: Phase 1 only (anchors + intra/inter-file .md link validation) Files scanned: 78 Markdown files (same corpus as 2026-04-14 audit; two files dropped in churn) Methodology: Python re-validator using the same GitHub-slug rules (lowercase, strip emoji, strip markdown link syntax in headings, keep Korean/CJK, non-collapsing whitespace β†’ hyphen so &// removals preserve consecutive hyphens, duplicate-suffix -N). Fenced code blocks skipped; HTML comments (including multi-line) stripped before link extraction, so TODO markers left by the fix (<!-- TODO: ... -->) are not re-flagged.

Before / After Summary

Link counts are occurrences (one broken link rendered twice counts twice).

Metric Pre-Fix (2026-04-14) Post-Fix (2026-04-15) Delta
Files scanned 80 78 βˆ’2
Total intra-repo links validated 989 1,030 +41
Broken links β€” .md scope (aligned w/ prior) 73 23 βˆ’50
Broken links β€” all scopes (incl. .h/dirs) 80 26 βˆ’54
Broken intra-file anchors 2 1 βˆ’1
Broken file references 78 25 βˆ’53

Classification against the prior 73-item Phase-1 list:

Category Count Notes
Fixed 51 All fixes the commit message claims (30 "broken links") plus a larger set once each listed group is expanded to individual occurrences (e.g., item #12 was 21 links, item #20 was 9).
Residual 22 21 inside docs/README.kr.md + 1 inside docs/guides/SAMPLES_GUIDE.kr.md. All fall under the commit's explicit policy deferral: "Skipped by policy: Korean (.kr.md) sync, ... docs/README.kr.md path corrections (Korean file)."
Regression 1 New broken anchor introduced by the deprecation banner in docs/FEATURES_POOLING_SECURITY.md.

Regression Detail (1)

  1. docs/FEATURES_POOLING_SECURITY.md:20 β†’ CHANGELOG.md#043---2025-12-09 β€” cross-file anchor not found. The fix commit inserted a new "DEPRECATION NOTICE (Phase 4.3)" banner linking to a CHANGELOG section anchor. docs/CHANGELOG.md does not contain a heading that slugs to 043---2025-12-09; the only matching date-bearing heading is ## [Previous] - 2025-12-09 (line 334), which slugs to previous---2025-12-09. Recommended fix: change link to CHANGELOG.md#previous---2025-12-09 or refactor the CHANGELOG heading to ## [0.4.3] - 2025-12-09.

Residual Detail (22)

A. docs/README.kr.md β€” 21 occurrences (deferred by commit policy):

  • 8 x BUILD_GUIDE.kr.md (lines 66, 73, 110, 157, 165, 168, 256, and one more on 168)
  • 7 x SAMPLES_GUIDE.kr.md (lines 67, 74, 119, 158, 164, 175)
  • 6 x PERFORMANCE_BENCHMARKS.kr.md (lines 68, 75, 128, 163, 169, 176, 258) β€” All three files live under guides/ or performance/, not at docs/ root. A single mass-rewrite to guides/BUILD_GUIDE.kr.md, guides/SAMPLES_GUIDE.kr.md, performance/BENCHMARKS.kr.md (filename also needs rename if the Korean match is desired) would clear this cluster.

B. docs/guides/SAMPLES_GUIDE.kr.md:797 β†’ API_REFERENCE.md β€” mirror of the fixed English item. The English SAMPLES_GUIDE.md:797 was corrected to ../API_REFERENCE.md; the Korean mirror was skipped.

C. docs/performance/BENCHMARKS.kr.md:15 β†’ PERFORMANCE_BENCHMARKS.md β€” language-switcher at the top of the Korean benchmarks page points at a non-existent English counterpart (actual file is BENCHMARKS.md in the same directory or docs/BENCHMARKS.md).

Additional Observations (not counted in the 73-item Phase-1 total)

  • docs/MIGRATION_database_base.md:303..304 β†’ ../database/database_base.h and ../database/database_base_adapter.h: these source-code references remain broken after the fix (the files were removed when database_base was deleted in 2026-01-20 per CHANGELOG). These were NOT in the original Phase-1 list (which was .md-only scope). The "See Also" block should either link to the historical commit or be trimmed.
  • docs/guides/INTEGRATION.md:1054 β†’ samples/integration_example/: directory does not exist. Also pre-existing and outside the original Phase-1 .md scope.

Verdict

PASS with 1 regression. 51 of 73 prior Phase-1 items were fixed β€” every Phase-1 item the commit message explicitly claimed (plus more once grouped items are expanded) is verified as resolved. All 22 residuals fall under the commit's documented policy deferral for Korean mirrors. The single regression (FEATURES_POOLING_SECURITY.md β†’ CHANGELOG.md#043---2025-12-09) was introduced by the fix itself and should be corrected in a follow-up. Overall Phase-1 health is now 97% clean (1 βˆ’ 23/1030 β‰ˆ 97.8% of validated links OK, vs 92.6% before).