diff --git a/docs/LEGACY-INGEST.md b/docs/LEGACY-INGEST.md index 33d97ba..778e17c 100644 --- a/docs/LEGACY-INGEST.md +++ b/docs/LEGACY-INGEST.md @@ -59,3 +59,17 @@ intention is identified and compared against the current Svrnty Vision route. - Decision: keep only configuration shape and boundary docs. - Closure gate: provider calls, Spark/ComfyUI/vLLM calls, credential reads, or Docker/server startup are outside cleanup authority. + +### Generated Cache Custody + +- Source refs: + `/home/svrnty/workspaces/cortex-os-retired/2026-06-18/svrnty-vision-python-cache-preserved-141800/`. +- Intention: remove interpreter-generated cache residue from the active child + route without deleting custody proof. +- Current coverage: met by preserving the cache outside the umbrella and adding + a route-local validator guard against recurrence. +- Decision: reject generated cache material as archive-only, not source, + evidence, authority, or package candidate material. +- Closure gate: future cache recurrence fails + `python3 tools/validate_svrnty_vision_child.py`; no runtime, Docker, provider, + credential, Core, Seed, Hindsight, or sibling-route effects are implied. diff --git a/tools/validate_svrnty_vision_child.py b/tools/validate_svrnty_vision_child.py index 778f7a8..455892f 100755 --- a/tools/validate_svrnty_vision_child.py +++ b/tools/validate_svrnty_vision_child.py @@ -3,11 +3,19 @@ from __future__ import annotations import json +import os import subprocess import sys from pathlib import Path ROOT = Path(__file__).resolve().parents[1] +sys.dont_write_bytecode = True + +GENERATED_ARTIFACT_DIRS = [ + "src/svrnty_vision/__pycache__", + "tools/__pycache__", + ".pytest_cache", +] REQUIRED = [ "AGENTS.md", "INDEX.md", @@ -81,6 +89,7 @@ def main() -> int: ], "CONTEXT.md": ["Visual Perception Package Candidate", "Research Handoff"], "docs/VISION-PACKAGE-CANDIDATE.md": ["Research reads sources; Vision sees media", "wildcard grant"], + "docs/LEGACY-INGEST.md": ["Generated Cache Custody", "svrnty-vision-python-cache-preserved-141800"], "outputs/2026-06-12-svrnty-vision-workboard-readiness-reconciliation.md": [ "No Core promotion", "Seed consumption", @@ -99,9 +108,12 @@ def main() -> int: if not path.exists(): errors.append(f"missing:{rel}") continue + env = os.environ.copy() + env["PYTHONDONTWRITEBYTECODE"] = "1" completed = subprocess.run( [sys.executable, str(path)], cwd=ROOT, + env=env, text=True, capture_output=True, check=False, @@ -109,6 +121,9 @@ def main() -> int: validator_outputs[rel] = completed.stdout.strip() if completed.returncode != 0: errors.append(f"validator_failed:{rel}:{completed.stderr.strip()}") + for rel in GENERATED_ARTIFACT_DIRS: + if (ROOT / rel).exists(): + errors.append(f"generated_artifact_residue:{rel}") result = { "ok": not errors, "validator": "svrnty-vision-child-v1",