You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Found during a full bughunt/architecture review. Grouped as one phase since it's almost entirely writing/editing docs and can proceed in parallel with the code-focused phases (#290–#293).
README.md
Contains an unedited LLM authoring artifact: "Here is the updated documentation with proper header levels, maintaining clarity and structure." immediately before the Linux installation section
Ends the uninstall section with a chatbot prompt shipped as documentation: "Would you like an automated uninstall script for easier removal? 🚀"
Section numbering skips: options are labelled i, ii, iii, iv, then jumps to vi — there is no "v.", and the intro text says "for option (iv)-(vi)"
Points to /docs/libamtrackManual.pdf under "Where do I find documentation" — no PDF exists anywhere in the repository (tracked separately as Include manual of PDF in the release files #124)
Documents the Windows CMake flag as -DGETOPT_LIBRARY=..., but CMakeLists.txt:108 actually reads GETOPT_LIB — the documented flag name is silently ignored
Lists libtool and gfortran as Linux/MSYS2 requirements — neither is used anywhere in the current CMake build; also describes the project as "ANSI C" while CMakeLists.txt:102 requires target_compile_features(amtrack PUBLIC c_std_11)
Should link the Docusaurus documentation site (this is already tracked as Add in readme link to main documentation website #268 — cross-referencing here so it's done as part of the same README pass rather than separately)
README_DEVELOPERS (581 lines) describes a build system that no longer exists
Every section describes an autotools workflow (configure.ac, Makefile.am, m4/, aclocal.m4, INSTALL) — none of these files exist anywhere in the tree; the project has been CMake-only for some time. It also references SVN and SourceForge (the project is on GitHub/Git), Eclipse 3.6+ as the recommended IDE, OS X 10.10 "Mountain Lion" and XCode 6.3.2, and CRAN packaging steps for a package removed from CRAN in 2019. A new contributor following this file literally cannot build the project.
Replace with a short, current CONTRIBUTING.md covering the actual CMake-based workflow (clone → cmake .. → cmake --build . → ctest, once [Bughunt Phase 1] CI cannot currently fail on a correctness regression: no assertions, no sanitizer job, no warning budget #291 lands), code style (.clang-format/pre-commit, already correctly documented in docs/manual/PreCommitSetup.md), and PR expectations. Delete README_DEVELOPERS rather than patch it piecemeal — it's cheaper to write 40 accurate lines than fix 581 stale ones.
Community/metadata files
No CITATION.cff — a meaningful gap for scientific software that researchers are expected to cite in publications
NEWS is placeholder joke text: "Keine Ahnung, was gibt's Neues? / Machst Du mirn Mettbrötchen? / TODO" — either populate or delete
ChangeLog's last real entry is 0.6.2 (2015-06-26); the repo's git tags reach 0.10.x and beyond — either regenerate from tags/releases or delete it so it stops being actively misleading
65 source files' GPL header comments say "see file: copying.txt" but the actual file is COPYING (case and name both differ) — a one-shot sed across src/*.c
Doxygen / API reference
Doxyfile's INPUT for pictures uses a Windows-style path (docs\manual\pictures), which Doxygen silently skips on Linux/macOS CI runners
Several Doxyfile tags are flagged obsolete by the current Doxygen version; PAPER_TYPE has an invalid enum value; PROJECT_NUMBER is empty (should be wired to the CMake-derived version)
include/AT_SPC.h:66 documents an undefined enum (Documentation for undefined enum 'spc' found)
EXTRACT_ALL=YES in Doxyfile suppresses Doxygen's own undocumented-symbol warnings, so real documentation coverage is currently unmeasured. Separately, of the doc comments that do exist: 93 have a body that is literally just TODO, and 149 @param entries are documented only as TODO. Worst-affected headers: AT_KatzModel_Implementation.h (21 empty bodies), AT_SPC.h (14), AT_RDD_ExtendedTarget.h (14), AT_RDD_Simple.h (10), AT_Error.h (9). This overlaps Extend documentation of RDD models #125 ("Extend documentation of RDD models").
Doxygen is never run in CI and its HTML output is never published anywhere — the entire documentation strategy for a 382-function public API is currently "read the header comments on GitHub." Fix the Doxyfile issues above, add a CI job that builds it with -Werror-equivalent warning treatment (once coverage is above some floor), and publish the output — either to GitHub Pages from this repo or as a new section on the libamtrack.github.io Docusaurus site (that repo currently documents almost exclusively the Python wrapper, pyamtrack, with a single "read the headers" landing page for the C library)
Found during a full bughunt/architecture review. Grouped as one phase since it's almost entirely writing/editing docs and can proceed in parallel with the code-focused phases (#290–#293).
README.md/docs/libamtrackManual.pdfunder "Where do I find documentation" — no PDF exists anywhere in the repository (tracked separately as Include manual of PDF in the release files #124)-DGETOPT_LIBRARY=..., butCMakeLists.txt:108actually readsGETOPT_LIB— the documented flag name is silently ignoredlibtoolandgfortranas Linux/MSYS2 requirements — neither is used anywhere in the current CMake build; also describes the project as "ANSI C" whileCMakeLists.txt:102requirestarget_compile_features(amtrack PUBLIC c_std_11)README_DEVELOPERS(581 lines) describes a build system that no longer existsEvery section describes an autotools workflow (
configure.ac,Makefile.am,m4/,aclocal.m4,INSTALL) — none of these files exist anywhere in the tree; the project has been CMake-only for some time. It also references SVN and SourceForge (the project is on GitHub/Git), Eclipse 3.6+ as the recommended IDE, OS X 10.10 "Mountain Lion" and XCode 6.3.2, and CRAN packaging steps for a package removed from CRAN in 2019. A new contributor following this file literally cannot build the project.CONTRIBUTING.mdcovering the actual CMake-based workflow (clone →cmake ..→cmake --build .→ctest, once [Bughunt Phase 1] CI cannot currently fail on a correctness regression: no assertions, no sanitizer job, no warning budget #291 lands), code style (.clang-format/pre-commit, already correctly documented indocs/manual/PreCommitSetup.md), and PR expectations. DeleteREADME_DEVELOPERSrather than patch it piecemeal — it's cheaper to write 40 accurate lines than fix 581 stale ones.Community/metadata files
CITATION.cff— a meaningful gap for scientific software that researchers are expected to cite in publicationsSECURITY.md(relevant given the parser hardening in [Bughunt Phase 2] Memory safety: SPC binary-file decoder has unchecked file-controlled lengths and unbounded table fills #292)CODE_OF_CONDUCT.mdNEWSis placeholder joke text: "Keine Ahnung, was gibt's Neues? / Machst Du mirn Mettbrötchen? / TODO" — either populate or deleteChangeLog's last real entry is 0.6.2 (2015-06-26); the repo's git tags reach 0.10.x and beyond — either regenerate from tags/releases or delete it so it stops being actively misleadingCOPYING(case and name both differ) — a one-shotsedacrosssrc/*.cDoxygen / API reference
Doxyfile'sINPUTfor pictures uses a Windows-style path (docs\manual\pictures), which Doxygen silently skips on Linux/macOS CI runnersDoxyfiletags are flagged obsolete by the current Doxygen version;PAPER_TYPEhas an invalid enum value;PROJECT_NUMBERis empty (should be wired to the CMake-derived version)include/AT_SPC.h:66documents an undefined enum (Documentation for undefined enum 'spc' found)EXTRACT_ALL=YESinDoxyfilesuppresses Doxygen's own undocumented-symbol warnings, so real documentation coverage is currently unmeasured. Separately, of the doc comments that do exist: 93 have a body that is literally justTODO, and 149@paramentries are documented only asTODO. Worst-affected headers:AT_KatzModel_Implementation.h(21 empty bodies),AT_SPC.h(14),AT_RDD_ExtendedTarget.h(14),AT_RDD_Simple.h(10),AT_Error.h(9). This overlaps Extend documentation of RDD models #125 ("Extend documentation of RDD models").Doxyfileissues above, add a CI job that builds it with-Werror-equivalent warning treatment (once coverage is above some floor), and publish the output — either to GitHub Pages from this repo or as a new section on thelibamtrack.github.ioDocusaurus site (that repo currently documents almost exclusively the Python wrapper,pyamtrack, with a single "read the headers" landing page for the C library)docs/manual/libamtrackManual.tex) to PDF in CI and attach it to GitHub releases (closes Include manual of PDF in the release files #124)Acceptance criteria
README.mdhas no AI-authorship artifacts, correct section numbering, and accurate flag namesREADME_DEVELOPERSis replaced by aCONTRIBUTING.mdmatching the actual CMake buildCITATION.cffexists and validatesRelated: #124, #125, #268