datanotes 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +1 -0
  2. package/SECURITY.md +12 -0
  3. package/dist/api/client.d.cts +2 -0
  4. package/dist/api/client.d.ts +2 -0
  5. package/dist/api/docs.d.cts +14 -4
  6. package/dist/api/docs.d.ts +14 -4
  7. package/dist/api/extension-files.d.cts +23 -0
  8. package/dist/api/extension-files.d.ts +23 -0
  9. package/dist/api/extension-host.d.cts +108 -0
  10. package/dist/api/extension-host.d.ts +108 -0
  11. package/dist/api/extension-manifest.d.cts +154 -0
  12. package/dist/api/extension-manifest.d.ts +154 -0
  13. package/dist/api/extension-plan.d.cts +174 -0
  14. package/dist/api/extension-plan.d.ts +174 -0
  15. package/dist/api/extension-record.d.cts +65 -0
  16. package/dist/api/extension-record.d.ts +65 -0
  17. package/dist/api/extension-sdk.d.cts +65 -0
  18. package/dist/api/extension-sdk.d.ts +65 -0
  19. package/dist/api/extensions.cjs +18472 -0
  20. package/dist/api/extensions.d.cts +11 -0
  21. package/dist/api/extensions.d.ts +11 -0
  22. package/dist/api/extensions.js +18409 -0
  23. package/dist/api/index.cjs +371 -366
  24. package/dist/api/index.js +371 -366
  25. package/dist/api/mcp.cjs +28 -5
  26. package/dist/api/mcp.js +28 -5
  27. package/dist/datanotes.cjs +6205 -3421
  28. package/dist/docs/administration/extensions.md +213 -0
  29. package/dist/docs/api/operations/extensions_delete.md +29 -0
  30. package/dist/docs/api/operations/extensions_list.md +20 -0
  31. package/dist/docs/api/operations/extensions_record.md +44 -0
  32. package/dist/docs/api/operations/tags/extensions.md +9 -0
  33. package/dist/docs/api.md +9 -1
  34. package/dist/docs/develop/write-an-extension.md +369 -0
  35. package/dist/docs/guides/data-quality/check-constraints.md +10 -10
  36. package/dist/docs/guides/data-quality/hand-edits.md +8 -8
  37. package/dist/docs/guides/database-objects/bases.md +11 -11
  38. package/dist/docs/guides/database-objects/catalogs-and-schemas.md +10 -10
  39. package/dist/docs/guides/database-objects/columns.md +38 -38
  40. package/dist/docs/guides/database-objects/relations.md +28 -28
  41. package/dist/docs/guides/database-objects/tables.md +28 -28
  42. package/dist/docs/guides/database-objects/views.md +44 -44
  43. package/dist/docs/guides/history/change-data-feed.md +34 -34
  44. package/dist/docs/guides/history/journal-and-undo.md +12 -12
  45. package/dist/docs/guides/history/restore.md +20 -20
  46. package/dist/docs/guides/history/table-history.md +31 -31
  47. package/dist/docs/guides/read-and-write/automatic-links.md +15 -15
  48. package/dist/docs/guides/read-and-write/import-notes.md +20 -20
  49. package/dist/docs/guides/read-and-write/joins-and-aggregates.md +7 -7
  50. package/dist/docs/guides/read-and-write/read-and-filter.md +10 -10
  51. package/dist/docs/guides/read-and-write/write-rows.md +10 -10
  52. package/dist/docs/guides/search/text.md +1 -1
  53. package/dist/docs/guides/security/security-model.md +12 -0
  54. package/dist/docs/reference/cli.md +32 -1
  55. package/dist/docs/reference/glossary.md +8 -0
  56. package/dist/docs/release-notes.md +33 -0
  57. package/dist/docs/start/connect-agents.md +11 -0
  58. package/package.json +11 -1
@@ -58,7 +58,7 @@ Answer:
58
58
  ```json
59
59
  {
60
60
  "ok": true,
61
- "migration_id": "20261019T040638-create_table-create-table-main-public-film",
61
+ "migration_id": "20261020T173828-create_table-create-table-main-public-film",
62
62
  "summary": null
63
63
  }
64
64
  ```
@@ -67,7 +67,7 @@ Answer:
67
67
 
68
68
  ```yaml
69
69
  # Metastore (Datanotes): catalogs, schemas, tables, columns, views.
70
- id: 01a15257-09b6-7466-9ee6-59ac45171fa4
70
+ id: 01a15a64-a676-7657-9ff4-7a1e6bcc5df3
71
71
  config:
72
72
  history: true
73
73
 
@@ -379,24 +379,24 @@ Answer:
379
379
  "ok": true,
380
380
  "op": "insert_row",
381
381
  "files_created": 1,
382
- "planned_creates": ["datanotes/main/public/watch/2026-10-19 Nosferatu.md"],
382
+ "planned_creates": ["datanotes/main/public/watch/2026-10-20 Nosferatu.md"],
383
383
  "commits": [{ "table": "main.public.watch", "version": 1, "operation": "WRITE" }],
384
- "migration_id": "20261019T040638-insert_row-insert-into-watch"
384
+ "migration_id": "20261020T173828-insert_row-insert-into-watch"
385
385
  }
386
386
  ```
387
387
 
388
- `datanotes/main/public/watch/2026-10-19 Nosferatu.md` now reads:
388
+ `datanotes/main/public/watch/2026-10-20 Nosferatu.md` now reads:
389
389
 
390
390
  ```markdown
391
391
  ---
392
392
  table: main.public.watch
393
393
  cssclasses:
394
394
  - watch
395
- id: 01a15257-0aa0-7f95-8445-28bb94536020
395
+ id: 01a15a64-a8fb-73f8-a4e2-4263d12c1d9d
396
396
  film: Nosferatu
397
397
  where: outdoor screening
398
398
  place: the park by the river
399
- occurred_at: 2026-10-19T04:06:38Z
399
+ occurred_at: 2026-10-20T17:38:28Z
400
400
  ---
401
401
  Watched Nosferatu (outdoor screening).
402
402
 
@@ -440,7 +440,7 @@ Answer:
440
440
  "op": "alter_table",
441
441
  "planned_texts": ["datanotes/metastore.yaml"],
442
442
  "commits": [{ "table": "main.public.watch", "version": 2, "operation": "ALTER TABLE" }],
443
- "migration_id": "20261019T040638-alter_table-alter-table-main-public-watch"
443
+ "migration_id": "20261020T173828-alter_table-alter-table-main-public-watch"
444
444
  }
445
445
  ```
446
446
 
@@ -554,7 +554,7 @@ Answer:
554
554
  "commits": [
555
555
  { "table": "diary.classics.actor", "version": 6, "operation": "ALTER TABLE" }
556
556
  ],
557
- "migration_id": "20261019T040655-alter_table-move-table-diary-classics-acto"
557
+ "migration_id": "20261020T173845-alter_table-move-table-diary-classics-acto"
558
558
  }
559
559
  ```
560
560
 
@@ -595,7 +595,7 @@ Answer:
595
595
  "commits": [
596
596
  { "table": "diary.credits.actor", "version": 7, "operation": "ALTER TABLE" }
597
597
  ],
598
- "migration_id": "20261019T040655-alter_table-move-table-diary-classics-acto-2"
598
+ "migration_id": "20261020T173845-alter_table-move-table-diary-classics-acto-2"
599
599
  }
600
600
  ```
601
601
 
@@ -659,7 +659,7 @@ Answer:
659
659
  "commits": [
660
660
  { "table": "diary.classics.film", "version": 13, "operation": "ALTER TABLE" }
661
661
  ],
662
- "migration_id": "20261019T040655-alter_table-alter-table-diary-classics-fil-5"
662
+ "migration_id": "20261020T173845-alter_table-alter-table-diary-classics-fil-3"
663
663
  }
664
664
  ```
665
665
 
@@ -711,7 +711,7 @@ Answer:
711
711
  "commits": [
712
712
  { "table": "diary.classics.film", "version": 14, "operation": "ALTER TABLE" }
713
713
  ],
714
- "migration_id": "20261019T040655-alter_table-alter-table-diary-classics-fil-6"
714
+ "migration_id": "20261020T173845-alter_table-alter-table-diary-classics-fil-4"
715
715
  }
716
716
  ```
717
717
 
@@ -753,7 +753,7 @@ Answer:
753
753
  "commits": [
754
754
  { "table": "diary.classics.film", "version": 15, "operation": "ALTER TABLE" }
755
755
  ],
756
- "migration_id": "20261019T040655-alter_table-alter-table-diary-classics-fil-7"
756
+ "migration_id": "20261020T173845-alter_table-alter-table-diary-classics-fil-5"
757
757
  }
758
758
  ```
759
759
 
@@ -773,7 +773,7 @@ Answer:
773
773
  "commits": [
774
774
  { "table": "diary.classics.film", "version": 16, "operation": "ALTER TABLE" }
775
775
  ],
776
- "migration_id": "20261019T040655-alter_table-alter-table-diary-classics-fil-8"
776
+ "migration_id": "20261020T173845-alter_table-alter-table-diary-classics-fil-6"
777
777
  }
778
778
  ```
779
779
 
@@ -793,7 +793,7 @@ Answer:
793
793
  "commits": [
794
794
  { "table": "diary.classics.film", "version": 17, "operation": "ALTER TABLE" }
795
795
  ],
796
- "migration_id": "20261019T040655-alter_table-alter-table-diary-classics-fil-9"
796
+ "migration_id": "20261020T173845-alter_table-alter-table-diary-classics-fil-7"
797
797
  }
798
798
  ```
799
799
 
@@ -820,7 +820,7 @@ Answer:
820
820
  "files_created": 1,
821
821
  "planned_creates": ["datanotes/diary/classics/film/1925/Battleship Potemkin (1925).md"],
822
822
  "commits": [{ "table": "diary.classics.film", "version": 18, "operation": "WRITE" }],
823
- "migration_id": "20261019T040655-insert_row-insert-into-film-4"
823
+ "migration_id": "20261020T173845-insert_row-insert-into-film-3"
824
824
  }
825
825
  ```
826
826
 
@@ -830,7 +830,7 @@ Answer:
830
830
  ---
831
831
  table: diary.classics.film
832
832
  cut: restored
833
- id: 01a15257-4d4f-7108-9b86-834bf7261cc6
833
+ id: 01a15a64-ea48-70a1-84d2-829cc3c9da62
834
834
  title: Battleship Potemkin
835
835
  year: 1925
836
836
  minutes: 75
@@ -861,7 +861,7 @@ Answer:
861
861
  "commits": [
862
862
  { "table": "diary.classics.film", "version": 19, "operation": "ALTER TABLE" }
863
863
  ],
864
- "migration_id": "20261019T040655-alter_table-alter-table-diary-classics-fil-10"
864
+ "migration_id": "20261020T173845-alter_table-alter-table-diary-classics-fil-8"
865
865
  }
866
866
  ```
867
867
 
@@ -883,7 +883,7 @@ Answer:
883
883
  "files_created": 1,
884
884
  "planned_creates": ["datanotes/diary/classics/film/1924/Sherlock Jr. (1924).md"],
885
885
  "commits": [{ "table": "diary.classics.film", "version": 20, "operation": "WRITE" }],
886
- "migration_id": "20261019T040655-insert_row-insert-into-film-5"
886
+ "migration_id": "20261020T173845-insert_row-insert-into-film-4"
887
887
  }
888
888
  ```
889
889
 
@@ -893,7 +893,7 @@ Answer:
893
893
  ---
894
894
  table: diary.classics.film
895
895
  cut: restored
896
- id: 01a15257-4d65-7ac8-9da9-cebd6bcb8f00
896
+ id: 01a15a64-ea5e-737b-a2ef-e105a2e98fdc
897
897
  title: Sherlock Jr.
898
898
  year: 1924
899
899
  minutes: 45
@@ -926,7 +926,7 @@ Answer:
926
926
  "commits": [
927
927
  { "table": "diary.classics.film", "version": 21, "operation": "ALTER TABLE" }
928
928
  ],
929
- "migration_id": "20261019T040655-alter_table-alter-table-diary-classics-fil-11"
929
+ "migration_id": "20261020T173845-alter_table-alter-table-diary-classics-fil-9"
930
930
  }
931
931
  ```
932
932
 
@@ -1008,7 +1008,7 @@ Answer:
1008
1008
  ```json
1009
1009
  {
1010
1010
  "ok": true,
1011
- "migration_id": "20261019T040655-create_table-create-table-diary-log-watch"
1011
+ "migration_id": "20261020T173845-create_table-create-table-diary-log-watch"
1012
1012
  }
1013
1013
  ```
1014
1014
 
@@ -1037,7 +1037,7 @@ Answer:
1037
1037
  "files_created": 1,
1038
1038
  "planned_creates": ["datanotes/diary/log/watch/2026/10/2026-10-06 2130.md"],
1039
1039
  "commits": [{ "table": "diary.log.watch", "version": 1, "operation": "WRITE" }],
1040
- "migration_id": "20261019T040655-insert_row-insert-into-watch"
1040
+ "migration_id": "20261020T173845-insert_row-insert-into-watch"
1041
1041
  }
1042
1042
  ```
1043
1043
 
@@ -1046,7 +1046,7 @@ Answer:
1046
1046
  ```markdown
1047
1047
  ---
1048
1048
  table: diary.log.watch
1049
- id: 01a15257-4da6-75c4-814b-80ede5508ccc
1049
+ id: 01a15a64-eaa5-7d15-957a-55f01a116533
1050
1050
  film: "[[Nosferatu (1922)]]"
1051
1051
  occurred_at: 2026-10-06T21:30:00+02:00
1052
1052
  where: outdoor screening
@@ -1082,7 +1082,7 @@ Answer:
1082
1082
  "commits": [
1083
1083
  { "table": "sandbox.classics.film_copy", "version": 0, "operation": "CLONE" }
1084
1084
  ],
1085
- "migration_id": "20261019T040655-clone_table-clone-diary-classics-film-to-s"
1085
+ "migration_id": "20261020T173845-clone_table-clone-diary-classics-film-to-s"
1086
1086
  }
1087
1087
  ```
1088
1088
 
@@ -1148,7 +1148,7 @@ Answer:
1148
1148
  "commits": [
1149
1149
  { "table": "sandbox.classics.film_empty", "version": 0, "operation": "CLONE" }
1150
1150
  ],
1151
- "migration_id": "20261019T040655-clone_table-clone-diary-classics-film-to-s-2"
1151
+ "migration_id": "20261020T173845-clone_table-clone-diary-classics-film-to-s-2"
1152
1152
  }
1153
1153
  ```
1154
1154
 
@@ -1230,7 +1230,7 @@ Answer:
1230
1230
  ],
1231
1231
  "planned_texts": ["datanotes/metastore.yaml"],
1232
1232
  "commits": [{ "table": "main.public.scratch", "version": 2, "operation": "DROP TABLE" }],
1233
- "migration_id": "20261019T040638-drop_table-drop-table-scratch"
1233
+ "migration_id": "20261020T173828-drop_table-drop-table-scratch"
1234
1234
  }
1235
1235
  ```
1236
1236
 
@@ -1254,7 +1254,7 @@ The engine wrote this file in its own words. It holds `film`, `watch` and `revie
1254
1254
 
1255
1255
  ```yaml
1256
1256
  # Metastore (Datanotes): catalogs, schemas, tables, columns, views.
1257
- id: 01a15257-09b6-7466-9ee6-59ac45171fa4
1257
+ id: 01a15a64-a676-7657-9ff4-7a1e6bcc5df3
1258
1258
  config:
1259
1259
  history: true
1260
1260
 
@@ -41,7 +41,7 @@ Answer:
41
41
  "ok": true,
42
42
  "op": "create_view",
43
43
  "planned_texts": ["datanotes/metastore.yaml"],
44
- "migration_id": "20261019T040648-create_view-create-view-main-public-vw_rec"
44
+ "migration_id": "20261020T173838-create_view-create-view-main-public-vw_rec"
45
45
  }
46
46
  ```
47
47
 
@@ -65,16 +65,16 @@ Answer:
65
65
  "total": 2,
66
66
  "rows": [
67
67
  {
68
- "path": "datanotes/main/public/watch/2026-10-17T2030.md",
68
+ "path": "datanotes/main/public/watch/2026-10-18T2030.md",
69
69
  "film": "[[The Gold Rush]]",
70
- "occurred_at": "2026-10-17T20:30",
70
+ "occurred_at": "2026-10-18T20:30",
71
71
  "where": "home",
72
72
  "place": "my living room"
73
73
  },
74
74
  {
75
- "path": "datanotes/main/public/watch/2026-10-14T2115.md",
75
+ "path": "datanotes/main/public/watch/2026-10-15T2115.md",
76
76
  "film": "[[Charade]]",
77
- "occurred_at": "2026-10-14T21:15",
77
+ "occurred_at": "2026-10-15T21:15",
78
78
  "where": "home",
79
79
  "place": "my living room"
80
80
  }
@@ -156,7 +156,7 @@ Answer:
156
156
  "ok": true,
157
157
  "op": "create_view",
158
158
  "planned_texts": ["datanotes/metastore.yaml"],
159
- "migration_id": "20261019T040648-create_view-create-view-main-public-vw_rec-2"
159
+ "migration_id": "20261020T173838-create_view-create-view-main-public-vw_rec-2"
160
160
  }
161
161
  ```
162
162
 
@@ -194,7 +194,7 @@ Answer:
194
194
  "ok": true,
195
195
  "op": "create_view",
196
196
  "planned_texts": ["datanotes/metastore.yaml"],
197
- "migration_id": "20261019T040648-create_view-create-view-main-public-vw_las"
197
+ "migration_id": "20261020T173838-create_view-create-view-main-public-vw_las"
198
198
  }
199
199
  ```
200
200
 
@@ -214,59 +214,59 @@ Answer (65 lines)
214
214
  {
215
215
  "path": "datanotes/main/public/film/Night of the Living Dead.md",
216
216
  "title": "Night of the Living Dead",
217
- "watched_on": "2026-10-18",
217
+ "watched_on": "2026-10-19",
218
218
  "cast": [
219
219
  {
220
220
  "path": "datanotes/main/public/actor/Duane Jones.md",
221
221
  "table": "main.public.actor",
222
- "id": "01a15257-301f-7673-a539-232f5503e508",
222
+ "id": "01a15a64-cd02-7854-912e-cabd75c26751",
223
223
  "name": "Duane Jones",
224
224
  "born": "1937-04-02"
225
225
  }
226
226
  ],
227
227
  "viewing": [
228
- { "path": "datanotes/main/public/watch/2026-10-18T2200.md", "where": "cinema" }
228
+ { "path": "datanotes/main/public/watch/2026-10-19T2200.md", "where": "cinema" }
229
229
  ]
230
230
  },
231
231
  {
232
232
  "path": "datanotes/main/public/film/The Gold Rush.md",
233
233
  "title": "The Gold Rush",
234
- "watched_on": "2026-10-17",
234
+ "watched_on": "2026-10-18",
235
235
  "cast": [
236
236
  {
237
237
  "path": "datanotes/main/public/actor/Charlie Chaplin.md",
238
238
  "table": "main.public.actor",
239
- "id": "01a15257-2ffd-7cc9-a75d-33f2521017c5",
239
+ "id": "01a15a64-cce6-7e75-ad76-6a1acf6fdf25",
240
240
  "name": "Charlie Chaplin",
241
241
  "born": "1889-04-16"
242
242
  }
243
243
  ],
244
244
  "viewing": [
245
- { "path": "datanotes/main/public/watch/2026-10-17T2030.md", "where": "home" }
245
+ { "path": "datanotes/main/public/watch/2026-10-18T2030.md", "where": "home" }
246
246
  ]
247
247
  },
248
248
  {
249
249
  "path": "datanotes/main/public/film/Charade.md",
250
250
  "title": "Charade",
251
- "watched_on": "2026-10-14",
251
+ "watched_on": "2026-10-15",
252
252
  "cast": [
253
253
  {
254
254
  "path": "datanotes/main/public/actor/Cary Grant.md",
255
255
  "table": "main.public.actor",
256
- "id": "01a15257-300c-734a-9890-e6fa77c91bc8",
256
+ "id": "01a15a64-ccf1-7ea6-a4ba-74e39aef4496",
257
257
  "name": "Cary Grant",
258
258
  "born": "1904-01-18"
259
259
  },
260
260
  {
261
261
  "path": "datanotes/main/public/actor/Audrey Hepburn.md",
262
262
  "table": "main.public.actor",
263
- "id": "01a15257-3019-7cfd-932d-a771c31e1661",
263
+ "id": "01a15a64-ccfc-73b5-8bf8-e5a988156438",
264
264
  "name": "Audrey Hepburn",
265
265
  "born": "1929-05-04"
266
266
  }
267
267
  ],
268
268
  "viewing": [
269
- { "path": "datanotes/main/public/watch/2026-10-14T2115.md", "where": "home" }
269
+ { "path": "datanotes/main/public/watch/2026-10-15T2115.md", "where": "home" }
270
270
  ]
271
271
  }
272
272
  ],
@@ -313,7 +313,7 @@ Answer:
313
313
  "ok": true,
314
314
  "op": "create_view",
315
315
  "planned_texts": ["datanotes/metastore.yaml"],
316
- "migration_id": "20261019T040648-create_view-create-view-main-public-vw_mos"
316
+ "migration_id": "20261020T173838-create_view-create-view-main-public-vw_mos"
317
317
  }
318
318
  ```
319
319
 
@@ -382,7 +382,7 @@ Answer:
382
382
  "ok": true,
383
383
  "op": "create_view",
384
384
  "planned_texts": ["datanotes/metastore.yaml"],
385
- "migration_id": "20261019T040648-create_view-create-view-main-public-vw_lat"
385
+ "migration_id": "20261020T173838-create_view-create-view-main-public-vw_lat"
386
386
  }
387
387
  ```
388
388
 
@@ -400,59 +400,59 @@ Answer (64 lines)
400
400
  "total": 4,
401
401
  "rows": [
402
402
  {
403
- "path": "datanotes/main/public/watch/2026-10-18T2200.md",
403
+ "path": "datanotes/main/public/watch/2026-10-19T2200.md",
404
404
  "film": {
405
405
  "path": "datanotes/main/public/film/Night of the Living Dead.md",
406
406
  "table": "main.public.film",
407
- "id": "01a15257-305f-798e-9a2a-b41b9c77960d",
407
+ "id": "01a15a64-cd43-7e4e-8275-3d766d831eab",
408
408
  "title": "Night of the Living Dead",
409
409
  "year": 1968,
410
410
  "minutes": 96,
411
411
  "status": "watched",
412
412
  "rating": 4,
413
- "watched_on": "2026-10-18",
413
+ "watched_on": "2026-10-19",
414
414
  "director": "George A. Romero",
415
415
  "cast": ["[[Duane Jones]]"]
416
416
  },
417
- "occurred_at": "2026-10-18T22:00",
417
+ "occurred_at": "2026-10-19T22:00",
418
418
  "where": "cinema",
419
419
  "_source": "watch"
420
420
  },
421
421
  {
422
- "path": "datanotes/main/public/watch/2026-10-17T2030.md",
422
+ "path": "datanotes/main/public/watch/2026-10-18T2030.md",
423
423
  "film": {
424
424
  "path": "datanotes/main/public/film/The Gold Rush.md",
425
425
  "table": "main.public.film",
426
- "id": "01a15257-3043-7342-b25e-e2dabd4b1268",
426
+ "id": "01a15a64-cd27-7bc5-ac61-1712f0e17cb4",
427
427
  "title": "The Gold Rush",
428
428
  "year": 1925,
429
429
  "minutes": 95,
430
430
  "status": "watched",
431
431
  "rating": 5,
432
- "watched_on": "2026-10-17",
432
+ "watched_on": "2026-10-18",
433
433
  "director": "Charlie Chaplin",
434
434
  "cast": ["[[Charlie Chaplin]]"]
435
435
  },
436
- "occurred_at": "2026-10-17T20:30",
436
+ "occurred_at": "2026-10-18T20:30",
437
437
  "where": "home",
438
438
  "_source": "watch"
439
439
  },
440
440
  {
441
- "path": "datanotes/main/public/watch/2026-10-14T2115.md",
441
+ "path": "datanotes/main/public/watch/2026-10-15T2115.md",
442
442
  "film": {
443
443
  "path": "datanotes/main/public/film/Charade.md",
444
444
  "table": "main.public.film",
445
- "id": "01a15257-3058-76e4-b51b-456bd3a7ea31",
445
+ "id": "01a15a64-cd3c-767c-8c4e-bd40e8b9597f",
446
446
  "title": "Charade",
447
447
  "year": 1963,
448
448
  "minutes": 113,
449
449
  "status": "watched",
450
450
  "rating": 4,
451
- "watched_on": "2026-10-14",
451
+ "watched_on": "2026-10-15",
452
452
  "director": "Stanley Donen",
453
453
  "cast": ["[[Cary Grant]]", "[[Audrey Hepburn]]"]
454
454
  },
455
- "occurred_at": "2026-10-14T21:15",
455
+ "occurred_at": "2026-10-15T21:15",
456
456
  "where": "home",
457
457
  "_source": "watch"
458
458
  }
@@ -476,14 +476,14 @@ Answer:
476
476
  "ok": true,
477
477
  "op": "drop_view",
478
478
  "planned_texts": ["datanotes/metastore.yaml"],
479
- "migration_id": "20261019T040648-drop_view-drop-view-main-public-vw_most_"
479
+ "migration_id": "20261020T173838-drop_view-drop-view-main-public-vw_most_"
480
480
  }
481
481
  ```
482
482
 
483
483
  **`undo_migration`**
484
484
 
485
485
  ```json
486
- { "migration_id": "20261019T040648-drop_view-drop-view-main-public-vw_most_" }
486
+ { "migration_id": "20261020T173838-drop_view-drop-view-main-public-vw_most_" }
487
487
  ```
488
488
 
489
489
  Answer:
@@ -492,8 +492,8 @@ Answer:
492
492
  {
493
493
  "ok": true,
494
494
  "op": "undo_migration",
495
- "undoes": "20261019T040648-drop_view-drop-view-main-public-vw_most_",
496
- "migration_id": "20261019T040648-undo_migration-undo-20261019t040648-drop_view",
495
+ "undoes": "20261020T173838-drop_view-drop-view-main-public-vw_most_",
496
+ "migration_id": "20261020T173838-undo_migration-undo-20261020t173838-drop_view",
497
497
  "conflicts": [],
498
498
  "failed": []
499
499
  }
@@ -526,7 +526,7 @@ Answer:
526
526
  "ok": true,
527
527
  "op": "create_view",
528
528
  "planned_texts": ["datanotes/metastore.yaml"],
529
- "migration_id": "20261019T040648-create_view-create-view-main-reports-vw_wa"
529
+ "migration_id": "20261020T173838-create_view-create-view-main-reports-vw_wa"
530
530
  }
531
531
  ```
532
532
 
@@ -619,7 +619,7 @@ Answer:
619
619
  ```json
620
620
  {
621
621
  "ok": true,
622
- "migration_id": "20261019T040648-batch-views-for-film-and-actor-notes",
622
+ "migration_id": "20261020T173838-batch-views-for-film-and-actor-notes",
623
623
  "steps": [
624
624
  { "op": "create_view", "ok": true },
625
625
  { "op": "create_view", "ok": true },
@@ -645,13 +645,13 @@ Answer:
645
645
  "total": 2,
646
646
  "rows": [
647
647
  {
648
- "path": "datanotes/main/public/watch/2026-09-30T2100.md",
649
- "occurred_at": "2026-09-30T21:00",
648
+ "path": "datanotes/main/public/watch/2026-10-01T2100.md",
649
+ "occurred_at": "2026-10-01T21:00",
650
650
  "where": "home"
651
651
  },
652
652
  {
653
- "path": "datanotes/main/public/watch/2026-10-17T2030.md",
654
- "occurred_at": "2026-10-17T20:30",
653
+ "path": "datanotes/main/public/watch/2026-10-18T2030.md",
654
+ "occurred_at": "2026-10-18T20:30",
655
655
  "where": "home"
656
656
  }
657
657
  ],
@@ -679,9 +679,9 @@ Answer:
679
679
  "total": 1,
680
680
  "rows": [
681
681
  {
682
- "path": "datanotes/main/public/watch/2026-10-17T2030.md",
682
+ "path": "datanotes/main/public/watch/2026-10-18T2030.md",
683
683
  "film": "[[The Gold Rush]]",
684
- "occurred_at": "2026-10-17T20:30",
684
+ "occurred_at": "2026-10-18T20:30",
685
685
  "where": "home"
686
686
  }
687
687
  ],
@@ -766,7 +766,7 @@ The engine wrote this page’s views under `views:` in their schema, next to the
766
766
 
767
767
  ```yaml
768
768
  # Metastore (Datanotes): catalogs, schemas, tables, columns, views.
769
- id: 01a15257-2fe2-7692-8c87-67639c554380
769
+ id: 01a15a64-ccbd-7663-822f-4b752a5e5880
770
770
  config:
771
771
  history: true
772
772