Spaces:
Running
Running
| """Deterministic seeding + stable identity helpers (REAL, IMPLEMENTED).""" | |
| import hashlib | |
| from dataclasses import dataclass | |
| class SeedBundle: | |
| experiment_seed: int = 42 | |
| generation_seed: int = 43 | |
| organism_seed: int = 44 | |
| development_seed: int = 45 | |
| mutation_seed: int = 46 | |
| world_seed: int = 47 | |
| teacher_seed: int = 48 | |
| def derive(self, stream: str, salt: str = "") -> int: | |
| h = hashlib.sha256() | |
| h.update(str(self.experiment_seed).encode()) | |
| h.update(b"|" + stream.encode()) | |
| h.update(b"|" + str(salt).encode()) | |
| h.update(b"|" + str((self.generation_seed, self.organism_seed, | |
| self.development_seed, self.mutation_seed, | |
| self.world_seed, self.teacher_seed)).encode()) | |
| return int(h.hexdigest()[:8], 16) | |
| def deterministic_id(*parts: str) -> str: | |
| """Stable SHA-256 identity; prefer over uuid4 for scientific entities.""" | |
| h = hashlib.sha256() | |
| for p in parts: | |
| h.update(str(p).encode()) | |
| h.update(b"|") | |
| return h.hexdigest()[:16] | |
| def derive_subseed(base_seed: int, stream: str, salt: str = "") -> int: | |
| h = hashlib.sha256(f"{base_seed}|{stream}|{salt}".encode()) | |
| return int(h.hexdigest()[:8], 16) | |