SCOPE-2: Standard Reader^
- reporter:
kennethpjdyer
- created:
2026-09-22
- closed:
2026-09-24
Summary^
Develop a standard library to handle read operations across for Autotelic Tools.
Motivation^
Read operations are one of the principal vectors for security vulnerabilities in C programs. Rather than implement a unique read function in each instance where one is required, we will instead implement a standard reader library to keep all of these functions in the same place.
Targets^
Goals^
Build process to handle compilation, testing, installation and release.
Functions to report the library and program name as well as the version number.
Use atLog to initialize the
log.hfile and set the default level to TRACE during development.Struct to store system-level information on a given file path with functions to initialize the struct, set path values, and render the struct as a string.
Functions to collect stat information to store on the struct.
Functions to compare mtimes.
Function to find a sibling path.
Classification system based on file extension that groups files as source, include, image, and resource files.
Directory reader that builds file arrays based on groupings.
Function that reads a file and sets its content as a
char*on the struct.Command-line interface that takes a file or directory and prints statistical information on the collected structs.
Non-Goals^
Robust command-line interface is out of scope.
User Experience^
End User^
The end user has no direct interaction with the standard reader. Instead, it is only used through downstream libraries, which may surface its logging messages during larger read operations.
Developer^
Developers are expected to use a handful of public functions to read
files and pass data for downstream processing. An atread binary is
provided for testing purposes, allowing the developer to see exactly
what the functions provide them.
Dependency^
This scope requires the completion of SCOPE-1: Standard Logger, which provides the standard logger library used by the reader.