Class TestCatalog
java.lang.Object
uno.anahata.asi.yam.tools.benchmarks.TestCatalog
- Direct Known Subclasses:
Agi1TestCatalog
Abstract base catalog representing an extensible benchmark suite and repository of test definitions.
Encapsulates the suite identifier, display name, description, standard prompt header/footer templates,
customizable results storage directory, and registered TestDefinitions.
- Author:
- anahata
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate StringThe detailed description of the suite's goals and scope.private StringThe unique identifier code for the catalog (e.g., "ANAHATA-AGI-1").private StringThe human-readable name of the catalog.private PathThe customizable filesystem directory where JSON results files are persisted.private StringThe standard footer appended to all test prompts in this catalog.private StringThe standard header prepended to all test prompts in this catalog.private final List<TestDefinition> The list of registered test definitions in this catalog. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddTest(TestDefinition test) Adds a test definition to this catalog.findByCode(String testCode) Finds a test definition by its unique test code (case-insensitive).formatPrompt(TestDefinition test) Formats the full prompt for a test by applying this catalog's standard header and footer templates.getResultsFileForTest(String testCode) Resolves the JSON scorecard path for a specific test code within this catalog's results directory.getTests()Retrieves an unmodifiable view of all registered test definitions.toString()Formats this catalog and its test definitions into a clean Markdown representation suitable for RAG message prompt augmentation.
-
Field Details
-
id
The unique identifier code for the catalog (e.g., "ANAHATA-AGI-1"). -
name
The human-readable name of the catalog. -
description
The detailed description of the suite's goals and scope. -
standardHeader
The standard header prepended to all test prompts in this catalog. -
resultsDirectory
The customizable filesystem directory where JSON results files are persisted. -
tests
The list of registered test definitions in this catalog.
-
-
Constructor Details
-
TestCatalog
public TestCatalog(String id, String name, String description, String standardHeader, String standardFooter, Path resultsDirectory) Base constructor for a benchmark test catalog.- Parameters:
id- The unique catalog identifier.name- The human-readable catalog name.description- The catalog description.standardHeader- The standard prompt header template.standardFooter- The standard prompt footer template.resultsDirectory- The filesystem directory where results are stored.
-
-
Method Details
-
getTests
Retrieves an unmodifiable view of all registered test definitions.- Returns:
- List of test definitions.
-
addTest
Adds a test definition to this catalog.- Parameters:
test- The test definition to register.
-
findByCode
Finds a test definition by its unique test code (case-insensitive).- Parameters:
testCode- The test code to look up.- Returns:
- An Optional containing the matching test definition if found.
-
formatPrompt
Formats the full prompt for a test by applying this catalog's standard header and footer templates.- Parameters:
test- The test definition.- Returns:
- The formatted prompt ready for submission to the candidate AGI.
-
getResultsFileForTest
-
toString
-

