mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-16 01:45:29 +02:00
Merge origin/main (v1.60.1.0) into garrytan/gstack-fix-wave
Semantic reconciliation with the parallel time-attack wave (#2264):
- careful: adopt main's anchored full-command whitelist (stricter — also
catches comment-hiding), re-apply this wave's two hardenings on top
(capital -[rR] in the flag cluster; exclude `(` and backtick from safe
targets so $()/backtick substitution cannot ride the whitelist). Union
of both waves' test batteries passes (main's test.each incl. comment
case + this wave's substitution/capital-R/FP-pin cases).
- one-way-doors: main landed the singular noun unification (a2a447a1);
keep this wave's superset (plural s? + --summary-stdin runtime wiring).
- gbrain-local-status: union of states — main's engine-locked (#2194,
exit 124 PGLite lock) + this wave's thin-client (#2051). --is-ok keeps
main's intent (engine-locked = STOP) and this wave's (thin-client =
usable). Test harness unions both fake behaviors.
- sync-gbrain/setup-gbrain tmpls: both Step 1.5 branches kept; generated
SKILL.md resolved via bun run gen:skill-docs (never hand-edited).
- VERSION/package.json -> 1.61.0.0 per bin/gstack-next-version (main took
1.60.1.0; PR #2470 claims 1.60.2.0). CHANGELOG: wave entry renumbered
1.61.0.0 on top of main's 1.60.1.0; careful/#2024 bullets updated to
describe the delta vs current main. TODOS: union.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -901,6 +901,10 @@ BEFORE invoking the orchestrator:
|
||||
"Thin client of a remote brain — local stages skip by design; brain queries
|
||||
work via remote MCP (reachability is verified at use time, not probed
|
||||
here)." Do NOT route this into the broken-config remediation.
|
||||
- **`engine-locked`**: STOP. "The local PGLite database is busy, usually
|
||||
because `gbrain serve` from a live Claude session owns it. Stop that process
|
||||
or run `/sync-gbrain` outside the live session, then retry. This identifies
|
||||
the conflict but does not remove PGLite's single-process limit."
|
||||
- **`no-cli`**: STOP. "Local gbrain CLI not installed. Run `/setup-gbrain`
|
||||
first."
|
||||
- **`missing-config`** AND `gbrain_mcp_mode == "remote-http"`: tell the user
|
||||
|
||||
@@ -147,6 +147,10 @@ BEFORE invoking the orchestrator:
|
||||
"Thin client of a remote brain — local stages skip by design; brain queries
|
||||
work via remote MCP (reachability is verified at use time, not probed
|
||||
here)." Do NOT route this into the broken-config remediation.
|
||||
- **`engine-locked`**: STOP. "The local PGLite database is busy, usually
|
||||
because `gbrain serve` from a live Claude session owns it. Stop that process
|
||||
or run `/sync-gbrain` outside the live session, then retry. This identifies
|
||||
the conflict but does not remove PGLite's single-process limit."
|
||||
- **`no-cli`**: STOP. "Local gbrain CLI not installed. Run `/setup-gbrain`
|
||||
first."
|
||||
- **`missing-config`** AND `gbrain_mcp_mode == "remote-http"`: tell the user
|
||||
|
||||
Reference in New Issue
Block a user