{
  "skill_name": "war-room-prep",
  "evals": [
    {
      "id": 1,
      "prompt": "war room is in 2 hours. what did we build and what shipped? here's my todo list:\n\n- [ ] API builder > Spec Hub conversion via bifrost internal endpoints or API\n- [ ] Service health score dashboard (in catalog) now active only on internal postman team in beta\n- [ ] Spectral listing vs postman linting; keep linting via postman cli\n- [ ] PMAK > access-token exchange for bot account tokens\n\noutput as a markdown file in war-rooms/ with today's date",
      "expected_output": "A timed builder war room agenda saved to war-rooms/YYYY-MM-DD.md. Spine is GitHub artifacts plus per-CSE context, not the Jira board. Customer builds and CSE-maintained codebases are distinct. Shipped vs in-flight states come from code evidence. Each selected workstream states what exists, why/problem, purpose classification (operational improvement, customer-facing capability, customer-specific implementation, or internal/shared tool), practical use guidance, and evidenced pitch/execution/operating-model impact or unknown. DL section for discretionary items. Action items table with named owners.",
      "assertions": [
        {
          "name": "file_saved_to_war_rooms_dir",
          "description": "Agenda saved to war-rooms/YYYY-MM-DD.md"
        },
        {
          "name": "artifact_spine_not_jira_board",
          "description": "Discovery starts from GitHub artifacts and per-CSE context; skill must never call named_query all_open or stalled, and must not render Account Board Walk, stage rollup, capacity, or Board Hygiene sections"
        },
        {
          "name": "repo_without_jira_ticket_surfaced",
          "description": "A CSE-authored postman-cs repo or PR with no linked Jira ticket can appear on the agenda"
        },
        {
          "name": "customer_vs_internal_distinct",
          "description": "Customer-scoped builds and internal/shared CSE-maintained codebase changes appear in separate agenda sections"
        },
        {
          "name": "why_problem_adoption_separate",
          "description": "Each selected workstream keeps what-built, why/problem, purpose classification, practical who/how/when/why-to-use guidance, pitch/execution/operating-model impact, and outcome/adoption as separate fields; unknowns stay unknown"
        },
        {
          "name": "no_unsupported_adoption_claim",
          "description": "Skill must never label code adopted solely because a PR merged or a ticket closed; adoption requires direct customer/usage evidence"
        },
        {
          "name": "dl_section_present",
          "description": "A DL / discretion section exists for leadership-only or timing-sensitive items"
        },
        {
          "name": "action_items_have_specific_owners",
          "description": "Action items table has a named individual as owner -- not 'the team' or 'TBD'"
        },
        {
          "name": "read_only_no_writes",
          "description": "Skill must never invoke resolve-or-escalate, preview/apply Jira or Slack writes, or contact people"
        }
      ]
    },
    {
      "id": 2,
      "prompt": "prep this week's builder war room. Andrew is out today. Show what shipped, what is in flight, and any demos or decisions we need.",
      "expected_output": "Timed builder agenda with shipped and in-flight sections from code evidence. Andrew noted OOO in kick-off. Decisions/unblocks section with named asks. File saved to war-rooms/.",
      "assertions": [
        {
          "name": "ooo_agenda_saved_to_war_rooms_dir",
          "description": "Agenda saved to war-rooms/YYYY-MM-DD.md"
        },
        {
          "name": "ooo_noted_in_kickoff",
          "description": "Andrew noted as out in the kick-off section"
        },
        {
          "name": "shipped_vs_in_flight_classified",
          "description": "Merged/default-branch work classifies as shipped; open/draft PRs or concrete WIP artifacts classify as in_flight"
        },
        {
          "name": "pr_commit_dedupe",
          "description": "Commits already represented by a PR collapse to one workstream keyed as repo#PR (or repo@sha when no PR)"
        },
        {
          "name": "decisions_and_unblocks_present",
          "description": "Agenda includes a decisions/unblocks block with concrete asks and owners where evidence supports them"
        },
        {
          "name": "no_board_enumeration_or_hygiene",
          "description": "Must never enumerate the full Jira board, render Lagging/Blocked account buckets, or run Board Hygiene writes"
        }
      ]
    },
    {
      "id": 3,
      "prompt": "what should we discuss at today's war room? quick version -- just what people built and any blockers on current builds",
      "expected_output": "Abbreviated builder agenda focused on artifacts, demos, and build unblocks. May be shorter but still artifact-first and read-only.",
      "assertions": [
        {
          "name": "builder_not_account_status",
          "description": "Generic war-room prompt means builder meeting; output is not an account-status board walk"
        },
        {
          "name": "build_blockers_not_stage_stalls",
          "description": "Blockers are build/demo/decision unblocks backed by artifact evidence, not Jira stage-stall buckets"
        },
        {
          "name": "no_jira_writes",
          "description": "No Jira/Slack write examples, resolve-or-escalate, or mutation path"
        }
      ]
    },
    {
      "id": 4,
      "prompt": "builder war room prep. gh is broken / unavailable on this machine -- still give me what you can from other sources.",
      "expected_output": "PARTIAL -- GitHub unavailable agenda. Retains directly evidenced non-GitHub artifacts (Postman workspaces, docs, demos) and communication-only mentioned_only items. Makes no GitHub-backed completeness or shipped/in-flight coverage claim.",
      "assertions": [
        {
          "name": "github_unavailable_partial_mode",
          "description": "Output is visibly PARTIAL -- GitHub unavailable and does not claim complete shipped/in-flight coverage"
        },
        {
          "name": "non_github_artifacts_retained",
          "description": "Directly evidenced non-GitHub artifacts such as Postman workspaces or docs can still appear when sources support them"
        },
        {
          "name": "no_false_github_state",
          "description": "Skill does not invent shipped/in_flight GitHub states without gh evidence"
        }
      ]
    },
    {
      "id": 5,
      "prompt": "prep war room and also the board forecast / which accounts are stalled -- I want both for Monday.",
      "expected_output": "Two distinct artifacts: war-rooms/YYYY-MM-DD.md for builder work and a separate forecast artifact from cse-forecast. Never blend a board walk into the builder agenda.",
      "assertions": [
        {
          "name": "mixed_request_two_artifacts",
          "description": "Mixed builder/board prompt yields two distinct artifacts rather than one blended meeting"
        },
        {
          "name": "war_room_stays_builder",
          "description": "war-rooms file stays artifact-first; no all_open/stalled board enumeration inside war-room-prep"
        },
        {
          "name": "no_board_walk_in_builder_agenda",
          "description": "Builder agenda must never contain Account Board Walk, stage distribution, capacity, or Board Hygiene sections"
        }
      ]
    },
    {
      "id": 6,
      "prompt": "for war room: Acme got a merged PR in Cust-Acme-governance last week and there is an open draft PR in Internal-cse-lint-helpers. Tell me what shipped, what is in flight, why each exists, how and when people should use each, what it changes for pitches or the operating model, and whether Acme adopted the governance work. No usage or strategic-impact evidence is available beyond those PR states.",
      "expected_output": "Customer Acme shipped item and internal in_flight item as separate workstreams. Why and problem fields fill only from evidence. Purpose classification, practical use guidance, pitch/execution/operating-model impact, and adoption remain unknown when the only evidence is PR state; no generic use advice or strategic impact is fabricated.",
      "assertions": [
        {
          "name": "shipped_merged_pr",
          "description": "Merged customer PR classifies as shipped"
        },
        {
          "name": "in_flight_open_pr",
          "description": "Open/draft internal PR classifies as in_flight and appears under CSE-maintained codebases / in flight"
        },
        {
          "name": "adoption_unknown_without_evidence",
          "description": "Without customer/usage evidence, outcome/adoption remains unknown -- merge alone is insufficient"
        },
        {
          "name": "fields_not_conflated",
          "description": "what-built, why/problem, purpose classification, use guidance, pitch/execution/operating-model impact, outcome/adoption, and evidence gaps remain distinct and are not filled from repo naming alone"
        },
        {
          "name": "usage_and_impact_unknown_without_evidence",
          "description": "When no practical use or pitch/execution/operating-model evidence exists, those fields are visibly unknown; the agenda must not fabricate generic enablement or strategic impact"
        }
      ]
    },
    {
      "id": 7,
      "prompt": "today's war room should focus on novel Enterprise Automation Suite additions. The composite multi-file release references in-window changes in the AWS, Azure, and GCP discovery actions plus bootstrap and end-to-end coverage. Show what each component added; do not flatten this into one generic cloud-discovery bullet. Routine customer rollouts can go in an appendix.",
      "expected_output": "A novelty-focused timed agenda with a coordinated suite workstream and a complete component ledger. AWS, Azure, and GCP retain separate canonical artifact rows and distinct before/default versus new capability descriptions, even if they share one timed agenda slot with the composite release. Bootstrap and end-to-end components named by release evidence are also checked and retained when changed. Routine rollouts that add no capability move to a short appendix.",
      "assertions": [
        {
          "name": "coordinated_suite_components_preserved",
          "description": "An umbrella/composite release cannot replace its changed child artifacts; AWS, Azure, GCP, bootstrap, composite, repo-sync, and end-to-end components named by evidence are checked and each changed component retains a canonical key and link"
        },
        {
          "name": "suite_grouping_presentation_only",
          "description": "Coordinated components may share one timed agenda slot, but cross-repo grouping never dedupes their state, owner, capability delta, or source"
        },
        {
          "name": "component_before_vs_new_explicit",
          "description": "Every changed suite component states prior/default behavior separately from the independently useful new behavior added in the window"
        },
        {
          "name": "routine_rollouts_demoted_for_novelty_prompt",
          "description": "Customer rollouts that only apply existing suite behavior move to a short appendix rather than displacing net-new capability work"
        }
      ]
    },
    {
      "id": 8,
      "prompt": "need to pull shoutouts for the team from last week, things they did that are good or built, to shout out in the team meeting today. pull for all CSEs please.",
      "expected_output": "A person-first shoutouts artifact written as markdown plus a rendered HTML briefing. Every entry names a concrete artifact: a Jira key, repo#PR or repo@sha, Slack channel plus timestamp, or communication id. Entries carry a number, a named customer, a named system, or a peer quote. A CSE with no in-window signal is omitted rather than padded. Evidence gathering runs as parallel lanes launched in one batch, not serially. No full Jira board enumeration.",
      "assertions": [
        {
          "name": "shoutouts_mode_selected",
          "description": "A shoutouts/kudos/team-wins request produces the person-first recognition artifact rather than the timed builder agenda"
        },
        {
          "name": "every_entry_cites_artifact",
          "description": "Each shoutout names a retrievable artifact identifier; a claim with no citable artifact must not appear"
        },
        {
          "name": "no_padding_for_silent_people",
          "description": "A roster member with no in-window evidence is omitted and reported as no signal, never given a generic or inferred entry"
        },
        {
          "name": "parallel_lanes_launched_in_one_batch",
          "description": "A full-roster sweep launches its lanes together in a single batch with a shared brief and per-lane output paths, not one lane at a time"
        },
        {
          "name": "scoped_jira_reads_only",
          "description": "Shoutouts mode may run a bounded per-assignee jira_search but must never call named_query all_open or stalled or otherwise enumerate the board"
        }
      ]
    },
    {
      "id": 9,
      "prompt": "war room is at 2. give me the agenda and make it something I can screen-share, not a wall of markdown.",
      "expected_output": "Both a markdown source and a self-contained HTML briefing rendered to the shared report contract, with both absolute paths reported. The HTML inlines the canonical stylesheet in a single style element, carries the operator bar, hero, north star, and per-item article blocks, and passes the contract validation block.",
      "assertions": [
        {
          "name": "html_rendered_beside_markdown",
          "description": "Markdown is written first and the HTML presentation copy is rendered beside it with the same basename; both absolute paths are reported"
        },
        {
          "name": "canonical_stylesheet_inlined",
          "description": "The HTML inlines the shared cse-report.css verbatim in one style element and adds no external CSS or remote images to the body"
        },
        {
          "name": "html_validation_block_passes",
          "description": "The rendered HTML has zero non-ASCII characters, balanced article tags, required structural anchors, and every jump anchor resolving to a real id"
        },
        {
          "name": "no_banned_glyphs",
          "description": "Em dashes, en dashes, curly quotes, bullet glyphs, arrows, and emoji do not appear in the rendered body"
        }
      ]
    }
  ]
}
