saddle-Clanker-Saddle f3a3ea8372 Merge branch 'task/8-33' into goal/toto-batch-1 hai 1 mes
..
Api b2a6f92b60 Plan 17 M3: event log UI replaces the terminal view hai 1 mes
Data 487db9c1da Goal link pre-fill from the primary project; stacks feature hai 1 mes
Push 9f5ab7ab36 push: plan 11 task E — real Web Push (VAPID) notifications hai 1 mes
Services f3a3ea8372 Merge branch 'task/8-33' into goal/toto-batch-1 hai 1 mes
actions 487db9c1da Goal link pre-fill from the primary project; stacks feature hai 1 mes
entrypoints 487db9c1da Goal link pre-fill from the primary project; stacks feature hai 1 mes
pages 487db9c1da Goal link pre-fill from the primary project; stacks feature hai 1 mes
Format.vala 375d0957f9 r1: one time-format util — src/Format.vala's format_stamp owns the '%Y-%m-%d %H:%M' display shape; the four per-entrypoint format_stamp/format_time copies and the saddles/rules/projects inline formats collapse onto it (StatePulse keeps its second-precision pulse stamp); the clock domain is uniform now_local (PushService's VAPID exp was the lone now_utc, and to_unix is timezone-independent anyway). hai 1 mes
Json.vala 34f58415c3 r1: one JSON-entry reading surface — src/Json.vala grows EntryJson (string_member/optional_string_member/get_string_or/string_array_member/parse_iso/parse_string_array); SaddleService's four private statics, SaddleApi's get_string_or/parse_iso/string_options and TaskService.parse_block_options all collapse into it, three string-array parsers down to one, behaviour byte-identical (the malformed-options warning keeps each call site's wording). hai 1 mes
clanker-saddle-emblem.png 21510cee71 Add assets hai 1 mes
clanker-saddle.png 21510cee71 Add assets hai 1 mes
main.vala 487db9c1da Goal link pre-fill from the primary project; stacks feature hai 1 mes