Demo helper GRI Catalog Admin · Admin wireframes (spec ii) Page 5 of 12 · Data entry · date answer Invented data · Bluefin Foods Group (fictional tenant)

FY2025 GRI report · Bluefin Processing TH

Bluefin Foods Group / Processing / Thailand · FY2025 (Jan 2025 - Dec 2025). One question of the cycle, opened for entry. Date answer.
cycle active methodology lock provisional
GRI 2-23 (b) Responsible business policy commitment, date approved by the board Date, one calendar day Required by this edition Omission allowed not answered yet
Composed guidance (placeholder) Give the calendar day the board signed off the policy commitment that covers this site. If the sign-off ran over several meetings, use the day the final approval was recorded in the minutes.
Enter an answer Report an omission instead
Demo helperState 1 of 2 · a real date, accepted
2025-11-14

Format YYYY-MM-DD, year first, for example 2025-11-14. One calendar day only.

Demo helperState 2 of 2 · not a real calendar date, refused
2025-02-30

2025-02-30 is not a real calendar date. February 2025 ends on the 28th. Enter a day that exists, written as YYYY-MM-DD.

Nothing was saved. The date you had before is untouched. ANSWER_FORMAT_INVALID

AnnotationTwo states of the SAME single field, drawn side by side so the refusal wording can be reviewed against the accepted case. The screen shows one field, not two.
One or the other, never both. A question holds either an answer or an omission. If you switch to "Report an omission instead", the answer on this question is cleared when you save the omission. If you switch back, the omission is cleared. The screen tells you before it clears anything, and nothing is cleared until you save.
CancelSave answer
Question and cycle details the standard edition this question comes from, its answer format and omission rule, and where this question sits in the reporting cycle Show details
Layout · the PM's part 1 ruling R2-6Data entry is the main function of this page, so it is now the main visual area. Before this pass the question reference card and the cycle context card filled the whole first screen and the answer field started below the fold. Nothing was deleted. The facts a person needs WHILE typing sit in the question strip under the page header: question code, composed question title, answer format, reporting status, whether an omission is allowed, and the answered status. Everything else moved into the collapsed "Question and cycle details" section under the entry area, one press away, and the state gallery below draws that section OPEN so the review can confirm every row of both former cards survived. The alternatives the PM offered were a card on the right and a card below. The right-hand card was rejected because it takes width the table answer on page 6 of this wireframe set needs, and the four entry pages have to share one layout. A plain card below was rejected because it keeps the full reference block permanently in the scroll for detail an entry person rarely needs mid-keystroke; the strip plus the expander gives the at-entry facts for free and the rest on demand. Wireframes are static, so the expander is drawn closed here and open in the gallery rather than toggled.
Annotation · not proposed UIDate format contract (spec ii 3.9). date is one of the three formats added by spec ii and it uses the value slot, holding an ISO-8601 date string, server-validated. The screen shows the ISO shape to the user on purpose: the stored string and the displayed string are the same thing, so a Thai or Singapore reader is never guessing whether 14/11 means November or April. Question for the PM: whether the picker also offers a localized display format on top of the ISO hint is a UI choice this drawing does not settle. The refusal code drawn in muted text is ANSWER_FORMAT_INVALID, the per-type format refusal named in spec ii 6.6: one 422 code for an unparseable date, an illegal table cell, or an out-of-range value, with the per-type detail carried in the response envelope. It is quoted from the spec, not proposed. The wireframe round is what surfaced the gap; spec v2.2 closed it.
Annotation · not proposed UIWhat identifies this answer (spec ii 6.4 and 3.8). A native answer is keyed by cycle, clause logical id, topic instance (null throughout I1), organization scope, and period. Native rows carry clauseLogicalId and do NOT populate disclosureId; they never pass through the legacy assignment and entry resolvers. The clause is resolved through the cycle's frozen edition set, so a question outside that edition set refuses with CLAUSE_NOT_IN_ASSEMBLY rather than rendering.
Annotation · not proposed UIExclusivity is structural, not a screen convention (spec ii 3.9 and 3.10). The answer payload is a closed set with exactly one legal slot per answer format: this question uses value. Every native write is one atomic update that sets the legal slot and unsets the others plus omission, or sets omission and unsets every payload slot. A date answer converted to an omission therefore retains no stale payload; test 9.2 walks the whole transition matrix. The screen copy states the rule in plain words because the user has to know the switch clears, not because the storage needs the warning.
Annotation · not proposed UIOmission contract (spec ii 3.10). Stored shape is {reason, explanation, expectedAvailability} with four reasons. I1 validates SHAPE ONLY and refuses a bad reason with OMISSION_REASON_INVALID; whether an omission is PERMITTED for a given question is enforced in I3, so this screen never claims an omission here is acceptable to a reviewer. SETTLED, and drawn as settled: the I1 shape is the single free-text explanation plus expectedAvailability. The 2026-08-21 plan-review adjudication (GF8.2) recorded per-reason required subfields for the "information not available" case (what is missing, why, steps taken, timeframe); spec ii 3.10 as amended states that the subfield split lands WITH the I3 enforcement work, not in I1, so neither record contradicts the other. One item is still open for the PM and it is only wording: the four reason labels drawn here are composed in our own words, because the spec fixes the enum values and not their display text.
Annotation · not proposed UIRole. Daniel Ong holds ENTRY access. Spec ii 6.2 gives the entry role read access to the two cycle catalog reads (GET /v1/reporting-cycles/:id/catalog and .../catalog/clauses/:logicalId) and 403 on every cycle mutation route; the full matrix is test 9.3. That is why no cycle action appears on this page. The application shell around the page stands in for existing NxStart chrome and is drawn identically on all twelve pages of this wireframe set so the surfaces can be compared; which menu items an entry-role user actually sees is existing product behavior this wireframe set does not restate, and it is not the mechanism that stops the write. The server is.