@mean-weasel/lineage 0.1.22 → 0.1.23

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 (219) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/MANUAL_INSTALL_DOGFOOD.md +1 -0
  3. package/README.md +8 -5
  4. package/dist/cli/lineage-dev.js +27 -21
  5. package/dist/cli/lineage-dev.js.map +3 -3
  6. package/dist/cli/lineage-preview.js +27 -21
  7. package/dist/cli/lineage-preview.js.map +3 -3
  8. package/dist/cli/lineage.js +27 -21
  9. package/dist/cli/lineage.js.map +3 -3
  10. package/dist/docs-site/404.html +41 -0
  11. package/dist/docs-site/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.BcSo_yiZ.js +1 -0
  12. package/dist/docs-site/_astro/Search.astro_astro_type_script_index_0_lang.x2pVooPA.js +1 -0
  13. package/dist/docs-site/_astro/TableOfContents.astro_astro_type_script_index_0_lang.Csloo1VZ.js +1 -0
  14. package/dist/docs-site/_astro/common.DarLW4Vf.css +3 -0
  15. package/dist/docs-site/_astro/ec.0vx5m.js +3 -0
  16. package/dist/docs-site/_astro/ec.w36nc.css +1 -0
  17. package/dist/docs-site/_astro/page.LAbJoB63.js +1 -0
  18. package/dist/docs-site/_astro/print.ehPL0gv-.css +1 -0
  19. package/dist/docs-site/_astro/starlight-toc.CTCQXEge.js +1 -0
  20. package/dist/docs-site/_astro/ui-core.DWIqd25E.js +2 -0
  21. package/dist/docs-site/concepts/agent-claims-handoffs/index.html +99 -0
  22. package/dist/docs-site/concepts/attempts-current-version/index.html +86 -0
  23. package/dist/docs-site/concepts/branches-vs-rerolls/index.html +114 -0
  24. package/dist/docs-site/concepts/projects-workspaces-assets/index.html +89 -0
  25. package/dist/docs-site/concepts/selections-next-variations/index.html +86 -0
  26. package/dist/docs-site/index.html +92 -0
  27. package/dist/docs-site/integrations/cloud-storage/index.html +92 -0
  28. package/dist/docs-site/integrations/image-generation/index.html +93 -0
  29. package/dist/docs-site/integrations/index.html +112 -0
  30. package/dist/docs-site/integrations/social-scheduling/index.html +89 -0
  31. package/dist/docs-site/operations/backup-recovery/index.html +87 -0
  32. package/dist/docs-site/operations/channels/index.html +88 -0
  33. package/dist/docs-site/operations/local-first-data/index.html +90 -0
  34. package/dist/docs-site/operations/profiles-database-identity/index.html +90 -0
  35. package/dist/docs-site/operations/troubleshooting/index.html +89 -0
  36. package/dist/docs-site/pagefind/fragment/en_1126abb.pf_fragment +0 -0
  37. package/dist/docs-site/pagefind/fragment/en_19b3f6c.pf_fragment +0 -0
  38. package/dist/docs-site/pagefind/fragment/en_31aa611.pf_fragment +0 -0
  39. package/dist/docs-site/pagefind/fragment/en_38817cc.pf_fragment +0 -0
  40. package/dist/docs-site/pagefind/fragment/en_4184ad1.pf_fragment +0 -0
  41. package/dist/docs-site/pagefind/fragment/en_41db543.pf_fragment +0 -0
  42. package/dist/docs-site/pagefind/fragment/en_469f895.pf_fragment +0 -0
  43. package/dist/docs-site/pagefind/fragment/en_4db923b.pf_fragment +0 -0
  44. package/dist/docs-site/pagefind/fragment/en_56e45b6.pf_fragment +0 -0
  45. package/dist/docs-site/pagefind/fragment/en_56fe7ca.pf_fragment +0 -0
  46. package/dist/docs-site/pagefind/fragment/en_581a7cb.pf_fragment +0 -0
  47. package/dist/docs-site/pagefind/fragment/en_5be5e44.pf_fragment +0 -0
  48. package/dist/docs-site/pagefind/fragment/en_603c2be.pf_fragment +0 -0
  49. package/dist/docs-site/pagefind/fragment/en_66b3118.pf_fragment +0 -0
  50. package/dist/docs-site/pagefind/fragment/en_6a19c31.pf_fragment +0 -0
  51. package/dist/docs-site/pagefind/fragment/en_74e9307.pf_fragment +0 -0
  52. package/dist/docs-site/pagefind/fragment/en_7c9d5a2.pf_fragment +0 -0
  53. package/dist/docs-site/pagefind/fragment/en_818744b.pf_fragment +0 -0
  54. package/dist/docs-site/pagefind/fragment/en_8269752.pf_fragment +0 -0
  55. package/dist/docs-site/pagefind/fragment/en_88b38c1.pf_fragment +0 -0
  56. package/dist/docs-site/pagefind/fragment/en_8c1c735.pf_fragment +0 -0
  57. package/dist/docs-site/pagefind/fragment/en_98d9b16.pf_fragment +0 -0
  58. package/dist/docs-site/pagefind/fragment/en_a3d636e.pf_fragment +0 -0
  59. package/dist/docs-site/pagefind/fragment/en_b15ecf0.pf_fragment +0 -0
  60. package/dist/docs-site/pagefind/fragment/en_bcc29c5.pf_fragment +0 -0
  61. package/dist/docs-site/pagefind/fragment/en_bfb13e9.pf_fragment +0 -0
  62. package/dist/docs-site/pagefind/fragment/en_d0fca9e.pf_fragment +0 -0
  63. package/dist/docs-site/pagefind/fragment/en_d49ed00.pf_fragment +0 -0
  64. package/dist/docs-site/pagefind/fragment/en_e0786b9.pf_fragment +0 -0
  65. package/dist/docs-site/pagefind/fragment/en_e298dee.pf_fragment +0 -0
  66. package/dist/docs-site/pagefind/fragment/en_f6179a8.pf_fragment +0 -0
  67. package/dist/docs-site/pagefind/index/en_f279b04.pf_index +0 -0
  68. package/dist/docs-site/pagefind/pagefind-component-ui.css +1509 -0
  69. package/dist/docs-site/pagefind/pagefind-component-ui.js +56 -0
  70. package/dist/docs-site/pagefind/pagefind-entry.json +1 -0
  71. package/dist/docs-site/pagefind/pagefind-highlight.js +1070 -0
  72. package/dist/docs-site/pagefind/pagefind-modular-ui.css +214 -0
  73. package/dist/docs-site/pagefind/pagefind-modular-ui.js +8 -0
  74. package/dist/docs-site/pagefind/pagefind-ui.css +1 -0
  75. package/dist/docs-site/pagefind/pagefind-ui.js +2 -0
  76. package/dist/docs-site/pagefind/pagefind-worker.js +6 -0
  77. package/dist/docs-site/pagefind/pagefind.en_74951c3ca7.pf_meta +0 -0
  78. package/dist/docs-site/pagefind/pagefind.js +6 -0
  79. package/dist/docs-site/pagefind/wasm.en.pagefind +0 -0
  80. package/dist/docs-site/pagefind/wasm.unknown.pagefind +0 -0
  81. package/dist/docs-site/reference/cli/index.html +86 -0
  82. package/dist/docs-site/reference/interface-guide/index.html +86 -0
  83. package/dist/docs-site/reference/release-notes/index.html +80 -0
  84. package/dist/docs-site/reference/settings/index.html +86 -0
  85. package/dist/docs-site/reference/terminology/index.html +94 -0
  86. package/dist/docs-site/sitemap-0.xml +1 -0
  87. package/dist/docs-site/sitemap-index.xml +1 -0
  88. package/dist/docs-site/start-here/example-projects/index.html +88 -0
  89. package/dist/docs-site/start-here/first-workspace/index.html +91 -0
  90. package/dist/docs-site/start-here/installation-first-run/index.html +86 -0
  91. package/dist/docs-site/start-here/what-is-lineage/index.html +96 -0
  92. package/dist/docs-site/workflows/back-up-approved-assets/index.html +88 -0
  93. package/dist/docs-site/workflows/content-batches/index.html +88 -0
  94. package/dist/docs-site/workflows/continue-new-agent-session/index.html +89 -0
  95. package/dist/docs-site/workflows/create-grow-lineage/index.html +89 -0
  96. package/dist/docs-site/workflows/generate-import-variations/index.html +92 -0
  97. package/dist/docs-site/workflows/restore-earlier-attempt/index.html +87 -0
  98. package/dist/docs-site/workflows/review-approve-assets/index.html +87 -0
  99. package/dist/pages/.nojekyll +0 -0
  100. package/dist/pages/assets/agent-shared-state-DOfpTLiw.webp +0 -0
  101. package/dist/pages/assets/agent-to-canvas-DtIu_cPq.mp4 +0 -0
  102. package/dist/pages/assets/app-B-fAyNsU.css +1 -0
  103. package/dist/{web/assets/app-D-7R33Mc.js → pages/assets/app-DdU93vp2.js} +36 -2
  104. package/dist/pages/assets/attempt-history-D6wdic6n.webp +0 -0
  105. package/dist/pages/assets/branching-tree-B8I5_S6D.png +0 -0
  106. package/dist/pages/assets/canvas-cli-DHBacq7r.png +0 -0
  107. package/dist/pages/assets/hero-agent-sync-D8ibW83E.mp4 +0 -0
  108. package/dist/pages/assets/hero-agent-sync-poster-zBB3KpbO.png +0 -0
  109. package/dist/pages/assets/hero-board-DG3ED4AW.webp +0 -0
  110. package/dist/pages/assets/hero-lineage-growth-Bsl9tiq-.mp4 +0 -0
  111. package/dist/pages/assets/hero-trace-connections-Bb52ABBc.mp4 +0 -0
  112. package/dist/pages/assets/human-selection-BdDBDE-I.webp +0 -0
  113. package/dist/pages/assets/human-to-agent-D1z92ZO9.mp4 +0 -0
  114. package/dist/pages/assets/jsx-runtime-DAFSxiwi.js +8 -0
  115. package/dist/pages/assets/landing-MwOFmHoi.js +2 -0
  116. package/dist/pages/assets/landing-wy4L-yBm.css +1 -0
  117. package/dist/pages/assets/reroll-history-DQcEH42R.mp4 +0 -0
  118. package/dist/pages/docs/404.html +41 -0
  119. package/dist/pages/docs/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.BcSo_yiZ.js +1 -0
  120. package/dist/pages/docs/_astro/Search.astro_astro_type_script_index_0_lang.x2pVooPA.js +1 -0
  121. package/dist/pages/docs/_astro/TableOfContents.astro_astro_type_script_index_0_lang.Csloo1VZ.js +1 -0
  122. package/dist/pages/docs/_astro/common.DarLW4Vf.css +3 -0
  123. package/dist/pages/docs/_astro/ec.0vx5m.js +3 -0
  124. package/dist/pages/docs/_astro/ec.w36nc.css +1 -0
  125. package/dist/pages/docs/_astro/page.LAbJoB63.js +1 -0
  126. package/dist/pages/docs/_astro/print.ehPL0gv-.css +1 -0
  127. package/dist/pages/docs/_astro/starlight-toc.CTCQXEge.js +1 -0
  128. package/dist/pages/docs/_astro/ui-core.DWIqd25E.js +2 -0
  129. package/dist/pages/docs/concepts/agent-claims-handoffs/index.html +99 -0
  130. package/dist/pages/docs/concepts/attempts-current-version/index.html +86 -0
  131. package/dist/pages/docs/concepts/branches-vs-rerolls/index.html +114 -0
  132. package/dist/pages/docs/concepts/projects-workspaces-assets/index.html +89 -0
  133. package/dist/pages/docs/concepts/selections-next-variations/index.html +86 -0
  134. package/dist/pages/docs/index.html +92 -0
  135. package/dist/pages/docs/integrations/cloud-storage/index.html +92 -0
  136. package/dist/pages/docs/integrations/image-generation/index.html +93 -0
  137. package/dist/pages/docs/integrations/index.html +112 -0
  138. package/dist/pages/docs/integrations/social-scheduling/index.html +89 -0
  139. package/dist/pages/docs/operations/backup-recovery/index.html +87 -0
  140. package/dist/pages/docs/operations/channels/index.html +88 -0
  141. package/dist/pages/docs/operations/local-first-data/index.html +90 -0
  142. package/dist/pages/docs/operations/profiles-database-identity/index.html +90 -0
  143. package/dist/pages/docs/operations/troubleshooting/index.html +89 -0
  144. package/dist/pages/docs/pagefind/fragment/en_1126abb.pf_fragment +0 -0
  145. package/dist/pages/docs/pagefind/fragment/en_19b3f6c.pf_fragment +0 -0
  146. package/dist/pages/docs/pagefind/fragment/en_31aa611.pf_fragment +0 -0
  147. package/dist/pages/docs/pagefind/fragment/en_38817cc.pf_fragment +0 -0
  148. package/dist/pages/docs/pagefind/fragment/en_4184ad1.pf_fragment +0 -0
  149. package/dist/pages/docs/pagefind/fragment/en_41db543.pf_fragment +0 -0
  150. package/dist/pages/docs/pagefind/fragment/en_469f895.pf_fragment +0 -0
  151. package/dist/pages/docs/pagefind/fragment/en_4db923b.pf_fragment +0 -0
  152. package/dist/pages/docs/pagefind/fragment/en_56e45b6.pf_fragment +0 -0
  153. package/dist/pages/docs/pagefind/fragment/en_56fe7ca.pf_fragment +0 -0
  154. package/dist/pages/docs/pagefind/fragment/en_581a7cb.pf_fragment +0 -0
  155. package/dist/pages/docs/pagefind/fragment/en_5be5e44.pf_fragment +0 -0
  156. package/dist/pages/docs/pagefind/fragment/en_603c2be.pf_fragment +0 -0
  157. package/dist/pages/docs/pagefind/fragment/en_66b3118.pf_fragment +0 -0
  158. package/dist/pages/docs/pagefind/fragment/en_6a19c31.pf_fragment +0 -0
  159. package/dist/pages/docs/pagefind/fragment/en_74e9307.pf_fragment +0 -0
  160. package/dist/pages/docs/pagefind/fragment/en_7c9d5a2.pf_fragment +0 -0
  161. package/dist/pages/docs/pagefind/fragment/en_818744b.pf_fragment +0 -0
  162. package/dist/pages/docs/pagefind/fragment/en_8269752.pf_fragment +0 -0
  163. package/dist/pages/docs/pagefind/fragment/en_88b38c1.pf_fragment +0 -0
  164. package/dist/pages/docs/pagefind/fragment/en_8c1c735.pf_fragment +0 -0
  165. package/dist/pages/docs/pagefind/fragment/en_98d9b16.pf_fragment +0 -0
  166. package/dist/pages/docs/pagefind/fragment/en_a3d636e.pf_fragment +0 -0
  167. package/dist/pages/docs/pagefind/fragment/en_b15ecf0.pf_fragment +0 -0
  168. package/dist/pages/docs/pagefind/fragment/en_bcc29c5.pf_fragment +0 -0
  169. package/dist/pages/docs/pagefind/fragment/en_bfb13e9.pf_fragment +0 -0
  170. package/dist/pages/docs/pagefind/fragment/en_d0fca9e.pf_fragment +0 -0
  171. package/dist/pages/docs/pagefind/fragment/en_d49ed00.pf_fragment +0 -0
  172. package/dist/pages/docs/pagefind/fragment/en_e0786b9.pf_fragment +0 -0
  173. package/dist/pages/docs/pagefind/fragment/en_e298dee.pf_fragment +0 -0
  174. package/dist/pages/docs/pagefind/fragment/en_f6179a8.pf_fragment +0 -0
  175. package/dist/pages/docs/pagefind/index/en_f279b04.pf_index +0 -0
  176. package/dist/pages/docs/pagefind/pagefind-component-ui.css +1509 -0
  177. package/dist/pages/docs/pagefind/pagefind-component-ui.js +56 -0
  178. package/dist/pages/docs/pagefind/pagefind-entry.json +1 -0
  179. package/dist/pages/docs/pagefind/pagefind-highlight.js +1070 -0
  180. package/dist/pages/docs/pagefind/pagefind-modular-ui.css +214 -0
  181. package/dist/pages/docs/pagefind/pagefind-modular-ui.js +8 -0
  182. package/dist/pages/docs/pagefind/pagefind-ui.css +1 -0
  183. package/dist/pages/docs/pagefind/pagefind-ui.js +2 -0
  184. package/dist/pages/docs/pagefind/pagefind-worker.js +6 -0
  185. package/dist/pages/docs/pagefind/pagefind.en_74951c3ca7.pf_meta +0 -0
  186. package/dist/pages/docs/pagefind/pagefind.js +6 -0
  187. package/dist/pages/docs/pagefind/wasm.en.pagefind +0 -0
  188. package/dist/pages/docs/pagefind/wasm.unknown.pagefind +0 -0
  189. package/dist/pages/docs/reference/cli/index.html +86 -0
  190. package/dist/pages/docs/reference/interface-guide/index.html +86 -0
  191. package/dist/pages/docs/reference/release-notes/index.html +80 -0
  192. package/dist/pages/docs/reference/settings/index.html +86 -0
  193. package/dist/pages/docs/reference/terminology/index.html +94 -0
  194. package/dist/pages/docs/sitemap-0.xml +1 -0
  195. package/dist/pages/docs/sitemap-index.xml +1 -0
  196. package/dist/pages/docs/start-here/example-projects/index.html +88 -0
  197. package/dist/pages/docs/start-here/first-workspace/index.html +91 -0
  198. package/dist/pages/docs/start-here/installation-first-run/index.html +86 -0
  199. package/dist/pages/docs/start-here/what-is-lineage/index.html +96 -0
  200. package/dist/pages/docs/workflows/back-up-approved-assets/index.html +88 -0
  201. package/dist/pages/docs/workflows/content-batches/index.html +88 -0
  202. package/dist/pages/docs/workflows/continue-new-agent-session/index.html +89 -0
  203. package/dist/pages/docs/workflows/create-grow-lineage/index.html +89 -0
  204. package/dist/pages/docs/workflows/generate-import-variations/index.html +92 -0
  205. package/dist/pages/docs/workflows/restore-earlier-attempt/index.html +87 -0
  206. package/dist/pages/docs/workflows/review-approve-assets/index.html +87 -0
  207. package/dist/pages/index.html +42 -0
  208. package/dist/pages/landing/index.html +42 -0
  209. package/dist/pages/lineage-showcase-cover-16x9.png +0 -0
  210. package/dist/runtime-build.json +5 -5
  211. package/dist/server.js +73 -24
  212. package/dist/server.js.map +4 -4
  213. package/dist/web/assets/app-DdU93vp2.js +50 -0
  214. package/dist/web/assets/landing-MwOFmHoi.js +2 -0
  215. package/dist/web/index.html +3 -3
  216. package/dist/web/landing/index.html +26 -3
  217. package/dist/web/lineage-showcase-cover-16x9.png +0 -0
  218. package/package.json +10 -2
  219. package/dist/web/assets/landing-DIjBBL33.js +0 -2
@@ -0,0 +1,89 @@
1
+ <!DOCTYPE html><html lang="en" dir="ltr" data-theme="dark" data-has-toc data-has-sidebar class="astro-kewpbc5u"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Social scheduling | Lineage Documentation</title><link rel="canonical" href="https://mean-weasel.github.io/lineage/docs/integrations/social-scheduling/"/><link rel="sitemap" href="/lineage/docs/sitemap-index.xml"/><link rel="shortcut icon" href="/lineage/docs/favicon.svg" type="image/svg+xml"/><meta name="generator" content="Astro v7.1.3"/><meta name="generator" content="Starlight v0.41.4"/><meta property="og:title" content="Social scheduling"/><meta property="og:type" content="article"/><meta property="og:url" content="https://mean-weasel.github.io/lineage/docs/integrations/social-scheduling/"/><meta property="og:locale" content="en"/><meta property="og:description" content="Prepare and validate reviewed social posts for Buffer without publishing them live."/><meta property="og:site_name" content="Lineage Documentation"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Prepare and validate reviewed social posts for Buffer without publishing them live."/><script>
2
+ window.StarlightThemeProvider = (() => {
3
+ const storedTheme =
4
+ typeof localStorage !== 'undefined' && localStorage.getItem('starlight-theme');
5
+ const theme =
6
+ storedTheme ||
7
+ (window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark');
8
+ document.documentElement.dataset.theme = theme === 'light' ? 'light' : 'dark';
9
+ return {
10
+ updatePickers(theme = storedTheme || 'auto') {
11
+ document.querySelectorAll('starlight-theme-select').forEach((picker) => {
12
+ const select = picker.querySelector('select');
13
+ if (select) select.value = theme;
14
+ /** @type {HTMLTemplateElement | null} */
15
+ const tmpl = document.querySelector(`#theme-icons`);
16
+ const newIcon = tmpl && tmpl.content.querySelector('.' + theme);
17
+ if (newIcon) {
18
+ const oldIcon = picker.querySelector('svg.label-icon');
19
+ if (oldIcon) {
20
+ oldIcon.replaceChildren(...newIcon.cloneNode(true).childNodes);
21
+ }
22
+ }
23
+ });
24
+ },
25
+ };
26
+ })();
27
+ </script><template id="theme-icons"><svg aria-hidden="true" class="light astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h1a1 1 0 0 0 1-1Zm.64 5-.71.71a1 1 0 0 0 0 1.41 1 1 0 0 0 1.41 0l.71-.71A1 1 0 0 0 5.64 17ZM12 5a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1a1 1 0 0 0 1 1Zm5.66 2.34a1 1 0 0 0 .7-.29l.71-.71a1 1 0 1 0-1.41-1.41l-.66.71a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.29Zm-12-.29a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.71-.71a1.004 1.004 0 1 0-1.43 1.41l.73.71ZM21 11h-1a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2Zm-2.64 6A1 1 0 0 0 17 18.36l.71.71a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.76-.66ZM12 6.5a5.5 5.5 0 1 0 5.5 5.5A5.51 5.51 0 0 0 12 6.5Zm0 9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0 3.5a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1a1 1 0 0 0-1-1Z"/></svg><svg aria-hidden="true" class="dark astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.64 13a1 1 0 0 0-1.05-.14 8.049 8.049 0 0 1-3.37.73 8.15 8.15 0 0 1-8.14-8.1 8.59 8.59 0 0 1 .25-2A1 1 0 0 0 8 2.36a10.14 10.14 0 1 0 14 11.69 1 1 0 0 0-.36-1.05Zm-9.5 6.69A8.14 8.14 0 0 1 7.08 5.22v.27a10.15 10.15 0 0 0 10.14 10.14 9.784 9.784 0 0 0 2.1-.22 8.11 8.11 0 0 1-7.18 4.32v-.04Z"/></svg><svg aria-hidden="true" class="auto astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg></template><link rel="stylesheet" href="/lineage/docs/_astro/print.ehPL0gv-.css" media="print"><link rel="stylesheet" href="/lineage/docs/_astro/common.DarLW4Vf.css"><script type="module" src="/lineage/docs/_astro/page.LAbJoB63.js"></script></head><body class="astro-kewpbc5u"><a class="sl-skip-link astro-meuolk7w" href="#_top">Skip to content</a><div class="page sl-flex astro-gliozamz"><header class="header astro-gliozamz"><div class="header astro-a4sehpm5"><div class="title-wrapper sl-flex astro-a4sehpm5"><a href="/lineage/docs/" class="site-title sl-flex astro-sluuusa2"><span class="astro-sluuusa2" translate="no">Lineage Documentation</span></a></div><div class="sl-flex print:hidden astro-a4sehpm5"><site-search class="astro-a4sehpm5 astro-2rf76tdt" data-translations="{&quot;placeholder&quot;:&quot;Search&quot;}"><button data-open-modal disabled aria-label="Search" aria-keyshortcuts="Control+K" class="astro-2rf76tdt"><svg aria-hidden="true" class="astro-2rf76tdt astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.71 20.29 18 16.61A9 9 0 1 0 16.61 18l3.68 3.68a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.39ZM11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"/></svg><span class="sl-hidden md:sl-block astro-2rf76tdt" aria-hidden="true">Search</span><kbd class="sl-hidden md:sl-flex astro-2rf76tdt" style="display: none;"><kbd class="astro-2rf76tdt">Ctrl</kbd><kbd class="astro-2rf76tdt">K</kbd></kbd></button><dialog style="padding:0" aria-label="Search" class="astro-2rf76tdt"><div class="dialog-frame sl-flex astro-2rf76tdt"><button data-close-modal class="sl-flex md:sl-hidden astro-2rf76tdt">Cancel</button><div class="search-container astro-2rf76tdt"><div id="starlight__search" class="astro-2rf76tdt"></div></div></div></dialog></site-search><script>
28
+ (() => {
29
+ const openBtn = document.querySelector('button[data-open-modal]');
30
+ const shortcut = openBtn?.querySelector('kbd');
31
+ if (!openBtn || !(shortcut instanceof HTMLElement)) return;
32
+ const platformKey = shortcut.querySelector('kbd');
33
+ if (platformKey && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)) {
34
+ platformKey.textContent = '⌘';
35
+ openBtn.setAttribute('aria-keyshortcuts', 'Meta+K');
36
+ }
37
+ shortcut.style.display = '';
38
+ })();
39
+ </script><script type="module" src="/lineage/docs/_astro/Search.astro_astro_type_script_index_0_lang.x2pVooPA.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-a4sehpm5"><div class="sl-flex social-icons astro-a4sehpm5"><a href="https://github.com/mean-weasel/lineage" rel="me" class="sl-flex astro-ecrtf6pm"><span class="sr-only astro-ecrtf6pm">GitHub</span><svg aria-hidden="true" class="astro-ecrtf6pm astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-nwqewnqn"><span class="sr-only astro-nwqewnqn">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-nwqewnqn astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-nwqewnqn"><option value="dark" class="astro-nwqewnqn">Dark</option><option value="light" class="astro-nwqewnqn">Light</option><option value="auto" selected class="astro-nwqewnqn">Auto</option></select><svg aria-hidden="true" class="icon caret astro-nwqewnqn astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
40
+ StarlightThemeProvider.updatePickers();
41
+ </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gliozamz" aria-label="Main"><starlight-menu-button class="print:hidden astro-x3d6slht"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-x3d6slht"><svg aria-hidden="true" class="open-menu astro-x3d6slht astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-x3d6slht astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gliozamz"><div class="sidebar-content sl-flex astro-gliozamz"><sl-sidebar-state-persist data-hash="0zcmsch" class="astro-mkbzz4jt"><script aria-hidden="true">
42
+ (() => {
43
+ try {
44
+ if (!matchMedia('(min-width: 50em)').matches) return;
45
+ /** @type {HTMLElement | null} */
46
+ const target = document.querySelector('sl-sidebar-state-persist');
47
+ const state = JSON.parse(sessionStorage.getItem('sl-sidebar-state') || '0');
48
+ if (!target || !state || target.dataset.hash !== state.hash) return;
49
+ window._starlightScrollRestore = state.scroll;
50
+ customElements.define(
51
+ 'sl-sidebar-restore',
52
+ class SidebarRestore extends HTMLElement {
53
+ connectedCallback() {
54
+ try {
55
+ const idx = parseInt(this.dataset.index || '');
56
+ const details = this.closest('details');
57
+ if (details && typeof state.open[idx] === 'boolean') details.open = state.open[idx];
58
+ } catch {}
59
+ }
60
+ }
61
+ );
62
+ } catch {}
63
+ })();
64
+ </script><ul class="top-level astro-pmfvivgp"><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Start here</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="0"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/start-here/what-is-lineage/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">What is Lineage?</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/start-here/installation-first-run/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Installation and first run</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/start-here/first-workspace/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Create your first workspace</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/start-here/example-projects/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Load the example projects</span></a></li></ul></details></li><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Core concepts</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="1"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/concepts/projects-workspaces-assets/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Projects, workspaces, and assets</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/concepts/branches-vs-rerolls/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Branches versus re-rolls</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/concepts/attempts-current-version/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Attempts and the current version</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/concepts/selections-next-variations/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Selections and next variations</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/concepts/agent-claims-handoffs/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Agent claims and handoffs</span></a></li></ul></details></li><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Workflows</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="2"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/create-grow-lineage/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Create and grow a lineage</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/generate-import-variations/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Generate and import variations</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/review-approve-assets/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Review and approve assets</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/restore-earlier-attempt/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Restore an earlier attempt</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/back-up-approved-assets/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Back up approved assets</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/content-batches/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Work with content batches</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/continue-new-agent-session/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Continue work in a new agent session</span></a></li></ul></details></li><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Integrations</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="3"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/integrations/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Integration overview and maturity</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/integrations/cloud-storage/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Cloud storage</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/integrations/social-scheduling/" aria-current="page" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Social scheduling</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/integrations/image-generation/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Image generation</span></a></li></ul></details></li><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Operating Lineage</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="4"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/operations/local-first-data/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Local-first data and privacy</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/operations/channels/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Stable, preview, and development channels</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/operations/profiles-database-identity/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Profiles and database identity</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/operations/backup-recovery/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Backup and recovery</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/operations/troubleshooting/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Troubleshooting</span></a></li></ul></details></li><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Reference</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="5"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/reference/interface-guide/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Interface guide</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/reference/settings/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Settings reference</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/reference/cli/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">CLI commands</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/reference/terminology/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Terminology</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/reference/release-notes/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Release notes</span></a></li></ul></details></li></ul><script aria-hidden="true">
65
+ (() => {
66
+ const scroller = document.getElementById('starlight__sidebar');
67
+ if (!window._starlightScrollRestore || !scroller) return;
68
+ scroller.scrollTop = window._starlightScrollRestore;
69
+ delete window._starlightScrollRestore;
70
+ })();
71
+ </script></sl-sidebar-state-persist><div class="md:sl-hidden"><div class="mobile-preferences sl-flex astro-iguen2c2"><div class="social-icons astro-iguen2c2"><a href="https://github.com/mean-weasel/lineage" rel="me" class="sl-flex astro-ecrtf6pm"><span class="sr-only astro-ecrtf6pm">GitHub</span><svg aria-hidden="true" class="astro-ecrtf6pm astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-nwqewnqn"><span class="sr-only astro-nwqewnqn">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-nwqewnqn astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-nwqewnqn"><option value="dark" class="astro-nwqewnqn">Dark</option><option value="light" class="astro-nwqewnqn">Light</option><option value="auto" selected class="astro-nwqewnqn">Auto</option></select><svg aria-hidden="true" class="icon caret astro-nwqewnqn astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
72
+ StarlightThemeProvider.updatePickers();
73
+ </script></div></div></div></div></nav><div class="main-frame astro-gliozamz"><script type="module">var e=document.getElementById(`starlight__sidebar`),t=e?.querySelector(`sl-sidebar-state-persist`),n=`sl-sidebar-state`,r=()=>{let r=[],i=t?.dataset.hash||``;try{let e=sessionStorage.getItem(n),t=JSON.parse(e||`{}`);Array.isArray(t.open)&&t.hash===i&&(r=t.open)}catch{}return{hash:i,open:r,scroll:e?.scrollTop||0}},i=e=>{try{sessionStorage.setItem(n,JSON.stringify(e))}catch{}},a=()=>i(r()),o=(e,t)=>{let n=r();n.open[t]=e,i(n)};t?.addEventListener(`click`,e=>{if(!(e.target instanceof Element))return;let t=e.target.closest(`summary`)?.closest(`details`);if(!t)return;let n=t.querySelector(`sl-sidebar-restore`),r=parseInt(n?.dataset.index||``);isNaN(r)||o(!t.open,r)}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&a()});</script><div class="lg:sl-flex astro-zytntmjz"><aside class="right-sidebar-container print:hidden astro-zytntmjz"><div class="right-sidebar astro-zytntmjz"><div class="lg:sl-hidden astro-taqbctct"><mobile-starlight-toc data-min-h="2" data-max-h="3" class="astro-3qatgygh"><nav aria-labelledby="starlight__on-this-page--mobile" class="astro-3qatgygh"><details id="starlight__mobile-toc" class="astro-3qatgygh"><summary id="starlight__on-this-page--mobile" class="sl-flex astro-3qatgygh"><span class="toggle sl-flex astro-3qatgygh">On this page<svg aria-hidden="true" class="caret astro-3qatgygh astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></span><span class="display-current astro-3qatgygh"></span></summary><div class="dropdown astro-3qatgygh"><ul class="isMobile astro-evf2ngtx" style="--depth: 0;"><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#_top" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">Overview</span></a></li><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#what-this-does" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">What this does</span></a></li><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#step-by-step-workflow" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">Step-by-step workflow</span></a></li><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#limitations-and-safety-behavior" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">Limitations and safety behavior</span></a></li></ul></div></details></nav></mobile-starlight-toc><script type="module" src="/lineage/docs/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.BcSo_yiZ.js"></script></div><div class="right-sidebar-panel sl-hidden lg:sl-block astro-taqbctct"><div class="sl-container astro-taqbctct"><starlight-toc data-min-h="2" data-max-h="3"><nav aria-labelledby="starlight__on-this-page"><h2 id="starlight__on-this-page">On this page</h2><ul class="astro-evf2ngtx" style="--depth: 0;"><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#_top" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">Overview</span></a></li><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#what-this-does" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">What this does</span></a></li><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#step-by-step-workflow" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">Step-by-step workflow</span></a></li><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#limitations-and-safety-behavior" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">Limitations and safety behavior</span></a></li></ul></nav></starlight-toc><script type="module" src="/lineage/docs/_astro/TableOfContents.astro_astro_type_script_index_0_lang.Csloo1VZ.js"></script></div></div></div></aside><div class="main-pane astro-zytntmjz"><main data-pagefind-body class="astro-kewpbc5u" lang="en" dir="ltr"><div class="content-panel astro-kjcc4ior"><div class="sl-container astro-kjcc4ior"><h1 id="_top" class="astro-qqx2gqcc">Social scheduling</h1></div></div><div class="content-panel astro-kjcc4ior"><div class="sl-container astro-kjcc4ior"><div class="sl-markdown-content"><div class="sl-heading-wrapper level-h2"><h2 id="what-this-does">What this does</h2><a class="sl-anchor-link" href="#what-this-does"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 1 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 0 0-1.42-1.42m8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 1 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3.88-3.89a4.49 4.49 0 0 0 0-6.33M8.83 15.17a1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.92-4.92a1 1 0 1 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42"></path></svg></span><span class="sr-only" data-pagefind-ignore>Section titled “What this does”</span></a></div>
74
+ <p>Social scheduling converts a reviewed Lineage content post into a Buffer-shaped
75
+ payload and validates the dry-run command.</p>
76
+ <div class="sl-heading-wrapper level-h2"><h2 id="step-by-step-workflow">Step-by-step workflow</h2><a class="sl-anchor-link" href="#step-by-step-workflow"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 1 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 0 0-1.42-1.42m8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 1 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3.88-3.89a4.49 4.49 0 0 0 0-6.33M8.83 15.17a1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.92-4.92a1 1 0 1 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42"></path></svg></span><span class="sr-only" data-pagefind-ignore>Section titled “Step-by-step workflow”</span></a></div>
77
+ <ol>
78
+ <li>Review the post text, call to action, media, and target.</li>
79
+ <li>Provide an explicit Buffer channel identifier.</li>
80
+ <li>Generate the payload under the local scratch directory.</li>
81
+ <li>Run the Buffer command with <code dir="auto">--dry-run</code>.</li>
82
+ <li>Inspect the returned payload and command receipt.</li>
83
+ <li>Record external scheduling or posting state only after it happens elsewhere.</li>
84
+ </ol>
85
+ <div class="sl-heading-wrapper level-h2"><h2 id="limitations-and-safety-behavior">Limitations and safety behavior</h2><a class="sl-anchor-link" href="#limitations-and-safety-behavior"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 1 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 0 0-1.42-1.42m8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 1 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3.88-3.89a4.49 4.49 0 0 0 0-6.33M8.83 15.17a1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.92-4.92a1 1 0 1 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42"></path></svg></span><span class="sr-only" data-pagefind-ignore>Section titled “Limitations and safety behavior”</span></a></div>
86
+ <p>Live Buffer posting is intentionally disabled. Enabling the setting or
87
+ detecting credentials does not change that boundary. The adapter throws if a
88
+ caller attempts the live-posting path.</p>
89
+ </div><footer class="sl-flex astro-s7s6jy2o"><div class="meta sl-flex astro-s7s6jy2o"><a href="https://github.com/mean-weasel/lineage/edit/main/docs-site/src/content/docs/integrations/social-scheduling.md" class="sl-flex print:hidden astro-xkimho4o"><svg aria-hidden="true" class="astro-xkimho4o astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.2em;"><path d="M22 7.24a1 1 0 0 0-.29-.71l-4.24-4.24a1 1 0 0 0-1.1-.22 1 1 0 0 0-.32.22l-2.83 2.83L2.29 16.05a1 1 0 0 0-.29.71V21a1 1 0 0 0 1 1h4.24a1 1 0 0 0 .76-.29l10.87-10.93L21.71 8c.1-.1.17-.2.22-.33a1 1 0 0 0 0-.24v-.14l.07-.05ZM6.83 20H4v-2.83l9.93-9.93 2.83 2.83L6.83 20ZM18.17 8.66l-2.83-2.83 1.42-1.41 2.82 2.82-1.41 1.42Z"/></svg>Edit page</a><p>Last updated: <time datetime="2026-07-25T12:45:14.000Z">Jul 25, 2026</time></p></div><div class="pagination-links print:hidden astro-acaqesae" dir="ltr"><a href="/lineage/docs/integrations/cloud-storage/" rel="prev" class="astro-acaqesae"><svg aria-hidden="true" class="astro-acaqesae astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17 11H9.41l3.3-3.29a1.004 1.004 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33 1 1 0 0 0 0 .76 1 1 0 0 0 .21.33l5 5a1.002 1.002 0 0 0 1.639-.325 1 1 0 0 0-.219-1.095L9.41 13H17a1 1 0 0 0 0-2Z"/></svg><span class="astro-acaqesae">Previous<br class="astro-acaqesae"><span class="link-title astro-acaqesae">Cloud storage</span></span></a><a href="/lineage/docs/integrations/image-generation/" rel="next" class="astro-acaqesae"><svg aria-hidden="true" class="astro-acaqesae astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z"/></svg><span class="astro-acaqesae">Next<br class="astro-acaqesae"><span class="link-title astro-acaqesae">Image generation</span></span></a></div></footer></div></div></main></div></div></div></div></body></html>
@@ -0,0 +1,87 @@
1
+ <!DOCTYPE html><html lang="en" dir="ltr" data-theme="dark" data-has-toc data-has-sidebar class="astro-kewpbc5u"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Backup and recovery | Lineage Documentation</title><link rel="canonical" href="https://mean-weasel.github.io/lineage/docs/operations/backup-recovery/"/><link rel="sitemap" href="/lineage/docs/sitemap-index.xml"/><link rel="shortcut icon" href="/lineage/docs/favicon.svg" type="image/svg+xml"/><meta name="generator" content="Astro v7.1.3"/><meta name="generator" content="Starlight v0.41.4"/><meta property="og:title" content="Backup and recovery"/><meta property="og:type" content="article"/><meta property="og:url" content="https://mean-weasel.github.io/lineage/docs/operations/backup-recovery/"/><meta property="og:locale" content="en"/><meta property="og:description" content="Create consistent profile-aware database snapshots and recover without reusing live identities."/><meta property="og:site_name" content="Lineage Documentation"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Create consistent profile-aware database snapshots and recover without reusing live identities."/><script>
2
+ window.StarlightThemeProvider = (() => {
3
+ const storedTheme =
4
+ typeof localStorage !== 'undefined' && localStorage.getItem('starlight-theme');
5
+ const theme =
6
+ storedTheme ||
7
+ (window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark');
8
+ document.documentElement.dataset.theme = theme === 'light' ? 'light' : 'dark';
9
+ return {
10
+ updatePickers(theme = storedTheme || 'auto') {
11
+ document.querySelectorAll('starlight-theme-select').forEach((picker) => {
12
+ const select = picker.querySelector('select');
13
+ if (select) select.value = theme;
14
+ /** @type {HTMLTemplateElement | null} */
15
+ const tmpl = document.querySelector(`#theme-icons`);
16
+ const newIcon = tmpl && tmpl.content.querySelector('.' + theme);
17
+ if (newIcon) {
18
+ const oldIcon = picker.querySelector('svg.label-icon');
19
+ if (oldIcon) {
20
+ oldIcon.replaceChildren(...newIcon.cloneNode(true).childNodes);
21
+ }
22
+ }
23
+ });
24
+ },
25
+ };
26
+ })();
27
+ </script><template id="theme-icons"><svg aria-hidden="true" class="light astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h1a1 1 0 0 0 1-1Zm.64 5-.71.71a1 1 0 0 0 0 1.41 1 1 0 0 0 1.41 0l.71-.71A1 1 0 0 0 5.64 17ZM12 5a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1a1 1 0 0 0 1 1Zm5.66 2.34a1 1 0 0 0 .7-.29l.71-.71a1 1 0 1 0-1.41-1.41l-.66.71a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.29Zm-12-.29a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.71-.71a1.004 1.004 0 1 0-1.43 1.41l.73.71ZM21 11h-1a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2Zm-2.64 6A1 1 0 0 0 17 18.36l.71.71a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.76-.66ZM12 6.5a5.5 5.5 0 1 0 5.5 5.5A5.51 5.51 0 0 0 12 6.5Zm0 9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0 3.5a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1a1 1 0 0 0-1-1Z"/></svg><svg aria-hidden="true" class="dark astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.64 13a1 1 0 0 0-1.05-.14 8.049 8.049 0 0 1-3.37.73 8.15 8.15 0 0 1-8.14-8.1 8.59 8.59 0 0 1 .25-2A1 1 0 0 0 8 2.36a10.14 10.14 0 1 0 14 11.69 1 1 0 0 0-.36-1.05Zm-9.5 6.69A8.14 8.14 0 0 1 7.08 5.22v.27a10.15 10.15 0 0 0 10.14 10.14 9.784 9.784 0 0 0 2.1-.22 8.11 8.11 0 0 1-7.18 4.32v-.04Z"/></svg><svg aria-hidden="true" class="auto astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg></template><link rel="stylesheet" href="/lineage/docs/_astro/print.ehPL0gv-.css" media="print"><link rel="stylesheet" href="/lineage/docs/_astro/common.DarLW4Vf.css"><script type="module" src="/lineage/docs/_astro/page.LAbJoB63.js"></script></head><body class="astro-kewpbc5u"><a class="sl-skip-link astro-meuolk7w" href="#_top">Skip to content</a><div class="page sl-flex astro-gliozamz"><header class="header astro-gliozamz"><div class="header astro-a4sehpm5"><div class="title-wrapper sl-flex astro-a4sehpm5"><a href="/lineage/docs/" class="site-title sl-flex astro-sluuusa2"><span class="astro-sluuusa2" translate="no">Lineage Documentation</span></a></div><div class="sl-flex print:hidden astro-a4sehpm5"><site-search class="astro-a4sehpm5 astro-2rf76tdt" data-translations="{&quot;placeholder&quot;:&quot;Search&quot;}"><button data-open-modal disabled aria-label="Search" aria-keyshortcuts="Control+K" class="astro-2rf76tdt"><svg aria-hidden="true" class="astro-2rf76tdt astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.71 20.29 18 16.61A9 9 0 1 0 16.61 18l3.68 3.68a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.39ZM11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"/></svg><span class="sl-hidden md:sl-block astro-2rf76tdt" aria-hidden="true">Search</span><kbd class="sl-hidden md:sl-flex astro-2rf76tdt" style="display: none;"><kbd class="astro-2rf76tdt">Ctrl</kbd><kbd class="astro-2rf76tdt">K</kbd></kbd></button><dialog style="padding:0" aria-label="Search" class="astro-2rf76tdt"><div class="dialog-frame sl-flex astro-2rf76tdt"><button data-close-modal class="sl-flex md:sl-hidden astro-2rf76tdt">Cancel</button><div class="search-container astro-2rf76tdt"><div id="starlight__search" class="astro-2rf76tdt"></div></div></div></dialog></site-search><script>
28
+ (() => {
29
+ const openBtn = document.querySelector('button[data-open-modal]');
30
+ const shortcut = openBtn?.querySelector('kbd');
31
+ if (!openBtn || !(shortcut instanceof HTMLElement)) return;
32
+ const platformKey = shortcut.querySelector('kbd');
33
+ if (platformKey && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)) {
34
+ platformKey.textContent = '⌘';
35
+ openBtn.setAttribute('aria-keyshortcuts', 'Meta+K');
36
+ }
37
+ shortcut.style.display = '';
38
+ })();
39
+ </script><script type="module" src="/lineage/docs/_astro/Search.astro_astro_type_script_index_0_lang.x2pVooPA.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-a4sehpm5"><div class="sl-flex social-icons astro-a4sehpm5"><a href="https://github.com/mean-weasel/lineage" rel="me" class="sl-flex astro-ecrtf6pm"><span class="sr-only astro-ecrtf6pm">GitHub</span><svg aria-hidden="true" class="astro-ecrtf6pm astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-nwqewnqn"><span class="sr-only astro-nwqewnqn">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-nwqewnqn astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-nwqewnqn"><option value="dark" class="astro-nwqewnqn">Dark</option><option value="light" class="astro-nwqewnqn">Light</option><option value="auto" selected class="astro-nwqewnqn">Auto</option></select><svg aria-hidden="true" class="icon caret astro-nwqewnqn astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
40
+ StarlightThemeProvider.updatePickers();
41
+ </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gliozamz" aria-label="Main"><starlight-menu-button class="print:hidden astro-x3d6slht"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-x3d6slht"><svg aria-hidden="true" class="open-menu astro-x3d6slht astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-x3d6slht astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gliozamz"><div class="sidebar-content sl-flex astro-gliozamz"><sl-sidebar-state-persist data-hash="0zcmsch" class="astro-mkbzz4jt"><script aria-hidden="true">
42
+ (() => {
43
+ try {
44
+ if (!matchMedia('(min-width: 50em)').matches) return;
45
+ /** @type {HTMLElement | null} */
46
+ const target = document.querySelector('sl-sidebar-state-persist');
47
+ const state = JSON.parse(sessionStorage.getItem('sl-sidebar-state') || '0');
48
+ if (!target || !state || target.dataset.hash !== state.hash) return;
49
+ window._starlightScrollRestore = state.scroll;
50
+ customElements.define(
51
+ 'sl-sidebar-restore',
52
+ class SidebarRestore extends HTMLElement {
53
+ connectedCallback() {
54
+ try {
55
+ const idx = parseInt(this.dataset.index || '');
56
+ const details = this.closest('details');
57
+ if (details && typeof state.open[idx] === 'boolean') details.open = state.open[idx];
58
+ } catch {}
59
+ }
60
+ }
61
+ );
62
+ } catch {}
63
+ })();
64
+ </script><ul class="top-level astro-pmfvivgp"><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Start here</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="0"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/start-here/what-is-lineage/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">What is Lineage?</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/start-here/installation-first-run/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Installation and first run</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/start-here/first-workspace/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Create your first workspace</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/start-here/example-projects/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Load the example projects</span></a></li></ul></details></li><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Core concepts</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="1"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/concepts/projects-workspaces-assets/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Projects, workspaces, and assets</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/concepts/branches-vs-rerolls/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Branches versus re-rolls</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/concepts/attempts-current-version/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Attempts and the current version</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/concepts/selections-next-variations/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Selections and next variations</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/concepts/agent-claims-handoffs/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Agent claims and handoffs</span></a></li></ul></details></li><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Workflows</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="2"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/create-grow-lineage/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Create and grow a lineage</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/generate-import-variations/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Generate and import variations</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/review-approve-assets/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Review and approve assets</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/restore-earlier-attempt/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Restore an earlier attempt</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/back-up-approved-assets/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Back up approved assets</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/content-batches/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Work with content batches</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/continue-new-agent-session/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Continue work in a new agent session</span></a></li></ul></details></li><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Integrations</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="3"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/integrations/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Integration overview and maturity</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/integrations/cloud-storage/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Cloud storage</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/integrations/social-scheduling/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Social scheduling</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/integrations/image-generation/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Image generation</span></a></li></ul></details></li><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Operating Lineage</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="4"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/operations/local-first-data/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Local-first data and privacy</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/operations/channels/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Stable, preview, and development channels</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/operations/profiles-database-identity/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Profiles and database identity</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/operations/backup-recovery/" aria-current="page" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Backup and recovery</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/operations/troubleshooting/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Troubleshooting</span></a></li></ul></details></li><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Reference</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="5"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/reference/interface-guide/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Interface guide</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/reference/settings/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Settings reference</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/reference/cli/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">CLI commands</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/reference/terminology/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Terminology</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/reference/release-notes/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Release notes</span></a></li></ul></details></li></ul><script aria-hidden="true">
65
+ (() => {
66
+ const scroller = document.getElementById('starlight__sidebar');
67
+ if (!window._starlightScrollRestore || !scroller) return;
68
+ scroller.scrollTop = window._starlightScrollRestore;
69
+ delete window._starlightScrollRestore;
70
+ })();
71
+ </script></sl-sidebar-state-persist><div class="md:sl-hidden"><div class="mobile-preferences sl-flex astro-iguen2c2"><div class="social-icons astro-iguen2c2"><a href="https://github.com/mean-weasel/lineage" rel="me" class="sl-flex astro-ecrtf6pm"><span class="sr-only astro-ecrtf6pm">GitHub</span><svg aria-hidden="true" class="astro-ecrtf6pm astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-nwqewnqn"><span class="sr-only astro-nwqewnqn">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-nwqewnqn astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-nwqewnqn"><option value="dark" class="astro-nwqewnqn">Dark</option><option value="light" class="astro-nwqewnqn">Light</option><option value="auto" selected class="astro-nwqewnqn">Auto</option></select><svg aria-hidden="true" class="icon caret astro-nwqewnqn astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
72
+ StarlightThemeProvider.updatePickers();
73
+ </script></div></div></div></div></nav><div class="main-frame astro-gliozamz"><script type="module">var e=document.getElementById(`starlight__sidebar`),t=e?.querySelector(`sl-sidebar-state-persist`),n=`sl-sidebar-state`,r=()=>{let r=[],i=t?.dataset.hash||``;try{let e=sessionStorage.getItem(n),t=JSON.parse(e||`{}`);Array.isArray(t.open)&&t.hash===i&&(r=t.open)}catch{}return{hash:i,open:r,scroll:e?.scrollTop||0}},i=e=>{try{sessionStorage.setItem(n,JSON.stringify(e))}catch{}},a=()=>i(r()),o=(e,t)=>{let n=r();n.open[t]=e,i(n)};t?.addEventListener(`click`,e=>{if(!(e.target instanceof Element))return;let t=e.target.closest(`summary`)?.closest(`details`);if(!t)return;let n=t.querySelector(`sl-sidebar-restore`),r=parseInt(n?.dataset.index||``);isNaN(r)||o(!t.open,r)}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&a()});</script><div class="lg:sl-flex astro-zytntmjz"><aside class="right-sidebar-container print:hidden astro-zytntmjz"><div class="right-sidebar astro-zytntmjz"><div class="lg:sl-hidden astro-taqbctct"><mobile-starlight-toc data-min-h="2" data-max-h="3" class="astro-3qatgygh"><nav aria-labelledby="starlight__on-this-page--mobile" class="astro-3qatgygh"><details id="starlight__mobile-toc" class="astro-3qatgygh"><summary id="starlight__on-this-page--mobile" class="sl-flex astro-3qatgygh"><span class="toggle sl-flex astro-3qatgygh">On this page<svg aria-hidden="true" class="caret astro-3qatgygh astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></span><span class="display-current astro-3qatgygh"></span></summary><div class="dropdown astro-3qatgygh"><ul class="isMobile astro-evf2ngtx" style="--depth: 0;"><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#_top" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">Overview</span></a></li><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#what-this-does" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">What this does</span></a></li><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#safe-workflow" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">Safe workflow</span></a></li></ul></div></details></nav></mobile-starlight-toc><script type="module" src="/lineage/docs/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.BcSo_yiZ.js"></script></div><div class="right-sidebar-panel sl-hidden lg:sl-block astro-taqbctct"><div class="sl-container astro-taqbctct"><starlight-toc data-min-h="2" data-max-h="3"><nav aria-labelledby="starlight__on-this-page"><h2 id="starlight__on-this-page">On this page</h2><ul class="astro-evf2ngtx" style="--depth: 0;"><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#_top" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">Overview</span></a></li><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#what-this-does" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">What this does</span></a></li><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#safe-workflow" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">Safe workflow</span></a></li></ul></nav></starlight-toc><script type="module" src="/lineage/docs/_astro/TableOfContents.astro_astro_type_script_index_0_lang.Csloo1VZ.js"></script></div></div></div></aside><div class="main-pane astro-zytntmjz"><main data-pagefind-body class="astro-kewpbc5u" lang="en" dir="ltr"><div class="content-panel astro-kjcc4ior"><div class="sl-container astro-kjcc4ior"><h1 id="_top" class="astro-qqx2gqcc">Backup and recovery</h1></div></div><div class="content-panel astro-kjcc4ior"><div class="sl-container astro-kjcc4ior"><div class="sl-markdown-content"><div class="sl-heading-wrapper level-h2"><h2 id="what-this-does">What this does</h2><a class="sl-anchor-link" href="#what-this-does"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 1 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 0 0-1.42-1.42m8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 1 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3.88-3.89a4.49 4.49 0 0 0 0-6.33M8.83 15.17a1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.92-4.92a1 1 0 1 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42"></path></svg></span><span class="sr-only" data-pagefind-ignore>Section titled “What this does”</span></a></div>
74
+ <p>Backup protects the local database and approved media while preserving identity
75
+ rules. Recovery creates a deliberate target profile rather than silently
76
+ pointing new code at an old live database.</p>
77
+ <div class="sl-heading-wrapper level-h2"><h2 id="safe-workflow">Safe workflow</h2><a class="sl-anchor-link" href="#safe-workflow"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 1 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 0 0-1.42-1.42m8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 1 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3.88-3.89a4.49 4.49 0 0 0 0-6.33M8.83 15.17a1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.92-4.92a1 1 0 1 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42"></path></svg></span><span class="sr-only" data-pagefind-ignore>Section titled “Safe workflow”</span></a></div>
78
+ <ol>
79
+ <li>Verify the source runtime and profile.</li>
80
+ <li>Use <code dir="auto">profile clone --source-db &lt;source&gt; --target-profile &lt;target&gt; --confirm-write</code> so SQLite creates a consistent snapshot.</li>
81
+ <li>Clone assets separately when required.</li>
82
+ <li>Run the target profile’s full identity gate.</li>
83
+ <li>Start the target service only after exact readiness.</li>
84
+ </ol>
85
+ <p>Do not copy a live SQLite database with a raw filesystem command. A stable
86
+ database may be a read-only clone source for a new non-production profile.</p>
87
+ </div><footer class="sl-flex astro-s7s6jy2o"><div class="meta sl-flex astro-s7s6jy2o"><a href="https://github.com/mean-weasel/lineage/edit/main/docs-site/src/content/docs/operations/backup-recovery.md" class="sl-flex print:hidden astro-xkimho4o"><svg aria-hidden="true" class="astro-xkimho4o astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.2em;"><path d="M22 7.24a1 1 0 0 0-.29-.71l-4.24-4.24a1 1 0 0 0-1.1-.22 1 1 0 0 0-.32.22l-2.83 2.83L2.29 16.05a1 1 0 0 0-.29.71V21a1 1 0 0 0 1 1h4.24a1 1 0 0 0 .76-.29l10.87-10.93L21.71 8c.1-.1.17-.2.22-.33a1 1 0 0 0 0-.24v-.14l.07-.05ZM6.83 20H4v-2.83l9.93-9.93 2.83 2.83L6.83 20ZM18.17 8.66l-2.83-2.83 1.42-1.41 2.82 2.82-1.41 1.42Z"/></svg>Edit page</a><p>Last updated: <time datetime="2026-07-25T12:45:14.000Z">Jul 25, 2026</time></p></div><div class="pagination-links print:hidden astro-acaqesae" dir="ltr"><a href="/lineage/docs/operations/profiles-database-identity/" rel="prev" class="astro-acaqesae"><svg aria-hidden="true" class="astro-acaqesae astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17 11H9.41l3.3-3.29a1.004 1.004 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33 1 1 0 0 0 0 .76 1 1 0 0 0 .21.33l5 5a1.002 1.002 0 0 0 1.639-.325 1 1 0 0 0-.219-1.095L9.41 13H17a1 1 0 0 0 0-2Z"/></svg><span class="astro-acaqesae">Previous<br class="astro-acaqesae"><span class="link-title astro-acaqesae">Profiles and database identity</span></span></a><a href="/lineage/docs/operations/troubleshooting/" rel="next" class="astro-acaqesae"><svg aria-hidden="true" class="astro-acaqesae astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z"/></svg><span class="astro-acaqesae">Next<br class="astro-acaqesae"><span class="link-title astro-acaqesae">Troubleshooting</span></span></a></div></footer></div></div></main></div></div></div></div></body></html>
@@ -0,0 +1,88 @@
1
+ <!DOCTYPE html><html lang="en" dir="ltr" data-theme="dark" data-has-toc data-has-sidebar class="astro-kewpbc5u"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Stable, preview, and development channels | Lineage Documentation</title><link rel="canonical" href="https://mean-weasel.github.io/lineage/docs/operations/channels/"/><link rel="sitemap" href="/lineage/docs/sitemap-index.xml"/><link rel="shortcut icon" href="/lineage/docs/favicon.svg" type="image/svg+xml"/><meta name="generator" content="Astro v7.1.3"/><meta name="generator" content="Starlight v0.41.4"/><meta property="og:title" content="Stable, preview, and development channels"/><meta property="og:type" content="article"/><meta property="og:url" content="https://mean-weasel.github.io/lineage/docs/operations/channels/"/><meta property="og:locale" content="en"/><meta property="og:description" content="Keep released, prerelease, and checkout code in separate verified runtime roots."/><meta property="og:site_name" content="Lineage Documentation"/><meta name="twitter:card" content="summary_large_image"/><meta name="description" content="Keep released, prerelease, and checkout code in separate verified runtime roots."/><script>
2
+ window.StarlightThemeProvider = (() => {
3
+ const storedTheme =
4
+ typeof localStorage !== 'undefined' && localStorage.getItem('starlight-theme');
5
+ const theme =
6
+ storedTheme ||
7
+ (window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark');
8
+ document.documentElement.dataset.theme = theme === 'light' ? 'light' : 'dark';
9
+ return {
10
+ updatePickers(theme = storedTheme || 'auto') {
11
+ document.querySelectorAll('starlight-theme-select').forEach((picker) => {
12
+ const select = picker.querySelector('select');
13
+ if (select) select.value = theme;
14
+ /** @type {HTMLTemplateElement | null} */
15
+ const tmpl = document.querySelector(`#theme-icons`);
16
+ const newIcon = tmpl && tmpl.content.querySelector('.' + theme);
17
+ if (newIcon) {
18
+ const oldIcon = picker.querySelector('svg.label-icon');
19
+ if (oldIcon) {
20
+ oldIcon.replaceChildren(...newIcon.cloneNode(true).childNodes);
21
+ }
22
+ }
23
+ });
24
+ },
25
+ };
26
+ })();
27
+ </script><template id="theme-icons"><svg aria-hidden="true" class="light astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M5 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h1a1 1 0 0 0 1-1Zm.64 5-.71.71a1 1 0 0 0 0 1.41 1 1 0 0 0 1.41 0l.71-.71A1 1 0 0 0 5.64 17ZM12 5a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v1a1 1 0 0 0 1 1Zm5.66 2.34a1 1 0 0 0 .7-.29l.71-.71a1 1 0 1 0-1.41-1.41l-.66.71a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.29Zm-12-.29a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.71-.71a1.004 1.004 0 1 0-1.43 1.41l.73.71ZM21 11h-1a1 1 0 0 0 0 2h1a1 1 0 0 0 0-2Zm-2.64 6A1 1 0 0 0 17 18.36l.71.71a1 1 0 0 0 1.41 0 1 1 0 0 0 0-1.41l-.76-.66ZM12 6.5a5.5 5.5 0 1 0 5.5 5.5A5.51 5.51 0 0 0 12 6.5Zm0 9a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Zm0 3.5a1 1 0 0 0-1 1v1a1 1 0 0 0 2 0v-1a1 1 0 0 0-1-1Z"/></svg><svg aria-hidden="true" class="dark astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.64 13a1 1 0 0 0-1.05-.14 8.049 8.049 0 0 1-3.37.73 8.15 8.15 0 0 1-8.14-8.1 8.59 8.59 0 0 1 .25-2A1 1 0 0 0 8 2.36a10.14 10.14 0 1 0 14 11.69 1 1 0 0 0-.36-1.05Zm-9.5 6.69A8.14 8.14 0 0 1 7.08 5.22v.27a10.15 10.15 0 0 0 10.14 10.14 9.784 9.784 0 0 0 2.1-.22 8.11 8.11 0 0 1-7.18 4.32v-.04Z"/></svg><svg aria-hidden="true" class="auto astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg></template><link rel="stylesheet" href="/lineage/docs/_astro/print.ehPL0gv-.css" media="print"><link rel="stylesheet" href="/lineage/docs/_astro/common.DarLW4Vf.css"><script type="module" src="/lineage/docs/_astro/page.LAbJoB63.js"></script></head><body class="astro-kewpbc5u"><a class="sl-skip-link astro-meuolk7w" href="#_top">Skip to content</a><div class="page sl-flex astro-gliozamz"><header class="header astro-gliozamz"><div class="header astro-a4sehpm5"><div class="title-wrapper sl-flex astro-a4sehpm5"><a href="/lineage/docs/" class="site-title sl-flex astro-sluuusa2"><span class="astro-sluuusa2" translate="no">Lineage Documentation</span></a></div><div class="sl-flex print:hidden astro-a4sehpm5"><site-search class="astro-a4sehpm5 astro-2rf76tdt" data-translations="{&quot;placeholder&quot;:&quot;Search&quot;}"><button data-open-modal disabled aria-label="Search" aria-keyshortcuts="Control+K" class="astro-2rf76tdt"><svg aria-hidden="true" class="astro-2rf76tdt astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21.71 20.29 18 16.61A9 9 0 1 0 16.61 18l3.68 3.68a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.39ZM11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14Z"/></svg><span class="sl-hidden md:sl-block astro-2rf76tdt" aria-hidden="true">Search</span><kbd class="sl-hidden md:sl-flex astro-2rf76tdt" style="display: none;"><kbd class="astro-2rf76tdt">Ctrl</kbd><kbd class="astro-2rf76tdt">K</kbd></kbd></button><dialog style="padding:0" aria-label="Search" class="astro-2rf76tdt"><div class="dialog-frame sl-flex astro-2rf76tdt"><button data-close-modal class="sl-flex md:sl-hidden astro-2rf76tdt">Cancel</button><div class="search-container astro-2rf76tdt"><div id="starlight__search" class="astro-2rf76tdt"></div></div></div></dialog></site-search><script>
28
+ (() => {
29
+ const openBtn = document.querySelector('button[data-open-modal]');
30
+ const shortcut = openBtn?.querySelector('kbd');
31
+ if (!openBtn || !(shortcut instanceof HTMLElement)) return;
32
+ const platformKey = shortcut.querySelector('kbd');
33
+ if (platformKey && /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)) {
34
+ platformKey.textContent = '⌘';
35
+ openBtn.setAttribute('aria-keyshortcuts', 'Meta+K');
36
+ }
37
+ shortcut.style.display = '';
38
+ })();
39
+ </script><script type="module" src="/lineage/docs/_astro/Search.astro_astro_type_script_index_0_lang.x2pVooPA.js"></script></div><div class="sl-hidden md:sl-flex print:hidden right-group astro-a4sehpm5"><div class="sl-flex social-icons astro-a4sehpm5"><a href="https://github.com/mean-weasel/lineage" rel="me" class="sl-flex astro-ecrtf6pm"><span class="sr-only astro-ecrtf6pm">GitHub</span><svg aria-hidden="true" class="astro-ecrtf6pm astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-nwqewnqn"><span class="sr-only astro-nwqewnqn">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-nwqewnqn astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-nwqewnqn"><option value="dark" class="astro-nwqewnqn">Dark</option><option value="light" class="astro-nwqewnqn">Light</option><option value="auto" selected class="astro-nwqewnqn">Auto</option></select><svg aria-hidden="true" class="icon caret astro-nwqewnqn astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
40
+ StarlightThemeProvider.updatePickers();
41
+ </script><script type="module">var e=`starlight-theme`,t=e=>e===`auto`||e===`dark`||e===`light`?e:`auto`,n=()=>t(typeof localStorage<`u`&&localStorage.getItem(e));function r(t){typeof localStorage<`u`&&localStorage.setItem(e,t===`light`||t===`dark`?t:``)}var i=()=>matchMedia(`(prefers-color-scheme: light)`).matches?`light`:`dark`;function a(e){StarlightThemeProvider.updatePickers(e),document.documentElement.dataset.theme=e===`auto`?i():e,r(e)}matchMedia(`(prefers-color-scheme: light)`).addEventListener(`change`,()=>{n()===`auto`&&a(`auto`)});var o=class extends HTMLElement{constructor(){super(),a(n()),this.querySelector(`select`)?.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&a(t(e.currentTarget.value))})}};customElements.define(`starlight-theme-select`,o);</script><script type="module">var e=class extends HTMLElement{constructor(){super();let e=this.querySelector(`select`);e&&(e.addEventListener(`change`,e=>{e.currentTarget instanceof HTMLSelectElement&&(window.location.pathname=e.currentTarget.value)}),window.addEventListener(`pageshow`,t=>{if(!t.persisted)return;let n=e.querySelector(`option[selected]`)?.index;n!==e.selectedIndex&&(e.selectedIndex=n??0)}))}};customElements.define(`starlight-lang-select`,e);</script></div></div></header><nav class="sidebar print:hidden astro-gliozamz" aria-label="Main"><starlight-menu-button class="print:hidden astro-x3d6slht"><button aria-expanded="false" aria-label="Menu" aria-controls="starlight__sidebar" class="sl-flex md:sl-hidden astro-x3d6slht"><svg aria-hidden="true" class="open-menu astro-x3d6slht astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M3 8h18a1 1 0 1 0 0-2H3a1 1 0 0 0 0 2Zm18 8H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Zm0-5H3a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2Z"/></svg><svg aria-hidden="true" class="close-menu astro-x3d6slht astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="m13.41 12 6.3-6.29a1.004 1.004 0 1 0-1.42-1.42L12 10.59l-6.29-6.3a1.004 1.004 0 0 0-1.42 1.42l6.3 6.29-6.3 6.29a1 1 0 0 0 0 1.42.998.998 0 0 0 1.42 0l6.29-6.3 6.29 6.3a.999.999 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12Z"/></svg></button></starlight-menu-button><script type="module">var e=class extends HTMLElement{btn=this.querySelector(`button`);constructor(){super(),this.btn.addEventListener(`click`,()=>this.toggleExpanded());let e=this.closest(`nav`);e&&e.addEventListener(`keyup`,e=>this.closeOnEscape(e)),matchMedia(`(min-width: 50em)`).addEventListener(`change`,()=>this.setExpanded(!1))}setExpanded(e){this.setAttribute(`aria-expanded`,String(e)),document.body.toggleAttribute(`data-mobile-menu-expanded`,e),document.querySelectorAll(`.main-frame, .sl-skip-link`).forEach(t=>{t.toggleAttribute(`inert`,e)})}toggleExpanded(){this.setExpanded(this.getAttribute(`aria-expanded`)!==`true`)}closeOnEscape(e){e.code===`Escape`&&(this.setExpanded(!1),this.btn.focus())}};customElements.define(`starlight-menu-button`,e);</script><div id="starlight__sidebar" class="sidebar-pane astro-gliozamz"><div class="sidebar-content sl-flex astro-gliozamz"><sl-sidebar-state-persist data-hash="0zcmsch" class="astro-mkbzz4jt"><script aria-hidden="true">
42
+ (() => {
43
+ try {
44
+ if (!matchMedia('(min-width: 50em)').matches) return;
45
+ /** @type {HTMLElement | null} */
46
+ const target = document.querySelector('sl-sidebar-state-persist');
47
+ const state = JSON.parse(sessionStorage.getItem('sl-sidebar-state') || '0');
48
+ if (!target || !state || target.dataset.hash !== state.hash) return;
49
+ window._starlightScrollRestore = state.scroll;
50
+ customElements.define(
51
+ 'sl-sidebar-restore',
52
+ class SidebarRestore extends HTMLElement {
53
+ connectedCallback() {
54
+ try {
55
+ const idx = parseInt(this.dataset.index || '');
56
+ const details = this.closest('details');
57
+ if (details && typeof state.open[idx] === 'boolean') details.open = state.open[idx];
58
+ } catch {}
59
+ }
60
+ }
61
+ );
62
+ } catch {}
63
+ })();
64
+ </script><ul class="top-level astro-pmfvivgp"><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Start here</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="0"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/start-here/what-is-lineage/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">What is Lineage?</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/start-here/installation-first-run/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Installation and first run</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/start-here/first-workspace/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Create your first workspace</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/start-here/example-projects/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Load the example projects</span></a></li></ul></details></li><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Core concepts</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="1"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/concepts/projects-workspaces-assets/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Projects, workspaces, and assets</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/concepts/branches-vs-rerolls/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Branches versus re-rolls</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/concepts/attempts-current-version/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Attempts and the current version</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/concepts/selections-next-variations/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Selections and next variations</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/concepts/agent-claims-handoffs/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Agent claims and handoffs</span></a></li></ul></details></li><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Workflows</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="2"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/create-grow-lineage/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Create and grow a lineage</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/generate-import-variations/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Generate and import variations</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/review-approve-assets/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Review and approve assets</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/restore-earlier-attempt/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Restore an earlier attempt</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/back-up-approved-assets/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Back up approved assets</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/content-batches/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Work with content batches</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/workflows/continue-new-agent-session/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Continue work in a new agent session</span></a></li></ul></details></li><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Integrations</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="3"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/integrations/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Integration overview and maturity</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/integrations/cloud-storage/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Cloud storage</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/integrations/social-scheduling/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Social scheduling</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/integrations/image-generation/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Image generation</span></a></li></ul></details></li><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Operating Lineage</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="4"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/operations/local-first-data/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Local-first data and privacy</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/operations/channels/" aria-current="page" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Stable, preview, and development channels</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/operations/profiles-database-identity/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Profiles and database identity</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/operations/backup-recovery/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Backup and recovery</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/operations/troubleshooting/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Troubleshooting</span></a></li></ul></details></li><li class="astro-pmfvivgp"><details open class="astro-pmfvivgp"><summary class="astro-pmfvivgp"><span class="group-label astro-pmfvivgp"><span class="large astro-pmfvivgp">Reference</span></span><svg aria-hidden="true" class="caret astro-pmfvivgp astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.25rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></summary><sl-sidebar-restore data-index="5"></sl-sidebar-restore><ul class="astro-pmfvivgp"><li class="astro-pmfvivgp"><a href="/lineage/docs/reference/interface-guide/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Interface guide</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/reference/settings/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Settings reference</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/reference/cli/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">CLI commands</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/reference/terminology/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Terminology</span></a></li><li class="astro-pmfvivgp"><a href="/lineage/docs/reference/release-notes/" class="astro-pmfvivgp"><span class="astro-pmfvivgp">Release notes</span></a></li></ul></details></li></ul><script aria-hidden="true">
65
+ (() => {
66
+ const scroller = document.getElementById('starlight__sidebar');
67
+ if (!window._starlightScrollRestore || !scroller) return;
68
+ scroller.scrollTop = window._starlightScrollRestore;
69
+ delete window._starlightScrollRestore;
70
+ })();
71
+ </script></sl-sidebar-state-persist><div class="md:sl-hidden"><div class="mobile-preferences sl-flex astro-iguen2c2"><div class="social-icons astro-iguen2c2"><a href="https://github.com/mean-weasel/lineage" rel="me" class="sl-flex astro-ecrtf6pm"><span class="sr-only astro-ecrtf6pm">GitHub</span><svg aria-hidden="true" class="astro-ecrtf6pm astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z"/></svg></a></div><starlight-theme-select><label style="--sl-select-width: 6.25em" class="astro-nwqewnqn"><span class="sr-only astro-nwqewnqn">Select theme</span><svg aria-hidden="true" class="icon label-icon astro-nwqewnqn astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M21 14h-1V7a3 3 0 0 0-3-3H7a3 3 0 0 0-3 3v7H3a1 1 0 0 0-1 1v2a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-2a1 1 0 0 0-1-1ZM6 7a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v7H6V7Zm14 10a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-1h16v1Z"/></svg><select autocomplete="off" class="astro-nwqewnqn"><option value="dark" class="astro-nwqewnqn">Dark</option><option value="light" class="astro-nwqewnqn">Light</option><option value="auto" selected class="astro-nwqewnqn">Auto</option></select><svg aria-hidden="true" class="icon caret astro-nwqewnqn astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1em;"><path d="M17 9.17a1 1 0 0 0-1.41 0L12 12.71 8.46 9.17a1 1 0 1 0-1.41 1.42l4.24 4.24a1.002 1.002 0 0 0 1.42 0L17 10.59a1.002 1.002 0 0 0 0-1.42Z"/></svg></label></starlight-theme-select><script>
72
+ StarlightThemeProvider.updatePickers();
73
+ </script></div></div></div></div></nav><div class="main-frame astro-gliozamz"><script type="module">var e=document.getElementById(`starlight__sidebar`),t=e?.querySelector(`sl-sidebar-state-persist`),n=`sl-sidebar-state`,r=()=>{let r=[],i=t?.dataset.hash||``;try{let e=sessionStorage.getItem(n),t=JSON.parse(e||`{}`);Array.isArray(t.open)&&t.hash===i&&(r=t.open)}catch{}return{hash:i,open:r,scroll:e?.scrollTop||0}},i=e=>{try{sessionStorage.setItem(n,JSON.stringify(e))}catch{}},a=()=>i(r()),o=(e,t)=>{let n=r();n.open[t]=e,i(n)};t?.addEventListener(`click`,e=>{if(!(e.target instanceof Element))return;let t=e.target.closest(`summary`)?.closest(`details`);if(!t)return;let n=t.querySelector(`sl-sidebar-restore`),r=parseInt(n?.dataset.index||``);isNaN(r)||o(!t.open,r)}),addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&a()});</script><div class="lg:sl-flex astro-zytntmjz"><aside class="right-sidebar-container print:hidden astro-zytntmjz"><div class="right-sidebar astro-zytntmjz"><div class="lg:sl-hidden astro-taqbctct"><mobile-starlight-toc data-min-h="2" data-max-h="3" class="astro-3qatgygh"><nav aria-labelledby="starlight__on-this-page--mobile" class="astro-3qatgygh"><details id="starlight__mobile-toc" class="astro-3qatgygh"><summary id="starlight__on-this-page--mobile" class="sl-flex astro-3qatgygh"><span class="toggle sl-flex astro-3qatgygh">On this page<svg aria-hidden="true" class="caret astro-3qatgygh astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1rem;"><path d="m14.83 11.29-4.24-4.24a1 1 0 1 0-1.42 1.41L12.71 12l-3.54 3.54a1 1 0 0 0 0 1.41 1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.24-4.24a1.002 1.002 0 0 0 0-1.42Z"/></svg></span><span class="display-current astro-3qatgygh"></span></summary><div class="dropdown astro-3qatgygh"><ul class="isMobile astro-evf2ngtx" style="--depth: 0;"><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#_top" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">Overview</span></a></li><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#channel-model" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">Channel model</span></a></li><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#safety-behavior" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">Safety behavior</span></a></li></ul></div></details></nav></mobile-starlight-toc><script type="module" src="/lineage/docs/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.BcSo_yiZ.js"></script></div><div class="right-sidebar-panel sl-hidden lg:sl-block astro-taqbctct"><div class="sl-container astro-taqbctct"><starlight-toc data-min-h="2" data-max-h="3"><nav aria-labelledby="starlight__on-this-page"><h2 id="starlight__on-this-page">On this page</h2><ul class="astro-evf2ngtx" style="--depth: 0;"><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#_top" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">Overview</span></a></li><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#channel-model" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">Channel model</span></a></li><li style="--depth: 0;" class="astro-evf2ngtx"><a href="#safety-behavior" style="--depth: 0;" class="astro-evf2ngtx"><span style="--depth: 0;" class="astro-evf2ngtx">Safety behavior</span></a></li></ul></nav></starlight-toc><script type="module" src="/lineage/docs/_astro/TableOfContents.astro_astro_type_script_index_0_lang.Csloo1VZ.js"></script></div></div></div></aside><div class="main-pane astro-zytntmjz"><main data-pagefind-body class="astro-kewpbc5u" lang="en" dir="ltr"><div class="content-panel astro-kjcc4ior"><div class="sl-container astro-kjcc4ior"><h1 id="_top" class="astro-qqx2gqcc">Stable, preview, and development channels</h1></div></div><div class="content-panel astro-kjcc4ior"><div class="sl-container astro-kjcc4ior"><div class="sl-markdown-content"><div class="sl-heading-wrapper level-h2"><h2 id="channel-model">Channel model</h2><a class="sl-anchor-link" href="#channel-model"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 1 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 0 0-1.42-1.42m8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 1 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3.88-3.89a4.49 4.49 0 0 0 0-6.33M8.83 15.17a1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.92-4.92a1 1 0 1 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42"></path></svg></span><span class="sr-only" data-pagefind-ignore>Section titled “Channel model”</span></a></div>
74
+ <ul>
75
+ <li><strong>Stable</strong> resolves npm <code dir="auto">latest</code> into an isolated receipt-bound code root and
76
+ runs through <code dir="auto">lineage-stable</code>.</li>
77
+ <li><strong>Preview</strong> resolves npm <code dir="auto">next</code> into a different receipt-bound code root and
78
+ runs through <code dir="auto">lineage-preview</code>.</li>
79
+ <li><strong>Development</strong> runs only from a Git checkout or worktree through
80
+ <code dir="auto">npm run lineage:dev --</code>.</li>
81
+ </ul>
82
+ <div class="sl-heading-wrapper level-h2"><h2 id="safety-behavior">Safety behavior</h2><a class="sl-anchor-link" href="#safety-behavior"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 1 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 0 0-1.42-1.42m8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 1 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3.88-3.89a4.49 4.49 0 0 0 0-6.33M8.83 15.17a1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.92-4.92a1 1 0 1 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42"></path></svg></span><span class="sr-only" data-pagefind-ignore>Section titled “Safety behavior”</span></a></div>
83
+ <p>Do not install stable and preview into the same npm prefix. Do not use
84
+ PATH-resolved <code dir="auto">lineage-dev</code> as proof that checkout code is running. Every
85
+ operational command should begin with runtime doctor and use a profile whose
86
+ expected runtime matches that channel.</p>
87
+ <p>Preview and development code must not write to the stable database.</p>
88
+ </div><footer class="sl-flex astro-s7s6jy2o"><div class="meta sl-flex astro-s7s6jy2o"><a href="https://github.com/mean-weasel/lineage/edit/main/docs-site/src/content/docs/operations/channels.md" class="sl-flex print:hidden astro-xkimho4o"><svg aria-hidden="true" class="astro-xkimho4o astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.2em;"><path d="M22 7.24a1 1 0 0 0-.29-.71l-4.24-4.24a1 1 0 0 0-1.1-.22 1 1 0 0 0-.32.22l-2.83 2.83L2.29 16.05a1 1 0 0 0-.29.71V21a1 1 0 0 0 1 1h4.24a1 1 0 0 0 .76-.29l10.87-10.93L21.71 8c.1-.1.17-.2.22-.33a1 1 0 0 0 0-.24v-.14l.07-.05ZM6.83 20H4v-2.83l9.93-9.93 2.83 2.83L6.83 20ZM18.17 8.66l-2.83-2.83 1.42-1.41 2.82 2.82-1.41 1.42Z"/></svg>Edit page</a><p>Last updated: <time datetime="2026-07-25T12:45:14.000Z">Jul 25, 2026</time></p></div><div class="pagination-links print:hidden astro-acaqesae" dir="ltr"><a href="/lineage/docs/operations/local-first-data/" rel="prev" class="astro-acaqesae"><svg aria-hidden="true" class="astro-acaqesae astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17 11H9.41l3.3-3.29a1.004 1.004 0 1 0-1.42-1.42l-5 5a1 1 0 0 0-.21.33 1 1 0 0 0 0 .76 1 1 0 0 0 .21.33l5 5a1.002 1.002 0 0 0 1.639-.325 1 1 0 0 0-.219-1.095L9.41 13H17a1 1 0 0 0 0-2Z"/></svg><span class="astro-acaqesae">Previous<br class="astro-acaqesae"><span class="link-title astro-acaqesae">Local-first data and privacy</span></span></a><a href="/lineage/docs/operations/profiles-database-identity/" rel="next" class="astro-acaqesae"><svg aria-hidden="true" class="astro-acaqesae astro-t4uoh32v" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" style="--sl-icon-size: 1.5rem;"><path d="M17.92 11.62a1.001 1.001 0 0 0-.21-.33l-5-5a1.003 1.003 0 1 0-1.42 1.42l3.3 3.29H7a1 1 0 0 0 0 2h7.59l-3.3 3.29a1.002 1.002 0 0 0 .325 1.639 1 1 0 0 0 1.095-.219l5-5a1 1 0 0 0 .21-.33 1 1 0 0 0 0-.76Z"/></svg><span class="astro-acaqesae">Next<br class="astro-acaqesae"><span class="link-title astro-acaqesae">Profiles and database identity</span></span></a></div></footer></div></div></main></div></div></div></div></body></html>