feat(B09): 263-2 사전조합 · 구조물 조합 운반 = 담은 로직 입력 + 거리 값 사본
- 모달 = 담은 로직 이름별 입력(library-inputs) · 거리 칸 거리에서 · 손 값(own) 이김
- 사본 폴더 = 종류@층@주인@키~값해시8 · 같은 값 = 같은 사본 · 다른 거리 = 따로 · 옛 이름 읽힘
- 셈 때 서버가 거리로 사본 다시 고름(resolve_hauls · fix_keys) · [저장] = 바뀐 연결 저장 값에도 · prune
- 연결 {tab dg, key, lib, given, own} 저장 꼴 · 원본 읽기 전 모양 검사
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JywHxQuWPk6UYXTebyrBoU
This commit is contained in:
@@ -122,7 +122,17 @@ def _clean_ref(ref: Any) -> dict[str, Any] | None:
|
||||
tab = ref.get("tab")
|
||||
if tab in ("dg", "sg") and isinstance(ref.get("key"), str) and ref["key"]:
|
||||
lib = ref.get("lib") if tab == "dg" else None
|
||||
return {"tab": tab, "key": ref["key"], **({"lib": lib} if isinstance(lib, str) else {})}
|
||||
out = {"tab": tab, "key": ref["key"], **({"lib": lib} if isinstance(lib, str) else {})}
|
||||
given, own = ref.get("given"), ref.get("own") # 263-2 운반 값 사본 손 값 · 덮은 칸
|
||||
if isinstance(lib, str) and isinstance(given, dict):
|
||||
out["given"] = {
|
||||
str(lid): {str(k): v for k, v in vals.items() if isinstance(v, (str, int, float))}
|
||||
for lid, vals in given.items()
|
||||
if isinstance(vals, dict)
|
||||
}
|
||||
if isinstance(lib, str) and isinstance(own, list):
|
||||
out["own"] = [str(x)[:200] for x in own if isinstance(x, str)][:200]
|
||||
return out
|
||||
if tab == "logic" and isinstance(ref.get("code"), str) and ref["code"]:
|
||||
given = ref.get("given") if isinstance(ref.get("given"), dict) else {}
|
||||
picks = ref.get("picks") if isinstance(ref.get("picks"), dict) else None
|
||||
|
||||
Reference in New Issue
Block a user