Skip to content

CODEAF_HOME does not hold furrow's snapshot store, so two profiles share one under ~/Library - #1914

Open
ZeroPoint95 wants to merge 1 commit into
devfrom
zeropoint95/1769-codeaf-home-does-not-hold-furrow-s-snaps
Open

ZeroPoint95 wants to merge 1 commit into
devfrom
zeropoint95/1769-codeaf-home-does-not-hold-furrow-s-snaps

Conversation

@ZeroPoint95

Copy link
Copy Markdown
Collaborator

Changes

  • internal/furrow now names FURROW_DATA_DIR=/furrow on every furrow child inside runBinary — the sole spawn seam — only when the environment does not already set it, so two profiles that share a HOME no longer share one snapshot store and deliberate overrides survive.
  • On first start of the new layout, a furrow store an older build left in the platform data root (~/Library/Application Support/dev.furrow.furrow) is moved once into the default profile's furrow/store-v1, with a relative link left at the old path so an older binary still resolves the same store; the help env CODEAF_HOME row now names the store.
  • A new key-gated e2e lane (TestTheFurrowStoreFollowsTheStateRoot) asserts, behind the host guard's throwaway HOME, that a session leaves the snapshot store under CODEAF_HOME/furrow/store-v1 and nothing under the login's data root; a changelog entry records the move.
  • Final change: 7 files, +400/−3.

Closes #1769.

Validation

  • Passed locally: cd . && go test ./internal/home/ -count=1 2>&1 | tail -2; echo "home-exit=${PIPESTATUS[0]}"; go test ./internal/session/ -run Furrow -count=1 2>&1 | tail -2; echo "session-exit=${PIPESTATUS[0]}".
  • Passed locally: cd . && go test -tags e2e -run FurrowStore ./internal/e2e/ -count=1 -v 2>&1 | tail -8; echo "e2e-exit=${PIPESTATUS[0]}".
  • Proof · 8 of 8 claims shown locally. GitHub CI is checked after publishing.
  • ✓ runBinary gives every furrow child FURROW_DATA_DIR under the state root and preserves a caller-set value
  • ✓ adoption moves a legacy platform-root store into the default profile once, idempotently, with the review-added compatibility link
  • ✓ boot calls furrow.Adopt after home.Adopt

by codeaf factory

Factory-Approval: evt_a35762c1 @ZeroPoint95 e003cfe

…are one under ~/Library

Assisted-by: CodeAF
Co-Authored-By: CodeAF <[email protected]>
@ZeroPoint95
ZeroPoint95 marked this pull request as ready for review October 23, 2026 16:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CODEAF_HOME does not hold furrow's snapshot store, so two profiles share one under ~/Library

1 participant