|
Download docs/SAFETY.md from smlflg/Meta3.0: direct link, hf CLI and curl.
- Browser
- Download file 2.51 kB
-
https://huggingface.co/smlflg/Meta3.0/resolve/main/docs/SAFETY.md
- Command line
-
hf download hf://smlflg/Meta3.0/docs/SAFETY.md
-
curl -L -o SAFETY.md https://huggingface.co/smlflg/Meta3.0/resolve/main/docs/SAFETY.md
2.51 kB
| # Safety And Cost Gates | |
| ## Keine Secrets | |
| Config-Dateien duerfen nur Env-Var-Namen enthalten, keine Werte. | |
| Erlaubt: | |
| ```json | |
| "api_key_envs": ["LITELLM_API_KEYS", "OPENAI_API_KEY"] | |
| ``` | |
| Nicht erlaubt: | |
| ```json | |
| "api_key": "..." | |
| ``` | |
| ## Kein Start durch Scaffold | |
| Alle Scripts in `scripts/` sind lokal: | |
| - `meta3_smoke.py` | |
| - `meta3_prepare.py` | |
| - `meta3_plan_batches.py` | |
| - `meta3_build_workpackets.py` | |
| - `meta3_validate_run.py` | |
| - `meta3_preflight.py` | |
| Sie duerfen keine API-Requests ausfuehren. | |
| Ausnahme: `meta3_run_packets.py` kann spaeter Netzwerk nutzen, aber nur mit: | |
| - vorhandenen Workpackets, | |
| - vorherigem Dry-Run, | |
| - `--execute-network`, | |
| - `--accepted-call-budget <N>`, | |
| - vorhandener API-Key-Env. | |
| Ohne `--execute-network` schreibt es nur einen Dry-Run-Report. | |
| ## Langlauf-Kontrolle | |
| Ein echter Runner schreibt und beachtet: | |
| - `state/<mode>_runner.lock.json`: verhindert Doppelstart. | |
| - `state/<mode>_runner_heartbeat.json`: Fortschritt, Fehler, In-Flight-Status. | |
| - `state/STOP`: stoppt alle Modi nach den laufenden In-Flight-Calls. | |
| - `state/STOP_<mode>`: stoppt nur einen Modus. | |
| Status pruefen: | |
| ```bash | |
| python3 scripts/meta3_runner_status.py | |
| ``` | |
| Der Runner submitted nur bis zur Concurrency-Grenze gleichzeitig. Bei Stop- oder | |
| Fehlerschwelle werden keine neuen Pakete gestartet; laufende Pakete werden noch | |
| sauber verarbeitet. | |
| ## Source-Drift-Gate | |
| Meta3 baut standardmaessig keine finalen Workpackets, wenn Meta2.0-Audit und | |
| rohe Digest-Datei auseinanderlaufen: | |
| ```text | |
| layer1_audit_unique_digest_paths != layer1_raw_digest_file_rows_counted | |
| ``` | |
| Das verhindert, dass ein Overnight-Run gegen eine halb aktualisierte Quelle | |
| arbeitet. Der Batchplan markiert diesen Fall als `blocked`. | |
| `meta3_build_workpackets.py` verweigert ohne lokalen Source-Snapshot oder | |
| `--allow-source-drift`. | |
| Der sichere Pfad ist: | |
| ```bash | |
| python3 scripts/meta3_freeze_sources.py | |
| ``` | |
| Danach konsumieren Workpackets die eingefrorene Datei unter | |
| `runs/<run_id>/data/source_snapshot/`. `--allow-source-drift` ist nur fuer | |
| diagnostische, nicht-finale Runs gedacht. | |
| ## Call-Budget | |
| `max_api_calls=10000000` ist ein hartes Planungsmaximum, kein Startsignal. | |
| Vor echten Calls braucht es: | |
| - Run-Manifest, | |
| - Batchplan, | |
| - Workpacket-Manifest, | |
| - Call-Ledger, | |
| - Dry-Run-Report, | |
| - Network-Preflight-Report mit Status `pass`, | |
| - Kosten-/Concurrency-Akzeptanz, | |
| - Abbruchbedingungen. | |
| ## Concurrency | |
| Start safe: | |
| - `safe_batch_size=3` | |
| - `safe_concurrency=2` | |
| Nicht direkt auf hohe Parallelitaet gehen. Erst Fehlerrate und 429-Rate sehen. | |