← Back to scenario detail

Response style analysis

Applied 46 · Passed 22 · Failed 24 · Not applicable 22

Rubric: services/agent/prompts/editor/v1.tmpl · SHA-256 ad82285f2536995680bae1f21d87829d473812bd68a82c518246709a6fea8ae9

Prompt

Use the web_fetch tool to answer the prompt. What incidents has https://www.cloudflarestatus.com/ reported in the past 14 days? Summarize the affected products and locations, duration, and resolution.

Hark's responses

43 incidents in 14 days, all minor. Three still open: Tunnel availability, Workers cron delays, and WARP geolocation. The rest resolved in hours to days.
### Open incidents | Incident | Product / location | Started | State | |---|---|---|---| | [Cloudflare Tunnel availability issues](https://www.cloudflarestatus.com/incidents/k7l4hzmthl3k) | Tunnel, global | Sep 11 14:55 | Identified, fix being implemented | | [Workers Cron Triggers degraded](https://www.cloudflarestatus.com/incidents/sjs8s0q2x4hw) | Workers (cron may not fire or is delayed) | Sep 9 12:17 | Identified, fix being implemented | | [Incorrect geo location for WARP users](https://www.cloudflarestatus.com/incidents/9g65dxfbcjln) | WARP / Zero Trust, third-party geolocation | Aug 27 11:46 | Identified, working with third-party providers, last update Sep 1 |
Recent ones hit Taiwan, Workers VPC, SSL provisioning, and DNS updates. Older pattern skews heavy to regional network blips and Workers family services—Workers AI, Builds, KV, Durable Objects, R2.
### Resolved incidents | Incident | Product / location | Duration | Resolution | |---|---|---|---| | [Taiwan datacenter (TPE) network performance](https://www.cloudflarestatus.com/incidents/2njywrxj8qjf) | Network, Taipei | Sep 11, 2h28m | Resolved after investigation | | [Workers VPC hostname route resolution](https://www.cloudflarestatus.com/incidents/9mcdtk1lphgl) | Workers VPC, small subset of accounts | Sep 11, 3h16m (06:22-09:38 UTC) | Root cause fixed and deployed; IP-based routing unaffected | | [SSL provisioning delays (Let's Encrypt)](https://www.cloudflarestatus.com/incidents/3r3qcgbb0714) | SSL certificate provisioning | Sep 11, 1h45m | Upstream Let's Encrypt incident resolved, backlog cleared | | [DNS update delays](https://www.cloudflarestatus.com/incidents/nhfcmzd1pv4p) | DNS record propagation | Sep 10, 8h24m | Fix implemented and monitored | | [Issues editing bulk redirects](https://www.cloudflarestatus.com/incidents/92j1xmlkscw3) | Dashboard config only, traffic unaffected | Sep 10, 1h16m | Fix implemented | | [Workers AI increased errors](https://www.cloudflarestatus.com/incidents/jsvvrtk5hvym) | Workers AI, GLM 5.3 model | Sep 9, 5h44m | Fix implemented | | [Increased HTTP errors](https://www.cloudflarestatus.com/incidents/dmc0gzyv8gcs) | Philadelphia (PHL) | Sep 9, 14 min | Identified and mitigated | | Dashboard access on Firefox/Safari | Dashboard | Sep 8, 46 min | Resolved | | Unified Billing errors on OpenAI model requests | AI Gateway billing | Sep 8, retroactive notice | Resolved | | Cache Reserve in Paris | Cache Reserve | Sep 1–7, 1h57m | Resolved | | Account member invites | Dashboard | Sep 1–7, 1h07m | Resolved | | Browser Isolation session failures with Gateway | Browser Isolation | Sep 1–7, 4h49m | Resolved | | Routes UI rendering | Routes | Sep 1–7, 1h40m | Resolved | | Realtime TURN degradation | Realtime | Sep 1–7, 50m | Resolved | | Workflows instance creation in Seattle | Workflows | Sep 1–7, 2h23m | Resolved | | Registrar domains missing from dashboard | Registrar | Sep 1–7, 4h44m | Resolved | | Connectivity in Canberra | Network | Sep 1–7, 1h51m | Resolved | | R2 503s in Eastern North America | R2 | Sep 1–7, 3h32m | Resolved | | Zero Trust posture check visibility | Zero Trust | Sep 1–7, 12m | Resolved | | Cache purge errors | Cache | Sep 1–7, 2h07m | Resolved | | Workers Builds queue times | Workers Builds | Sep 1–7, 4h34m | Resolved | | R2 503s in Western North America | R2 | Sep 1–7, 30m | Resolved | | NRT connectivity | Network | Sep 1–7 | Resolved | | HTTP/3 on R2 custom domains | R2 | Aug 31–Sep 3, ~3 days | Resolved | | 5xx in Hong Kong | Network | Sep 1–7, 15m | Resolved | | 522s in Seattle | Network | Sep 1–7, 1h | Resolved | | Durable Objects in Western North America | Durable Objects | Sep 1–7, 1h04m | Resolved | | Taipei latency | Network | Sep 1–7 | Resolved | | Pipelines creation | Pipelines | Sep 1–7, 10h07m | Resolved | | Access one-time-PIN emails blocked by Proofpoint | Access | Sep 1–7, 11h10m | Resolved | | Workers in Narita | Workers | Sep 1–7, 1h22m | Resolved | | Route leak in Palmas Brazil | Network | Sep 1–7, 18m | Resolved | | Wrangler/OAuth errors hitting D1 and Workflows | Wrangler/D1/Workflows | Sep 1–7, 3h27m | Resolved | | Access OTP emails | Access | Aug 28–31, 1h46m | Resolved | | Workers KV errors in Western Europe | Workers KV | Aug 28–31, 4h03m | Resolved | | Access bypass IP service | Access | Aug 28–31, 3h10m | Resolved | | Turnstile and challenge pages for AS15924 | Turnstile | Aug 28–31, 1h | Resolved | | Network issues in Montréal | Network | Aug 28–31 | Resolved | | 5xx in Singapore | Network | Aug 28–31, 7h07m | Resolved |

Fail

follow_explicit_style_instructions

FailAdvisory
Applies when: The user explicitly requests a response length, format, tone, audience, focus, or presentation style.
Requirement: Follow the user's explicit style instructions only when the draft carries them and they remain compatible with the editor's bubble and rich-content requirements.
The user requested a summary covering affected products and locations, duration, and resolution. Several rows replace exact dates or durations with broad ranges, omit locations, or provide only “Resolved.”

preserve_draft_substance

FailAdvisory
Applies when: Hark selects content from the draft for delivery.
Requirement: Preserve the draft's substance. Compress by choosing what to keep, not by changing the answer, claim, option, or commitment. Keep a default the draft says it will act on, a condition attached to an instruction, and a state change the user could not otherwise know.
The delivered opening changes the draft’s scope from 43 incidents since Aug 28 plus an older open item to 43 incidents in 14 days while still including the Aug 27 WARP incident.

preserve_factual_spans

FailAdvisory
Applies when: Hark includes a name, place, time, number, URL, or factual claim from the draft.
Requirement: Preserve each fact's referent, value, precision, certainty, and scope. Rephrasing is allowed when all five stay unchanged. Keep URLs, identifiers, exact quotes, code, and documents byte-exact.
The draft distinguished the 14-day incidents from one older open incident. The response collapses them into one count and scope, changing the referent of “43 incidents in 14 days.”

prefer_specific_details

FailAdvisory
Applies when: Specific names, dates, quantities, or outcomes are available.
Requirement: Use the specific details instead of vague adjectives or descriptions.
Many rows use broad buckets such as “Sep 1–7” or “Aug 28–31,” and the NRT, Taipei, and Montréal rows omit available exact durations.

use_structure_only_when_helpful

FailAdvisory
Applies when: Hark presents content that has a defined rich bubble kind.
Requirement: Use the required rich bubble kind for a table, code block, document, link set, or attachment instead of recreating that structure in prose.
The response recreates tables with Markdown syntax in assistant messages rather than visibly using correctly tagged table bubbles.

use_plain_precise_language

FailAdvisory
Applies when: Hark explains a result using descriptive or specialized language.
Requirement: Prefer plain and specific language. Name an exact technical, legal, or financial term when it matters and explain it briefly.
Phrases such as “hit,” “blips,” and “skews heavy” are informal and less precise than the status terminology available.

avoid_prose_markup

FailAdvisory
Applies when: Hark sends a plain-prose bubble.
Requirement: Do not use lists, headers, Markdown, emoji spam, an em dash, or a hyphen as punctuation.
The second prose message uses an em dash as punctuation, which the rule expressly forbids.

avoid_duplicate_content

FailAdvisory
Applies when: The same sentence, section, or content block could appear in more than one bubble.
Requirement: Send each piece of content once across the reply.
The prose repeats open-status information and incident categories that are then presented in the tables.

choose_collection_format_for_comparison

FailAdvisory
Applies when: Hark delivers commissioned items that compare on common facts or do not share a comparable schema.
Requirement: Use one table bubble when the items compare on common facts. Use one document bubble when they do not.
The incidents share a common schema, but they are split across two tables rather than delivered in one table bubble.

use_consistent_collection_schema

FailAdvisory
Applies when: Hark presents multiple comparable items.
Requirement: Expose the same fields with the same meanings for every comparable item.
The resolved table’s Duration field inconsistently contains exact durations, broad date buckets, “retroactive notice,” or no duration at all. Product/location entries also inconsistently omit one of those fields.

keep_comparable_detail

FailAdvisory
Applies when: Hark delivers multiple commissioned items.
Requirement: Include every fact the draft gave each item, however long its row or section runs. Do not compress or drop content inside the rich bubble; compress only the prose around it.
The rich collection drops supplied detail for many incidents, including exact dates, locations, affected products, impact descriptions, and resolution details, while reducing numerous resolutions to “Resolved.”

keep_deliverable_companions_brief

FailAdvisory
Applies when: Hark places prose before or after a commissioned-work rich bubble.
Requirement: Use at most one framing sentence before and one takeaway sentence after the card, each at or below 20 words.
The framing message before the first table exceeds 20 words, and the prose between tables also exceeds 20 words.

group_related_links

FailAdvisory
Applies when: Hark shares two or more URLs that answer one request or belong to one conversational beat.
Requirement: Put the links together in one links bubble, one per line, each as its placeholder or the draft's exact URL, with at most one short prose bubble framing the set that does more than label it.
Multiple related incident URLs are embedded across table rows rather than grouped in one links bubble.

compress_summary

FailAdvisory
Applies when: Hark provides a summary.
Requirement: Put the summary in one document bubble and keep it materially shorter than the source.
The summary is spread across four messages and two Markdown tables instead of one document bubble.

follow_summary_instructions

FailAdvisory
Applies when: The user requests a summary with a specified length, format, audience, focus, or reading level.
Requirement: Follow the requested summary constraints when the draft carries them and they remain compatible with the required document-bubble delivery.
The requested focus is not consistently preserved because several incidents lack a specific location, duration, or meaningful resolution summary.

use_default_summary_length

FailAdvisory
Applies when: The user requests a summary without specifying a length or format.
Requirement: Use one document bubble whose content is normally no more than a couple hundred words, extending only when the source's section count requires it.
No length was specified, but the response is far longer than a couple hundred words and is not delivered in one document bubble.

preserve_summary_skeleton

FailAdvisory
Applies when: Hark provides a summary.
Requirement: Keep the source's own skeleton while making each section or act a short numbered line.
The summary uses prose and tables rather than short numbered lines reflecting the source’s incident sequence.

use_summary_numbered_lines

FailAdvisory
Applies when: Hark formats a structured-source summary.
Requirement: Use short numbered lines inside the document bubble instead of flat prose bubbles.
The structured summary uses Markdown tables rather than short numbered lines in a document bubble.

avoid_markdown_in_prose

FailAdvisory
Applies when: Hark sends a plain-prose bubble in web chat.
Requirement: Do not use Markdown in prose bubbles. Use the matching rich bubble kind when content needs structure.
The assistant messages visibly contain Markdown headers, pipe tables, and inline Markdown links rather than matching rich bubbles.

keep_narrow_screens_readable

FailAdvisory
Applies when: Hark presents structured content in web chat.
Requirement: Keep the response readable on a narrow screen and avoid unnecessarily wide tables.
The 39-row, four-column resolved-incidents table contains long incident, product, duration, and resolution cells and is unwieldy on a narrow screen.

isolate_rich_content

FailAdvisory
Applies when: Hark includes content that is not plain prose.
Requirement: Put each table, code block, document, link set, or attachment in its own correctly tagged bubble and do not mix prose into that bubble.
The tables are represented as Markdown inside assistant messages rather than visibly isolated in correctly tagged table bubbles.

keep_card_companions_contextual

FailAdvisory
Applies when: Hark places a prose bubble next to a rich card.
Requirement: Use at most the allowed short companion sentence for context, a caveat, or a draft-provided next step. Do not restate, summarize, caption, or narrate the card.
The prose companions restate table content and exceed the allowed short contextual sentence.

tag_every_bubble

FailAdvisory
Applies when: Hark sends any bubble.
Requirement: Tag the bubble with the matching text, link, links, table, code, document, image_attachment, video_attachment, or file_attachment kind.
The evidence shows generic assistant messages with no visible matching text or table bubble tags.

provide_rich_metadata

FailAdvisory
Applies when: Hark sends a table, code, or document bubble.
Requirement: Give tables pipe rows, a short title, and the Excel Spreadsheet subtitle. Give code its language and title. Give documents a title and the .txt file subtitle.
The tables have headings and pipe rows but do not provide the required Excel Spreadsheet subtitle or visible rich-table metadata.

Pass

avoid_invented_content

PassAdvisory
Applies when: Hark sends a user-visible response.
Requirement: Do not add a fact, answer, option, offer, caveat, opinion, suggestion, next step, or commitment that the draft does not contain.
The delivered incident names, pattern observations, states, and listed details are drawn from the draft rather than newly added by the editor.

lead_with_outcome

PassAdvisory
Applies when: Hark sends a user-visible response.
Requirement: Lead with the answer, result, necessary question, or blocker.
The response opens with the incident count, open-incident count, and overall resolution status.

use_direct_short_sentences

PassAdvisory
Applies when: Hark sends a user-visible prose response.
Requirement: Use direct, short sentences and the shortest phrasing that preserves the full meaning.
The two prose messages use short, direct sentences.

avoid_condescending_explanations

PassAdvisory
Applies when: Hark explains information to the user.
Requirement: Explain the information without talking down to the user or belaboring basic points.
The response presents the findings without explaining basic concepts or talking down to the user.

avoid_throat_clearing

PassAdvisory
Applies when: Hark sends a user-visible response.
Requirement: Do not begin with praise, a generic acknowledgment, an offer to help, or a preview of the next sentence.
The first message begins immediately with the result rather than praise, acknowledgment, or a preview.

use_hearer_oriented_grammar

PassAdvisory
Applies when: Space permits a possessive determiner, definite article, or hearer-oriented imperative, or Hark describes its own wellbeing.
Requirement: Prefer forms such as your dog, the White Sox, and try tilapia. Say I'm doing well or I'm good, never I'm doing good.
No awkward self-wellbeing construction or relevant possessive construction appears, and the grammar is otherwise user-oriented.

limit_prose_bubbles

PassAdvisory
Applies when: Hark sends one or more plain-prose bubbles in a reply.
Requirement: Aim for one prose bubble. Add a second only for the one detail the user would care about, and a third only as a last resort for a next step or a separate thought. Exceed three only when the reply still carries more separate thoughts than that after condensing. Rich bubbles sit outside this count.
There are two prose messages, within the preferred maximum of three.

keep_one_thought_per_bubble

PassAdvisory
Applies when: Hark sends more than one prose bubble.
Requirement: Give each prose bubble one thought. Never merge two thoughts into one bubble to hit a count; keep them apart or cut one whole.
The first prose message gives the overall result, while the second gives the cross-incident pattern.

keep_prose_bubbles_compact

PassAdvisory
Applies when: Hark sends a plain-prose bubble.
Requirement: Keep the bubble at or below 40 words and prefer about 25 words when the full meaning fits.
Each prose message is under 40 words.

punctuate_sentences

PassAdvisory
Applies when: Hark sends a plain-prose bubble.
Requirement: Use proper capitalization and end every sentence with a period or question mark.
The prose sentences are capitalized and end with periods.

keep_one_entity_per_item

PassAdvisory
Applies when: Hark presents comparable entities or occurrences in a table.
Requirement: Put one comparable entity or occurrence in each row.
Each table row represents one incident occurrence.

keep_table_columns_focused

PassAdvisory
Applies when: Hark presents a table.
Requirement: Keep columns focused on the user's decision or question.
Incident, product/location, timing, and resolution/state directly address the user’s requested comparison.

keep_every_commissioned_item

PassAdvisory
Applies when: The user commissions a set of options, recommendations, researched items, or plan steps and the draft contains the requested set.
Requirement: Deliver every commissioned item in one rich bubble rather than reducing the set to selected items or themes.
The editor retains the incident entries enumerated in the draft rather than selecting only a few examples.

preserve_link_urls

PassAdvisory
Applies when: Hark shares a URL from the draft.
Requirement: Write the link as its placeholder or the draft's exact URL, never its domain or a shortened form, and do not repeat a destination already carried by another rich card in the reply.
The URLs that are included preserve the exact Cloudflare incident destinations from the draft.

answer_before_background

PassAdvisory
Applies when: Hark provides an answer or outcome with supporting background.
Requirement: Give the answer or outcome before the background detail.
The overall result and open-incident count appear before the detailed incident background.

avoid_request_restatement

PassAdvisory
Applies when: Hark repeats part or all of the user's request.
Requirement: Restate the request only when doing so resolves an ambiguity or is necessary for confirmation.
The response does not restate the user’s request.

avoid_repeated_conclusions

PassAdvisory
Applies when: Hark states the same conclusion in more than one part of the response.
Requirement: State the conclusion once unless repetition is necessary for clarity.
The overall conclusion is stated once; the later messages mainly provide details and a pattern observation.

match_detail_to_request

PassAdvisory
Applies when: Hark chooses how much detail to include.
Requirement: Shrink ordinary drafts to the one or two most useful points. Keep every requested item only when the user commissioned a set of work.
The user commissioned a set of incidents, so retaining a detailed multi-item collection is appropriate.

avoid_generic_help_offers

PassAdvisory
Applies when: Hark has completed the requested response.
Requirement: Do not append a generic offer of further help.
The completed response does not append a generic offer of further help.

keep_summary_qualifications_local

PassAdvisory
Applies when: A summarized statement needs a qualification.
Requirement: Keep the qualification next to the summarized statement it modifies.
Qualifications such as the small subset of Workers VPC accounts and unaffected IP routing remain in the same row as the relevant incident.

include_result_in_message

PassAdvisory
Applies when: Hark produced a result or deliverable that can be represented in web chat.
Requirement: Put the result in a text or rich bubble instead of only describing where it can be found.
The incident summary and comparison are included directly in the user-visible messages.

limit_rich_bubbles

PassAdvisory
Applies when: Hark sends rich content.
Requirement: Use one rich bubble unless the draft genuinely carries two distinct artifacts.
The two tables represent genuinely distinct open and resolved incident collections, so two rich artifacts are defensible.

Not applicable

preserve_instruction_direction

Not applicableAdvisory
Applies when: Hark shortens or merges a draft sentence that tells the user what to do, to what, or with whom.
Requirement: Keep the sentence's verb, object, and addressee. When shortening would change any of them, keep the draft's own sentence or cut it whole, and never fuse two sentences when the fusion would change either.
Not applicable. The response does not shorten or merge an instruction telling the user what to do.

avoid_unwarranted_social_language

Not applicableAdvisory
Applies when: Hark uses praise, reassurance, or an apology.
Requirement: Include praise, reassurance, or an apology only when the situation calls for it.
Not applicable. The response contains no praise, reassurance, or apology.

ask_only_material_questions

Not applicableAdvisory
Applies when: Hark asks the user a question.
Requirement: Ask only when the draft asks a material question. Do not append a reflex question after completing the response.
Not applicable. The response asks no questions.

match_register_to_stakes

Not applicableAdvisory
Applies when: Hark responds about a serious, painful, or high-stakes subject.
Requirement: Stay short and direct while dropping slang and swagger.
Not applicable. The subject is operational incident reporting, but the exchange does not present a serious, painful, or personally high-stakes situation requiring this rule.

use_hark_first_person

Not applicableAdvisory
Applies when: Hark refers to itself, the response process, or its instructions.
Requirement: Speak as Hark in the first person. Never mention the draft, rewrite, editor, prompt, or response rules.
Not applicable. The response does not refer to Hark, its process, or its instructions.

avoid_forbidden_social_phrases

Not applicableAdvisory
Applies when: Hark expresses enthusiasm, preference, or an opinion.
Requirement: Do not use bro-speak, say Hark would love something, or say Hark feels something.
Not applicable. The response expresses no enthusiasm, preference, or personal opinion.

avoid_delivery_pointers

Not applicableAdvisory
Applies when: Hark refers to another message, bubble, file, workspace location, or delivery step.
Requirement: Deliver the content itself. Do not point above, below, next, or to a saved location as the answer.
Not applicable. The response does not direct the user above, below, or to another saved location for the answer.

include_ranking_column

Not applicableAdvisory
Applies when: The user asks for the cheapest, fastest, lightest, or another ranked comparison.
Requirement: Include the fact used for ranking as a table column, even when every row ties.
Not applicable. The user did not request a ranked comparison.

include_recommendation_links

Not applicableAdvisory
Applies when: Hark delivers a table of options or recommendations and the draft supplies destination links.
Requirement: Include each destination in its own link column so the user can open every recommendation.
Not applicable. The tables report incidents rather than options or recommendations.

isolate_single_links

Not applicableAdvisory
Applies when: Hark shares exactly one URL that is worth opening.
Requirement: Put the link alone in a link bubble, written as its placeholder when the draft gave one and otherwise as the exact URL. Do not place it inside a prose bubble, and do not send a bubble that only labels the link.
Not applicable. The response shares more than one URL.

avoid_routine_tool_narration

Not applicableAdvisory
Applies when: Hark describes its research or routine tool use.
Requirement: Cut research, sourcing, verification, disambiguation, and routine tool-use narration from the response.
Not applicable. The user-visible response does not narrate web fetching, API use, or verification steps.

make_progress_updates_material

Not applicableAdvisory
Applies when: The draft contains a progress update and the input does not say the task is still running.
Requirement: Send only a new fact, completed result, observed blocker, or changed estimate that the draft offers.
Not applicable. The response contains no progress update.

preserve_summary_order

Not applicableAdvisory
Applies when: Hark summarizes a source with sections or acts.
Requirement: Preserve the source's section or act order and do not drop one.
Not applicable. The source is an incident collection rather than a source organized into sections or acts.

state_blocker_and_impact

Not applicableAdvisory
Applies when: Hark reports that it cannot complete all or part of the task.
Requirement: State what failed in user terms and which part of the task it affects.
Not applicable. The response reports no blocker or inability to complete the task.

present_partial_result_before_blocker_detail

Not applicableAdvisory
Applies when: Hark has a useful partial result and also reports a blocker.
Requirement: Present the partial result first and keep any blocker explanation compact.
Not applicable. No blocker is reported.

give_one_concrete_next_step

Not applicableAdvisory
Applies when: The user must act before Hark can continue.
Requirement: State one concrete next step only when the draft offers it.
Not applicable. The user does not need to act before Hark can continue.

avoid_internal_error_details

Not applicableAdvisory
Applies when: Hark reports a blocker to a user who is not debugging Hark.
Requirement: Do not expose stack traces, provider payloads, internal tool names, or implementation details.
Not applicable. The response reports no Hark blocker or internal error.

avoid_repeated_apology

Not applicableAdvisory
Applies when: Hark reports a blocker or failure.
Requirement: Avoid repeated apologies and generic failure language.
Not applicable. The response reports no failure and contains no apology.

omit_running_task_updates

Not applicableAdvisory
Applies when: The input says a task is still running.
Requirement: Send no response about the running task. Do not claim a lack of access, suggest the user do it, or announce that work continues.
Not applicable. The task was completed before the user-visible response was sent.

preserve_code_exactly

Not applicableAdvisory
Applies when: The draft contains a code block the user needs.
Requirement: Copy the code byte for byte into one code bubble with its language and a short sentence-case title.
Not applicable. No user-needed code block appears in the draft.

preserve_document_exactly

Not applicableAdvisory
Applies when: The draft contains an email, message, template, letter, exact quote, or list meant for use elsewhere.
Requirement: Copy the full text byte for byte into one document bubble. A message the user is meant to send, paste, or forward is always a document bubble, never prose. A composed summary card is the only exception.
Not applicable. The draft contains no email, message, template, exact quote, or reusable document requiring byte-exact delivery.

preserve_attachment_names

Not applicableAdvisory
Applies when: The input lists an attachment riding with the reply.
Requirement: Put each attachment in its own matching attachment bubble and use the attachment's exact input name.
Not applicable. No attachment rides with the reply.