{
  "schema_version": 1,
  "observed_at": "2026-09-19T02:07:46.997170+00:00",
  "environment": {
    "os": "Linux",
    "python": "3.10.12"
  },
  "method": "같은 Python과 스크립트의 절대 경로를 사용해 자식 프로세스를 8번 실행했다. 작업 디렉터리와 합성 환경변수를 명시했으며 운영 환경변수는 상속하지 않았다.",
  "limits": "cron이나 systemd 타이머의 실제 실행, 운영 작업, 로그인 셸, 가상환경, 권한과 시간대 차이는 시험하지 않았다. 빈 PATH 폴더는 실패 조건을 구분하려고 만든 실험용 설정이다.",
  "observations": [
    {
      "case": "relative_app",
      "mode": "relative",
      "cwd": "app",
      "path_contains_helper": false,
      "region_present": false,
      "exit_code": 0,
      "result": {
        "value": "settings-ok"
      }
    },
    {
      "case": "relative_elsewhere",
      "mode": "relative",
      "cwd": "elsewhere",
      "path_contains_helper": false,
      "region_present": false,
      "exit_code": 1,
      "result": {
        "error": "FileNotFoundError",
        "target": "settings.json"
      }
    },
    {
      "case": "anchored_elsewhere",
      "mode": "anchored",
      "cwd": "elsewhere",
      "path_contains_helper": false,
      "region_present": false,
      "exit_code": 0,
      "result": {
        "value": "settings-ok"
      }
    },
    {
      "case": "env_missing",
      "mode": "env",
      "cwd": "app",
      "path_contains_helper": false,
      "region_present": false,
      "exit_code": 1,
      "result": {
        "error": "KeyError",
        "target": "'PUNCHBLOG_LAB_REGION'"
      }
    },
    {
      "case": "env_explicit",
      "mode": "env",
      "cwd": "app",
      "path_contains_helper": false,
      "region_present": true,
      "exit_code": 0,
      "result": {
        "value": "lab-region"
      }
    },
    {
      "case": "helper_on_path",
      "mode": "bare",
      "cwd": "app",
      "path_contains_helper": true,
      "region_present": false,
      "exit_code": 0,
      "result": {
        "value": "helper-ok"
      }
    },
    {
      "case": "helper_off_path",
      "mode": "bare",
      "cwd": "app",
      "path_contains_helper": false,
      "region_present": false,
      "exit_code": 1,
      "result": {
        "error": "FileNotFoundError",
        "target": "punchblog-lab-helper"
      }
    },
    {
      "case": "helper_absolute",
      "mode": "absolute",
      "cwd": "elsewhere",
      "path_contains_helper": false,
      "region_present": false,
      "exit_code": 0,
      "result": {
        "value": "helper-ok"
      }
    }
  ],
  "tables": {
    "executions": {
      "headers": [
        "조건",
        "종료 코드",
        "확인한 결과"
      ],
      "rows": [
        [
          "상대 설정 경로, app에서 실행",
          0,
          "settings-ok"
        ],
        [
          "상대 설정 경로, elsewhere에서 실행",
          1,
          "FileNotFoundError"
        ],
        [
          "스크립트 기준 설정 경로, elsewhere에서 실행",
          0,
          "settings-ok"
        ],
        [
          "필수 환경변수 없음",
          1,
          "KeyError"
        ],
        [
          "필수 환경변수 명시",
          0,
          "lab-region"
        ],
        [
          "보조 명령 폴더가 PATH에 있음",
          0,
          "helper-ok"
        ],
        [
          "PATH가 실험용 빈 폴더",
          1,
          "FileNotFoundError"
        ],
        [
          "빈 PATH, 보조 명령을 절대 경로로 호출",
          0,
          "helper-ok"
        ]
      ]
    }
  }
}
