Each public board stays tied to its source-backed period.
OpenRoles treats the labour layer as official annual Singapore labour data. The public site now shows the latest official period for each metric instead of implying one common live market cut.
Metric periods
employment: No data.
employment change pct: No data.
vacancy rate pct: No data.
resignation rate pct: No data.
median monthly pay: No data.
How timing is described
Refresh cadence, last checked, and data cutoff are separate concepts. A scheduled run does not imply a new official labour release if the source datasets have not advanced.
Repository-backed public labour data is unavailable in this environment, so OpenRoles suppresses synthetic fallback and shows explicit unavailable states instead.
Board definitions
Demand up/down: vacancy rate.
Growth: employment year-over-year comparison.
Salary up/down: hidden until a current official pay comparison exists.
Why Careers@Gov is separate
Careers@Gov is an opportunity source only. OpenRoles reads its public listing and detail pages, preserves the official source/apply URLs, and keeps it out of labour-market metric boards.
Listing fields: id, name, agency, department, employmentType, closeAt, activityTimestamp, closingTimestamp, isAvailable.
Detail fields: title, description, hiringOrganization.name, employmentType, datePosted, applyLink, sourceUrl, role, responsibilities, requirements, agencyDescription.