Context
src/algorithm_pattern_classifier/{classifiers,detectors,interfaces,models}/ currently only contain empty __init__.py files. Before any detector/classifier can be implemented, we need the shared vocabulary the rest of the engine will build on.
What
Define the core domain models and abstract interfaces:
- Models (
models/): an AlgorithmPattern enum/taxonomy (e.g. two-pointer, sliding-window, dynamic programming, backtracking, BFS/DFS, greedy, divide-and-conquer, binary search), and a ClassificationResult (pattern, confidence score, supporting evidence/line references).
- Interfaces (
interfaces/): BaseDetector (inspects source/AST for evidence of one specific pattern) and BaseClassifier (aggregates detector outputs into ranked ClassificationResults).
This mirrors the interface/model split already established in the dsa-autopsy sibling project and should unblock #2 and #3.
Acceptance Criteria
Context
src/algorithm_pattern_classifier/{classifiers,detectors,interfaces,models}/currently only contain empty__init__.pyfiles. Before any detector/classifier can be implemented, we need the shared vocabulary the rest of the engine will build on.What
Define the core domain models and abstract interfaces:
models/): anAlgorithmPatternenum/taxonomy (e.g. two-pointer, sliding-window, dynamic programming, backtracking, BFS/DFS, greedy, divide-and-conquer, binary search), and aClassificationResult(pattern, confidence score, supporting evidence/line references).interfaces/):BaseDetector(inspects source/AST for evidence of one specific pattern) andBaseClassifier(aggregates detector outputs into rankedClassificationResults).This mirrors the interface/model split already established in the
dsa-autopsysibling project and should unblock #2 and #3.Acceptance Criteria
AlgorithmPatterntaxonomy documented with at least 6 initial pattern typesClassificationResultmodel andBaseDetector/BaseClassifierABCs added with documented abstract methods