backup: an instance backs up into a synced folder - backup init makes a bare repository under <target>/git its origin, backup run and publish mirror the machine data into <target>/<machine>/, doctor warns about .git in a synced folder (#186); 10.0.0-beta.10
CI / verify (push) Successful in 8m24s
CI / pwsh (push) Successful in 2m45s
Release / release (push) Successful in 34s
Release / wiki-mirror (push) Skipped

Files changed:
- CHANGES.md
- INSTALL.md
- VERSION
- docs/explanation/configuration-tiers.md
- docs/how-to/README.md
- docs/how-to/back-up-to-a-synced-folder.md
- docs/reference/commands/README.md
- docs/reference/commands/git.md
- docs/reference/commands/instance-health.md
- docs/reference/configuration.md
- instructions/publish-cycle.md
- instructions/setup-instance.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/backup.py
- tools/chemenu/cli.py
- tools/chemenu/cli_contract.py
- tools/chemenu/commands/backup_cmd.py
- tools/chemenu/commands/doctor.py
- tools/chemenu/commands/git_publish.py
- tools/chemenu/config_shapes.py
- tools/chemenu/reference_doc.py
- tools/chemenu/tests/conftest.py
- tools/chemenu/tests/test_backup.py
- tools/chemenu/tests/test_config_shapes.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
This commit is contained in:
torbenandClaude Opus 5.5 committed 2026-10-12 19:39:49 +02:00
1 parent e789146116
commit 9736472f48
25 files changed
+2024 -15

No files matched your search

+17
View File
@@ -7,6 +7,16 @@ command that writes them are in [the configuration reference](../reference/confi
the rules an agent follows are in [AGENTS.md § Settings](../../AGENTS.md#settings). This page is
about why it is built this way, and what it does not do.
<!-- wikitool:toc -->
## Contents
- [Three kinds of data that used to share files](#three-kinds-of-data-that-used-to-share-files)
- [One place per value, not an override](#one-place-per-value-not-an-override)
- [What runs, and where it pushes, never travels with a pull](#what-runs-and-where-it-pushes-never-travels-with-a-pull)
- [References instead of values](#references-instead-of-values)
- [What this does not protect against](#what-this-does-not-protect-against)
<!-- /wikitool:toc -->
## Three kinds of data that used to share files
Before the tiers, every feature kept its settings in a gitignored file of its own. Three kinds of
@@ -57,6 +67,13 @@ same value. In CI, `op` runs with a service-account token and resolves the same
references. Alternatively, 1Password's own action resolves values into variables before
`wikitool` starts, which serves references by name. This repository's CI does the second.
A plain private value in `.wikitool-local.json` stays on this machine only as long as that file
does. A backup into a synced folder (the `backup` section) copies the file as it is, because it is
the one record of how this checkout is set up, and a restore without it starts from nothing. That
trade is the operator's, made by writing the section by hand. A reference keeps the value out of
that copy as well, and the secrets file is never in it: it lies outside the instance, and a backup
reads nothing outside it.
A reference is resolved only when a command asks for that one value, never when the files are
read, and the value stays in that process's memory. `doctor` reports whether each reference
resolves, never what it resolves to.