From 44eabcccb20dac61ddb0708c9408e9b0dd96b96a Mon Sep 17 00:00:00 2001 From: callumalpass Date: Thu, 6 Aug 2026 16:25:31 +1000 Subject: [PATCH] Define collection authority timezone configuration --- 04-configuration.md | 9 +++++++++ schemas/v0.3/config.schema.json | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/04-configuration.md b/04-configuration.md index 607537a..5cc7e0b 100644 --- a/04-configuration.md +++ b/04-configuration.md @@ -17,6 +17,7 @@ Recommended config: spec_version: "0.3.0" settings: + timezone: Australia/Melbourne types_folder: _types contracts_folder: _contracts record_extensions: [md] @@ -37,6 +38,7 @@ Pre-1.0 draft versions MAY be accepted by explicit compatibility setting. | Key | Type | Default | Meaning | | --- | --- | --- | --- | +| `settings.timezone` | string | local runtime | durable IANA timezone for authority-owned calendar semantics | | `settings.types_folder` | string | `_types` | folder containing type files | | `settings.contracts_folder` | string | `_contracts` | folder containing data contract files | | `settings.record_extensions` | list of strings | `[md]` | record file extensions without dot | @@ -49,6 +51,13 @@ Pre-1.0 draft versions MAY be accepted by explicit compatibility setting. `settings.explicit_type_keys` replaces the default key list. An empty list makes all type membership inferred. +`settings.timezone`, when present, MUST be an IANA timezone identifier. `UTC` +is the canonical identifier for Coordinated Universal Time. Numeric offsets and +ambient aliases such as `local` are invalid because they do not name a durable +calendar authority or model daylight-saving transitions. An invalid configured +timezone makes the collection configuration invalid; an implementation MUST +NOT silently substitute its runtime timezone. + The types and contracts folders MUST be different normalized paths. Both are reserved control-file folders and are excluded from ordinary record discovery. diff --git a/schemas/v0.3/config.schema.json b/schemas/v0.3/config.schema.json index 3fd5e99..7ed3506 100644 --- a/schemas/v0.3/config.schema.json +++ b/schemas/v0.3/config.schema.json @@ -20,6 +20,11 @@ "settings": { "type": "object", "properties": { + "timezone": { + "type": "string", + "minLength": 1, + "description": "Durable IANA timezone for collection-authority calendar semantics" + }, "types_folder": { "type": "string", "minLength": 1