From 00e6aaef99312024d2c31c491d634c0d4f85bcff Mon Sep 17 00:00:00 2001 From: Onur Solmaz <2453968+osolmaz@users.noreply.github.com> Date: Wed, 4 Feb 2026 20:17:48 +0100 Subject: [PATCH 01/26] Add SimpleDoc/SimpleLog spec --- docs/SIMPLEDOC_SIMPLELOG_SPEC.md | 167 +++++++++++++++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 docs/SIMPLEDOC_SIMPLELOG_SPEC.md diff --git a/docs/SIMPLEDOC_SIMPLELOG_SPEC.md b/docs/SIMPLEDOC_SIMPLELOG_SPEC.md new file mode 100644 index 0000000..aa69e99 --- /dev/null +++ b/docs/SIMPLEDOC_SIMPLELOG_SPEC.md @@ -0,0 +1,167 @@ +# SimpleDoc/SimpleLog + +> Daily Markdown Log (DML) v1 — Specification + +## 1) Storage layout + +- **Root directory:** any path. When used inside a SimpleDoc codebase, logs SHOULD live under `docs/` or `docs//` to remain compliant with SimpleDoc. +- **Daily file name:** `YYYY-MM-DD.md` (local date in the chosen “primary” timezone). + - Example: `2025-12-01.md` +- **Optional subdirectories** (recommended when many files): + - `YYYY/YYYY-MM-DD.md` or `YYYY/MM/YYYY-MM-DD.md` + - Example: `2025/2025-12-01.md` + +## 2) File encoding and newlines + +- MUST be UTF-8. +- MUST use LF (`\n`) newlines. +- SHOULD end with a trailing newline. + +## 3) File header + +First lines define the day and timezone context. + +Required: + +1. `# YYYY-MM-DD` +2. `> TZ: ` + +Optional (recommended): + +- `> Created: ` +- `> Updated: ` + +Example: + +```md +# 2025-12-01 + +> TZ: Europe/Berlin +> Created: 2025-12-01T00:00:00+01:00 +``` + +Notes: + +- The file date is interpreted in the header timezone. +- DST transitions are supported because each entry includes an offset. + +## 4) Time sections (hour) + +Entries are grouped under hour headings. + +- **Section heading format (required):** `## HH:00` + - `HH` is 24-hour, zero-padded (`00`–`23`). + +Example: + +```md +## 09:00 + +## 14:00 +``` + +Rules: + +- SHOULD be in chronological order. +- A section may exist with no entries. + +## 5) Entry format (appendable, human-readable, parseable) + +Each entry is a Markdown list item starting with a local-time timestamp **including timezone offset**. + +Required entry prefix: + +- `-