FY2025 GRI report · Bluefin Processing TH
- Monthly meter reading, reconciled against the utility invoice
- Quarterly review with the plant management committee
- Annual efficiency plan agreed with group technical services in Singapore
structuredValue slot: an ordered list of typed blocks, each block a small closed shape.
Raw HTML is never stored, and a native write carrying raw HTML is REFUSED SERVER-SIDE, not sanitized in the
browser and hoped for (test 9.2 names the raw-HTML rejection case). Output is serialized with escaping at
render time, so nothing a user typed can execute anywhere the answer is later displayed or exported. The three
block kinds drawn here are the reviewable consequence of that decision: a closed block set is what makes the
stored shape validatable.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.structuredValue. 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 written 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.{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.RICH_STRUCTURE_INVALID, 422, named in spec ii 3.9 and
listed in the 6.6 error contract, so the gallery state quotes it rather than going codeless. An earlier draft of
this page said no code existed; that was true of the spec text this page was first drawn against. (2) The block set is drawn as heading, paragraph, and
bulleted list. The spec says "restricted block-structured JSON" without enumerating the blocks, so the three
drawn here are a proposal; a numbered list is the obvious fourth candidate and is deliberately left out until
the PM rules. (3) Whether a heading block may nest below another heading level is likewise unspecified and
drawn flat.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.This answer was sent with a block kind this question does not allow. Nothing was saved and nothing you had written was lost. Reload the question and build the answer from the block buttons.
Block kind sent: "html". Allowed block kinds: heading, paragraph, bulleted list. Server refusal 422 RICH_STRUCTURE_INVALID.
A user cannot reach the red state through the editor above, because the editor only ever produces the three allowed blocks. It is reachable when a stale browser tab holds an older version of the question, or when something writes to the interface directly. The check that matters therefore runs on the server, not in the browser.
RICH_STRUCTURE_INVALID (spec ii 3.9 and 6.6), which is also what a typed block smuggling markup gets: an unknown block type, refused, not escaped and stored.Say what is missing and why, in your own words. This text is read by whoever reviews the report.
Format YYYY-MM-DD. Leave empty if you cannot give a date.
No blocks yet
Build the answer from blocks. Start with a paragraph, or add a heading first if the answer has more than one part.
- Monthly meter reading, reconciled against the utility invoice
- Quarterly review with the plant management committee
- Annual efficiency plan agreed with group technical services in Singapore