Summary
An MCP release appears due.
Proposed version: 0.7.0
Latest MCP tag: mcp-v0.6.0
npm latest: 0.6.0
MCP package version in repo: 0.6.0
Unreleased MCP-related commits: 152
Unreleased MCP-Related Commits
5652d1b fix(mcp): report package version 0.6.0 (fix(mcp): report package version 0.6.0 #751 )
601ec9c feat(mcp): gittensory_explain_score_breakdown (feat(mcp): gittensory_explain_score_breakdown #649 )
950c6e0 feat(mcp): gittensory_remediation_plan (feat(mcp): gittensory_remediation_plan #650 )
e99d427 fix(predict-gate): resolve contributor confirmation for gate prediction (fix(predict-gate): resolve contributor confirmation for gate prediction #715 )
aaeff16 fix(scoring): match upstream gittensor constant name + fallback value (fix(scoring): correct constant name + fallback to match upstream values (#806, #807) #815 )
353a764 fix(reliability): authenticate public GitHub profile fetches (fix(reliability): authenticate public GitHub profile fetches (#790) #819 )
2ff4d71 feat(config): expose gate.mergeReadiness + gate.firstTimeContributorGrace in .gittensory.yml (feat(config): expose remaining DB-only gate settings in .gittensory.yml (config-as-code parity) #822 ) (feat(config): expose gate.mergeReadiness + gate.firstTimeContributorGrace in .gittensory.yml (#822) #826 )
07d7dae feat(gate): focus-manifest policy as enforceable gate input (feat(github-app): focus-manifest policy as gate input #555 ) (feat(gate): focus-manifest policy as enforceable gate input (#555) #827 )
13c042b feat(agent): autonomy-levels framework (feat(agent): autonomy-levels framework (observe→…→auto) #773 ) (feat(agent): autonomy-levels framework (#773) #840 )
965c6ae feat(agent): autoMaintain config block + dashboard (feat(agent): autoMaintain config block (.gittensory.yml + DB + dashboard) #774 ) (feat(agent): autoMaintain config block + dashboard (#774) #841 )
27a3ba6 feat(agent): kill-switch + dry-run + action audit (feat(agent): action audit log + kill-switch + dry-run/shadow mode #776 ) (feat(agent): kill-switch + dry-run + action audit (#776) #842 )
2e06410 feat(agent): deterministic local scorer MCP tool (feat(agent): local gittensor-root scorer MCP wrapper #782 ) (feat(agent): deterministic local scorer MCP tool (#782) #847 )
32b1e87 feat(agent): miner write-tools — local-execution action specs (feat(agent): miner write-tools (open_pr/file_issue/...) — local-executed #780 ) (feat(agent): miner write-tools — local-execution action specs (#780) #848 )
e111622 feat(agent): multi-step plan DAG tools (feat(agent): multi-step action DAG executor #783 ) (feat(agent): multi-step plan DAG tools (#783) #849 )
134b0c3 feat(agent): harness adapter — miner-auto-dev profile + driving loop (feat(agent): harness adapter ('connect a Claude/Codex subscription') + driving loop #781 ) (feat(agent): harness adapter — miner-auto-dev profile + driving loop (#781) #850 )
90c9a52 feat(agent): MCP automation-state read tool (advances feat(agent): automation controls surface (dashboard + CLI + MCP) #784 ) (feat(agent): MCP automation-state read tool (advances #784) #851 )
41b1598 feat(agent): maintainer CLI controls — maintain status/approve/reject/pause/resume (feat(agent): maintainer CLI controls — maintain status/approve/reject/pause/resume (advances #784) #852 )
2d443a0 feat(agent): CLI set-level + MCP propose-action — non-dashboard feat(agent): automation controls surface (dashboard + CLI + MCP) #784 surfaces (feat(agent): CLI set-level + MCP propose-action — finish the non-dashboard #784 surfaces #854 )
8bd04cb fix: require live write access for staged actions (fix(mcp): require live write access for staged agent actions #859 )
a2b7f2b fix: debounce miner dashboard refresh jobs (fix(api): debounce miner dashboard refresh jobs #867 )
1ed9df1 fix(scoring): apply time decay to score breakdown (fix(scoring): inject server-side time decay into score breakdown paths #881 )
36ba268 fix(mcp): redact private preflight workspace signals (fix(mcp): redact private preflight workspace signals #885 )
42cf7d2 fix(scoring): fail closed on branch eligibility (Fail closed on branch eligibility for linked-issue scoring #891 )
f23e831 fix(agent): keep public-safe packets free of private evidence (fix(agent): keep public-safe packets free of private evidence #892 )
7b9b189 fix: keep predicted gate on public manifest (Fix predicted gate public manifest loading #903 )
f850d7a fix(signals): avoid request-time burden forecast scans (fix(signals): avoid request-time burden forecast scans #906 )
5f10a43 fix(preflight): redact private rerun hints from PR packet (fix(preflight): redact private rerun hints from PR packet #907 )
25b77f1 fix(decision-pack): include rejected feedback outcomes (fix(decision-pack): include rejected recommendation feedback #914 )
2b4f8e6 fix(mcp): keep PR body draft taxonomy public-safe (fix(mcp): keep PR body draft taxonomy public-safe #909 )
f6a7121 fix(mcp): count pending approvals accurately (fix(mcp): count pending approvals accurately #878 )
30d888f fix: cap contributor graph file path loading (fix: cap contributor graph file path loading #894 )
f023e56 fix(security): bound focus manifest ingestion (fix(security): bound focus manifest ingestion #890 )
d34d021 fix: avoid public manifest cache poisoning (fix: avoid public manifest cache poisoning #922 )
e9cfe0e fix(signals): wire open-PR pressure scenarios into the branch scenario summary (feat(scoring): simulate open-pr pressure scenarios #348 ) (fix(signals): wire open-PR pressure scenarios into the branch scenario summary (#348) #923 )
b43f01d feat(scoring): wire issue-discovery/issue-spam scoring constants into engine (feat(scoring): wire issue-discovery/issue-spam scoring constants into engine #835 )
4d748c4 feat(config): audit repository-settings flag enforcement (Fixes feat(config): audit repository-settings flag enforcement #797 ) (feat(config): audit repository-settings flag enforcement (Fixes #797) #915 )
1c8975f feat(mcp): approval-queue control tools — list + decide pending agent actions (feat(agent): automation controls surface (dashboard + CLI + MCP) #784 ) (feat(mcp): approval-queue control tools — list + decide pending agent actions (#784) #934 )
8d4d356 feat(agent): agent audit feed — surface executed actions + approval decisions (feat(agent): automation controls surface (dashboard + CLI + MCP) #784 ) (feat(agent): agent audit feed — surface executed actions + approval decisions (#784) #937 )
ec0b69b feat(signals): slop signal — generic/empty commit message (feat(signals): slop signal — low-quality commit messages #564 ) (feat(signals): slop signal — generic/empty commit message (#564) #938 )
9cbdc6a fix(signals): scope open PR pressure count to repo (fix(signals): scope open PR pressure count to repo #939 )
0eee559 feat(signals): slop signal — no linked issue without rationale (feat(signals): slop signal — no linked issue without rationale #562 ) (feat(signals): slop signal — no linked issue without rationale (#562) #962 )
afbe222 fix(signals): compare local branch repo names case-insensitively (fix(signals): compare local branch repo names case-insensitively #965 )
334edcd fix(mcp): gate approval queue by repo maintainer scope (fix(mcp): gate approval queue by repo maintainer scope #941 )
c18d525 fix(scoring): wire trusted open issue counts (fix(scoring): wire trusted open issue counts #940 )
e93c893 fix(mcp): include open issue counts in score breakdown (fix(mcp): include open issue counts in score breakdown #971 )
96f6067 fix(scoring): surface snapshot warnings in previews (fix(scoring): surface snapshot warnings in previews #985 )
38d8641 chore(actions): update github actions (chore(actions): update github actions #997 )
0320221 chore(actions): update github actions to v6 (chore(actions): update github actions to v6 #1009 )
017654f chore(actions): update github actions to v7 (chore(actions): update github actions to v7 #1031 )
3425026 fix(scoring): apply penalty label multipliers instead of flooring to 1 (fix(scoring): apply penalty label multipliers instead of flooring to 1 #1038 )
f759e88 feat(scoring): model upstream review-collateral and non-code caps (Fi… (feat(scoring): model upstream review-collateral and non-code caps (Fi… #1049 )
549a6c9 fix(scoring): cap non-code explicit totals (fix(scoring): cap non-code explicit totals #1102 )
6cf4b3e fix(gate): gate non-confirmed contributors normally (eliminate the manual-review backlog) (fix(gate): gate non-confirmed contributors normally (eliminate the manual-review backlog) #1140 )
d728e32 feat(mcp): expose outcome calibration via gittensory_get_outcome_calibration (feat(mcp): expose outcome calibration via gittensory_get_outcome_calibration #1174 )
a82f346 feat(scoring): add draft-PR awareness to classification and queue health (feat(scoring): add draft-PR awareness to classification and queue health #1189 )
ad1f2c9 fix(mcp): blunt slop oracle score output and add per-actor tool rate-limit (fix(mcp): blunt slop oracle score output and add per-actor tool rate-limit #1194 )
ff38769 feat(gate): add selfAuthoredLinkedIssueGateMode with config-as-code parity (feat(gate): add selfAuthoredLinkedIssueGateMode with config-as-code parity #1198 )
da8a339 feat(agent): DB-backed global kill-switch (instant freeze, no redeploy) (feat(agent): DB-backed global kill-switch (instant freeze, no redeploy) #1243 )
e6a7597 fix(scoring): guard credibility against non-finite stale and unlinked counts (fix(scoring): guard credibility against non-finite stale and unlinked counts #1155 )
3682974 fix(scoring): single-source fallbacks from DEFAULT_SCORING_CONSTANTS (Fixes chore(scoring): single-source fallbacks + drop dead density branch #812 ) (fix(scoring): single-source fallbacks from DEFAULT_SCORING_CONSTANTS (Fixes #812) #1240 )
43a2449 feat(orb): surface fleet calibration analytics via dashboard + MCP (feat(orb): surface fleet calibration analytics via dashboard + MCP #1268 )
cc8dc3f feat(review): add .gittensory.yml review.profile (chill / balanced / assertive) (#review-profile) (feat(review): add .gittensory.yml review.profile (chill / balanced / assertive) #1347 )
2bdef57 feat(review): add .gittensory.yml review.path_instructions (per-path AI review rules) (#review-path-instructions) (feat(review): add .gittensory.yml review.path_instructions (per-path AI review rules) #1350 )
bd10ca0 feat(review): add .gittensory.yml review.exclude_paths (skip files from AI review) (#review-exclude-paths) (feat(review): add .gittensory.yml review.exclude_paths (skip files from AI review) #1353 )
2028570 feat(review): add .gittensory.yml review.pre_merge_checks (deterministic pre-merge assertions) (#review-pre-merge-checks) (feat(review): add .gittensory.yml review.pre_merge_checks (deterministic pre-merge assertions) #1357 )
940b7c2 fix(signals): linear-time manifest glob matcher (ReDoS) + **/ matches root + glob length cap (fix(signals): linear-time manifest glob matcher (ReDoS) + **/ matches root + length cap #1366 )
6138b9e feat(selfhost): add container-private per-repo config dir (feat(selfhost): add container-private per-repo config dir #1390 )
c89d6b0 feat(mcp): predict the manifest path policy + path-gated pre-merge checks via changedPaths (feat(mcp): predict the manifest path policy + path-gated pre-merge checks via changedPaths #1413 )
880351e fix(signals): redact /root/ local paths on the public-safety boundary (fix(signals): redact /root/ local paths on the public-safety boundary #1376 )
43b0d6c fix(selfhost): protect private policy surfaces (fix(selfhost): protect private policy surfaces #1405 )
a356441 feat(settings): add the per-repo contributor blacklist config layer (feat(anti-abuse): configurable contributor blacklist — auto-label + auto-close banned logins #1425 ) (feat(settings): add the per-repo contributor blacklist config layer (#1425) #1429 )
8880369 feat(settings): add configurable per-repo blacklistLabel (feat(anti-abuse): configurable contributor blacklist — auto-label + auto-close banned logins #1425 ) (feat(settings): add configurable per-repo blacklistLabel (#1425) #1430 )
160557b fix(scoring): match labelMultipliers keys as fnmatch globs ([Bug]: score preview matches labelMultipliers keys exactly, but the validator matches them as fnmatch globs #1273 ) (fix(scoring): match labelMultipliers keys as fnmatch globs #1277 )
4e9a1fd feat(scoring): wire contributor validity floors into score preview (feat(scoring): model (or explicitly scope out) the issue-discovery / issue-spam dimension #808 ) (feat(scoring): wire contributor validity floors into score preview (#808) #1284 )
7227f27 feat(signals): delegate isTestFile to test-evidence isTestPath (feat(signals): delegate isTestFile to test-evidence isTestPath #1306 )
839ed47 fix(scoring): truncate per-repo grace_period_hours to int for upstream parity ([Bug]: per-repo scoring.time_decay.grace_period_hours is not truncated to an integer (drifts from upstream resolve_time_decay) #1320 ) (fix(scoring): truncate per-repo grace_period_hours to int for upstream parity #1326 )
c4a5bb8 feat(planning): reward-risk severity taxonomy, opportunity factors, eligibility gap (feat(planning): fold upstream-inspired advisor/scan ideas into gittensory miner planning #816 ) (feat(planning): reward-risk severity taxonomy, opportunity factors, eligibility gap (#816) #1351 )
f4ea1a2 fix(mcp): report real changed line counts for renamed files (fix(mcp): report real changed line counts for renamed files #1379 )
e89c749 feat(mcp): expose maintainer queue-noise triage via gittensory_get_maintainer_noise (feat(mcp): expose maintainer queue-noise triage via gittensory_get_maintainer_noise #1414 )
e21adb2 feat(review): emit structured inline review findings + a review.inline_comments toggle (feat(review): emit structured inline review findings + a review.inline_comments toggle #1525 )
72e9d72 fix(mcp): bound predict gate changed paths (fix(mcp): bound predict-gate changedPaths #1438 )
21f384a fix(mcp): gate maintainer noise behind maintainer access (fix(mcp): gate maintainer-noise behind maintainer approval/write access #1464 )
c732bea fix(signals): preserve segment boundaries for globstar paths (fix(signals): preserve segment boundaries for globstar paths #1426 )
a7d1a1c fix(scoring): harden label glob translation (fix(scoring): harden label glob translation #1450 )
2909063 feat(selfhost): per-repo feature config + all-authors AI review + RAG embed stack (feat(selfhost): per-repo feature config + all-authors AI review + RAG embed stack #1555 )
1c6ce71 feat(review): make the owner-PR close-exemption per-repo configurable (closeOwnerAuthors) (feat(review): make the owner-PR close-exemption per-repo configurable (closeOwnerAuthors) #1556 )
42bfac1 feat(review): per-repo .gittensory.yml review.instructions for grounded reviews (feat(review): per-repo .gittensory.yml review.instructions for grounded reviews #1579 )
00cff73 feat(review): per-repo review CLAUDE.md + skill library from the container-private config dir (feat(review): per-repo review CLAUDE.md + skill library from the container-private config dir #1580 )
7010e48 feat(gate): size + guardrail manual-review HOLD in the disposition (advisory-friendly) (feat(gate): size + guardrail manual-review HOLD in the disposition (advisory-friendly) #1584 )
9e6918d feat(gate): dry-run disposition — render the would-be merge/close/manual verdict without enforcing (feat(gate): dry-run disposition — would-be merge/close/manual verdict without enforcing #1588 )
6f8472f fix(review): preserve cached review instructions (fix(review): preserve cached review instructions #1586 )
810ddaf feat(mcp): expose maintainer-lane triage via gittensory_get_maintainer_lane (feat(mcp): expose maintainer-lane triage via gittensory_get_maintainer_lane #1456 )
b6e79f4 feat(review): gate AI close on a calibrated, configurable confidence threshold (feat(review): gate AI close on a calibrated, configurable confidence threshold #1599 )
8644465 feat(mcp): expose repo label-policy audit via gittensory_get_label_audit (feat(mcp): expose repo label-policy audit via gittensory_get_label_audit #1461 )
8817fbc fix(scoring): anchor the draft title pattern to genuine markers (fix(scoring): anchor the draft title pattern to genuine markers #1529 )
007f9ce feat(mcp): let doctor --exit-code gate CI with a non-zero exit on failure (feat(mcp): let doctor --exit-code gate CI with a non-zero exit on failure #1444 )
f516415 feat(mcp): add PowerShell shell completion (feat(mcp): add PowerShell shell completion #1448 )
dcfbaf5 fix(blacklist): add shared/global contributor blacklist (fix(blacklist): add shared/global contributor blacklist #1531 )
040aa18 fix(signals): redact /root/ and forward-slash Windows paths in the manifest public-safe guard (fix(signals): redact /root/ and forward-slash Windows paths in the manifest public-safe guard #1688 )
77f0da1 chore(actions): update github actions to v24.18.0 (chore(actions): update github actions to v24.18.0 #1723 )
2572de5 feat(selfhost): wire Codex reviews and secure observability (feat(selfhost): wire Codex reviews and secure observability #1678 )
43e3f8e fix(signals): preserve repo casing for open PR lookups
59b492b fix(scoring): clamp fixed_base_score and SRC_TOK_SATURATION_SCALE to documented bounds ([Bug]: score preview ignores upstream-documented bounds for fixed_base_score ([0,100]) and SRC_TOK_SATURATION_SCALE ([10,500]) #1744 ) (fix(scoring): clamp fixed_base_score and SRC_TOK_SATURATION_SCALE to documented bounds #1745 )
87af67d fix(signals): redact /var/ paths in the manifest public-safe guard (fix(signals): redact /var/ paths in the manifest public-safe guard #1749 )
2da7c92 feat(mcp): add VS Code host to init-client config (feat(mcp): add VS Code host to init-client config #1770 )
791d95d fix(signals): centralize public local-path redaction across drifted surfaces (fix(signals): centralize public local-path redaction across drifted surfaces #1748 )
a312b1c fix(signals): match configured label globs in config quality and label audit (fix(signals): config quality and label audit treat glob label keys as literal strings #1769 ) (fix(signals): match configured label globs in config quality and label audit (#1769) #1774 )
3f18746 feat(mcp): add cache list to inspect cached decision packs (feat(mcp): add cache list to inspect cached decision packs #1800 )
a675a73 fix(github): reduce rate-limit retry storms (fix(github): reduce rate-limit retry storms #1866 )
f70b409 feat(mcp): suggest the closest command on an unknown command (feat(mcp): suggest the closest command on an unknown command #1868 )
4e34c4b fix(mcp): parseGitRemote accepts trailing-slash GitHub URLs (fix(mcp): parseGitRemote accepts trailing-slash GitHub URLs #1887 )
737e5d7 fix(github): align maintainer digest failing-check detection with readiness classifier (fix(github): align maintainer digest failing-check detection with readiness classifier #1902 )
eb0cb2d fix(signals): count focused validation runs as passing evidence (fix(signals): count focused validation runs as passing evidence #1912 )
fa09b39 fix(mcp): avoid regex slash trimming in remote parsing (fix(mcp): avoid regex slash trimming in remote parsing #1947 )
0f440cf feat(scoring): surface the non-code line cap in the score breakdown (feat(scoring): surface the non-code line cap in the score breakdown #1978 )
feea878 fix(mcp): word-boundary linked-issue closing keywords (fix(mcp): word-boundary linked-issue closing keywords #1988 )
ec131cf fix(mcp): pin gittensory_propose_action to the PR's current head (fix(mcp): pin gittensory_propose_action to the PR current head #2355 )
3eb3a49 fix(mcp): scope the static MCP token to an operator-configured repo allowlist (fix(mcp): scope the static MCP token to an operator-configured repo allowlist #2274 )
043e5c6 fix(mcp): count cypress/e2e and snapshot paths as test files (fix(mcp): count cypress/e2e and snapshot paths as test files #2120 )
6fa9637 feat(scoring): surface the saturated base-score value in the score breakdown (feat(scoring): surface the saturated base-score value in the score breakdown #2356 )
4389690 fix(gate): downgrade readiness gate mode block to advisory (fix(gate): downgrade readiness gate mode block to advisory #2384 )
6ecacec fix(review): mark gate.firstTimeContributorGrace as reserved/inert (fix(review): mark gate.firstTimeContributorGrace as reserved/inert #2411 )
76e9baa fix(agent-actions): distinguish an executor error from a clean accept (fix(agent-actions): distinguish an executor error from a clean accept #2428 )
51d283e fix(config): honor settings.commandAuthorization in .gittensory.yml (fix(config): honor settings.commandAuthorization in .gittensory.yml #2385 )
d464668 refactor(content-lane): remove metagraphed-specific hardcoding from the registry-review engine (refactor(content-lane): remove metagraphed-specific hardcoding from the registry-review engine #2443 )
604e287 fix(mcp): scope GITTENSORY_MCP_TOKEN read access to an operator allowlist (fix(mcp): scope GITTENSORY_MCP_TOKEN read access to an operator allowlist #2464 )
aad5235 feat(settings): add contributorOpenPrCap/contributorOpenIssueCap config (feat(agent-actions): configurable per-contributor open PR/issue cap with auto-close over the limit #2270 ) (feat(settings): add contributorOpenPrCap/contributorOpenIssueCap config (#2270) #2467 )
0288f5f fix(scoring): cap labelPatternToRegExp wildcard groups to prevent ReDoS (fix(scoring): cap labelPatternToRegExp wildcard groups to prevent ReDoS #2482 )
36d01f3 fix(scoring): bound label pattern cache (fix(scoring): bound label-pattern RegExp cache with LRU eviction #2513 )
62d51be feat(agent-actions): auto-close a contributor's PR over the open-PR cap (feat(agent-actions): configurable per-contributor open PR/issue cap with auto-close over the limit #2270 ) (feat(agent-actions): auto-close a contributor's PR over the open-PR cap (#2270) #2479 )
1092bf3 feat(agent-actions): add a review-request nagging cooldown (feat(agent-actions): review-request nagging cooldown — throttle or close on repeated review pings #2463 ) (feat(agent-actions): add a review-request nagging cooldown (#2463) #2530 )
2ca1fb6 fix(decision): match label history against config labels case-insensitively (fix(decision): match label history against config labels case-insensitively #2580 )
3d34fb4 feat(gate): re-check migration-file collisions against live main before merge (feat(gate): re-check migration-file collisions against live main before merge #2550 ) (feat(gate): re-check migration-file collisions against live main before merge (#2550) #2585 )
192d732 fix(config): wire badgeEnabled into the .gittensory.yml manifest parser (fix(config): wire badgeEnabled into the .gittensory.yml manifest parser #2598 )
7d1014e feat(gate): force a fresh rebase + CI recheck immediately before merge when base has advanced (feat(gate): force a fresh rebase + CI recheck immediately before merge when base has advanced #2616 )
a03e8f8 fix(config): parse gate tri-state modes case-insensitively in manifest (fix(config): parse gate tri-state modes case-insensitively in manifest #2612 )
3bee887 feat(mcp): classify supported-but-outdated MCP clients as stale (feat(mcp): classify supported-but-outdated MCP clients as stale #2622 )
0350560 feat(mcp): add lint-pr-text CLI for pre-push PR text checks (feat(mcp): add lint-pr-text CLI for pre-push PR text checks #2623 )
33b4cbf feat(agent-actions): add an account-age throttle for ban-evasion (feat(agent-actions): add an account-age throttle for ban-evasion #2642 )
d4aea8f fix(settings): cap review-nag cooldown (fix(settings): cap review-nag cooldown #2634 )
066398e feat(agent-actions): generalize the review-nag cooldown into a per-command rate limit (feat(agent-actions): generalize the review-nag cooldown into a per-command rate limit #2637 )
c52a69c feat(review): add a security-focused review profile toggle (feat(review): add a security-focused review profile toggle #2675 )
00d1490 feat(gate): add a lockfile-tamper-risk check (feat(gate): add a lockfile-tamper-risk check #2676 )
dc9cbde feat(config): expose dual-AI combine strategy as a per-repo setting (feat(config): expose dual-AI combine strategy as a per-repo setting #2677 )
737da5b feat(mcp): add slop-risk CLI for pre-push slop self-checks (feat(mcp): add slop-risk CLI for pre-push slop self-checks #2655 )
f60a852 fix(signals): classify .mjs/.cjs/.mts/.cts as code and test files (fix(signals): classify .mjs/.cjs/.mts/.cts as code and test files #2665 )
f69aa48 feat(agent-actions): cancel in-flight CI runs when a PR is auto-closed for the contributor cap (feat(agent-actions): cancel in-flight CI runs when a PR is auto-closed for the contributor cap #2662 )
534a67c feat(mcp-cli): add gittensory_find_opportunities to the stdio surface (feat(mcp-cli): add gittensory_find_opportunities to the stdio surface #2694 )
dc90617 feat(gate): add a CLA / license-compatibility gate dimension (feat(gate): add a CLA / license-compatibility gate dimension #2679 )
8d67c4a fix(selfhost): scope label automation for one-shot reviews (fix(selfhost): scope label automation for one-shot reviews #2719 )
f3f70ba feat(miner-plan): add analyze and prepare plan-DAG templates to the shared engine (feat(miner-plan): add analyze and prepare plan-DAG templates to the shared engine #2718 )
73c9de4 fix(selfhost): decouple taxonomy labels from outcome labels (fix(selfhost): decouple taxonomy labels from outcome labels #2735 )
Changed Files
.claude/skills/contributing-to-gittensory/reference.md
.claude/skills/contributing-to-gittensory/SKILL.md
.dockerignore
.env.example
.github/workflows/audit.yml
.github/workflows/ci.yml
.github/workflows/mcp-release-candidate.yml
.github/workflows/mcp-release-watch.yml
.github/workflows/npm-publish.yml
.github/workflows/release-selfhost.yml
.github/workflows/selfhost.yml
.github/workflows/type-label.yml
.github/workflows/ui-deploy.yml
.github/workflows/ui-preview-deploy.yml
.github/workflows/ui-preview.yml
.github/workflows/upstream-contract.yml
.gitignore
.gittensory.yml
.gittensory.yml.example
apps/gittensory-ui/public/openapi.json
apps/gittensory-ui/src/components/site/app-panels/maintainer-settings.tsx
apps/gittensory-ui/src/routes/app.operator.tsx
apps/gittensory-ui/src/routes/docs.beta-onboarding.tsx
apps/gittensory-ui/src/routes/docs.github-app.tsx
apps/gittensory-ui/src/routes/docs.how-reviews-work.tsx
apps/gittensory-ui/src/routes/docs.maintainer-install-trust.tsx
apps/gittensory-ui/src/routes/docs.maintainer-workflow.tsx
apps/gittensory-ui/src/routes/docs.self-hosting-configuration.tsx
apps/gittensory-ui/src/routes/docs.self-hosting-github-app.tsx
apps/gittensory-ui/src/routes/docs.tuning.tsx
config/examples/global.gittensory.yml
config/examples/README.md
config/examples/repo-override.gittensory.yml
CONTRIBUTING.md
docker-compose.yml
Dockerfile
docs/maintainer-byok-ai-review.md
docs/review-configuration.md
docs/self-host/ai-providers.md
docs/self-host/configuration.md
docs/self-host/troubleshooting.md
docs/self-hosting.md
grafana/dashboards/codex-usage.json
grafana/dashboards/gittensory.json
grafana/dashboards/maintainer-reviews.json
grafana/dashboards/resource-hub.json
grafana/provisioning/datasources/sqlite.yml
migrations/0040_manifest_policy_gate.sql
migrations/0042_agent_autonomy.sql
migrations/0043_agent_auto_maintain.sql
migrations/0044_agent_kill_switch.sql
migrations/0055_self_authored_linked_issue_gate_mode.sql
migrations/0059_global_agent_controls.sql
migrations/0072_contributor_blacklist.sql
migrations/0073_blacklist_label.sql
migrations/0075_ai_review_all_authors.sql
migrations/0076_close_owner_authors.sql
migrations/0082_global_contributor_blacklist.sql
migrations/0087_github_rate_limit_admission_key.sql
migrations/0089_contributor_open_caps.sql
migrations/0090_contributor_cap_label.sql
migrations/0090_pull_request_detail_sync_head_sha.sql
migrations/0091_review_nag_cooldown.sql
migrations/0092_pull_request_detail_sync_head_sha.sql
migrations/0093_gate_require_fresh_rebase_window.sql
migrations/0096_account_age_throttle.sql
migrations/0097_command_rate_limit.sql
migrations/0099_contributor_cap_cancel_ci.sql
migrations/0100_review_nag_monitored_mentions.sql
migrations/0101_type_labels_enabled.sql
package-lock.json
package.json
packages/gittensory-engine/src/index.ts
packages/gittensory-engine/src/plan-templates.ts
packages/gittensory-mcp/bin/gittensory-mcp.js
packages/gittensory-mcp/lib/local-branch.js
packages/gittensory-mcp/README.md
scripts/build-selfhost.mjs
scripts/check-migrations.mjs
scripts/deploy-selfhost-prebuilt.sh
scripts/export-grafana-reporting-db.sh
src/api/routes.ts
src/auth/github-oauth.ts
src/auth/rate-limit.ts
src/auth/security.ts
src/config/gittensory-repo-focus-manifest.ts
src/db/migration-collisions.ts
src/db/repositories.ts
src/db/schema.ts
src/env.d.ts
src/github/app.ts
src/github/backfill.ts
src/github/client.ts
src/github/commands.ts
src/github/comments.ts
src/github/labels.ts
src/github/migration-tree.ts
src/github/pr-actions.ts
src/github/public.ts
src/github/rate-limit.ts
src/github/self-authored.ts
src/github/webhook.ts
src/index.ts
src/mcp/local-write-tools.ts
src/mcp/server.ts
src/openapi/schemas.ts
src/openapi/spec.ts
src/orb/oauth.ts
src/queue/dlq.ts
src/queue/processors.ts
src/queue/retryable.ts
src/registry/normalize.ts
src/review/adapters.ts
src/review/ai-notes.ts
src/review/ai-review-cache-input.ts
src/review/check-names.ts
src/review/cla-check.ts
src/review/content-lane-wire.ts
src/review/content-lane/index.ts
src/review/content-lane/orchestrator.ts
src/review/content-lane/registry-logic.ts
src/review/content-lane/spec-resolver.ts
src/review/cutover-gate.ts
src/review/enrichment-wire.ts
src/review/feature-activation.ts
src/review/grounding-wire.ts
src/review/guardrail-config.ts
src/review/linked-issue-hard-rules.ts
src/review/lockfile-tamper.ts
src/review/ops.ts
src/review/pre-merge-checks.ts
src/review/rag-index.ts
src/review/unified-comment-bridge.ts
src/review/unified-comment.ts
src/review/visual/capture.ts
src/review/visual/preview-url.ts
src/rules/advisory.ts
src/rules/predicted-gate.ts
src/scenarios/scenario-summary.ts
src/scoring/model.ts
src/scoring/pending-pr-scenarios.ts
src/scoring/preview.ts
src/selfhost/ai-config.ts
src/selfhost/ai.ts
src/selfhost/audit.ts
src/selfhost/pg-queue.ts
src/selfhost/private-config.ts
src/selfhost/qdrant-vectorize.ts
src/selfhost/queue-common.ts
src/selfhost/redis-cache.ts
src/selfhost/redis-ratelimit.ts
src/selfhost/redis-response-cache.ts
src/selfhost/redis-token-cache.ts
src/selfhost/review-runtime.ts
src/selfhost/sentry.ts
src/selfhost/setup-wizard.ts
src/selfhost/sqlite-queue.ts
src/server.ts
src/services/agent-action-executor.ts
src/services/agent-action-explanation-card.ts
src/services/agent-approval-queue.ts
src/services/agent-orchestrator.ts
src/services/ai-review.ts
src/services/burden-forecast.ts
src/services/contributor-evidence-graph.ts
src/services/contributor-issue-draft.ts
src/services/control-panel-roles.ts
src/services/decision-pack.ts
src/services/draft.ts
src/services/label-audit.ts
src/services/maintainer-activation.ts
src/services/maintainer-lane.ts
src/services/maintainer-noise.ts
src/services/mcp-compatibility.ts
src/services/miner-dashboard-recommendations.ts
src/services/operator-dashboard.ts
src/services/outcome-calibration.ts
src/services/plan-dag.ts
src/services/pr-body-draft.ts
src/services/remediation-plan.ts
src/services/score-breakdown.ts
src/services/weekly-value-report.ts
src/settings/agent-actions.ts
src/settings/agent-execution.ts
src/settings/auto-close-exempt.ts
src/settings/autonomy.ts
src/settings/contributor-blacklist.ts
src/settings/repository-settings.ts
src/signals/change-guardrail.ts
src/signals/contributor-open-pr-monitor.ts
src/signals/engine.ts
src/signals/focus-manifest-loader.ts
src/signals/focus-manifest.ts
src/signals/local-branch.ts
src/signals/local-scorer.ts
src/signals/local-workspace-intelligence.ts
src/signals/redaction.ts
src/signals/reward-risk.ts
src/signals/settings-preview.ts
src/signals/slop.ts
src/signals/test-evidence.ts
src/types.ts
src/upstream/ruleset.ts
test/helpers/d1.ts
test/integration/api.test.ts
test/integration/orb-webhook.test.ts
test/integration/routes-errors.test.ts
test/unit/adapters.test.ts
test/unit/agent-action-executor.test.ts
test/unit/agent-actions.test.ts
test/unit/agent-approval-queue.test.ts
test/unit/agent-execution.test.ts
test/unit/agent-orchestrator.test.ts
test/unit/ai-review-advisory.test.ts
test/unit/ai-review-cache-input.test.ts
test/unit/ai-review-cache.test.ts
test/unit/ai-review.test.ts
test/unit/auth.test.ts
test/unit/auto-close-exempt.test.ts
test/unit/autonomy.test.ts
test/unit/backfill.test.ts
test/unit/burden-forecast.test.ts
test/unit/change-guardrail.test.ts
test/unit/check-migrations-script.test.ts
test/unit/ci-completion-fork-resume.test.ts
test/unit/cla-check.test.ts
test/unit/content-lane-orchestrator.test.ts
test/unit/content-lane-spec-resolver.test.ts
test/unit/content-lane-wire.test.ts
test/unit/contributor-blacklist.test.ts
test/unit/contributor-open-pr-monitor.test.ts
test/unit/control-panel-roles.test.ts
test/unit/cutover-gate.test.ts
test/unit/data-spine.test.ts
test/unit/db-parsers.test.ts
test/unit/db-persistence.test.ts
test/unit/decision-pack.test.ts
test/unit/dlq.test.ts
test/unit/docs-github-app.test.ts
test/unit/enrichment-wire.test.ts
test/unit/feature-activation.test.ts
test/unit/focus-manifest-loader.test.ts
test/unit/focus-manifest.test.ts
test/unit/gate-check-policy.test.ts
test/unit/github-app.test.ts
test/unit/github-client.test.ts
test/unit/github-commands.test.ts
test/unit/github-comments.test.ts
test/unit/github-pr-actions.test.ts
test/unit/github-self-authored.test.ts
test/unit/grounding-wiring.test.ts
test/unit/guardrail-config.test.ts
test/unit/index.test.ts
test/unit/issue-watch.test.ts
test/unit/label-audit.test.ts
test/unit/linked-issue-hard-rules.test.ts
test/unit/local-branch-file-classifiers.test.ts
test/unit/local-branch.test.ts
test/unit/local-scorer.test.ts
test/unit/local-workspace-intelligence.test.ts
test/unit/local-write-tools.test.ts
test/unit/lockfile-tamper-wiring.test.ts
test/unit/lockfile-tamper.test.ts
test/unit/maintainer-activation.test.ts
test/unit/maintainer-lane.test.ts
test/unit/maintainer-noise.test.ts
test/unit/mcp-automation-state.test.ts
test/unit/mcp-check-slop-risk.test.ts
test/unit/mcp-cli-basics.test.ts
test/unit/mcp-cli-doctor.test.ts
test/unit/mcp-cli-find-opportunities.test.ts
test/unit/mcp-cli-lint-pr-text.test.ts
test/unit/mcp-cli-maintain.test.ts
test/unit/mcp-cli-packets.test.ts
test/unit/mcp-cli-slop-risk.test.ts
test/unit/mcp-cli.test.ts
test/unit/mcp-compatibility.test.ts
test/unit/mcp-fleet-analytics.test.ts
test/unit/mcp-output-schemas.test.ts
test/unit/mcp-plan-dag.test.ts
test/unit/mcp-predict-gate.test.ts
test/unit/mcp-run-local-scorer.test.ts
test/unit/mcp-server-telemetry.test.ts
test/unit/mcp-write-tools.test.ts
test/unit/migration-collisions.test.ts
test/unit/migration-tree.test.ts
test/unit/miner-dashboard-recommendations.test.ts
test/unit/open-pr-pressure-scenarios.test.ts
test/unit/operator-dashboard.test.ts
test/unit/ops.test.ts
test/unit/outcome-calibration.test.ts
test/unit/parity-wire.test.ts
test/unit/pending-pr-scenarios.test.ts
test/unit/plan-dag.test.ts
test/unit/plan-templates.test.ts
test/unit/policy-sanitizer.test.ts
test/unit/pr-body-draft.test.ts
test/unit/pre-merge-checks.test.ts
test/unit/predicted-gate.test.ts
test/unit/preview-url.test.ts
test/unit/private-config.test.ts
test/unit/public-safe-manifest-finding.test.ts
test/unit/queue-trends.test.ts
test/unit/queue.test.ts
test/unit/rag-index.test.ts
test/unit/redaction.test.ts
test/unit/registration-readiness.test.ts
test/unit/registry.test.ts
test/unit/remediation-plan.test.ts
test/unit/repo-policy-readiness.test.ts
test/unit/repository-settings-enforcement.test.ts
test/unit/reputation-wiring.test.ts
test/unit/review-adapters.test.ts
test/unit/routes-agent-approval.test.ts
test/unit/routes-ai-byok.test.ts
test/unit/routes-remediation-plan.test.ts
test/unit/rules.test.ts
test/unit/safety.test.ts
test/unit/scenario-summary.test.ts
test/unit/score-breakdown.test.ts
test/unit/scoring.test.ts
test/unit/self-dogfood-registration-pack.test.ts
test/unit/selfhost-ai.test.ts
test/unit/selfhost-config-examples.test.ts
test/unit/selfhost-grafana-reporting.test.ts
test/unit/selfhost-pg-queue.test.ts
test/unit/selfhost-qdrant-vectorize.test.ts
test/unit/selfhost-queue-common.test.ts
test/unit/selfhost-review-runtime.test.ts
test/unit/selfhost-sentry-release.test.ts
test/unit/selfhost-sentry.test.ts
test/unit/selfhost-sqlite-queue.test.ts
test/unit/selftune-readback.test.ts
test/unit/settings-preview.test.ts
test/unit/setup-wizard-docs-parity.test.ts
test/unit/signals-coverage.test.ts
test/unit/signals-v2.test.ts
test/unit/signals.test.ts
test/unit/slop.test.ts
test/unit/support/mcp-cli-harness.ts
test/unit/test-evidence.test.ts
test/unit/unified-comment-bridge.test.ts
test/unit/unified-comment-parity.test.ts
test/unit/unified-comment.test.ts
test/unit/visual-capture.test.ts
test/unit/visual-collapsible.test.ts
test/unit/webhook.test.ts
test/unit/weekly-value-report.test.ts
worker-configuration.d.ts
wrangler.jsonc
Release-Prep Checklist
Summary
An MCP release appears due.
0.7.0mcp-v0.6.00.6.00.6.0152Unreleased MCP-Related Commits
5652d1bfix(mcp): report package version 0.6.0 (fix(mcp): report package version 0.6.0 #751)601ec9cfeat(mcp): gittensory_explain_score_breakdown (feat(mcp): gittensory_explain_score_breakdown #649)950c6e0feat(mcp): gittensory_remediation_plan (feat(mcp): gittensory_remediation_plan #650)e99d427fix(predict-gate): resolve contributor confirmation for gate prediction (fix(predict-gate): resolve contributor confirmation for gate prediction #715)aaeff16fix(scoring): match upstream gittensor constant name + fallback value (fix(scoring): correct constant name + fallback to match upstream values (#806, #807) #815)353a764fix(reliability): authenticate public GitHub profile fetches (fix(reliability): authenticate public GitHub profile fetches (#790) #819)2ff4d71feat(config): expose gate.mergeReadiness + gate.firstTimeContributorGrace in .gittensory.yml (feat(config): expose remaining DB-only gate settings in .gittensory.yml (config-as-code parity) #822) (feat(config): expose gate.mergeReadiness + gate.firstTimeContributorGrace in .gittensory.yml (#822) #826)07d7daefeat(gate): focus-manifest policy as enforceable gate input (feat(github-app): focus-manifest policy as gate input #555) (feat(gate): focus-manifest policy as enforceable gate input (#555) #827)13c042bfeat(agent): autonomy-levels framework (feat(agent): autonomy-levels framework (observe→…→auto) #773) (feat(agent): autonomy-levels framework (#773) #840)965c6aefeat(agent): autoMaintain config block + dashboard (feat(agent): autoMaintain config block (.gittensory.yml + DB + dashboard) #774) (feat(agent): autoMaintain config block + dashboard (#774) #841)27a3ba6feat(agent): kill-switch + dry-run + action audit (feat(agent): action audit log + kill-switch + dry-run/shadow mode #776) (feat(agent): kill-switch + dry-run + action audit (#776) #842)2e06410feat(agent): deterministic local scorer MCP tool (feat(agent): local gittensor-root scorer MCP wrapper #782) (feat(agent): deterministic local scorer MCP tool (#782) #847)32b1e87feat(agent): miner write-tools — local-execution action specs (feat(agent): miner write-tools (open_pr/file_issue/...) — local-executed #780) (feat(agent): miner write-tools — local-execution action specs (#780) #848)e111622feat(agent): multi-step plan DAG tools (feat(agent): multi-step action DAG executor #783) (feat(agent): multi-step plan DAG tools (#783) #849)134b0c3feat(agent): harness adapter — miner-auto-dev profile + driving loop (feat(agent): harness adapter ('connect a Claude/Codex subscription') + driving loop #781) (feat(agent): harness adapter — miner-auto-dev profile + driving loop (#781) #850)90c9a52feat(agent): MCP automation-state read tool (advances feat(agent): automation controls surface (dashboard + CLI + MCP) #784) (feat(agent): MCP automation-state read tool (advances #784) #851)41b1598feat(agent): maintainer CLI controls — maintain status/approve/reject/pause/resume (feat(agent): maintainer CLI controls — maintain status/approve/reject/pause/resume (advances #784) #852)2d443a0feat(agent): CLI set-level + MCP propose-action — non-dashboard feat(agent): automation controls surface (dashboard + CLI + MCP) #784 surfaces (feat(agent): CLI set-level + MCP propose-action — finish the non-dashboard #784 surfaces #854)8bd04cbfix: require live write access for staged actions (fix(mcp): require live write access for staged agent actions #859)a2b7f2bfix: debounce miner dashboard refresh jobs (fix(api): debounce miner dashboard refresh jobs #867)1ed9df1fix(scoring): apply time decay to score breakdown (fix(scoring): inject server-side time decay into score breakdown paths #881)36ba268fix(mcp): redact private preflight workspace signals (fix(mcp): redact private preflight workspace signals #885)42cf7d2fix(scoring): fail closed on branch eligibility (Fail closed on branch eligibility for linked-issue scoring #891)f23e831fix(agent): keep public-safe packets free of private evidence (fix(agent): keep public-safe packets free of private evidence #892)7b9b189fix: keep predicted gate on public manifest (Fix predicted gate public manifest loading #903)f850d7afix(signals): avoid request-time burden forecast scans (fix(signals): avoid request-time burden forecast scans #906)5f10a43fix(preflight): redact private rerun hints from PR packet (fix(preflight): redact private rerun hints from PR packet #907)25b77f1fix(decision-pack): include rejected feedback outcomes (fix(decision-pack): include rejected recommendation feedback #914)2b4f8e6fix(mcp): keep PR body draft taxonomy public-safe (fix(mcp): keep PR body draft taxonomy public-safe #909)f6a7121fix(mcp): count pending approvals accurately (fix(mcp): count pending approvals accurately #878)30d888ffix: cap contributor graph file path loading (fix: cap contributor graph file path loading #894)f023e56fix(security): bound focus manifest ingestion (fix(security): bound focus manifest ingestion #890)d34d021fix: avoid public manifest cache poisoning (fix: avoid public manifest cache poisoning #922)e9cfe0efix(signals): wire open-PR pressure scenarios into the branch scenario summary (feat(scoring): simulate open-pr pressure scenarios #348) (fix(signals): wire open-PR pressure scenarios into the branch scenario summary (#348) #923)b43f01dfeat(scoring): wire issue-discovery/issue-spam scoring constants into engine (feat(scoring): wire issue-discovery/issue-spam scoring constants into engine #835)4d748c4feat(config): audit repository-settings flag enforcement (Fixes feat(config): audit repository-settings flag enforcement #797) (feat(config): audit repository-settings flag enforcement (Fixes #797) #915)1c8975ffeat(mcp): approval-queue control tools — list + decide pending agent actions (feat(agent): automation controls surface (dashboard + CLI + MCP) #784) (feat(mcp): approval-queue control tools — list + decide pending agent actions (#784) #934)8d4d356feat(agent): agent audit feed — surface executed actions + approval decisions (feat(agent): automation controls surface (dashboard + CLI + MCP) #784) (feat(agent): agent audit feed — surface executed actions + approval decisions (#784) #937)ec0b69bfeat(signals): slop signal — generic/empty commit message (feat(signals): slop signal — low-quality commit messages #564) (feat(signals): slop signal — generic/empty commit message (#564) #938)9cbdc6afix(signals): scope open PR pressure count to repo (fix(signals): scope open PR pressure count to repo #939)0eee559feat(signals): slop signal — no linked issue without rationale (feat(signals): slop signal — no linked issue without rationale #562) (feat(signals): slop signal — no linked issue without rationale (#562) #962)afbe222fix(signals): compare local branch repo names case-insensitively (fix(signals): compare local branch repo names case-insensitively #965)334edcdfix(mcp): gate approval queue by repo maintainer scope (fix(mcp): gate approval queue by repo maintainer scope #941)c18d525fix(scoring): wire trusted open issue counts (fix(scoring): wire trusted open issue counts #940)e93c893fix(mcp): include open issue counts in score breakdown (fix(mcp): include open issue counts in score breakdown #971)96f6067fix(scoring): surface snapshot warnings in previews (fix(scoring): surface snapshot warnings in previews #985)38d8641chore(actions): update github actions (chore(actions): update github actions #997)0320221chore(actions): update github actions to v6 (chore(actions): update github actions to v6 #1009)017654fchore(actions): update github actions to v7 (chore(actions): update github actions to v7 #1031)3425026fix(scoring): apply penalty label multipliers instead of flooring to 1 (fix(scoring): apply penalty label multipliers instead of flooring to 1 #1038)f759e88feat(scoring): model upstream review-collateral and non-code caps (Fi… (feat(scoring): model upstream review-collateral and non-code caps (Fi… #1049)549a6c9fix(scoring): cap non-code explicit totals (fix(scoring): cap non-code explicit totals #1102)6cf4b3efix(gate): gate non-confirmed contributors normally (eliminate the manual-review backlog) (fix(gate): gate non-confirmed contributors normally (eliminate the manual-review backlog) #1140)d728e32feat(mcp): expose outcome calibration via gittensory_get_outcome_calibration (feat(mcp): expose outcome calibration via gittensory_get_outcome_calibration #1174)a82f346feat(scoring): add draft-PR awareness to classification and queue health (feat(scoring): add draft-PR awareness to classification and queue health #1189)ad1f2c9fix(mcp): blunt slop oracle score output and add per-actor tool rate-limit (fix(mcp): blunt slop oracle score output and add per-actor tool rate-limit #1194)ff38769feat(gate): add selfAuthoredLinkedIssueGateMode with config-as-code parity (feat(gate): add selfAuthoredLinkedIssueGateMode with config-as-code parity #1198)da8a339feat(agent): DB-backed global kill-switch (instant freeze, no redeploy) (feat(agent): DB-backed global kill-switch (instant freeze, no redeploy) #1243)e6a7597fix(scoring): guard credibility against non-finite stale and unlinked counts (fix(scoring): guard credibility against non-finite stale and unlinked counts #1155)3682974fix(scoring): single-source fallbacks from DEFAULT_SCORING_CONSTANTS (Fixes chore(scoring): single-source fallbacks + drop dead density branch #812) (fix(scoring): single-source fallbacks from DEFAULT_SCORING_CONSTANTS (Fixes #812) #1240)43a2449feat(orb): surface fleet calibration analytics via dashboard + MCP (feat(orb): surface fleet calibration analytics via dashboard + MCP #1268)cc8dc3ffeat(review): add .gittensory.yml review.profile (chill / balanced / assertive) (#review-profile) (feat(review): add .gittensory.yml review.profile (chill / balanced / assertive) #1347)2bdef57feat(review): add .gittensory.yml review.path_instructions (per-path AI review rules) (#review-path-instructions) (feat(review): add .gittensory.yml review.path_instructions (per-path AI review rules) #1350)bd10ca0feat(review): add .gittensory.yml review.exclude_paths (skip files from AI review) (#review-exclude-paths) (feat(review): add .gittensory.yml review.exclude_paths (skip files from AI review) #1353)2028570feat(review): add .gittensory.yml review.pre_merge_checks (deterministic pre-merge assertions) (#review-pre-merge-checks) (feat(review): add .gittensory.yml review.pre_merge_checks (deterministic pre-merge assertions) #1357)940b7c2fix(signals): linear-time manifest glob matcher (ReDoS) + **/ matches root + glob length cap (fix(signals): linear-time manifest glob matcher (ReDoS) +**/matches root + length cap #1366)6138b9efeat(selfhost): add container-private per-repo config dir (feat(selfhost): add container-private per-repo config dir #1390)c89d6b0feat(mcp): predict the manifest path policy + path-gated pre-merge checks via changedPaths (feat(mcp): predict the manifest path policy + path-gated pre-merge checks via changedPaths #1413)880351efix(signals): redact /root/ local paths on the public-safety boundary (fix(signals): redact /root/ local paths on the public-safety boundary #1376)43b0d6cfix(selfhost): protect private policy surfaces (fix(selfhost): protect private policy surfaces #1405)a356441feat(settings): add the per-repo contributor blacklist config layer (feat(anti-abuse): configurable contributor blacklist — auto-label + auto-close banned logins #1425) (feat(settings): add the per-repo contributor blacklist config layer (#1425) #1429)8880369feat(settings): add configurable per-repo blacklistLabel (feat(anti-abuse): configurable contributor blacklist — auto-label + auto-close banned logins #1425) (feat(settings): add configurable per-repo blacklistLabel (#1425) #1430)160557bfix(scoring): match labelMultipliers keys as fnmatch globs ([Bug]: score preview matches labelMultipliers keys exactly, but the validator matches them as fnmatch globs #1273) (fix(scoring): match labelMultipliers keys as fnmatch globs #1277)4e9a1fdfeat(scoring): wire contributor validity floors into score preview (feat(scoring): model (or explicitly scope out) the issue-discovery / issue-spam dimension #808) (feat(scoring): wire contributor validity floors into score preview (#808) #1284)7227f27feat(signals): delegate isTestFile to test-evidence isTestPath (feat(signals): delegate isTestFile to test-evidence isTestPath #1306)839ed47fix(scoring): truncate per-repo grace_period_hours to int for upstream parity ([Bug]: per-repo scoring.time_decay.grace_period_hours is not truncated to an integer (drifts from upstream resolve_time_decay) #1320) (fix(scoring): truncate per-repo grace_period_hours to int for upstream parity #1326)c4a5bb8feat(planning): reward-risk severity taxonomy, opportunity factors, eligibility gap (feat(planning): fold upstream-inspired advisor/scan ideas into gittensory miner planning #816) (feat(planning): reward-risk severity taxonomy, opportunity factors, eligibility gap (#816) #1351)f4ea1a2fix(mcp): report real changed line counts for renamed files (fix(mcp): report real changed line counts for renamed files #1379)e89c749feat(mcp): expose maintainer queue-noise triage via gittensory_get_maintainer_noise (feat(mcp): expose maintainer queue-noise triage via gittensory_get_maintainer_noise #1414)e21adb2feat(review): emit structured inline review findings + a review.inline_comments toggle (feat(review): emit structured inline review findings + a review.inline_comments toggle #1525)72e9d72fix(mcp): bound predict gate changed paths (fix(mcp): bound predict-gate changedPaths #1438)21f384afix(mcp): gate maintainer noise behind maintainer access (fix(mcp): gate maintainer-noise behind maintainer approval/write access #1464)c732beafix(signals): preserve segment boundaries for globstar paths (fix(signals): preserve segment boundaries for globstar paths #1426)a7d1a1cfix(scoring): harden label glob translation (fix(scoring): harden label glob translation #1450)2909063feat(selfhost): per-repo feature config + all-authors AI review + RAG embed stack (feat(selfhost): per-repo feature config + all-authors AI review + RAG embed stack #1555)1c6ce71feat(review): make the owner-PR close-exemption per-repo configurable (closeOwnerAuthors) (feat(review): make the owner-PR close-exemption per-repo configurable (closeOwnerAuthors) #1556)42bfac1feat(review): per-repo .gittensory.yml review.instructions for grounded reviews (feat(review): per-repo .gittensory.yml review.instructions for grounded reviews #1579)00cff73feat(review): per-repo review CLAUDE.md + skill library from the container-private config dir (feat(review): per-repo review CLAUDE.md + skill library from the container-private config dir #1580)7010e48feat(gate): size + guardrail manual-review HOLD in the disposition (advisory-friendly) (feat(gate): size + guardrail manual-review HOLD in the disposition (advisory-friendly) #1584)9e6918dfeat(gate): dry-run disposition — render the would-be merge/close/manual verdict without enforcing (feat(gate): dry-run disposition — would-be merge/close/manual verdict without enforcing #1588)6f8472ffix(review): preserve cached review instructions (fix(review): preserve cached review instructions #1586)810ddaffeat(mcp): expose maintainer-lane triage via gittensory_get_maintainer_lane (feat(mcp): expose maintainer-lane triage via gittensory_get_maintainer_lane #1456)b6e79f4feat(review): gate AI close on a calibrated, configurable confidence threshold (feat(review): gate AI close on a calibrated, configurable confidence threshold #1599)8644465feat(mcp): expose repo label-policy audit via gittensory_get_label_audit (feat(mcp): expose repo label-policy audit via gittensory_get_label_audit #1461)8817fbcfix(scoring): anchor the draft title pattern to genuine markers (fix(scoring): anchor the draft title pattern to genuine markers #1529)007f9cefeat(mcp): let doctor --exit-code gate CI with a non-zero exit on failure (feat(mcp): let doctor --exit-code gate CI with a non-zero exit on failure #1444)f516415feat(mcp): add PowerShell shell completion (feat(mcp): add PowerShell shell completion #1448)dcfbaf5fix(blacklist): add shared/global contributor blacklist (fix(blacklist): add shared/global contributor blacklist #1531)040aa18fix(signals): redact /root/ and forward-slash Windows paths in the manifest public-safe guard (fix(signals): redact /root/ and forward-slash Windows paths in the manifest public-safe guard #1688)77f0da1chore(actions): update github actions to v24.18.0 (chore(actions): update github actions to v24.18.0 #1723)2572de5feat(selfhost): wire Codex reviews and secure observability (feat(selfhost): wire Codex reviews and secure observability #1678)43e3f8efix(signals): preserve repo casing for open PR lookups59b492bfix(scoring): clamp fixed_base_score and SRC_TOK_SATURATION_SCALE to documented bounds ([Bug]: score preview ignores upstream-documented bounds for fixed_base_score ([0,100]) and SRC_TOK_SATURATION_SCALE ([10,500]) #1744) (fix(scoring): clamp fixed_base_score and SRC_TOK_SATURATION_SCALE to documented bounds #1745)87af67dfix(signals): redact /var/ paths in the manifest public-safe guard (fix(signals): redact /var/ paths in the manifest public-safe guard #1749)2da7c92feat(mcp): add VS Code host to init-client config (feat(mcp): add VS Code host to init-client config #1770)791d95dfix(signals): centralize public local-path redaction across drifted surfaces (fix(signals): centralize public local-path redaction across drifted surfaces #1748)a312b1cfix(signals): match configured label globs in config quality and label audit (fix(signals): config quality and label audit treat glob label keys as literal strings #1769) (fix(signals): match configured label globs in config quality and label audit (#1769) #1774)3f18746feat(mcp): add cache list to inspect cached decision packs (feat(mcp): add cache list to inspect cached decision packs #1800)a675a73fix(github): reduce rate-limit retry storms (fix(github): reduce rate-limit retry storms #1866)f70b409feat(mcp): suggest the closest command on an unknown command (feat(mcp): suggest the closest command on an unknown command #1868)4e34c4bfix(mcp): parseGitRemote accepts trailing-slash GitHub URLs (fix(mcp): parseGitRemote accepts trailing-slash GitHub URLs #1887)737e5d7fix(github): align maintainer digest failing-check detection with readiness classifier (fix(github): align maintainer digest failing-check detection with readiness classifier #1902)eb0cb2dfix(signals): count focused validation runs as passing evidence (fix(signals): count focused validation runs as passing evidence #1912)fa09b39fix(mcp): avoid regex slash trimming in remote parsing (fix(mcp): avoid regex slash trimming in remote parsing #1947)0f440cffeat(scoring): surface the non-code line cap in the score breakdown (feat(scoring): surface the non-code line cap in the score breakdown #1978)feea878fix(mcp): word-boundary linked-issue closing keywords (fix(mcp): word-boundary linked-issue closing keywords #1988)ec131cffix(mcp): pin gittensory_propose_action to the PR's current head (fix(mcp): pin gittensory_propose_action to the PR current head #2355)3eb3a49fix(mcp): scope the static MCP token to an operator-configured repo allowlist (fix(mcp): scope the static MCP token to an operator-configured repo allowlist #2274)043e5c6fix(mcp): count cypress/e2e and snapshot paths as test files (fix(mcp): count cypress/e2e and snapshot paths as test files #2120)6fa9637feat(scoring): surface the saturated base-score value in the score breakdown (feat(scoring): surface the saturated base-score value in the score breakdown #2356)4389690fix(gate): downgrade readiness gate mode block to advisory (fix(gate): downgrade readiness gate mode block to advisory #2384)6ecacecfix(review): mark gate.firstTimeContributorGrace as reserved/inert (fix(review): mark gate.firstTimeContributorGrace as reserved/inert #2411)76e9baafix(agent-actions): distinguish an executor error from a clean accept (fix(agent-actions): distinguish an executor error from a clean accept #2428)51d283efix(config): honor settings.commandAuthorization in .gittensory.yml (fix(config): honor settings.commandAuthorization in .gittensory.yml #2385)d464668refactor(content-lane): remove metagraphed-specific hardcoding from the registry-review engine (refactor(content-lane): remove metagraphed-specific hardcoding from the registry-review engine #2443)604e287fix(mcp): scope GITTENSORY_MCP_TOKEN read access to an operator allowlist (fix(mcp): scope GITTENSORY_MCP_TOKEN read access to an operator allowlist #2464)aad5235feat(settings): add contributorOpenPrCap/contributorOpenIssueCap config (feat(agent-actions): configurable per-contributor open PR/issue cap with auto-close over the limit #2270) (feat(settings): add contributorOpenPrCap/contributorOpenIssueCap config (#2270) #2467)0288f5ffix(scoring): cap labelPatternToRegExp wildcard groups to prevent ReDoS (fix(scoring): cap labelPatternToRegExp wildcard groups to prevent ReDoS #2482)36d01f3fix(scoring): bound label pattern cache (fix(scoring): bound label-pattern RegExp cache with LRU eviction #2513)62d51befeat(agent-actions): auto-close a contributor's PR over the open-PR cap (feat(agent-actions): configurable per-contributor open PR/issue cap with auto-close over the limit #2270) (feat(agent-actions): auto-close a contributor's PR over the open-PR cap (#2270) #2479)1092bf3feat(agent-actions): add a review-request nagging cooldown (feat(agent-actions): review-request nagging cooldown — throttle or close on repeated review pings #2463) (feat(agent-actions): add a review-request nagging cooldown (#2463) #2530)2ca1fb6fix(decision): match label history against config labels case-insensitively (fix(decision): match label history against config labels case-insensitively #2580)3d34fb4feat(gate): re-check migration-file collisions against live main before merge (feat(gate): re-check migration-file collisions against live main before merge #2550) (feat(gate): re-check migration-file collisions against live main before merge (#2550) #2585)192d732fix(config): wire badgeEnabled into the .gittensory.yml manifest parser (fix(config): wire badgeEnabled into the .gittensory.yml manifest parser #2598)7d1014efeat(gate): force a fresh rebase + CI recheck immediately before merge when base has advanced (feat(gate): force a fresh rebase + CI recheck immediately before merge when base has advanced #2616)a03e8f8fix(config): parse gate tri-state modes case-insensitively in manifest (fix(config): parse gate tri-state modes case-insensitively in manifest #2612)3bee887feat(mcp): classify supported-but-outdated MCP clients as stale (feat(mcp): classify supported-but-outdated MCP clients as stale #2622)0350560feat(mcp): add lint-pr-text CLI for pre-push PR text checks (feat(mcp): add lint-pr-text CLI for pre-push PR text checks #2623)33b4cbffeat(agent-actions): add an account-age throttle for ban-evasion (feat(agent-actions): add an account-age throttle for ban-evasion #2642)d4aea8ffix(settings): cap review-nag cooldown (fix(settings): cap review-nag cooldown #2634)066398efeat(agent-actions): generalize the review-nag cooldown into a per-command rate limit (feat(agent-actions): generalize the review-nag cooldown into a per-command rate limit #2637)c52a69cfeat(review): add a security-focused review profile toggle (feat(review): add a security-focused review profile toggle #2675)00d1490feat(gate): add a lockfile-tamper-risk check (feat(gate): add a lockfile-tamper-risk check #2676)dc9cbdefeat(config): expose dual-AI combine strategy as a per-repo setting (feat(config): expose dual-AI combine strategy as a per-repo setting #2677)737da5bfeat(mcp): add slop-risk CLI for pre-push slop self-checks (feat(mcp): add slop-risk CLI for pre-push slop self-checks #2655)f60a852fix(signals): classify .mjs/.cjs/.mts/.cts as code and test files (fix(signals): classify .mjs/.cjs/.mts/.cts as code and test files #2665)f69aa48feat(agent-actions): cancel in-flight CI runs when a PR is auto-closed for the contributor cap (feat(agent-actions): cancel in-flight CI runs when a PR is auto-closed for the contributor cap #2662)534a67cfeat(mcp-cli): add gittensory_find_opportunities to the stdio surface (feat(mcp-cli): add gittensory_find_opportunities to the stdio surface #2694)dc90617feat(gate): add a CLA / license-compatibility gate dimension (feat(gate): add a CLA / license-compatibility gate dimension #2679)8d67c4afix(selfhost): scope label automation for one-shot reviews (fix(selfhost): scope label automation for one-shot reviews #2719)f3f70bafeat(miner-plan): add analyze and prepare plan-DAG templates to the shared engine (feat(miner-plan): add analyze and prepare plan-DAG templates to the shared engine #2718)73c9de4fix(selfhost): decouple taxonomy labels from outcome labels (fix(selfhost): decouple taxonomy labels from outcome labels #2735)Changed Files
.claude/skills/contributing-to-gittensory/reference.md.claude/skills/contributing-to-gittensory/SKILL.md.dockerignore.env.example.github/workflows/audit.yml.github/workflows/ci.yml.github/workflows/mcp-release-candidate.yml.github/workflows/mcp-release-watch.yml.github/workflows/npm-publish.yml.github/workflows/release-selfhost.yml.github/workflows/selfhost.yml.github/workflows/type-label.yml.github/workflows/ui-deploy.yml.github/workflows/ui-preview-deploy.yml.github/workflows/ui-preview.yml.github/workflows/upstream-contract.yml.gitignore.gittensory.yml.gittensory.yml.exampleapps/gittensory-ui/public/openapi.jsonapps/gittensory-ui/src/components/site/app-panels/maintainer-settings.tsxapps/gittensory-ui/src/routes/app.operator.tsxapps/gittensory-ui/src/routes/docs.beta-onboarding.tsxapps/gittensory-ui/src/routes/docs.github-app.tsxapps/gittensory-ui/src/routes/docs.how-reviews-work.tsxapps/gittensory-ui/src/routes/docs.maintainer-install-trust.tsxapps/gittensory-ui/src/routes/docs.maintainer-workflow.tsxapps/gittensory-ui/src/routes/docs.self-hosting-configuration.tsxapps/gittensory-ui/src/routes/docs.self-hosting-github-app.tsxapps/gittensory-ui/src/routes/docs.tuning.tsxconfig/examples/global.gittensory.ymlconfig/examples/README.mdconfig/examples/repo-override.gittensory.ymlCONTRIBUTING.mddocker-compose.ymlDockerfiledocs/maintainer-byok-ai-review.mddocs/review-configuration.mddocs/self-host/ai-providers.mddocs/self-host/configuration.mddocs/self-host/troubleshooting.mddocs/self-hosting.mdgrafana/dashboards/codex-usage.jsongrafana/dashboards/gittensory.jsongrafana/dashboards/maintainer-reviews.jsongrafana/dashboards/resource-hub.jsongrafana/provisioning/datasources/sqlite.ymlmigrations/0040_manifest_policy_gate.sqlmigrations/0042_agent_autonomy.sqlmigrations/0043_agent_auto_maintain.sqlmigrations/0044_agent_kill_switch.sqlmigrations/0055_self_authored_linked_issue_gate_mode.sqlmigrations/0059_global_agent_controls.sqlmigrations/0072_contributor_blacklist.sqlmigrations/0073_blacklist_label.sqlmigrations/0075_ai_review_all_authors.sqlmigrations/0076_close_owner_authors.sqlmigrations/0082_global_contributor_blacklist.sqlmigrations/0087_github_rate_limit_admission_key.sqlmigrations/0089_contributor_open_caps.sqlmigrations/0090_contributor_cap_label.sqlmigrations/0090_pull_request_detail_sync_head_sha.sqlmigrations/0091_review_nag_cooldown.sqlmigrations/0092_pull_request_detail_sync_head_sha.sqlmigrations/0093_gate_require_fresh_rebase_window.sqlmigrations/0096_account_age_throttle.sqlmigrations/0097_command_rate_limit.sqlmigrations/0099_contributor_cap_cancel_ci.sqlmigrations/0100_review_nag_monitored_mentions.sqlmigrations/0101_type_labels_enabled.sqlpackage-lock.jsonpackage.jsonpackages/gittensory-engine/src/index.tspackages/gittensory-engine/src/plan-templates.tspackages/gittensory-mcp/bin/gittensory-mcp.jspackages/gittensory-mcp/lib/local-branch.jspackages/gittensory-mcp/README.mdscripts/build-selfhost.mjsscripts/check-migrations.mjsscripts/deploy-selfhost-prebuilt.shscripts/export-grafana-reporting-db.shsrc/api/routes.tssrc/auth/github-oauth.tssrc/auth/rate-limit.tssrc/auth/security.tssrc/config/gittensory-repo-focus-manifest.tssrc/db/migration-collisions.tssrc/db/repositories.tssrc/db/schema.tssrc/env.d.tssrc/github/app.tssrc/github/backfill.tssrc/github/client.tssrc/github/commands.tssrc/github/comments.tssrc/github/labels.tssrc/github/migration-tree.tssrc/github/pr-actions.tssrc/github/public.tssrc/github/rate-limit.tssrc/github/self-authored.tssrc/github/webhook.tssrc/index.tssrc/mcp/local-write-tools.tssrc/mcp/server.tssrc/openapi/schemas.tssrc/openapi/spec.tssrc/orb/oauth.tssrc/queue/dlq.tssrc/queue/processors.tssrc/queue/retryable.tssrc/registry/normalize.tssrc/review/adapters.tssrc/review/ai-notes.tssrc/review/ai-review-cache-input.tssrc/review/check-names.tssrc/review/cla-check.tssrc/review/content-lane-wire.tssrc/review/content-lane/index.tssrc/review/content-lane/orchestrator.tssrc/review/content-lane/registry-logic.tssrc/review/content-lane/spec-resolver.tssrc/review/cutover-gate.tssrc/review/enrichment-wire.tssrc/review/feature-activation.tssrc/review/grounding-wire.tssrc/review/guardrail-config.tssrc/review/linked-issue-hard-rules.tssrc/review/lockfile-tamper.tssrc/review/ops.tssrc/review/pre-merge-checks.tssrc/review/rag-index.tssrc/review/unified-comment-bridge.tssrc/review/unified-comment.tssrc/review/visual/capture.tssrc/review/visual/preview-url.tssrc/rules/advisory.tssrc/rules/predicted-gate.tssrc/scenarios/scenario-summary.tssrc/scoring/model.tssrc/scoring/pending-pr-scenarios.tssrc/scoring/preview.tssrc/selfhost/ai-config.tssrc/selfhost/ai.tssrc/selfhost/audit.tssrc/selfhost/pg-queue.tssrc/selfhost/private-config.tssrc/selfhost/qdrant-vectorize.tssrc/selfhost/queue-common.tssrc/selfhost/redis-cache.tssrc/selfhost/redis-ratelimit.tssrc/selfhost/redis-response-cache.tssrc/selfhost/redis-token-cache.tssrc/selfhost/review-runtime.tssrc/selfhost/sentry.tssrc/selfhost/setup-wizard.tssrc/selfhost/sqlite-queue.tssrc/server.tssrc/services/agent-action-executor.tssrc/services/agent-action-explanation-card.tssrc/services/agent-approval-queue.tssrc/services/agent-orchestrator.tssrc/services/ai-review.tssrc/services/burden-forecast.tssrc/services/contributor-evidence-graph.tssrc/services/contributor-issue-draft.tssrc/services/control-panel-roles.tssrc/services/decision-pack.tssrc/services/draft.tssrc/services/label-audit.tssrc/services/maintainer-activation.tssrc/services/maintainer-lane.tssrc/services/maintainer-noise.tssrc/services/mcp-compatibility.tssrc/services/miner-dashboard-recommendations.tssrc/services/operator-dashboard.tssrc/services/outcome-calibration.tssrc/services/plan-dag.tssrc/services/pr-body-draft.tssrc/services/remediation-plan.tssrc/services/score-breakdown.tssrc/services/weekly-value-report.tssrc/settings/agent-actions.tssrc/settings/agent-execution.tssrc/settings/auto-close-exempt.tssrc/settings/autonomy.tssrc/settings/contributor-blacklist.tssrc/settings/repository-settings.tssrc/signals/change-guardrail.tssrc/signals/contributor-open-pr-monitor.tssrc/signals/engine.tssrc/signals/focus-manifest-loader.tssrc/signals/focus-manifest.tssrc/signals/local-branch.tssrc/signals/local-scorer.tssrc/signals/local-workspace-intelligence.tssrc/signals/redaction.tssrc/signals/reward-risk.tssrc/signals/settings-preview.tssrc/signals/slop.tssrc/signals/test-evidence.tssrc/types.tssrc/upstream/ruleset.tstest/helpers/d1.tstest/integration/api.test.tstest/integration/orb-webhook.test.tstest/integration/routes-errors.test.tstest/unit/adapters.test.tstest/unit/agent-action-executor.test.tstest/unit/agent-actions.test.tstest/unit/agent-approval-queue.test.tstest/unit/agent-execution.test.tstest/unit/agent-orchestrator.test.tstest/unit/ai-review-advisory.test.tstest/unit/ai-review-cache-input.test.tstest/unit/ai-review-cache.test.tstest/unit/ai-review.test.tstest/unit/auth.test.tstest/unit/auto-close-exempt.test.tstest/unit/autonomy.test.tstest/unit/backfill.test.tstest/unit/burden-forecast.test.tstest/unit/change-guardrail.test.tstest/unit/check-migrations-script.test.tstest/unit/ci-completion-fork-resume.test.tstest/unit/cla-check.test.tstest/unit/content-lane-orchestrator.test.tstest/unit/content-lane-spec-resolver.test.tstest/unit/content-lane-wire.test.tstest/unit/contributor-blacklist.test.tstest/unit/contributor-open-pr-monitor.test.tstest/unit/control-panel-roles.test.tstest/unit/cutover-gate.test.tstest/unit/data-spine.test.tstest/unit/db-parsers.test.tstest/unit/db-persistence.test.tstest/unit/decision-pack.test.tstest/unit/dlq.test.tstest/unit/docs-github-app.test.tstest/unit/enrichment-wire.test.tstest/unit/feature-activation.test.tstest/unit/focus-manifest-loader.test.tstest/unit/focus-manifest.test.tstest/unit/gate-check-policy.test.tstest/unit/github-app.test.tstest/unit/github-client.test.tstest/unit/github-commands.test.tstest/unit/github-comments.test.tstest/unit/github-pr-actions.test.tstest/unit/github-self-authored.test.tstest/unit/grounding-wiring.test.tstest/unit/guardrail-config.test.tstest/unit/index.test.tstest/unit/issue-watch.test.tstest/unit/label-audit.test.tstest/unit/linked-issue-hard-rules.test.tstest/unit/local-branch-file-classifiers.test.tstest/unit/local-branch.test.tstest/unit/local-scorer.test.tstest/unit/local-workspace-intelligence.test.tstest/unit/local-write-tools.test.tstest/unit/lockfile-tamper-wiring.test.tstest/unit/lockfile-tamper.test.tstest/unit/maintainer-activation.test.tstest/unit/maintainer-lane.test.tstest/unit/maintainer-noise.test.tstest/unit/mcp-automation-state.test.tstest/unit/mcp-check-slop-risk.test.tstest/unit/mcp-cli-basics.test.tstest/unit/mcp-cli-doctor.test.tstest/unit/mcp-cli-find-opportunities.test.tstest/unit/mcp-cli-lint-pr-text.test.tstest/unit/mcp-cli-maintain.test.tstest/unit/mcp-cli-packets.test.tstest/unit/mcp-cli-slop-risk.test.tstest/unit/mcp-cli.test.tstest/unit/mcp-compatibility.test.tstest/unit/mcp-fleet-analytics.test.tstest/unit/mcp-output-schemas.test.tstest/unit/mcp-plan-dag.test.tstest/unit/mcp-predict-gate.test.tstest/unit/mcp-run-local-scorer.test.tstest/unit/mcp-server-telemetry.test.tstest/unit/mcp-write-tools.test.tstest/unit/migration-collisions.test.tstest/unit/migration-tree.test.tstest/unit/miner-dashboard-recommendations.test.tstest/unit/open-pr-pressure-scenarios.test.tstest/unit/operator-dashboard.test.tstest/unit/ops.test.tstest/unit/outcome-calibration.test.tstest/unit/parity-wire.test.tstest/unit/pending-pr-scenarios.test.tstest/unit/plan-dag.test.tstest/unit/plan-templates.test.tstest/unit/policy-sanitizer.test.tstest/unit/pr-body-draft.test.tstest/unit/pre-merge-checks.test.tstest/unit/predicted-gate.test.tstest/unit/preview-url.test.tstest/unit/private-config.test.tstest/unit/public-safe-manifest-finding.test.tstest/unit/queue-trends.test.tstest/unit/queue.test.tstest/unit/rag-index.test.tstest/unit/redaction.test.tstest/unit/registration-readiness.test.tstest/unit/registry.test.tstest/unit/remediation-plan.test.tstest/unit/repo-policy-readiness.test.tstest/unit/repository-settings-enforcement.test.tstest/unit/reputation-wiring.test.tstest/unit/review-adapters.test.tstest/unit/routes-agent-approval.test.tstest/unit/routes-ai-byok.test.tstest/unit/routes-remediation-plan.test.tstest/unit/rules.test.tstest/unit/safety.test.tstest/unit/scenario-summary.test.tstest/unit/score-breakdown.test.tstest/unit/scoring.test.tstest/unit/self-dogfood-registration-pack.test.tstest/unit/selfhost-ai.test.tstest/unit/selfhost-config-examples.test.tstest/unit/selfhost-grafana-reporting.test.tstest/unit/selfhost-pg-queue.test.tstest/unit/selfhost-qdrant-vectorize.test.tstest/unit/selfhost-queue-common.test.tstest/unit/selfhost-review-runtime.test.tstest/unit/selfhost-sentry-release.test.tstest/unit/selfhost-sentry.test.tstest/unit/selfhost-sqlite-queue.test.tstest/unit/selftune-readback.test.tstest/unit/settings-preview.test.tstest/unit/setup-wizard-docs-parity.test.tstest/unit/signals-coverage.test.tstest/unit/signals-v2.test.tstest/unit/signals.test.tstest/unit/slop.test.tstest/unit/support/mcp-cli-harness.tstest/unit/test-evidence.test.tstest/unit/unified-comment-bridge.test.tstest/unit/unified-comment-parity.test.tstest/unit/unified-comment.test.tstest/unit/visual-capture.test.tstest/unit/visual-collapsible.test.tstest/unit/webhook.test.tstest/unit/weekly-value-report.test.tsworker-configuration.d.tswrangler.jsoncRelease-Prep Checklist
packages/gittensory-mcp/package.jsonto0.7.0packageVersionconstant to0.7.00.7.0packages/gittensory-mcp/CHANGELOG.mdwith amcp-v0.7.0sectionnpm run build:mcpnpm run test:mcp-packnpm run changelog:check:mcpnpm run actionlintnpm run test:release:mcpmcp-v0.7.0