You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cobra-native aliases (no hint): `sessions` → `session`, `cp`/`checkpoints` →
110
-
`checkpoint`. The `search` top-level remains hidden without a hint.
126
+
`checkpoint`. The `search` top-level is experimental (see the visibility gate
127
+
above), so it follows the build-dependent visibility rather than being
128
+
unconditionally hidden.
111
129
112
130
Deprecated top-level commands (functional, print a cobra deprecation message):
113
131
`reset` → `clean`, and `rewind` (no replacement, announces removal — same
@@ -583,7 +601,7 @@ The manual-commit strategy (`manual_commit*.go`) does not modify the active bran
583
601
-**Shadow branch migration** - if user does stash/pull/rebase (HEAD changes without commit), shadow branch is automatically moved to new base commit
584
602
-**Orphaned branch cleanup** - if a shadow branch exists without a corresponding session state file, it is automatically reset when a new session starts
585
603
- PrePush hook can push `entire/checkpoints/v1` branch alongside user pushes
586
-
-**OPF (OpenAI Privacy Filter) runs at pre-push, not post-commit**: when `redaction.openai_privacy_filter.enabled` is true, the PrePush hook re-redacts unpushed `entire/checkpoints/v1` commits with the OPF 8th layer, builds new commits carrying an `Entire-OPF-Applied: true` trailer, and atomically updates the local v1 ref before pushing. Per-commit condensation stays on the fast 7-layer pipeline. See `strategy/manual_commit_opf_rewrite.go` and `docs/security-and-privacy.md` for the full flow, including divergence detection, bootstrap caps, and CAS-on-conflict semantics.
604
+
-**OPF (OpenAI Privacy Filter) runs at pre-push, not post-commit**: when `redaction.openai_privacy_filter.enabled` is true, the PrePush hook re-redacts unpushed `entire/checkpoints/v1` commits with the OPF 9th layer, builds new commits carrying an `Entire-OPF-Applied: true` trailer, and atomically updates the local v1 ref before pushing. Per-commit condensation stays on the fast 8-layer pipeline. See `strategy/manual_commit_opf_rewrite.go` and `docs/security-and-privacy.md` for the full flow, including divergence detection, bootstrap caps, and CAS-on-conflict semantics.
587
605
- Safe to use on main/master since it never modifies commit history
588
606
589
607
#### Key Files
@@ -604,6 +622,7 @@ The phase state machine, metadata directory layout, sharded checkpoint format, m
604
622
605
623
-[Sessions and Checkpoints](docs/architecture/sessions-and-checkpoints.md) - domain model, storage layout, checkpoint ID linking, commit trailers, package structure
606
624
-[Checkpoint Scenarios](docs/architecture/checkpoint-scenarios.md) - phase state machine and worked condensation scenarios
@@ -206,6 +207,44 @@ Entire works seamlessly with [git worktrees](https://git-scm.com/docs/git-worktr
206
207
207
208
Multiple AI sessions can run on the same commit. If you start a second session while another has uncommitted work, Entire warns you and tracks them separately. Both sessions' checkpoints are preserved and can be rewound independently.
208
209
210
+
## Headless & CI Authentication
211
+
212
+
By default `entire login` stores tokens in the OS keyring (macOS Keychain,
213
+
Linux Secret Service, Windows Credential Manager). Machines without a usable
214
+
keyring — headless servers, containers, minimal VMs, CI runners — have two
215
+
supported paths:
216
+
217
+
### Interactive login on a headless machine
218
+
219
+
Use the file-backed token store. The device-auth flow already works without a
220
+
local browser (the CLI prints an approval URL you can open on any machine);
221
+
only token storage needs the override:
222
+
223
+
```bash
224
+
ENTIRE_TOKEN_STORE=file entire login
225
+
```
226
+
227
+
Tokens are written with `0600` permissions to `tokens.json` in your Entire
228
+
config directory (`~/.config/entire` by default). Override the location with
229
+
`ENTIRE_TOKEN_STORE_PATH`. Set `ENTIRE_TOKEN_STORE=file` persistently (e.g. in
230
+
your shell profile) so later commands read from the same store.
0 commit comments