Merge remote-tracking branch 'origin/main' into garrytan/auq-auto-mode

# Conflicts:
#	CHANGELOG.md
#	VERSION
#	package.json
This commit is contained in:
Garry Tan
2026-05-01 08:10:12 -07:00
49 changed files with 1667 additions and 118 deletions
+8 -4
View File
@@ -793,7 +793,8 @@ Power-user shortcuts (one-word invocations) — handle these too:
# Ensure profile exists
~/.claude/skills/gstack/bin/gstack-developer-profile --read >/dev/null
# Update declared dimensions atomically
_PROFILE="${GSTACK_HOME:-$HOME/.gstack}/developer-profile.json"
eval "$(~/.claude/skills/gstack/bin/gstack-paths)"
_PROFILE="$GSTACK_STATE_ROOT/developer-profile.json"
bun -e "
const fs = require('fs');
const p = JSON.parse(fs.readFileSync('$_PROFILE','utf-8'));
@@ -854,7 +855,8 @@ Parse the JSON. Present in **plain English**, not raw floats:
```bash
eval "$(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null)"
_LOG="${GSTACK_HOME:-$HOME/.gstack}/projects/$SLUG/question-log.jsonl"
eval "$(~/.claude/skills/gstack/bin/gstack-paths)"
_LOG="$GSTACK_STATE_ROOT/projects/$SLUG/question-log.jsonl"
if [ ! -f "$_LOG" ]; then
echo "NO_LOG"
else
@@ -947,7 +949,8 @@ is a trust boundary (Codex #15 in the design doc).
3. After Y, write:
```bash
_PROFILE="${GSTACK_HOME:-$HOME/.gstack}/developer-profile.json"
eval "$(~/.claude/skills/gstack/bin/gstack-paths)"
_PROFILE="$GSTACK_STATE_ROOT/developer-profile.json"
bun -e "
const fs = require('fs');
const p = JSON.parse(fs.readFileSync('$_PROFILE','utf-8'));
@@ -988,7 +991,8 @@ the user decides whether declared is wrong or behavior is wrong.
```bash
~/.claude/skills/gstack/bin/gstack-question-preference --stats
eval "$(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null)"
_LOG="${GSTACK_HOME:-$HOME/.gstack}/projects/$SLUG/question-log.jsonl"
eval "$(~/.claude/skills/gstack/bin/gstack-paths)"
_LOG="$GSTACK_STATE_ROOT/projects/$SLUG/question-log.jsonl"
[ -f "$_LOG" ] && echo "TOTAL_LOGGED: $(wc -l < "$_LOG" | tr -d ' ')" || echo "TOTAL_LOGGED: 0"
~/.claude/skills/gstack/bin/gstack-developer-profile --profile | bun -e "
const p = JSON.parse(await Bun.stdin.text());
+8 -4
View File
@@ -144,7 +144,8 @@ Power-user shortcuts (one-word invocations) — handle these too:
# Ensure profile exists
~/.claude/skills/gstack/bin/gstack-developer-profile --read >/dev/null
# Update declared dimensions atomically
_PROFILE="${GSTACK_HOME:-$HOME/.gstack}/developer-profile.json"
eval "$(~/.claude/skills/gstack/bin/gstack-paths)"
_PROFILE="$GSTACK_STATE_ROOT/developer-profile.json"
bun -e "
const fs = require('fs');
const p = JSON.parse(fs.readFileSync('$_PROFILE','utf-8'));
@@ -205,7 +206,8 @@ Parse the JSON. Present in **plain English**, not raw floats:
```bash
eval "$(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null)"
_LOG="${GSTACK_HOME:-$HOME/.gstack}/projects/$SLUG/question-log.jsonl"
eval "$(~/.claude/skills/gstack/bin/gstack-paths)"
_LOG="$GSTACK_STATE_ROOT/projects/$SLUG/question-log.jsonl"
if [ ! -f "$_LOG" ]; then
echo "NO_LOG"
else
@@ -298,7 +300,8 @@ is a trust boundary (Codex #15 in the design doc).
3. After Y, write:
```bash
_PROFILE="${GSTACK_HOME:-$HOME/.gstack}/developer-profile.json"
eval "$(~/.claude/skills/gstack/bin/gstack-paths)"
_PROFILE="$GSTACK_STATE_ROOT/developer-profile.json"
bun -e "
const fs = require('fs');
const p = JSON.parse(fs.readFileSync('$_PROFILE','utf-8'));
@@ -339,7 +342,8 @@ the user decides whether declared is wrong or behavior is wrong.
```bash
~/.claude/skills/gstack/bin/gstack-question-preference --stats
eval "$(~/.claude/skills/gstack/bin/gstack-slug 2>/dev/null)"
_LOG="${GSTACK_HOME:-$HOME/.gstack}/projects/$SLUG/question-log.jsonl"
eval "$(~/.claude/skills/gstack/bin/gstack-paths)"
_LOG="$GSTACK_STATE_ROOT/projects/$SLUG/question-log.jsonl"
[ -f "$_LOG" ] && echo "TOTAL_LOGGED: $(wc -l < "$_LOG" | tr -d ' ')" || echo "TOTAL_LOGGED: 0"
~/.claude/skills/gstack/bin/gstack-developer-profile --profile | bun -e "
const p = JSON.parse(await Bun.stdin.text());