Skip to content

feat(review): per-repo .gittensory.yml review.instructions for grounded reviews - #1579

Merged
JSONbored merged 1 commit into
mainfrom
feat/review-repo-instructions
Jun 27, 2026
Merged

feat(review): per-repo .gittensory.yml review.instructions for grounded reviews#1579
JSONbored merged 1 commit into
mainfrom
feat/review-repo-instructions

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Adds a repo-level review.instructions block to .gittensory.yml — a maintainer brief handed to the AI reviewer on every review (vs the per-path review.path_instructions), so reviews follow each repo's own conventions. Bounded + public-safe at parse time, so it stays cost-cheap (a focused brief, not a whole CLAUDE.md re-sent every review). Absent ⇒ byte-identical prompt. Standard config-as-code wiring: focus-manifest (type/parse/resolve) → processors → buildSystemPrompt.

@dosubot dosubot Bot added the size:M label Jun 27, 2026
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@codecov

codecov Bot commented Jun 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.45%. Comparing base (495450f) to head (8b8a754).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1579   +/-   ##
=======================================
  Coverage   95.45%   95.45%           
=======================================
  Files         202      202           
  Lines       21781    21784    +3     
  Branches     7866     7868    +2     
=======================================
+ Hits        20791    20794    +3     
  Misses        414      414           
  Partials      576      576           
Files with missing lines Coverage Δ
src/queue/processors.ts 87.99% <100.00%> (+<0.01%) ⬆️
src/services/ai-review.ts 98.58% <100.00%> (+<0.01%) ⬆️
src/signals/focus-manifest.ts 99.12% <100.00%> (+<0.01%) ⬆️
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…ed reviews

Adds a repo-level `review.instructions` block to .gittensory.yml — a maintainer brief handed to the AI reviewer on
EVERY review (vs the per-path review.path_instructions), so reviews follow each repo's own conventions/voice. Bounded +
public-safe at parse time (parsePublicSafeText), so it stays cost-cheap — unlike ingesting a whole CLAUDE.md every
review. Absent/null ⇒ byte-identical reviewer prompt. Wired the standard config-as-code path: focus-manifest type +
parse + resolveReviewPromptOverrides → processors → runAiReviewForAdvisory → buildSystemPrompt.
@JSONbored
JSONbored force-pushed the feat/review-repo-instructions branch from c2ca5b8 to 8b8a754 Compare June 27, 2026 04:47
@JSONbored
JSONbored merged commit 42bfac1 into main Jun 27, 2026
18 checks passed
@JSONbored
JSONbored deleted the feat/review-repo-instructions branch June 27, 2026 04:50
JSONbored added a commit that referenced this pull request Jun 27, 2026
…ainer-private config dir (#1580)

#review-skills. Each repo's review folder in GITTENSORY_REPO_CONFIG_DIR (<repo>/review/CLAUDE.md + review/skills/*.md)
is loaded and injected into the reviewer prompt, so reviews follow each repo's own conventions/voice. Private (not in
the public repo), works on any host. Cost-conscious: the CLAUDE.md guide is always-on, but each skill is GLOB-GATED by
its `when:` frontmatter — only skills matching the PR's changed files are injected — and the total is bounded.
Folds into the same review.instructions prompt slot (#1579), so it inherits the public-safe wrapper.

- private-config.ts: makeLocalReviewContextReader (reads review/CLAUDE.md + skills/*.md, first existing folder wins) +
  parseReviewSkill (frontmatter name/when + body).
- focus-manifest-loader.ts: setLocalReviewContextReader + loadRepoReviewContext (Node fs stays out of the Workers bundle).
- focus-manifest.ts: composeRepoReviewContext (guide + always/glob-matched skills, bounded; reuses matchesManifestPath).
- processors.ts: folds the composed context into reviewInstructions. server.ts: registers the reader at boot.
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