from enum import Enum

class FilenameEnum(str, Enum):
    START_TIME = "start_time.json"
    INITIAL_PLAN_RAW = "plan_raw.json"
    INITIAL_PLAN = "plan.txt"
    PLANEXE_METADATA = "planexe_metadata.json"
    SCREEN_PLANNING_PROMPT_RAW = "screen_planning_prompt.json"
    SCREEN_PLANNING_PROMPT_MARKDOWN = "screen_planning_prompt.md"
    EXTRACT_CONSTRAINTS_RAW = "extract_constraints_raw.json"
    EXTRACT_CONSTRAINTS_MARKDOWN = "extract_constraints.md"
    REDLINE_GATE_RAW = "redline_gate_raw.json"
    REDLINE_GATE_MARKDOWN = "redline_gate.md"
    PREMISE_ATTACK_RAW = "premise_attack_raw.json"
    PREMISE_ATTACK_MARKDOWN = "premise_attack.md"
    IDENTIFY_PURPOSE_RAW = "identify_purpose_raw.json"
    IDENTIFY_PURPOSE_MARKDOWN = "identify_purpose.md"
    PLAN_TYPE_RAW = "plan_type_raw.json"
    PLAN_TYPE_MARKDOWN = "plan_type.md"
    CLASSIFY_DOMAIN_RAW = "classify_domain_raw.json"
    CLASSIFY_DOMAIN_MARKDOWN = "classify_domain.md"
    POTENTIAL_LEVERS_RAW = "potential_levers_raw.json"
    POTENTIAL_LEVERS_CLEAN = "potential_levers.json"
    POTENTIAL_LEVERS_CONSTRAINT = "potential_levers_constraint.json"
    TRIAGED_LEVERS_RAW = "triaged_levers_raw.json"
    TRIAGED_LEVERS_CONSTRAINT = "triaged_levers_constraint.json"
    ENRICHED_LEVERS_RAW = "enriched_levers_raw.json"
    ENRICHED_LEVERS_CONSTRAINT = "enriched_levers_constraint.json"
    VITAL_FEW_LEVERS_RAW = "vital_few_levers_raw.json"
    VITAL_FEW_LEVERS_CONSTRAINT = "vital_few_levers_constraint.json"
    STRATEGIC_DECISIONS_MARKDOWN = "strategic_decisions.md"
    CANDIDATE_SCENARIOS_RAW = "candidate_scenarios_raw.json"
    CANDIDATE_SCENARIOS_CLEAN = "candidate_scenarios.json"
    CANDIDATE_SCENARIOS_CONSTRAINT = "candidate_scenarios_constraint.json"
    SELECTED_SCENARIO_RAW = "selected_scenario_raw.json"
    SELECTED_SCENARIO_CLEAN = "selected_scenario.json"
    SELECTED_SCENARIO_CONSTRAINT = "selected_scenario_constraint.json"
    SCENARIOS_MARKDOWN = "scenarios.md"
    PHYSICAL_LOCATIONS_RAW = "physical_locations_raw.json"
    PHYSICAL_LOCATIONS_MARKDOWN = "physical_locations.md"
    CURRENCY_STRATEGY_RAW = "currency_strategy_raw.json"
    CURRENCY_STRATEGY_MARKDOWN = "currency_strategy.md"
    IDENTIFY_RISKS_RAW = "identify_risks_raw.json"
    IDENTIFY_RISKS_MARKDOWN = "identify_risks.md"
    MAKE_ASSUMPTIONS_RAW = "make_assumptions_raw.json"
    MAKE_ASSUMPTIONS_CLEAN = "make_assumptions.json"
    MAKE_ASSUMPTIONS_MARKDOWN = "make_assumptions.md"
    DISTILL_ASSUMPTIONS_RAW = "distill_assumptions_raw.json"
    DISTILL_ASSUMPTIONS_MARKDOWN = "distill_assumptions.md"
    REVIEW_ASSUMPTIONS_RAW = "review_assumptions_raw.json"
    REVIEW_ASSUMPTIONS_MARKDOWN = "review_assumptions.md"
    CONSOLIDATE_ASSUMPTIONS_FULL_MARKDOWN = "consolidate_assumptions_full.md"
    CONSOLIDATE_ASSUMPTIONS_SHORT_MARKDOWN = "consolidate_assumptions_short.md"
    PRE_PROJECT_ASSESSMENT_RAW = "pre_project_assessment_raw.json"
    PRE_PROJECT_ASSESSMENT = "pre_project_assessment.json"
    PROJECT_PLAN_RAW = "project_plan_raw.json"
    PROJECT_PLAN_MARKDOWN = "project_plan.md"
    GOVERNANCE_PHASE1_AUDIT_RAW = "governance_phase1_audit_raw.json"
    GOVERNANCE_PHASE1_AUDIT_MARKDOWN = "governance_phase1_audit.md"
    GOVERNANCE_PHASE2_BODIES_RAW = "governance_phase2_bodies_raw.json"
    GOVERNANCE_PHASE2_BODIES_MARKDOWN = "governance_phase2_bodies.md"
    GOVERNANCE_PHASE3_IMPL_PLAN_RAW = "governance_phase3_impl_plan_raw.json"
    GOVERNANCE_PHASE3_IMPL_PLAN_MARKDOWN = "governance_phase3_impl_plan.md"
    GOVERNANCE_PHASE4_DECISION_ESCALATION_MATRIX_RAW = "governance_phase4_decision_escalation_matrix_raw.json"
    GOVERNANCE_PHASE4_DECISION_ESCALATION_MATRIX_MARKDOWN = "governance_phase4_decision_escalation_matrix.md"
    GOVERNANCE_PHASE5_MONITORING_PROGRESS_RAW = "governance_phase5_monitoring_progress_raw.json"
    GOVERNANCE_PHASE5_MONITORING_PROGRESS_MARKDOWN = "governance_phase5_monitoring_progress.md"
    GOVERNANCE_PHASE6_EXTRA_RAW = "governance_phase6_extra_raw.json"
    GOVERNANCE_PHASE6_EXTRA_MARKDOWN = "governance_phase6_extra.md"
    CONSOLIDATE_GOVERNANCE_MARKDOWN = "consolidate_governance.md"
    RELATED_RESOURCES_RAW = "related_resources_raw.json"
    RELATED_RESOURCES_MARKDOWN = "related_resources.md"
    FIND_TEAM_MEMBERS_RAW = "find_team_members_raw.json"
    FIND_TEAM_MEMBERS_CLEAN = "find_team_members.json"
    ENRICH_TEAM_MEMBERS_CONTRACT_TYPE_RAW = "enrich_team_members_contract_type_raw.json"
    ENRICH_TEAM_MEMBERS_CONTRACT_TYPE_CLEAN = "enrich_team_members_contract_type.json"
    ENRICH_TEAM_MEMBERS_BACKGROUND_STORY_RAW = "enrich_team_members_background_story_raw.json"
    ENRICH_TEAM_MEMBERS_BACKGROUND_STORY_CLEAN = "enrich_team_members_background_story.json"
    ENRICH_TEAM_MEMBERS_ENVIRONMENT_INFO_RAW = "enrich_team_members_environment_info_raw.json"
    ENRICH_TEAM_MEMBERS_ENVIRONMENT_INFO_CLEAN = "enrich_team_members_environment_info.json"
    REVIEW_TEAM_RAW = "review_team_raw.json"
    TEAM_MARKDOWN = "team.md"
    SWOT_RAW = "swot_analysis_raw.json"
    SWOT_MARKDOWN = "swot_analysis.md"
    EXPERTS_RAW = "experts_raw.json"
    EXPERTS_CLEAN = "experts.json"
    EXPERT_CRITICISM_RAW_TEMPLATE = "expert_criticism_{}_raw.json"
    EXPERT_CRITICISM_MARKDOWN = "expert_criticism.md"
    DATA_COLLECTION_RAW = "data_collection_raw.json"
    DATA_COLLECTION_MARKDOWN = "data_collection.md"
    IDENTIFIED_DOCUMENTS_RAW = "identified_documents_raw.json"
    IDENTIFIED_DOCUMENTS_MARKDOWN = "identified_documents.md"
    IDENTIFIED_DOCUMENTS_TO_FIND_JSON = "identified_documents_to_find.json"
    IDENTIFIED_DOCUMENTS_TO_CREATE_JSON = "identified_documents_to_create.json"
    FILTER_DOCUMENTS_TO_FIND_RAW = "filter_documents_to_find_raw.json"
    FILTER_DOCUMENTS_TO_FIND_CLEAN = "filter_documents_to_find_clean.json"
    FILTER_DOCUMENTS_TO_CREATE_RAW = "filter_documents_to_create_raw.json"
    FILTER_DOCUMENTS_TO_CREATE_CLEAN = "filter_documents_to_create_clean.json"
    DRAFT_DOCUMENTS_TO_FIND_RAW_TEMPLATE = "draft_documents_to_find_{}_raw.json"
    DRAFT_DOCUMENTS_TO_FIND_CONSOLIDATED = "draft_documents_to_find.json"
    DRAFT_DOCUMENTS_TO_CREATE_RAW_TEMPLATE = "draft_documents_to_create_{}_raw.json"
    DRAFT_DOCUMENTS_TO_CREATE_CONSOLIDATED = "draft_documents_to_create.json"
    DOCUMENTS_TO_CREATE_AND_FIND_MARKDOWN = "documents_to_create_and_find.md"
    WBS_LEVEL1_RAW = "wbs_level1_raw.json"
    WBS_LEVEL1 = "wbs_level1.json"
    WBS_LEVEL1_PROJECT_TITLE = "wbs_level1_project_title.json"
    WBS_LEVEL2_RAW = "wbs_level2_raw.json"
    WBS_LEVEL2 = "wbs_level2.json"
    WBS_PROJECT_LEVEL1_AND_LEVEL2 = "wbs_project_level1_and_level2.json"
    PITCH_RAW = "pitch_raw.json"
    PITCH_CONVERT_TO_MARKDOWN_RAW = "pitch_to_markdown_raw.json"
    PITCH_MARKDOWN = "pitch.md"
    TASK_DEPENDENCIES_RAW = "task_dependencies_raw.json"
    TASK_DURATIONS_RAW_TEMPLATE = "task_durations_{}_raw.json"
    TASK_DURATIONS = "task_durations.json"
    WBS_LEVEL3_RAW_TEMPLATE = "wbs_level3_{}_raw.json"
    WBS_LEVEL3 = "wbs_level3.json"
    WBS_PROJECT_LEVEL1_AND_LEVEL2_AND_LEVEL3_FULL = "wbs_project_level1_and_level2_and_level3.json"
    WBS_PROJECT_LEVEL1_AND_LEVEL2_AND_LEVEL3_CSV = "wbs_project_level1_and_level2_and_level3.csv"
    REVIEW_PLAN_RAW = "review_plan_raw.json"
    REVIEW_PLAN_MARKDOWN = "review_plan.md"
    EXECUTIVE_SUMMARY_RAW = "executive_summary_raw.json"
    EXECUTIVE_SUMMARY_MARKDOWN = "executive_summary.md"
    SCHEDULE_GANTT_MERMAID_HTML = "schedule_gantt_mermaid.html"
    SCHEDULE_GANTT_DHTMLX_HTML = "schedule_gantt_dhtmlx.html"
    SCHEDULE_GANTT_MACHAI_CSV = "schedule_gantt_machai.csv"
    QUESTIONS_AND_ANSWERS_RAW = "questions_and_answers_raw.json"
    QUESTIONS_AND_ANSWERS_MARKDOWN = "questions_and_answers.md"
    PREMORTEM_RAW = "premortem_raw.json"
    PREMORTEM_MARKDOWN = "premortem.md"
    SELF_AUDIT_RAW = "self_audit_raw.json"
    SELF_AUDIT_MARKDOWN = "self_audit.md"
    PROMPT_ADHERENCE_RAW = "prompt_adherence_raw.json"
    PROMPT_ADHERENCE_MARKDOWN = "prompt_adherence.md"
    REPORT_HTML = "report.html"
    REPORT_MARKDOWN = "report.md"
    PIPELINE_COMPLETE = "pipeline_complete.txt"

class ExtraFilenameEnum(str, Enum):
    LOG_TXT = "log.txt"
    EXPECTED_FILENAMES_JSON = "expected_filenames.json"
    PIPELINE_STOP_REQUESTED_FLAG = "pipeline_stop_requested.txt"
    TRACK_ACTIVITY_JSONL = "track_activity.jsonl"
    ACTIVITY_OVERVIEW_JSON = "activity_overview.json"
    USAGE_METRICS_JSONL = "usage_metrics.jsonl"
