mirror of
https://github.com/garrytan/gstack.git
synced 2026-06-27 20:20:03 +02:00
Merge remote-tracking branch 'origin/main' into garrytan/upgrade-gbrain-gstack
# Conflicts: # bin/gstack-gbrain-sync.ts # lib/gbrain-sources.ts
This commit is contained in:
@@ -749,10 +749,25 @@ the skill itself, not a dispatcher binary):
|
||||
- `/sync-gbrain --dry-run` — preview what would sync; no writes anywhere
|
||||
- `/sync-gbrain --no-memory` / `--no-brain-sync` — selectively skip stages
|
||||
- `/sync-gbrain --quiet` — suppress per-stage output
|
||||
- `/sync-gbrain --refresh-cache` — force-rebuild brain-aware planning cache (v1.48; replaces /brain-refresh-context per D1 fold). Skips code + memory stages; routes to `gstack-brain-cache refresh --project <slug>`.
|
||||
- `/sync-gbrain --audit` — emit summary of gstack-owned pages per project + sensitive-content audit (v1.48 / D10 lifecycle). Read-only.
|
||||
|
||||
Pass-through args go straight to the orchestrator at
|
||||
`~/.claude/skills/gstack/bin/gstack-gbrain-sync.ts`.
|
||||
|
||||
**`--refresh-cache` short-circuit:** when this flag is present, the skill
|
||||
runs ONLY the cache refresh (`gstack-brain-cache refresh --project <slug>`
|
||||
for the current worktree's slug, plus a cross-project refresh of
|
||||
user-profile if `gstack/user-profile/<user-slug>` exists). Code +
|
||||
memory + brain-sync stages are skipped. Useful when the user knows the
|
||||
brain has new info gstack should pick up before the next planning skill.
|
||||
|
||||
**`--audit` short-circuit:** when this flag is present, the skill runs
|
||||
`gstack-brain-cache list --project <slug> --json`, summarizes by page
|
||||
type, then scans for any cached salience entries that ended up outside
|
||||
the SALIENCE_DEFAULT_ALLOWLIST (T17 / D9 leak check). Read-only; no
|
||||
modifications to brain or cache.
|
||||
|
||||
---
|
||||
|
||||
## Step 1: State probe
|
||||
@@ -763,6 +778,29 @@ Before doing anything, check that /setup-gbrain has been run on this Mac.
|
||||
~/.claude/skills/gstack/bin/gstack-gbrain-detect 2>/dev/null
|
||||
```
|
||||
|
||||
**Brain trust policy gate (v1.48 / Phase 1.5 / D4 — added by T13+T5c):**
|
||||
If `gbrain_mcp_mode == "remote-http"` from the detect output AND the per-
|
||||
endpoint policy is `unset`, the policy question MUST fire here before
|
||||
the orchestrator runs. Local engines auto-set to `personal` silently per
|
||||
the per-transport default table.
|
||||
|
||||
```bash
|
||||
_HASH=$(~/.claude/skills/gstack/bin/gstack-config endpoint-hash 2>/dev/null)
|
||||
_POLICY=$(~/.claude/skills/gstack/bin/gstack-config get brain_trust_policy@$_HASH 2>/dev/null || echo unset)
|
||||
echo "BRAIN_TRUST_POLICY[$_HASH]: $_POLICY"
|
||||
```
|
||||
|
||||
If `_POLICY == "unset"` AND `_HASH != "local"`, AskUserQuestion per the
|
||||
Step 9.5 wording in `/setup-gbrain` (personal vs shared, with persistence
|
||||
to `brain_trust_policy@<hash>` and conditional `artifacts_sync_mode=full`
|
||||
flip for personal). Then continue.
|
||||
|
||||
If `_POLICY == "unset"` AND `_HASH == "local"`, auto-set personal:
|
||||
|
||||
```bash
|
||||
~/.claude/skills/gstack/bin/gstack-config set brain_trust_policy@$_HASH personal
|
||||
```
|
||||
|
||||
**Split-engine model (v1.34.0.0+).** Code stage runs locally against the
|
||||
per-machine gbrain engine (PGLite or whatever `gbrain config` points to),
|
||||
with each worktree of a repo registered as its own source. **Memory stage
|
||||
@@ -1031,6 +1069,12 @@ file globs. Run `/sync-gbrain` after meaningful code changes; for ongoing
|
||||
auto-sync across all worktrees, run `gbrain autopilot --install` once per
|
||||
machine — gbrain's daemon handles incremental refresh on a schedule.
|
||||
|
||||
Safety: don't run `/sync-gbrain` while `gbrain autopilot` is active — the
|
||||
orchestrator refuses destructive source ops when it detects a running autopilot
|
||||
to avoid racing it (#1734). Prefer registering user repos with `gbrain sources
|
||||
add --path <dir>` (no `--url`): URL-managed sources can auto-reclone, and the
|
||||
sync code walk for them requires an explicit `--allow-reclone` opt-in.
|
||||
|
||||
<!-- gstack-gbrain-search-guidance:end -->
|
||||
```
|
||||
|
||||
|
||||
@@ -54,10 +54,25 @@ the skill itself, not a dispatcher binary):
|
||||
- `/sync-gbrain --dry-run` — preview what would sync; no writes anywhere
|
||||
- `/sync-gbrain --no-memory` / `--no-brain-sync` — selectively skip stages
|
||||
- `/sync-gbrain --quiet` — suppress per-stage output
|
||||
- `/sync-gbrain --refresh-cache` — force-rebuild brain-aware planning cache (v1.48; replaces /brain-refresh-context per D1 fold). Skips code + memory stages; routes to `gstack-brain-cache refresh --project <slug>`.
|
||||
- `/sync-gbrain --audit` — emit summary of gstack-owned pages per project + sensitive-content audit (v1.48 / D10 lifecycle). Read-only.
|
||||
|
||||
Pass-through args go straight to the orchestrator at
|
||||
`{{BIN_DIR}}/gstack-gbrain-sync.ts`.
|
||||
|
||||
**`--refresh-cache` short-circuit:** when this flag is present, the skill
|
||||
runs ONLY the cache refresh (`gstack-brain-cache refresh --project <slug>`
|
||||
for the current worktree's slug, plus a cross-project refresh of
|
||||
user-profile if `gstack/user-profile/<user-slug>` exists). Code +
|
||||
memory + brain-sync stages are skipped. Useful when the user knows the
|
||||
brain has new info gstack should pick up before the next planning skill.
|
||||
|
||||
**`--audit` short-circuit:** when this flag is present, the skill runs
|
||||
`gstack-brain-cache list --project <slug> --json`, summarizes by page
|
||||
type, then scans for any cached salience entries that ended up outside
|
||||
the SALIENCE_DEFAULT_ALLOWLIST (T17 / D9 leak check). Read-only; no
|
||||
modifications to brain or cache.
|
||||
|
||||
---
|
||||
|
||||
## Step 1: State probe
|
||||
@@ -68,6 +83,29 @@ Before doing anything, check that /setup-gbrain has been run on this Mac.
|
||||
~/.claude/skills/gstack/bin/gstack-gbrain-detect 2>/dev/null
|
||||
```
|
||||
|
||||
**Brain trust policy gate (v1.48 / Phase 1.5 / D4 — added by T13+T5c):**
|
||||
If `gbrain_mcp_mode == "remote-http"` from the detect output AND the per-
|
||||
endpoint policy is `unset`, the policy question MUST fire here before
|
||||
the orchestrator runs. Local engines auto-set to `personal` silently per
|
||||
the per-transport default table.
|
||||
|
||||
```bash
|
||||
_HASH=$(~/.claude/skills/gstack/bin/gstack-config endpoint-hash 2>/dev/null)
|
||||
_POLICY=$(~/.claude/skills/gstack/bin/gstack-config get brain_trust_policy@$_HASH 2>/dev/null || echo unset)
|
||||
echo "BRAIN_TRUST_POLICY[$_HASH]: $_POLICY"
|
||||
```
|
||||
|
||||
If `_POLICY == "unset"` AND `_HASH != "local"`, AskUserQuestion per the
|
||||
Step 9.5 wording in `/setup-gbrain` (personal vs shared, with persistence
|
||||
to `brain_trust_policy@<hash>` and conditional `artifacts_sync_mode=full`
|
||||
flip for personal). Then continue.
|
||||
|
||||
If `_POLICY == "unset"` AND `_HASH == "local"`, auto-set personal:
|
||||
|
||||
```bash
|
||||
~/.claude/skills/gstack/bin/gstack-config set brain_trust_policy@$_HASH personal
|
||||
```
|
||||
|
||||
**Split-engine model (v1.34.0.0+).** Code stage runs locally against the
|
||||
per-machine gbrain engine (PGLite or whatever `gbrain config` points to),
|
||||
with each worktree of a repo registered as its own source. **Memory stage
|
||||
@@ -336,6 +374,12 @@ file globs. Run `/sync-gbrain` after meaningful code changes; for ongoing
|
||||
auto-sync across all worktrees, run `gbrain autopilot --install` once per
|
||||
machine — gbrain's daemon handles incremental refresh on a schedule.
|
||||
|
||||
Safety: don't run `/sync-gbrain` while `gbrain autopilot` is active — the
|
||||
orchestrator refuses destructive source ops when it detects a running autopilot
|
||||
to avoid racing it (#1734). Prefer registering user repos with `gbrain sources
|
||||
add --path <dir>` (no `--url`): URL-managed sources can auto-reclone, and the
|
||||
sync code walk for them requires an explicit `--allow-reclone` opt-in.
|
||||
|
||||
<!-- gstack-gbrain-search-guidance:end -->
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user