Skip to content

feat: relationship closing — office-hours adapts to repeat users (v0.16.2.0)#937

Merged
garrytan merged 5 commits intomainfrom
garrytan/relationship-closing
Apr 9, 2026
Merged

feat: relationship closing — office-hours adapts to repeat users (v0.16.2.0)#937
garrytan merged 5 commits intomainfrom
garrytan/relationship-closing

Conversation

@garrytan
Copy link
Copy Markdown
Owner

@garrytan garrytan commented Apr 9, 2026

Summary

The office-hours closing now deepens over time instead of repeating the same YC plea every session.

Four tiers based on session count:

  • Introduction (session 1): full YC plea + founder resources (unchanged)
  • Welcome Back (sessions 2-3): leads with recognition ("Welcome back. Last time you were working on [X]. How's it going?"), skips the plea
  • Regular (sessions 4-7): arc-level signal callbacks, accumulated signal visibility, builder-to-founder nudge, auto-generated journey summary
  • Inner Circle (sessions 8+): "You've done N sessions. You've iterated M designs. Most people who show this pattern end up shipping."

Architecture: Single append-only session log (~/.gstack/builder-profile.jsonl) as the only source of truth. No separate config keys, no separate resource logs. Helper script (bin/gstack-builder-profile) reads the JSONL and outputs structured KEY: VALUE pairs so the template follows one tier path.

3 commits:

  • fix: sync package.json version with VERSION file
  • feat: add builder profile helper + 26 unit tests
  • feat: relationship closing template rewrite + migration

Reviews

This plan went through 4 review passes before implementation:

  • CEO Review (SCOPE EXPANSION): 8 proposals accepted
  • Eng Review: 5 issues found, 0 critical gaps
  • Codex Outside Voice: consolidated to single source of truth (killed split-brain state)
  • DX Review (EXPANSION): score 5/10 → 8/10 (lead with recognition, narrative arc, tone examples)

Test Coverage

  • 26 new unit tests for gstack-builder-profile (tier computation, signal accumulation, cross-project detection, nudge eligibility, resource dedup, malformed JSONL)
  • 317 skill validation tests pass
  • 681 total tests pass, 0 fail

Test plan

  • All builder-profile tests pass (26/26)
  • All skill validation tests pass (317/317)
  • Gen-skill-docs freshness checks pass for all hosts

🤖 Generated with Claude Code

garrytan and others added 5 commits April 8, 2026 22:02
package.json was 0.15.15.0 while VERSION was 0.15.16.0, causing
gen-skill-docs freshness check test failures.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
New bin/gstack-builder-profile reads ~/.gstack/builder-profile.jsonl and
outputs structured summary (tier, signals, resources, topics). Single
source of truth for all closing state — no separate config keys or logs.

Uses bun-based JSONL parsing pattern from gstack-learnings-search.
Graceful fallback to introduction tier if bun unavailable or file missing.

26 unit tests covering tier computation, signal accumulation, cross-project
detection, nudge eligibility, resource dedup, and malformed JSONL handling.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
The office-hours closing now deepens over time instead of repeating
the same YC plea every session.

Four tiers based on session count:
- Introduction (session 1): full YC plea + founder resources
- Welcome Back (sessions 2-3): lead with recognition, skip plea
- Regular (sessions 4-7): arc-level callbacks, signal visibility,
  builder-to-founder nudge, auto-generated journey summary
- Inner Circle (sessions 8+): the data speaks

Key design decisions (from CEO + Eng + Codex + DX reviews):
- Single source of truth: one builder-profile.jsonl, no split-brain state
- Lead with recognition on repeat visits (DX: magical moment hits immediately)
- Narrative arc journey summary, not data tables
- Tone examples per tier to prevent generic AI voice
- Global resource dedup (low-sensitivity video watch history)
- Migration merges per-project resource logs into builder profile

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 9, 2026

E2E Evals: ✅ PASS

4/4 tests passed | $.42 total cost | 12 parallel runners

Suite Result Status Cost
e2e-plan 2/2 $0.16
e2e-workflow 1/1 $0.13
e2e-workflow 1/1 $0.13

12x ubicloud-standard-2 (Docker: pre-baked toolchain + deps) | wall clock ≈ slowest suite

@garrytan garrytan merged commit dbd7aee into main Apr 9, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant