engine.pipeline

AnalysisPipeline - orchestrate the analysis workflow.

class AnalysisPipeline[source]

Bases: object

Orchestrate the full analysis workflow.

Flow: Load dumps -> Build ConsensusVector -> Expand derived keys -> Search (mmap) -> Feed DiffStore (Polars) -> Package results.

__init__(project_db=None, auto_persist=True)[source]
Parameters:

auto_persist (bool)

analyze_library(library_dir, phase, protocol_version, keylog_filename='keylog.csv', max_runs=10, expand_keys=True, template=None, normalize=False, algorithms=None, align_candidates=False, verify_decryption=False)[source]

Run full analysis on one library at one phase.

Parameters:
  • library_dir (Path)

  • phase (str)

  • protocol_version (str)

  • keylog_filename (str)

  • max_runs (int)

  • expand_keys (bool)

  • normalize (bool)

  • algorithms (List[str] | None)

  • align_candidates (bool)

  • verify_decryption (bool)

Return type:

LibraryReport

run(request)[source]

Run analysis across multiple libraries.

Parameters:

request (AnalyzeRequest)

Return type:

AnalysisResult