# shellcheck shell=bash

PROFILE_DIR="$WORKSPACE_ROOT/prompts/profiles"
PROMPT_TEMPLATE="$WORKSPACE_ROOT/prompts/launch.template.md"
TASK_INDEX_TEMPLATE="$WORKSPACE_ROOT/templates/project-docs/task-index.template.md"
FINAL_REPORT_TEMPLATE_SOURCE="$WORKSPACE_ROOT/templates/reports/final-report-v2.template.md"
RUN_VALIDATOR_PATH="$WORKSPACE_ROOT/validators/validate-run.py"
OKSTRA_ROOT=""
OKSTRA_TASKS_ROOT=""
OKSTRA_DISCOVERY_DIR=""
OKSTRA_DISCOVERY_RELATIVE_PATH=""
OKSTRA_LATEST_TASK_FILE=""
OKSTRA_LATEST_TASK_RELATIVE_PATH=""
OKSTRA_TASK_CATALOG_FILE=""
OKSTRA_TASK_CATALOG_RELATIVE_PATH=""
RENDER_ONLY="false"
ASSUME_YES="false"
RESUME_CLARIFICATION_MODE="false"
RESUME_SESSION_MODE="false"
RESUME_SESSION_ID=""
WORKERS_OVERRIDE=""
ROLE_COUNTS=()
ROLE_MODELS=()
HOST_SESSION_CONTEXT_JSON=""
LEAD_MODEL_OVERRIDE=""
LEAD_PROVIDER_OVERRIDE=""
CLAUDE_MODEL_OVERRIDE=""
CODEX_MODEL_OVERRIDE=""
ANTIGRAVITY_MODEL_OVERRIDE=""
WORKER_MODELS_OVERRIDE=""
REPORT_WRITER_PROVIDER_OVERRIDE=""
REPORT_WRITER_MODEL_OVERRIDE=""
LEAD_RUNTIME="claude-code"
EXECUTOR_OVERRIDE=""
CRITIC_CHOICE=""
WORK_CATEGORY=""
BASE_REF=""
RELATED_TASKS_RAW=""
TASK_TYPE=""
BRIEF_PATH=""
PROJECT_ID=""
TASK_GROUP=""
TASK_ID=""
TASK_KEY_INPUT=""
TASK_KEY=""
ANALYSIS_PROFILE=""
DIRECTIVE=""
FIX_CYCLE=""
CLARIFICATION_RESPONSE_PATH=""
SELECTED_DIRECTION_PATH=""
APPROVED_PLAN_PATH=""
APPROVE_PLAN_ACK="false"
# implementation 전용: 유저가 고른 Option Candidate 이름. 빈 값이면 implementation
# 이 plan 의 Recommended Option 으로 폴백한다. --implementation-option 으로 설정.
IMPLEMENTATION_OPTION=""
# Phase 6 plan-body verification toggle. Default "true" (round runs).
# Flipped to "false" by --no-plan-verification on the CLI.
PLAN_VERIFICATION_ENABLED="true"
CLARIFICATION_RESPONSE_PATH=""
CLARIFICATION_RESPONSE_RELATIVE_PATH=""
PROJECT_ROOT=""
PROJECT_ROOT_OVERRIDE=""
PROFILE_FILE=""
BRIEF_FILE_PATH=""
REVIEW_MATERIAL=""
PROFILE_CONTENT=""
RECOMMENDED_ANALYSERS=""
BRIEF_RELATIVE_PATH=""
TASK_GROUP_SEGMENT=""
TASK_ID_SEGMENT=""
TASK_ROOT=""
TASK_MANIFEST_PATH=""
TASK_INDEX_PATH=""
INSTRUCTION_SET_PATH=""
RUNS_DIR=""
HISTORY_DIR=""
TIMELINE_PATH=""
RUN_DIR=""
RUN_MANIFESTS_DIR=""
RUN_STATE_DIR=""
RUN_PROMPTS_DIR=""
RUN_REPORTS_DIR=""
RUN_STATUS_DIR=""
RUN_SESSIONS_DIR=""
RUN_LOGS_DIR=""
RUN_MANIFEST_PATH=""
RUN_MANIFEST_RELATIVE_PATH=""
RUN_PROMPT_SNAPSHOT_FILE=""
RUN_PROMPT_SNAPSHOT_RELATIVE_PATH=""
CLAUDE_WORKER_PROMPT_FILE=""
CLAUDE_WORKER_PROMPT_RELATIVE_PATH=""
CODEX_WORKER_PROMPT_FILE=""
CODEX_WORKER_PROMPT_RELATIVE_PATH=""
ANTIGRAVITY_WORKER_PROMPT_FILE=""
ANTIGRAVITY_WORKER_PROMPT_RELATIVE_PATH=""
REPORT_WRITER_WORKER_PROMPT_FILE=""
REPORT_WRITER_WORKER_PROMPT_RELATIVE_PATH=""
FINAL_REPORT_PATH=""
FINAL_STATUS_PATH=""
FINAL_REPORT_RECORD_RELATIVE_PATH=""
FINAL_STATUS_RELATIVE_PATH=""
FINAL_REPORT_TEMPLATE_PATH=""
FINAL_REPORT_TEMPLATE_RELATIVE_PATH=""
REFERENCE_EXPECTATIONS_FILE=""
REFERENCE_EXPECTATIONS_RELATIVE_PATH=""
TEAM_STATE_PATH=""
TEAM_STATE_RELATIVE_PATH=""
WORKER_RESULTS_PATH=""
WORKER_RESULTS_RELATIVE_PATH=""
RUN_VALIDATOR_RELATIVE_PATH=""
CLAUDE_WORKER_RESULT_FILE=""
CLAUDE_WORKER_RESULT_RELATIVE_PATH=""
CODEX_WORKER_RESULT_FILE=""
CODEX_WORKER_RESULT_RELATIVE_PATH=""
ANTIGRAVITY_WORKER_RESULT_FILE=""
ANTIGRAVITY_WORKER_RESULT_RELATIVE_PATH=""
REPORT_WRITER_WORKER_RESULT_FILE=""
REPORT_WRITER_WORKER_RESULT_RELATIVE_PATH=""
CLAUDE_SESSION_ID=""
CLAUDE_RESUME_COMMAND_PATH=""
CLAUDE_RESUME_COMMAND_RELATIVE_PATH=""
RUN_TIMESTAMP_ISO=""
RUN_DATETIME_SEGMENT=""
RUN_TIME_SEGMENT=""
RUN_FILE_SUFFIX=""
RUN_MANIFESTS_SEQ=""
RUN_PROMPTS_SEQ=""
RUN_REPORTS_SEQ=""
RUN_STATUS_SEQ=""
RUN_STATE_SEQ=""
RUN_SESSIONS_SEQ=""
WORKER_RESULTS_SEQ=""
TASK_ROOT_RELATIVE_PATH=""
TASK_MANIFEST_RELATIVE_PATH=""
TASK_INDEX_RELATIVE_PATH=""
INSTRUCTION_SET_RELATIVE_PATH=""
RUNS_RELATIVE_PATH=""
HISTORY_RELATIVE_PATH=""
TIMELINE_RELATIVE_PATH=""
RUN_DIR_RELATIVE_PATH=""
RUN_MANIFESTS_RELATIVE_PATH=""
RUN_STATE_RELATIVE_PATH=""
RUN_PROMPTS_RELATIVE_PATH=""
RUN_REPORTS_RELATIVE_PATH=""
RUN_STATUS_RELATIVE_PATH=""
RUN_SESSIONS_RELATIVE_PATH=""
LATEST_RUN_PATH=""
LATEST_RUN_RELATIVE_PATH=""
LATEST_REPORT_PATH=""
LATEST_REPORT_RECORD_RELATIVE_PATH=""
CURRENT_TASK_STATUS=""
CURRENT_RUN_STATUS=""
VALIDATION_STATUS="not-run"
VALIDATION_UPDATED_AT=""
VALIDATION_FAILURES_JSON="[]"
RELATED_TASKS_JSON="[]"
RELATED_TASKS_BULLETS="- None recorded"
RELATED_TASKS_INLINE="None"
PROMPT=""
LEAD_MODEL=""
LEAD_MODEL_EXECUTION_VALUE=""
CLAUDE_WORKER_MODEL=""
CLAUDE_WORKER_MODEL_EXECUTION_VALUE=""
CODEX_WORKER_MODEL=""
CODEX_WORKER_MODEL_EXECUTION_VALUE=""
ANTIGRAVITY_WORKER_MODEL=""
ANTIGRAVITY_WORKER_MODEL_EXECUTION_VALUE=""
REPORT_WRITER_MODEL=""
REPORT_WRITER_MODEL_EXECUTION_VALUE=""
DEFAULT_WORKERS="claude,codex,report-writer"
DISPLAY_COMMAND_NAME="${OKSTRA_COMMAND_NAME:-$(basename "$0")}"
DISPLAY_TOOL_NAME="${OKSTRA_TOOL_NAME:-okstra}"

# `okstra run <lead>` 전용: 번들을 준비하지 않고 리드 CLI 만 띄운다.
LAUNCH_ONLY="false"
