# SYNOMAP_LOOP_SPEC_V1_ABC_DIGEST # PURPOSE: Fully deterministic A/B/C loop spec with minimal interpretation. # AUDIENCE: LLM reboot prompts / technical engines. [STATE_MODEL] A: mapping ok, SRC present, DST missing, save_path=/data, no SYNO_OK. B: mapping ok, SRC present, DST present, save_path=/data, no SYNO_OK. C: mapping ok, SRC present, DST present, save_path=Syno, tag=SYNO_OK, seed_ok=true. [SEED_CONDITION] seed_ok = (seeding_time >= threshold) ratio = ignored (ratio_threshold = -1) [STRATEGY] target_save_path = SYNODIR (S2_SYNO_CENTRIC) [TRANSITIONS] A: if DST_missing: create_DST() if create_DST_ok: if seed_ok: qb_setLocation(SYNODIR) readback() if save_path==SYNODIR: set_tag(SYNO_OK) state=C else: state=B else: set_tag(SYNO) state=B else: state=A # or future error-state B: if seed_ok==false: set_tag(SYNO) state=B else: qb_setLocation(SYNODIR) readback() if save_path==SYNODIR: replace_tag(SYNO_OK) state=C else: state=B C: if mapping_ok and SRC/DST ok and save_path==SYNODIR and tag==SYNO_OK and seed_ok: state=C # fixed point, SKIP else: state=OTHER # handled in next specs [CONSTRAINTS] - One qB command per torrent per run; no retry loops. - Every qB mutation must be followed by readback verification. - No state progression without confirmation. - Creating mirrors must succeed before any migration. - C is idempotent: no qB/FS actions allowed.