{"schema_version": "1.1", "@type": "Dataset", "name": "발행 실행 마지막 상태", "description": "마지막 발행 실행이 어떻게 끝났는지 — 단계·성패·되돌림 여부. 실패한 날에도 직전 발행본 위에 이 파일만 다시 올리므로, 사이트가 어제 것인 이유를 여기서 읽을 수 있습니다. 값은 실행이 스스로 적은 것입니다.", "as_of": "2026-09-24", "as_of_iso": "2026-09-24", "generated_kst": "2026-09-24 18:18", "snapshot_id": "20260923-153347", "code_rev": "ed3b628", "source": "금융감독원 전자공시시스템(DART) · 금융위원회 공공데이터포털", "license": {"id": "aiksd-public-1.1", "name": "출처 표기 · 비영리 인용·이용 · 상업적 재배포 불허(시세는 공공누리 제4유형도 따름)", "version": "1.1", "scope": "/data/public/**", "url": "https://aikstockdata.com/licenses/aiksd-public-1.1.txt", "full_text": "본 사이트가 공개하는 데이터(/data/public/*)는 출처를 표기하면 비영리 목적으로 인용·이용할 수 있습니다. 상업적(영리) 목적의 재배포는 어떤 경우에도 허용하지 않습니다. 시세(종가·거래량·시가총액 등)는 금융위원회 공공데이터포털이 원천이며 원천의 이용허락범위(공공누리 제4유형: 출처표시·상업적 이용금지·변경금지)와 제공기관 안내도 함께 따라야 하고, 공시 내용은 금융감독원 전자공시시스템(DART)의 이용 조건을 따릅니다. 다만 증권사 실시간 시세 등 원천의 실시간 정보를 그대로 재배포하는 것은 허용되지 않습니다."}, "citation": "자료: 한국주식데이터(aikstockdata.com) — 원천: 금융감독원 DART · 금융위원회 공공데이터포털", "disclaimer": "정보 제공 목적이며 투자 권유가 아닙니다. 데이터는 갱신 시점 기준 스냅샷(매 거래일 저녁 6시 30분 전후 갱신)이며, 투자 판단과 책임은 이용자 본인에게 있습니다.", "code_sha": "ff99b71a", "limitations": ["마지막 실행이 스스로 적은 기록이다 — 데이터 값이 아니다.", "실패한 날에는 직전 발행본 위에 이 파일만 다시 올라간다 — generated_kst 가 다른 파일들과 다를 수 있다.", "failure_lines 는 경로·비밀을 거른 뒤의 판정 줄이라 원인의 전부가 아니다(전부는 클라우드 로그에 있다)."], "last_run": {"mode": "force", "started_kst": "2026-09-24 18:10:01", "finished_kst": "2026-09-24 18:18:18", "total_seconds": 497.1, "outcome": "fail", "failed_at": "compliance", "exit_code": 1, "rule_ids": [], "failure_lines": ["=== 준법감시 게이트 2026-09-24 18:17  모드=게이트(차단어 시 deploy 중단) ===", "[치환] 없음", "[차단] 위반 14건", "=== 결과: 차단 - deploy 중단(직전 성공본 유지) ===", "[2026-09-24 18:18:17] 경고: TLS 인증서 검증 실패 — 네트워크 TLS 검사 환경으로 판단, 검증 생략 후 재시도.", "[compliance] 발송 226자"], "attempts": [{"label": "initial", "code_rev": "f3e1385", "failed_at": "compliance", "steps": [["fsc", "ok"], ["universe_observe", "ok"], ["disclosures", "ok"], ["rankings", "ok"], ["signal", "ok"], ["sanity", "ok"], ["content", "ok"], ["mdd", "ok"], ["sitegen", "ok"], ["validate", "ok"], ["compliance", "fail"]]}, {"label": "rollback", "code_rev": "ed3b628", "failed_at": "compliance", "steps": [["fsc", "ok"], ["universe_observe", "ok"], ["disclosures", "ok"], ["rankings", "ok"], ["signal", "ok"], ["sanity", "ok"], ["content", "ok"], ["mdd", "ok"], ["sitegen", "ok"], ["validate", "ok"], ["compliance", "fail"]]}], "rollback": {"planned": true, "why": "새 코드 f3e1385 실패 → 마지막 성공 코드 ed3b628(last_good_rev.txt)로 되돌린다", "from": "f3e1385", "to": "ed3b628", "lkg_source": "last_good_rev.txt", "result": "fail@compliance"}, "transient_retries": 0, "code_rev": "f3e1385", "published": false, "published_code_rev": null, "note": "outcome=ok 정상 · rollback_ok 새 코드 실패→마지막 성공 코드로 발행 · fail 발행 없음(직전 성공본 유지)", "slots": {"expected": ["KIS_DAILY_0730", "KIS_DAILY_1930", "KIS_DAILY_2030", "KIS_GIT_PULL_0725", "KIS_GIT_PULL_2025"], "present": ["KIS_DAILY_0730", "KIS_DAILY_1930", "KIS_DAILY_2030", "KIS_GIT_PULL_0725", "KIS_GIT_PULL_2025"], "missing": [], "tasks": [{"name": "KIS_DAILY_0730", "next_run": "2026-09-25 오전 7:30:00", "status": "준비"}, {"name": "KIS_DAILY_1810", "next_run": "2026-09-25 오후 6:10:00", "status": "실행 중"}, {"name": "KIS_DAILY_1930", "next_run": "2026-09-24 오후 7:30:00", "status": "준비"}, {"name": "KIS_DAILY_2030", "next_run": "2026-09-24 오후 8:30:00", "status": "준비"}, {"name": "KIS_GIT_PULL_0725", "next_run": "2026-09-25 오전 7:25:00", "status": "준비"}, {"name": "KIS_GIT_PULL_1805", "next_run": "2026-09-25 오후 6:05:00", "status": "준비"}, {"name": "KIS_GIT_PULL_1925", "next_run": "2026-09-24 오후 7:25:00", "status": "준비"}, {"name": "KIS_GIT_PULL_2025", "next_run": "2026-09-24 오후 8:25:00", "status": "준비"}, {"name": "KIS_INTRADAY_1500", "next_run": "2026-09-25 오후 3:00:00", "status": "준비"}, {"name": "KIS_REGRESS_1806", "next_run": "2026-09-25 오후 6:06:00", "status": "준비"}, {"name": "KIS_TELEGRAM_1905", "next_run": "2026-09-24 오후 7:05:00", "status": "준비"}, {"name": "KIS_THREADS_1910", "next_run": "2026-09-24 오후 7:10:00", "status": "준비"}, {"name": "KIS_WEEKLY_WATCH", "next_run": "2026-09-26 오전 10:00:00", "status": "준비"}], "unreadable": null, "summary": "재시도 슬롯 5/5 등록 · KIS_ 작업 13개", "queried_kst": "2026-09-24 18:18:20"}, "gate_warnings": {"when_kst": "2026-09-24 18:17:22", "ids": ["G7"], "counts": {"G7": 1}, "lines": ["[G7] 내부 링크 404: 깨진 내부 링크 /cite (출처 index-history.html)"]}, "code_dirty": false, "code_sha": "ff99b71a", "written_kst": "2026-09-24 18:18:20"}, "last_run_note": "outcome: ok=이번 실행이 끝까지 발행 · rollback_ok=새 코드가 실패해 마지막 성공 코드로 되돌려 발행 · fail=발행 없음(사이트는 직전 성공본). failed_at 은 멈춘 단계, rule_ids 는 게이트 규칙 ID, rollback 은 되돌림 판정과 결과, attempts 는 시도별 단계 기록, slots 는 작업 스케줄러의 KIS_ 작업과 재시도 슬롯 등록 여부(expected·present·missing·summary), gate_warnings 는 경고 등급 검사(발행은 나감)의 규칙 ID·건수·줄. 이 파일은 실패한 날에도 갱신됩니다."}