Milestone 2’s core deterministic scanner path

This commit is contained in:
2026-04-25 22:32:05 +02:00
parent 3b2d1667bb
commit 3d9032a386
11 changed files with 853 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
from __future__ import annotations
from dataclasses import dataclass, field
from typing import Any
@dataclass(frozen=True)
@@ -13,6 +14,48 @@ class Repository:
status: str
@dataclass(frozen=True)
class RepositorySnapshot:
id: int
repository_id: int
commit_hash: str
branch: str
source_path: str
file_count: int
@dataclass(frozen=True)
class AnalysisRun:
id: int
repository_id: int
snapshot_id: int | None
status: str
started_at: str
completed_at: str | None
error_message: str | None
scanner_version: str
@dataclass(frozen=True)
class ObservedFact:
id: int
repository_id: int
analysis_run_id: int
snapshot_id: int | None
kind: str
path: str
name: str
value: str
metadata: dict[str, Any]
@dataclass(frozen=True)
class ScanSummary:
analysis_run: AnalysisRun
snapshot: RepositorySnapshot | None
facts: list[ObservedFact]
@dataclass(frozen=True)
class Evidence:
id: int