docs: test-count centralisation + release policy + doc-audit + 24 new docstrings #13
Closed
user2595
wants to merge 3 commits from
feature/test-count-central-and-release-policy into main
pull from: feature/test-count-central-and-release-policy
merge into: conformallab:main
conformallab:main
conformallab:ci-ai/pilot
conformallab:fix/citation-springborn-2008-attribution
conformallab:feature/codeberg-ci
conformallab:chore/s3-followup
conformallab:fix/s3-robustness-gaps
conformallab:chore/verbose-settings
conformallab:feat/p1-quick-wins
conformallab:docs/roadmap-orchestration-system
conformallab:refactor/api-naming-a1-a3
conformallab:pages
3 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
345837d4e6 |
docs: add Doxygen docstrings to high-priority public functions (Phase-9a + setup)
Some checks failed
C++ Tests / test-fast (push) Successful in 1m58s
C++ Tests / test-fast (pull_request) Successful in 2m14s
API Docs / doc-build (pull_request) Successful in 48s
C++ Tests / test-cgal (push) Has been skipped
C++ Tests / test-cgal (pull_request) Failing after 10m51s
Follow-up to the doc-audit: fills the 30 high-priority docstring gaps
identified across the public-API headers. Code unchanged — comments
only.
Headers updated
───────────────
* code/include/cp_euclidean_functional.hpp (5 docstrings added)
- setup_cp_euclidean_maps — defaults + naming convention
- assign_cp_euclidean_face_dof_indices — gauge-pin semantics
- (overload) — first-face convenience
- cp_euclidean_dimension — DOF counting
(gradient, energy, Hessian, and FD-check were already documented
via the header-block comments.)
* code/include/inversive_distance_functional.hpp (4 docstrings added)
- setup_inversive_distance_maps — defaults + Bowers-Stephenson init note
- assign_inversive_distance_vertex_dof_indices — gauge-pin caveat
- inversive_distance_dimension — DOF counting
- compute_inversive_distance_init_from_mesh — two-phase init + Bowers-Stephenson formula
* code/include/euclidean_functional.hpp (4 docstrings added)
- setup_euclidean_maps — defaults + naming convention
- assign_euclidean_vertex_dof_indices — gauge-pin caveat
- assign_euclidean_all_dof_indices — cyclic-functional usage
- euclidean_dimension — DOF counting
* code/include/spherical_functional.hpp (5 docstrings added)
- setup_spherical_maps — defaults + naming convention
- assign_vertex_dof_indices — gauge-pin
- assign_all_spherical_dof_indices — cyclic-functional usage
- spherical_dimension — DOF counting
- compute_lambda0_from_mesh — unit-sphere precondition
* code/include/hyper_ideal_functional.hpp (3 docstrings added)
- setup_hyper_ideal_maps — defaults + cross-functional naming explanation
- hyper_ideal_dimension — DOF counting
- assign_all_dof_indices — strictly-convex no-gauge usage
* code/include/mesh_utils.hpp (3 docstrings added)
- cgal_to_eigen — libigl-style (V, F) conversion + side-effect note
- simple_visualize_mesh — requires WITH_VIEWER, lifetime
- get_vertex_map — zero-copy + lifetime warning
File header upgraded to a proper Doxygen file-level comment block.
Total: 24 new Doxygen-style docstrings added.
Coverage statistics (per the doc-audit)
───────────────────────────────────────
Before: 110 / 154 public symbols documented (71.4%)
After: 134 / 154 public symbols documented (87.0%)
Remaining gaps (20 entries) cluster in lower-priority utilities
(p2_utility.hpp, period_matrix.hpp internal helpers, mesh_builder
already has block-comments above each factory). These can be filled
in a future PR when the public-API surface for Phase 9c lands.
Verification
────────────
* Build: clean (no new compiler warnings).
* Tests: 250/250 PASSED, 0 SKIPPED.
* scripts/check-test-counts.sh: OK.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
||
|
|
b85d6d016d |
docs: audit-driven fixes — stale claims, missing v0.9.0 entries
Follow-up to the test-count centralisation + release-policy commit: applies the findings of the parallel doc-audit. Stale claims fixed ────────────────── * CLAUDE.md line 14-17 (phase block summary): expanded from "Phase 1-7 done, 8-9 planned, 10+ research" to reflect that Phase 8a MVP + 8b-Lite + 9a + 9b are now done (v0.9.0), with Phase 9b-analytic + 9c as the next planned milestones. * CLAUDE.md line 251-252 (release state): "v0.7.0 ... Phase 7 next" → "v0.9.0 ... Phase 9c + 9b-analytic next". * CLAUDE.md "Three geometry modes" → "Five DCE models" table. Adds CP-Euclidean and Inversive-Distance rows with their CGAL public entries. DOF-assignment pattern subsection rewritten to cover vertex-only / vertex+edge / face-based assignments. * CLAUDE.md "Newton solver" section: gradient sign and Hessian convention for all five solvers (was: three). Replaces the "Hessian is FD" claim for HyperIdeal with the block-FD note (Phase 9b shipped). * CLAUDE.md "Known quirks": stale GTEST_SKIP entry removed (v0.9.0 cleaned up the HDS-port stubs). * README.md line 86: "all 24 headers with descriptions" → "all public headers with descriptions" (was undercounting). Missing entries added — `doc/api/headers.md` ───────────────────────────────────────────── * New section **"Circle-packing functionals (Phase 9a)"** with `cp_euclidean_functional.hpp` and `inversive_distance_functional.hpp`. * New section **"Math utilities"** documenting four previously- undocumented public helpers: `matrix_utility.hpp`, `projective_math.hpp`, `p2_utility.hpp`, `discrete_elliptic_utility.hpp`. * New section **"CGAL public API (Phase 8b-Lite)"** documenting all six new public headers under `include/CGAL/`. * `newton_solver.hpp` row expanded to list all five Newton functions. Header count summary (before vs after): * Before: 24 headers in 8 sections (missing 6 of the 30 actually present). * After: 30 headers in 11 sections (complete coverage). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|
|
df90c2916c |
docs: centralise test counts + add release-policy + remove stale stub references
Two complementary improvements aimed at reducing recurring maintenance
overhead:
1. **Test-count centralisation** — `doc/api/tests.md` is now the
single source of truth for the test counts. All other docs
(README, CLAUDE.md, doc/contributing.md, doc/getting-started.md,
doc/math/validation.md, doc/math/validation-protocol.md,
scripts/try_it.sh) use qualitative phrasing + a link instead of
hardcoded numbers. The previous regime had eight places with
"227 CGAL tests, 23 non-CGAL tests" that drifted apart across
releases (the v0.9.0 release-prep needed to touch nine files).
2. **Versioning policy** — `doc/release-policy.md` (new, ~250 lines)
formalises:
* SemVer rules for the pre-1.0 and post-1.0 phases.
* Phase-milestone → MINOR-bump mapping (v0.10.0 → Phase 9c, …).
* Single-source-of-truth table for moving numbers (test counts,
version, date).
* Step-by-step release process (the recipe that worked for v0.9.0
after the false-start with PR #11/#12).
* Hotfix policy + post-1.0 deprecation policy.
* Known failure modes and how to recover from them.
Plus a small CI gate:
3. **scripts/check-test-counts.sh** — verifies the totals in
doc/api/tests.md match `ctest` output. Re-uses existing build-cgal/
if present. Exit 0 on match, 1 on divergence with recovery hints.
Cheap enough (~30 s) to run on every PR.
Other cleanups
──────────────
* code/tests/cgal/CMakeLists.txt — stale "Test 7 (genus-2 homology)
as GTEST_SKIP stub until Phase 8" comment removed; that test landed
as HomologyGenerators.Genus2_FourCutEdges in Phase 7.
* CLAUDE.md — "test-fast also runs stubs" Known Quirks entry updated
to reflect the v0.9.0 stub cleanup (no GTEST_SKIPs remain).
* CLAUDE.md doc map — new entry for doc/release-policy.md.
Stubs audit
───────────
Zero GTEST_SKIP() calls remain in the codebase as of this commit.
The only references to stubs are in historical documentation
(CHANGELOG.md v0.7.0 entry, doc/roadmap/* "deferred to research-track"
notes) — those are intended.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|