Skip to content

/setup-gbrain Step 7 sets wrong config key (gbrain_sync_mode); brain-sync reads artifacts_sync_mode → federation silently never runs #1441

@topcoder1

Description

@topcoder1

Bug

`/setup-gbrain` Step 7 ("Offer gstack-brain-sync + wire it into gbrain") writes:

```bash
~/.claude/skills/gstack/bin/gstack-config set gbrain_sync_mode artifacts-only
```

But `~/.claude/skills/gstack/bin/gstack-brain-sync` reads a different config key — `artifacts_sync_mode` (lines 73, 239, 337). The mismatch means:

  • User goes through `/setup-gbrain`, picks "yes, artifacts-only" at the federation prompt
  • gstack-config stores `gbrain_sync_mode=artifacts-only` ✅
  • `gstack-brain-sync` checks `artifacts_sync_mode` → not set → returns `off`
  • `--once` and preamble auto-syncs silently no-op
  • `--status` shows `mode: off`
  • ~/.gstack/ never gets pushed to the federated GitHub repo
  • Multi-Mac users never see each other's plans/retros/learnings

The federation prompt is acknowledged successfully and gives no error, but the underlying mechanism is dormant.

Repro

```bash
/setup-gbrain # accept federation prompt with "yes, artifacts-only"
~/.claude/skills/gstack/bin/gstack-config get gbrain_sync_mode

→ artifacts-only

~/.claude/skills/gstack/bin/gstack-brain-sync --status

→ {"queue_depth":0,"last_push":"never","mode":"off"}

~/.claude/skills/gstack/bin/gstack-brain-sync --once

silently does nothing — no commit, no push

git -C ~/.gstack log --oneline

→ only the initial gstack-brain-init commit, no sync commits

```

Then:

```bash
~/.claude/skills/gstack/bin/gstack-config set artifacts_sync_mode artifacts-only
~/.claude/skills/gstack/bin/gstack-brain-sync --once

now pushes N file(s) successfully

```

Verified on

  • gstack v1.31.1.0 (current upstream HEAD as of 2026-05-11)
  • gbrain v0.32.0
  • macOS, PGLite engine, single-Mac install with federated GitHub repo target

Suggested fix

In `/setup-gbrain` Step 7, change the config-set line to `artifacts_sync_mode` (the key brain-sync actually reads). Optionally also leave `gbrain_sync_mode` for backward-compat with anything else that might check it. Or rename the read in brain-sync to match the skill's convention. Either way, the two should align.

Impact

Anyone who ran `/setup-gbrain` with the federation option enabled is currently NOT federating. They have a fully-configured ~/.gstack/.git pointing at their brain repo, an MCP-registered gbrain, and a CLAUDE.md note saying "Memory sync: artifacts-only" — but no actual data is leaving their machine. Multi-Mac federation is silently broken until they manually set the right key.

Discovered via diff between `gstack-config get gbrain_sync_mode` (returns artifacts-only) and `gstack-brain-sync --status` (returns mode:off) on a fresh setup.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions