Repository navigation
Fix stale documentation, misleading comments, and dead code from full-codebase review - #5705
Conversation
Corrects documentation and code comments flagged as must-fix by an AI full-codebase review: stale SDD descriptions, contradictory event annotations, copy-pasted doc comments, wrong include guard, dead code, and outdated CMake/script references. Co-Authored-By: michael.d.starch <michael.d.starch@jpl.nasa.gov>
Coverage report — base
|
| Module | Line | Δ | Function | Δ | Branch | Δ |
|---|---|---|---|---|---|---|
Os/Generic/Types |
91.79 | -0.35 | 92.86 | +0.00 | 74.77 | +0.00 |
Fw/DataStructures |
98.40 | +0.36 | 97.14 | +0.00 | 83.21 | +0.55 |
Svc/DpCatalog |
74.08 | +0.41 | 96.97 | +0.00 | 63.10 | +0.65 |
Svc/PosixTime |
84.62 | +6.84 | 100.00 | +0.00 | 66.67 | +0.00 |
New modules
| Module | Line | Function | Branch |
|---|---|---|---|
Fw/Prm |
0.00 | 0.00 | 0.00 |
Modules without UTs
CFDP/Checksum/GTest, Drv/LinuxGpioDriver, Drv/LinuxI2cDriver, Drv/LinuxSpiDriver, Drv/LinuxUartDriver, Drv/Ports/DataTypes, FppTestProject/FppTest/topology/async, FppTestProject/FppTest/topology/components/Comp, FppTestProject/FppTest/topology/components/Framework, FppTestProject/FppTest/topology/components/Receiver, FppTestProject/FppTest/topology/components/Sender, FppTestProject/FppTest/topology/guarded, FppTestProject/FppTest/topology/sync, FppTestProject/FppTest/topology/top_ports, FppTestProject/FppTest/topology/types, Fw/Com, Fw/Comp, Fw/FilePacket/GTest, Fw/Fpy, Fw/Obj, Fw/Port, Fw/Sm, Fw/Test, Fw/Types/GTest, Os/Models, Svc/Ccsds/Types, Svc/FatalHandler, Svc/Subtopologies/CdhCore, Svc/Subtopologies/ComCcsds, Svc/Subtopologies/ComCcsdsSdls, Svc/Subtopologies/ComFprime, Svc/Subtopologies/ComLoggerTee, Svc/Subtopologies/DataProducts, Svc/Subtopologies/DpCompression, Svc/Subtopologies/FileHandling, Svc/Subtopologies/FileHandlingCfdp, Svc/Subtopologies/FileHandlingCfdp/FileHandlingCfdpConfig, TestDeploymentsProject/Ref/DpDemo, TestDeploymentsProject/Ref/PingReceiver, TestDeploymentsProject/Ref/RecvBuffApp, TestDeploymentsProject/Ref/SendBuffApp, TestDeploymentsProject/Ref/Top, TestDeploymentsProject/Ref/TypeDemo, cmake/test/data/TestConfigDeployment, cmake/test/data/TestDeployment/TestBuildAutocoder, cmake/test/data/TestDeployment/TestHeaderAutocoder, cmake/test/data/TestDeployment/TestLinkDepends, cmake/test/data/TestDeployment/TestRelative, cmake/test/data/test-fprime-library/TestLibrary/TestComponent, cmake/test/data/test-fprime-library2/TestLibrary2/TestComponent
Change Description
Fixes must-fix findings from an AI full-codebase review (pinned at 29ff78c): stale documentation, misleading/contradictory comments, dead code, and a copy-pasted include guard. No behavioral code changes — comments, docs, event annotations, dictionary strings, an include-guard rename, and removal of two commented-out statements only.
Findings fixed (12-char ID — file:line at this branch):
581bd608e433— .github/copilot-instructions.md:12 (nine → ten reviewer agents, adds operational consequences)f847a0398428— Drv/AsyncByteStreamBufferAdapter/AsyncByteStreamBufferAdapter.fpp:40 (@ Driver Ready→@ Driver not readyon DriverNotReady)1ccec0a83701— Drv/AsyncByteStreamBufferAdapter/test/ut/AsyncByteStreamBufferAdapterTester.cpp:46 (removed dead// buffer.resetSer();)39ce3b202d41— Drv/ByteStreamBufferAdapter/ByteStreamBufferAdapter.fpp:40 (same annotation fix)0859de837ec9— Drv/ByteStreamBufferAdapter/test/ut/ByteStreamBufferAdapterTester.cpp:45 (removed dead// buffer.resetSer();)fb8012f31d64— Drv/Ip/test/ut/SocketTestHelper.cpp:24 (comment said 50 ms; value is 50 µs)c3f9ed8a717a— Drv/TcpServer/docs/sdd.md:13 (TcpClient copy-paste → TcpServer)3aef929574cb— Drv/Udp/docs/sdd.md:12 (TcpClient copy-paste → Udp)8a98489bdd41— Drv/Udp/docs/sdd.md:50 (startSocketTask(name)→start(name))6608275c4853— Drv/Interfaces/docs/sdd.md:3 (.fppi/*Interfacenames → actual.fppfiles and FPP names Drv.ByteStreamDriver, Drv.Gpio, Drv.I2c, Drv.Spi, Drv.Tick)f17d968888f8— Fw/DataStructures/test/ut/RedBlackTreeSetOrMapImplTester.hpp:80 (function returns void, not a black height)d89b3ac8e14b— Fw/DataStructures/test/ut/StackTest.cpp:51 (default constructor, no backing storage)91e404abcdef— Fw/Dp/test/util/DpContainerHeader.hpp:88 ("after deserializing time" → data size)142cf3917e2e— Fw/Log/LogPacket.hpp:35 (channel id → event id)f74ed7137159— Fw/Logger/test/ut/LoggerRules.hpp:60,76 (LogBad/LogGoodStringObject doc comments corrected)cf8cca194ffa— Fw/Types/Serializable.cpp:534 (64-bit → 32-bit int)c1d95184c9ea— Fw/Types/Serializable.cpp:656 ("deser loc" → "ser loc" in serializeSkip)2a674f0f7ef0— Os/Generic/docs/sdd.md:14 (new (nothrow)/delete→ registeredFw::MemAllocator)38832137ff79— Os/Generic/docs/sdd.md:31 (PQ-003 reworded to allocator registry)88cc197fecd3— Os/Generic/test/ut/PriorityMemQueueInputValidationTests.cpp:17 (helper wraps public API; also simplified body)808ed7370b6d— Os/Generic/test/ut/PriorityMemQueueTests.cpp:49 (same comment fix)de62547c4347— Os/Generic/test/ut/PriorityMemQueueTests.cpp:2026 (disable affects receive only; send succeeds)f443066d1ddd— Os/Generic/test/ut/QueueRulesDefinitions.hpp:5 (include guard OS_STUB_* → OS_GENERIC_TEST_UT_QUEUE_RULES_DEFINITIONS)b4b653ffb277— Os/Posix/File.cpp:137 ("not open" → "open")1514e33fd95f— Os/Posix/error.cpp:57 (fallthroughs map to specific statuses, not OTHER_ERROR)f84ec0381115— Os/Stub/ConditionVariable.cpp:18,22 (pend returns ERROR_NOT_IMPLEMENTED; no assert)64cfbb448b4b— Os/Stub/File.hpp:35 et seq. (all NOT_IMPLEMENTED → NOT_SUPPORTED, 16 occurrences)6ae37813ccb2— Svc/Ccsds/AosDeframer/test/ut/AosDeframerTester.cpp:1044,1085 (no MaxPacketSize/OversizedPacket; 64-bit guard is allocator rejection)689ca374b6ef— Svc/Ccsds/ApidManager/ApidManager.hpp:71 and ApidManager.cpp:29 (asserts on insert failure; removed SEQUENCE_COUNT_ERROR/ApidTableFull contract)49c7850a3345— Svc/Ccsds/CfdpManager/Types/test/ut/PduTests.cpp:35 (correct 7-byte minimum header derivation)482c953fc322— Svc/CmdDispatcher/docs/sdd.md:39 (cmdReg kind Synchronous → Guarded)c2748421ab68— Svc/CmdDispatcher/docs/sdd.md:48 (linear-table description → red-black tree map + OpCodeReregistered semantics)40af53acf216— Svc/CmdSequencer/docs/sdd.md:54 (CS_RUN rejects while running, does not cancel)5908b9b1a4d8— Svc/FileDispatcher/FileDispatcher.hpp:46,58 (fileAnnounceRecv / ENABLE_DISPATCH / section headings corrected)eb90d48e056c— Svc/FileDownlink/Events.fppi:36,48 (partial-downlink event dictionary strings corrected; removed stale timeout text)01e624cc034b— Svc/FileManager/FileManager.hpp:77,100,179 (AppendFile/CalculateCrc/FILES_PER_RATE_TICK comments corrected)882f22359416— Svc/FileUplink/FileUplink.hpp:275 (counts all received packets, not cancel packets)01b79579508c— cmake/platform/platform.cmake.template:37,74 (Fw/Types/Linux → cmake/platform/unix/Platform; removed stale *-common.cmake reference)031c680183dc— cmake/toolchain/helpers/arm-linux-base.cmake:5 (documents CMAKE_SYSTEM_PROCESSOR/ARM_TOOL_SUFFIX inputs and ARM_TOOLS_PATH environment variable)377cfa797024— docs/how-to/develop/develop-fprime-libraries.md:51 (${CURRENT_CMAKE_LIST_DIR}→${CMAKE_CURRENT_LIST_DIR})99187e24d146— scripts/docs_nav_tree.py:7 (SCRIPT_DIR → REPO_ROOT with correct comment)dda3be99be2b— scripts/docs_nav_tree.py:196 (removed scratch note on entrypoint guard)eabd34fb20a8— scripts/gen_indexes.py:11 (SCRIPT_DIR → REPO_ROOT with correct comment)Findings skipped:
a6f81657d724(.github/agents/full-codebase-review.agent.md) — already fixed on devel: the roster text now says "whatever the registry contains at run time" with no hardcoded count (commit e149887).0103566c25da(Drv/Ip/TcpServerSocket.hpp) — already fixed on devel by Drv/Ip: correct SDD and doc comments to match shutdown/close semantics #5688 (a107cda), which corrected the terminate doc comment.Rationale
Stale or contradictory comments and documentation actively misdirect maintainers, operators, and users. All fixes have a single obvious correct resolution verified against the implementation.
Testing/Review Recommendations
Doc/comment-only changes. Full build (
fprime-util build) and UT build pass; UTs for all touched test modules pass (Drv adapters, Drv/Ip, Fw DataStructures/Dp/Logger, Os, Svc AosDeframer/CfdpManager).Future Work
None.
AI Usage (see policy)
This PR was authored by an AI agent (Devin) fixing findings from an AI full-codebase review; all findings were verified against the current implementation before editing.
IAMAI