From 80f9da2dda53a22a5a8927de523cba96d5e90c2e Mon Sep 17 00:00:00 2001 From: Nikhilesh Nanduri Date: Sat, 30 May 2026 00:39:22 +0530 Subject: [PATCH] fix(office-hours): unify profile paths on developer-profile.json (#1677) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The gbrain artifact glob and Phase 6 reader both still pointed to the legacy builder-profile.jsonl. After migration that file gets archived, so both calls silently produced nothing on fresh-$HOME installs. - Artifact glob: builder-profile.jsonl → developer-profile.json - Phase 6 reader: gstack-builder-profile shim → gstack-developer-profile --read - Regenerate office-hours/SKILL.md Writer fix was in v1.44.1.0 (#1671); this closes the remaining reader/artifact half. Co-Authored-By: Claude Sonnet 4.6 --- CHANGELOG.md | 13 +++++++++++++ VERSION | 2 +- office-hours/SKILL.md | 5 ++--- office-hours/SKILL.md.tmpl | 5 ++--- package.json | 2 +- 5 files changed, 19 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7dbc82f998..e53804efee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## [1.48.3.0] - 2026-05-28 + +**`/office-hours` profile read/write paths fully unified on `developer-profile.json`.** + +The gbrain context artifact and the Phase 6 profile reader both still referenced the legacy `builder-profile.jsonl` path, which gets archived after migration. On fresh installs the file never exists and these calls silently produced nothing. Now both reference `~/.gstack/developer-profile.json` directly. The writer side was fixed in v1.44.1.0 (#1671); this closes the remaining reader/artifact half. Closes #1677. + +### Itemized changes + +#### Fixed +- `office-hours/SKILL.md.tmpl`: gbrain artifact glob updated from `~/.gstack/builder-profile.jsonl` to `~/.gstack/developer-profile.json`; removed `tail: 1` (not a JSONL file). The artifact now loads the full profile JSON as context. +- `office-hours/SKILL.md.tmpl`: Phase 6 profile read updated from `gstack-builder-profile` (legacy shim) to `gstack-developer-profile --read` (direct call). Behavior is identical; this removes a layer of indirection that made the call site confusing. +- `office-hours/SKILL.md`: Regenerated. + ## [1.48.0.0] - 2026-05-26 ## **Agents stop dropping AskUserQuestion options when there are 5+.** A new canonical preamble rule + runtime gate makes Conductor's 4-option cap a split-or-batch decision, not a silent trim. diff --git a/VERSION b/VERSION index 01934fdf4c..a107227b2f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.48.0.0 +1.48.3.0 diff --git a/office-hours/SKILL.md b/office-hours/SKILL.md index bfa14d6bd3..d745c79189 100644 --- a/office-hours/SKILL.md +++ b/office-hours/SKILL.md @@ -30,8 +30,7 @@ gbrain: render_as: "## Prior office-hours sessions in this repo" - id: builder-profile kind: filesystem - glob: "~/.gstack/builder-profile.jsonl" - tail: 1 + glob: "~/.gstack/developer-profile.json" render_as: "## Your builder profile snapshot" - id: design-doc-history kind: filesystem @@ -1760,7 +1759,7 @@ over time. ### Step 1: Read Builder Profile ```bash -PROFILE=$(~/.claude/skills/gstack/bin/gstack-builder-profile 2>/dev/null) || PROFILE="SESSION_COUNT: 0 +PROFILE=$(~/.claude/skills/gstack/bin/gstack-developer-profile --read 2>/dev/null) || PROFILE="SESSION_COUNT: 0 TIER: introduction" SESSION_TIER=$(echo "$PROFILE" | grep "^TIER:" | awk '{print $2}') SESSION_COUNT=$(echo "$PROFILE" | grep "^SESSION_COUNT:" | awk '{print $2}') diff --git a/office-hours/SKILL.md.tmpl b/office-hours/SKILL.md.tmpl index abb3375495..12080de710 100644 --- a/office-hours/SKILL.md.tmpl +++ b/office-hours/SKILL.md.tmpl @@ -41,8 +41,7 @@ gbrain: render_as: "## Prior office-hours sessions in this repo" - id: builder-profile kind: filesystem - glob: "~/.gstack/builder-profile.jsonl" - tail: 1 + glob: "~/.gstack/developer-profile.json" render_as: "## Your builder profile snapshot" - id: design-doc-history kind: filesystem @@ -658,7 +657,7 @@ over time. ### Step 1: Read Builder Profile ```bash -PROFILE=$(~/.claude/skills/gstack/bin/gstack-builder-profile 2>/dev/null) || PROFILE="SESSION_COUNT: 0 +PROFILE=$(~/.claude/skills/gstack/bin/gstack-developer-profile --read 2>/dev/null) || PROFILE="SESSION_COUNT: 0 TIER: introduction" SESSION_TIER=$(echo "$PROFILE" | grep "^TIER:" | awk '{print $2}') SESSION_COUNT=$(echo "$PROFILE" | grep "^SESSION_COUNT:" | awk '{print $2}') diff --git a/package.json b/package.json index eb77faa516..6f47d833ea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gstack", - "version": "1.48.0.0", + "version": "1.48.3.0", "description": "Garry's Stack — Claude Code skills + fast headless browser. One repo, one install, entire AI engineering workflow.", "license": "MIT", "type": "module",