Before refining a prompt for more natural prose, I needed to narrow the material a draft could use. K-POP PULSE’s operating procedure prepares a fact sheet from the source and asks the writer to remain inside it. I read that sheet as a boundary, rather than merely a summary.

A boundary does not make the sheet infallible. A time conversion can be wrong, part of a source can be omitted or an unobserved count can receive a default value. Comparing the historical fact-sheet code and operating notes helps explain how I separated writing from calculations and human checks.

Define the role of each field and its source

The historical sheet includes a post identifier, title, channel, publication time, duration, statistics and description fields. A common structure makes the information inspected for an article easier to read. Sending an entire source to a model and selecting relevant fields with their evidence are different responsibilities.

Making the sheet short is not my goal by itself. I consider whether information needed for the reader’s question is missing and where each value came from. A product article may need a model, specification and check date. A schedule may need to distinguish a confirmed date from an announced time.

Separate time calculations from writing

The records describe a draft that treated a UTC time as Korean time. A later code path converts a Korean-time label before handing it to the writer. A number being present in the sheet does not prove it has been placed in the correct time zone.

The decision I carry forward is to avoid verifying a calculation by how plausible the sentence sounds. Convert a value with its date and time zone in code, retain the result in the sheet and let the writing step decide how to explain it. Other local times for international readers require their dates and seasonal conditions to be checked as well.

A count needs an observation time to retain its meaning

Publication time is when content appeared. Observation time is when its count was read. They need not be the same. Moving a current count into a claim about the publication moment can change an elapsed-time or achievement statement. I would handle the count with the time it was observed.

A rule against introducing counts outside the sheet is not a rule against using numbers. It makes the observation, its time and any separately performed calculation inspectable. Presence in a table does not automatically authorize comparison, addition or interpretation of a growth rate.

No observation is different from a measured zero

The historical code read for this story includes defaulting missing statistics to zero. Whether that may be described as an observed zero is a separate question. An unavailable like count and a like count measured at zero do not support the same explanation.

The small new example below preserves the distinction: absent data remains None, a measured zero remains 0 and malformed count types fail. Pass the original response value before adding defaults. If absence has already been replaced by zero, this function cannot recover the distinction; the original must be read again. It illustrates a method I have developed from the record, not a deployed change in the original application.

Explore the implementation

A newly written example separating missing observation from known zero; not a historical production patch.

"""A new example: missing observations are not measured zeroes."""
import re

def observed_count(raw):
    if raw is None:return None
    if type(raw) is int and raw>=0:return raw
    if isinstance(raw,str) and re.fullmatch(r'[0-9]+',raw):return int(raw)
    raise ValueError('Expected a measured nonnegative integer or no observation')

Review the fact sheet itself

When relevant evidence is missing, a blocked draft is not necessarily only a wording problem. The historical code also takes a shortened beginning of a description. Treating that shortened sheet as the complete source, without checking later lines for a needed date, narrows the evidence available to the check.

I would compare the blocked statement, stored fact sheet and original source separately. Rather than weakening a gate, locate where the gap appeared. This article addresses the overall procedure; the specific recorded incident involving a date beyond a shortened description will be explored separately with its own evidence.

The reviewer still has a job after the handoff

The drafting procedure passes constraints alongside the sheet: do not create additional numbers or write as if the footage was watched. The returned wording is read again and passes the publication checks. I would not combine drafting and verification into the same responsibility.

The new count example passed local synthetic checks for absence, known zero, numeric strings and invalid input. That does not verify source truth or every current article. A real integration should also preserve source identity, observation time, sheet version and the values used by the manuscript.

  1. Is an unobserved value hidden by zero or empty prose?
  2. Do the time and count come from the intended observation conditions?
  3. Has shortening the source omitted evidence this article needs?
  4. Can the draft’s claim be compared with its stored evidence again?