feat(context-refresh): add repo-intel source for GitHub history snapshots#182
Merged
Conversation
…hots (#138) New --sources repo-intel pulls open/closed issues, PRs, and release cadence via gh CLI and writes .charter/repo-intel/snapshot.json. Computes a summary (openIssueCount, stalledIssues, recurringLabels, mergeVelocity, releaseCadence) contributed to context.adf openWork/recentActivity sections. Fails gracefully when gh is unavailable or repo has no GitHub remote — emits a warning, not an error. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Member
Author
|
Review pass complete for #182. No blocking issues found in the current diff. What I validated:
Non-blocking follow-up suggestion:
I’m comfortable merging this as-is. |
stackbilt-admin
added a commit
that referenced
this pull request
May 23, 2026
…hots (#138) (#182) New --sources repo-intel pulls open/closed issues, PRs, and release cadence via gh CLI and writes .charter/repo-intel/snapshot.json. Computes a summary (openIssueCount, stalledIssues, recurringLabels, mergeVelocity, releaseCadence) contributed to context.adf openWork/recentActivity sections. Fails gracefully when gh is unavailable or repo has no GitHub remote — emits a warning, not an error. Co-authored-by: Kurt Overmier <kurt@stackbilt.dev> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
stackbilt-admin
added a commit
that referenced
this pull request
May 23, 2026
) * feat(bootstrap): add --mode lean for fast, install-safe project onboarding (#139) Skips migrate, install, and populate phases. Install failure can no longer produce a `partial` status — lean mode emits a deterministic install command as the first required next step instead. Fully compatible with --yes, --ci, --force, and --security-sensitive. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(drift): scan template literal bodies for anti-patterns (#102) (#181) Extracts backtick template strings from .ts/.tsx/.js/.mjs files and scans their bodies against drift patterns, attributing violations to virtual filenames (e.g. src/foo.ts[template:0]). Catches security anti-patterns inside code-factory functions that emit string templates. No signature changes to scanForDrift. Co-authored-by: Kurt Overmier <kurt@stackbilt.dev> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(context-refresh): add repo-intel source for GitHub history snapshots (#138) (#182) New --sources repo-intel pulls open/closed issues, PRs, and release cadence via gh CLI and writes .charter/repo-intel/snapshot.json. Computes a summary (openIssueCount, stalledIssues, recurringLabels, mergeVelocity, releaseCadence) contributed to context.adf openWork/recentActivity sections. Fails gracefully when gh is unavailable or repo has no GitHub remote — emits a warning, not an error. Co-authored-by: Kurt Overmier <kurt@stackbilt.dev> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(bootstrap): gate lean-mode hook next-steps on inGitRepo Hooks cannot be installed outside a git repo. The non-lean path already gated these steps on inGitRepo; lean mode was missing the same guard. Tests updated to mock isGitRepo via git-helpers module mock (runGit uses execFileSync, not execSync, so the existing execSync override couldn't cover it). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Kurt Overmier <kurt@stackbilt.dev> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
stackbilt-admin
added a commit
that referenced
this pull request
May 23, 2026
…li (#127) (#183) * feat(bootstrap): add --mode lean for fast, install-safe project onboarding (#139) Skips migrate, install, and populate phases. Install failure can no longer produce a `partial` status — lean mode emits a deterministic install command as the first required next step instead. Fully compatible with --yes, --ci, --force, and --security-sensitive. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(drift): scan template literal bodies for anti-patterns (#102) (#181) Extracts backtick template strings from .ts/.tsx/.js/.mjs files and scans their bodies against drift patterns, attributing violations to virtual filenames (e.g. src/foo.ts[template:0]). Catches security anti-patterns inside code-factory functions that emit string templates. No signature changes to scanForDrift. Co-authored-by: Kurt Overmier <kurt@stackbilt.dev> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(context-refresh): add repo-intel source for GitHub history snapshots (#138) (#182) New --sources repo-intel pulls open/closed issues, PRs, and release cadence via gh CLI and writes .charter/repo-intel/snapshot.json. Computes a summary (openIssueCount, stalledIssues, recurringLabels, mergeVelocity, releaseCadence) contributed to context.adf openWork/recentActivity sections. Fails gracefully when gh is unavailable or repo has no GitHub remote — emits a warning, not an error. Co-authored-by: Kurt Overmier <kurt@stackbilt.dev> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(bootstrap): gate lean-mode hook next-steps on inGitRepo Hooks cannot be installed outside a git repo. The non-lean path already gated these steps on inGitRepo; lean mode was missing the same guard. Tests updated to mock isGitRepo via git-helpers module mock (runGit uses execFileSync, not execSync, so the existing execSync override couldn't cover it). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(cli)!: remove commercial surface from @stackbilt/cli at Charter 1.0 (#127) Phase 4 of RFC #112. Deletes run/architect/scaffold/login commands, credentials.ts, http-client.ts, scaffold-contract-types.ts, and all related tests. Drops the `stackbilt` bin alias. Bumps @stackbilt/cli to 1.0.0. @stackbilt/build@0.1.0 is the new home for these commands. BREAKING CHANGE: run, architect, scaffold, login commands and stackbilt bin removed. Install @stackbilt/build for the long-term home. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(cli): add repo-intel to context-refresh help; ignore package-lock.json - HELP text for `context-refresh --sources` was missing the third valid value `repo-intel` (added in the repo-intel source commit on this branch) - Add `package-lock.json` to .gitignore — repo uses pnpm; the npm lockfile has no business being tracked here Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Kurt Overmier <kurt@stackbilt.dev> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #138.
Adds
repo-intelas a new source forcharter context-refresh --sources repo-intel. Uses theghCLI to fetch open/closed issues, recent PRs, and release history, then writes a structured snapshot to.charter/repo-intel/snapshot.jsonand contributes a summary to.ai/context.adf.Snapshot shape:
{ "available": true, "summary": { "openIssueCount": 12, "stalledIssues": 3, "recurringLabels": ["bug"], "mergeVelocity": 7, "releaseCadence": 14 } }Graceful degradation: if
ghis unavailable or the repo has no GitHub remote, emits a warning and continues — never a hard failure.Test plan
repo-intelsection andsourcesUsedghunavailable → warning emitted, no error, snapshot not written🤖 Generated with Claude Code