mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-16 03:49:26 +00:00
feat(plane): memory store (file and MinIO) and the remember task (harnessx-removal task 2)
plane/memory.py: the MemoryStore interface with FileStore (index.jsonl, facts by content hash, repos/<host>__<owner>__<name>/<pin>.jsonl, idempotent ingest, deterministic row ids, refusal below 1 GiB free naming the path) and MinioStore (object metadata and tags, S3 Select pushdown probed once per process with a logged local fallback, object version ids on every row read, versioning and runs/ lifecycle helper, presigned URLs). OUSAST_MEMORY selects the backend; MINIO_* settings come from .env; the minio SDK is the optional extra `minio`. plane/tasks/remember.py: model-free rows (facts, verdict, unit_cost, alert) from a case's artifacts; remember_run computes them on the host for a recorded run without writing into it. reconciler.mark_done (477 lines total), seed before and ingest after `ousast plane run`, `ousast plane remember <run>`. The generator annotates each repo-facts Task with openultrasast.io/memory-key (repo, pin, candidates digest, image digest) and the Run with its population and split; plane/ regenerated. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01EmM1j46qgKMh3zqD1QMwEo
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
d64ab2817e
commit
52d28b5121
@@ -20,6 +20,11 @@ dependencies = ["pyyaml>=6.0"]
|
||||
harnessx = [
|
||||
"harnessx @ git+https://github.com/Darwin-Agent/HarnessX.git@274c512eea67c64701f992d3b6fe06f0fd590ef0",
|
||||
]
|
||||
# The plane's memory store on MinIO (OUSAST_MEMORY=minio://<bucket>, plane/memory.py). Imported lazily; the
|
||||
# core install and the file store need nothing beyond PyYAML.
|
||||
minio = [
|
||||
"minio>=7.2,<8",
|
||||
]
|
||||
# Structured parse for overlay (JS/C/C++/Java/Python). Core install stays empty.
|
||||
# Wheels are MIT; import is lazy via openultrasast.semantic.extra.
|
||||
semantic = [
|
||||
@@ -74,6 +79,11 @@ ignore_missing_imports = true
|
||||
module = "tree_sitter"
|
||||
ignore_missing_imports = true
|
||||
|
||||
# The minio SDK is an optional extra, absent in the type-check environment (plane/memory.py imports it lazily).
|
||||
[[tool.mypy.overrides]]
|
||||
module = ["minio", "minio.*"]
|
||||
ignore_missing_imports = true
|
||||
|
||||
# PyYAML ships no inline types and types-PyYAML is not a dev dependency.
|
||||
[[tool.mypy.overrides]]
|
||||
module = "yaml"
|
||||
|
||||
Reference in New Issue
Block a user