# -*- coding: utf-8 -*-
"""
Agile Together — the Reference list cards (the playbook inside the board), ENGLISH.

Parallel table to `referencia_cards._CARDS_PT`, chosen by `escolher()`. Same
order, same count: `configurar_board.py` creates one card per entry and matches
existing ones BY TITLE, so a board built in English keeps its cards on the next
run and a board built in Portuguese is never touched.

⚠️ THE LIST NAMES QUOTED HERE ARE THE ONES `listas.py` CREATES IN ENGLISH:
   Completed · Scrum Events · Reference · "0. Inbox". Quote a different name and
   the card sends the student to a list that does not exist on their board.
"""

_CYCLE = (
    "THE CYCLE OF ANY STEP THAT USES AI\n"
    "1. Choose the step in the menu — it hands you the prompt (clipboard).\n"
    "2. Paste it into your AI (the one you already use) and copy the WHOLE answer.\n"
    "3. Paste the answer into the \"0. Inbox\" card — the first one in this list.\n"
    "4. Run the SAME step again — it reads the board and carries on.\n\n"
    "Running it twice is safe: with no answer in the card, the step just hands you "
    "the prompt again.\nThe golden rule does not change: the AI proposes, YOU decide."
)

CARDS_EN = [
    (
        "00. How this course works",
        "Agile Together runs a project of YOUR OWN across 3 Sprints, with an OKR out "
        "front and your AI helping.\n\n" + _CYCLE + "\n\n"
        "THE LISTS ON THIS BOARD\n"
        "- Product Backlog: everything that could be done, in order of value.\n"
        "- Sprint Backlog: what you committed to for this Sprint.\n"
        "- Daily Scrum: today's focus.\n"
        "- Completed: what is done (this is where the KRs are measured from).\n"
        "- Scrum Events: the 7 events of each Sprint, already created.\n"
        "- Reference: these cards — and, at the top of it, the \"0. Inbox\",\n"
        "  where you paste your AI's answer.\n\n"
        "The first four are STATES of the work: an item travels through them. "
        "Reference is not — it is for consulting. That is why the Inbox lives in it, "
        "and not in a list of its own: pasting the AI's answer is not a state of "
        "your product."
    ),
    (
        "C. Consolidate the answers of TWO AIs (works for any step)",
        "WHEN\n"
        "Whenever the decision carries weight: the Product Goal, the order of the "
        "backlog, the Sprint Goal. Hearing two AIs and comparing them is the fastest "
        "way to learn where to TRUST them — and where not to.\n\n"
        "WHAT IT DOES\n"
        "1. Run the step and take the prompt.\n"
        "2. Paste the SAME prompt into TWO different AIs.\n"
        "3. Paste BOTH answers into the Inbox, one below the other, without deleting "
        "the headings (PRODUCT GOAL:, STORIES: ...).\n"
        "4. Press C in the menu: it builds the prompt that makes one AI compare the "
        "two and propose ONE — and puts it on your clipboard.\n"
        "5. Paste the consolidated answer into the Inbox IN PLACE OF the two and run "
        "the normal step.\n\n"
        "WHAT TO LOOK AT\n"
        "The part that counts is not the finished answer: it is the COMPARISON. "
        "Where the two agree, you can trust it; where they DIFFER, you are the one "
        "who decides — and that is exactly where you learn.\n\n"
        "WHY YOU NEED THE C KEY\n"
        "Pasting two answers and running the step directly does NOT raise an error: "
        "the second one silently overwrites the first, and the board keeps only the "
        "last. The C key is what reads both."
    ),
    (
        "01. Configure the board (once)",
        "WHEN\n"
        "Once, at the start. Start has already created your board and saved the "
        "token; this step prepares the lists.\n\n"
        "WHAT IT DOES\n"
        "- Asks for the NAME of your project and your OBJECTIVE, and renames the board.\n"
        "- Renames the lists ProjectAdm creates by default.\n"
        "- Creates Daily Scrum, Scrum Events and Reference — and puts the Inbox\n"
        "  as the first card in Reference.\n"
        "- Creates the Scrum events of every Sprint (7 per Sprint).\n"
        "- Saves the list ids in the .env — you type none of them.\n\n"
        "NO AI\n"
        "This step does not use a prompt."
    ),
    (
        "02. Product Goal + Product Backlog",
        "WHEN\n"
        "After writing your OBJECTIVE (the O of the OKR).\n\n"
        "WHAT IT DOES\n"
        "Creates the PRODUCT GOAL card — the commitment for the Product Backlog, per "
        "the Scrum Guide — and the backlog items, ordered by priority and with points.\n\n"
        "WHAT TO LOOK AT\n"
        "The Product Goal is what the backlog is ordered against. If an item does not "
        "help you reach it, it is not a priority — and it may not even be an item.\n\n"
        "TIP\n"
        "This is the step that gains most from TWO AIs: the Product Goal and the "
        "order of the backlog decide the rest of the course. See the card "
        "\"C. Consolidate the answers of TWO AIs\" in this list.\n\n" + _CYCLE
    ),
    (
        "03. Refine the backlog",
        "WHEN\n"
        "Before every Sprint Planning, and whenever you learn something that changes "
        "the order.\n\n"
        "WHAT IT DOES\n"
        "Updates priority, points and ACCEPTANCE CRITERIA of the items that already "
        "exist (refinar_backlog), or rewrites and adds items (atualizar_backlog).\n\n"
        "WHAT TO LOOK AT\n"
        "An item without acceptance criteria is not ready to enter a Sprint: there is "
        "no way to say it is done without an argument."
    ),
    (
        "04. Break an item down into tasks",
        "WHEN\n"
        "When an item in the Sprint Backlog is too big to fit in one working day.\n\n"
        "WHAT IT DOES\n"
        "Creates the \"Task breakdown\" checklist inside the card, with 3 to 7 tasks "
        "of one day or less.\n\n"
        "WHAT TO LOOK AT\n"
        "A task that does not fit in one day is still too big — that is where the "
        "Sprint usually stalls without anyone noticing."
    ),
    (
        "05. Sprint Planning",
        "WHEN\n"
        "On the first day of each Sprint.\n\n"
        "WHAT IT DOES\n"
        "Creates the SPRINT GOAL (the commitment for the Sprint Backlog), moves the "
        "chosen items to the Sprint Backlog and records the START DATE of the Sprint "
        "on the event — it is that date that makes KR1 and KR2 computable.\n\n"
        "WHAT TO LOOK AT\n"
        "The step only accepts items that EXIST in your Product Backlog. If the AI "
        "invents one, it aborts without creating anything."
    ),
    (
        "06. Daily Scrum",
        "WHEN\n"
        "Every working day of the Sprint, at the same time, in 15 minutes.\n\n"
        "WHAT IT DOES\n"
        "Moves today's focus to the Daily Scrum list, creates the tasks the day "
        "called for, logs an impediment (if there is one) and completes the next open "
        "Daily.\n\n"
        "WHAT TO LOOK AT\n"
        "The Daily inspects progress toward the SPRINT GOAL and replans the day — it "
        "is not a status meeting for anyone."
    ),
    (
        "07. Sprint Review",
        "WHEN\n"
        "On the last day of the Sprint, before the Retrospective.\n\n"
        "WHAT IT DOES\n"
        "Lists what was completed INSIDE this Sprint's window and what is still "
        "pending, and saves the executive summary in Scrum Events.\n\n"
        "WHAT TO LOOK AT\n"
        "The Review inspects the Increment and adapts the Product Backlog. Show the "
        "result working; do not talk about it."
    ),
    (
        "08. Sprint Retrospective",
        "WHEN\n"
        "Right after the Review — it closes the Sprint and moves the counter on.\n\n"
        "WHAT IT DOES\n"
        "Records what went well, the problems and up to 3 actions — and the actions "
        "become [Improvement] cards in the Product Backlog.\n\n"
        "WHAT TO LOOK AT\n"
        "The Retrospective looks at the PROCESS, not at the product. An action that "
        "does not become a card does not happen."
    ),
    (
        "09. Weekly OKR Check-in",
        "WHEN\n"
        "Once a week, on the same day, in 15 to 30 minutes.\n\n"
        "WHAT IT DOES\n"
        "verificar_krs.py reads your board and calculates the 4 KRs of the course: "
        "completion rate (KR1), rising velocity (KR2), consistency of the events "
        "(KR3) and AI leverage (KR4).\n\n"
        "WHAT TO LOOK AT\n"
        "A KR is not the number at the end: it is the sentence that joins indicator, "
        "starting point and target. What the check-in reads is the ACHIEVEMENT. "
        "Confidence: green >=70%, amber 40-69%, red <40%."
    ),
    (
        "10. Final presentation and lessons learned",
        "WHEN\n"
        "After the last Sprint.\n\n"
        "WHAT IT DOES\n"
        "Consolidates the whole board into a presentation script: achievement per "
        "KR, deliverables, events and the patterns across the Sprints.\n\n"
        "WHAT TO LOOK AT\n"
        "The curation is yours. The AI helps you see a pattern; which 3 lessons you "
        "take away is your call."
    ),
]
