Summary
An MCP release appears due.
Proposed version: 0.7.0
Latest MCP tag: none
npm latest: 0.7.0
MCP package version in repo: 0.7.0
Unreleased MCP-related commits: 382
Unreleased MCP-Related Commits
c5ff6e4 feat(signals): expose MCP and PR intelligence
a613357 feat(docs): add install site and mcp diagnostics
cd6ffb3 feat(scoring): add situational score projections
217c36a fix(docs): use Gittensor screenshot in homepage hero (fix(docs): use Gittensor screenshot in homepage hero JSONbored/loopover#11 )
4ebd662 feat(agent): add deterministic base-agent orchestrator (feat(agent): add deterministic base-agent orchestrator JSONbored/loopover#14 )
17ea1e9 fix(deploy): use first-level api domain
e54856c fix(mcp): ignore stale beta api origins
638e311 feat(agent): make next-action recommendations repo-specific (feat(agent): make next-action recommendations repo-specific JSONbored/loopover#30 )
256eeba feat(mcp): detect stale installs and API compatibility in doctor and status (feat(mcp): detect stale installs and API compatibility in doctor and status JSONbored/loopover#28 )
d644288 feat(agent): serve stale decision packs with freshness marker and background rebuild (feat(agent): serve stale decision packs with freshness marker and background rebuild JSONbored/loopover#26 )
3ace069 feat(preflight): generate public-safe pr packets (feat(preflight): generate public-safe pr packets JSONbored/loopover#53 )
08f4116 feat(mcp): harden local scorer adapter setup (feat(mcp): harden local scorer adapter setup JSONbored/loopover#27 )
a60fb38 fix(ci): isolate release write token (fix(ci): isolate GitHub write token to release job JSONbored/loopover#60 )
8e714a7 feat(scoring): derive observed pending PR scenarios (feat(scoring): derive observed pending PR scenarios JSONbored/loopover#57 )
fd6e841 fix(mcp): keep repo root out of API payloads (fix(mcp): keep repo root out of API payloads JSONbored/loopover#59 )
e8a7c3d fix: block snake case private PR packet signals (fix: block snake_case private signals in PR packets JSONbored/loopover#66 )
6e26ffe feat(signals): wire burden forecast through intelligence + MCP with freshness (feat(signals): wire burden forecast through intelligence + MCP with freshness JSONbored/loopover#61 )
be39bef feat(signals): wire issue quality reports through snapshot + REST + MCP + opportunities (feat(signals): wire issue quality reports through snapshot + REST + MCP + opportunities JSONbored/loopover#56 )
678c9c5 fix(agent): keep public commands repo-scoped (fix(agent): keep public commands repo-scoped JSONbored/loopover#77 )
faadcca fix: restrict session access to private advisory data (fix: restrict session access to private advisory data JSONbored/loopover#78 )
4a5b6ee feat(scoring): support exponential saturation previews (feat(scoring): support exponential saturation previews JSONbored/loopover#120 )
6e47928 feat(mcp): parse validation command summaries (feat(mcp): parse validation command summaries JSONbored/loopover#121 )
b640cb9 feat(mcp): add current-branch GitHub status hints (feat(mcp): add current-branch GitHub status hints JSONbored/loopover#122 )
e1a18ad feat(data): add contributor reconciliation reports (feat(data): add contributor reconciliation reports JSONbored/loopover#123 )
2dda59e fix(scoring): exclude closed PRs from open pressure cleanup (fix(scoring): exclude closed PRs from open pressure cleanup JSONbored/loopover#125 )
0425b18 feat(sync): add upstream ruleset drift tracking (feat(sync): add upstream ruleset drift tracking JSONbored/loopover#126 )
0270896 fix: bound current-branch check lookups (fix: bound current-branch check lookups JSONbored/loopover#154 )
a8775ba feat(bounties): add lifecycle watcher signals (feat(bounties): add lifecycle watcher signals JSONbored/loopover#29 )
4d47f8b docs(ci): add coverage buffer and contributor test-quality guidance (docs(ci): add coverage buffer and contributor test-quality guidance JSONbored/loopover#55 )
7337e2b feat(mcp): add local workspace intelligence v2 (feat(mcp): add local workspace intelligence v2 JSONbored/loopover#70 )
e8a5ea2 feat(agent): monitor open PRs and wire into decision packs (feat(agent): monitor open PRs and wire into decision packs JSONbored/loopover#72 )
7c01797 feat(scoring): validate linked issue multiplier (feat(scoring): validate linked issue multiplier eligibility JSONbored/loopover#179 )
2ddc20c Fix saturation-model contribution bonus capped at 5 instead of 25 (Fix saturation-model contribution bonus capped at 5 instead of MAX_CONTRIBUTION_BONUS (25) JSONbored/loopover#181 )
84ff302 feat(auth): classify control-panel roles (feat(auth): classify control-panel roles JSONbored/loopover#189 )
49ec4a2 feat(analytics): add privacy-safe usage event spine (feat(analytics): add privacy-safe usage event spine JSONbored/loopover#182 )
40c019c feat(analytics): track MCP compatibility adoption (feat(analytics): track MCP compatibility adoption JSONbored/loopover#185 )
0915ef1 feat(config): ingest maintainer focus manifests for repo-specific guidance (feat(config): ingest maintainer focus manifests for repo-specific guidance JSONbored/loopover#191 )
66bd066 feat(outcomes): learn accepted and rejected PR patterns by repo (feat(outcomes): learn accepted and rejected PR patterns by repo JSONbored/loopover#75 )
dfdb2c4 fix: bound local scorer warning diagnostics (fix: bound local scorer warning diagnostics JSONbored/loopover#210 )
07d4edf fix(agent): scope open PR monitor public actions (fix(agent): scope open PR monitor public actions JSONbored/loopover#208 )
a9ecf3f fix(security): keep maintainer notes out of branch guidance (fix(security): omit private maintainer notes from branch guidance JSONbored/loopover#213 )
a776b23 feat(scoring): model branch eligibility for issue PRs (feat(scoring): model branch eligibility for issue PRs JSONbored/loopover#178 )
da087f8 feat(agent): add recommendation confidence provenance (feat(agent): add recommendation confidence provenance JSONbored/loopover#226 )
bcf14e9 feat: add contributor evidence graph (feat: add contributor evidence graph JSONbored/loopover#218 )
02058ad Fix pending-PR projection double-counting merge-ready PRs (Fix pending-PR projection double-counting merge-ready PRs JSONbored/loopover#222 )
5c0360f fix(mcp): surface npm latest across ui (fix(mcp): surface npm latest across ui JSONbored/loopover#258 )
bf45d0c feat(mcp): cache last-good decision packs (feat(mcp): cache last-good decision packs JSONbored/loopover#266 )
a26727a feat(agent): add risk-adjusted action portfolio (feat(agent): add risk-adjusted action portfolio JSONbored/loopover#219 )
e9a5cf1 fix(mcp): scope decision-pack cache to auth token (fix(mcp): scope decision-pack cache to auth token JSONbored/loopover#314 )
e493647 feat(signals): summarize repo tradeoffs (feat(signals): summarize repo tradeoffs JSONbored/loopover#323 )
5abc9c5 feat(mcp): add multi-account profile support (feat(mcp): add multi-account profile support JSONbored/loopover#263 )
25ef987 feat: add agent action explanation cards (feat: add agent action explanation cards JSONbored/loopover#232 )
3eff615 feat(agent): add recommendation outcome feedback (feat(agent): add recommendation outcome feedback JSONbored/loopover#229 )
de669a8 fix(mcp): remove default profile session cleanly (fix(mcp): remove default profile session cleanly JSONbored/loopover#327 )
f9a11c9 feat(agent): add duplicate and stale-work scenario blockers (feat(agent): add duplicate and stale-work scenario blockers JSONbored/loopover#346 )
d29c897 feat(mcp): add structured output schemas for existing tools (feat(mcp): add structured output schemas for existing tools JSONbored/loopover#344 )
957ec83 feat(mcp): add miner planning prompts (feat(mcp): add miner planning prompts JSONbored/loopover#342 )
f6edb0a feat(settings): define focus-manifest policy schema (feat(settings): define focus-manifest policy schema JSONbored/loopover#339 )
dadf052 feat(analytics): persist recommendation outcome events (feat(analytics): persist recommendation outcome events JSONbored/loopover#334 )
a5331b1 feat(analytics): persist privacy-safe role on product usage events (feat(analytics): persist privacy-safe role on product usage events JSONbored/loopover#355 )
430976f feat(agent): feed aggregate outcome quality into confidence (feat(agent): feed aggregate outcome quality into confidence JSONbored/loopover#332 )
a580e2b feat(mcp): add version command and clearer unknown-command guidance (feat(mcp): add version command and clearer unknown-command guidance JSONbored/loopover#333 )
ecb379b fix(mcp): align registry changes output schema (fix(mcp): align registry changes output schema JSONbored/loopover#366 )
3004049 feat(mcp): add roots-aware workspace detection (feat(mcp): add roots-aware workspace detection JSONbored/loopover#364 )
c7a1d16 feat(mcp): add safe planning elicitation (feat(mcp): add safe planning elicitation JSONbored/loopover#371 )
268a38c feat(agent): add recommendation snapshot ids (feat(agent): add recommendation snapshot ids JSONbored/loopover#374 )
f201246 feat(agent): add counterfactual reasons (feat(agent): add counterfactual reasons to decision snapshots JSONbored/loopover#361 )
2d722c2 feat(mcp): add native resources, prompts, and structured output schemas (feat(mcp): add native resources, prompts, and structured output schemas JSONbored/loopover#360 )
98f03f1 feat(signals): add queue pressure trend windows (feat(signals): add queue pressure trend windows JSONbored/loopover#368 )
0b1e413 feat(mcp): add public-safe PR body drafting command (feat(mcp): add public-safe PR body drafting command JSONbored/loopover#382 )
2973624 feat(mcp): add shell completion command for bash, zsh, and fish (feat(mcp): add shell completion command for bash, zsh, and fish JSONbored/loopover#400 )
014841a fix(mcp): enforce workspace roots for structured local status
56c0367 fix(mcp): include completion command in shell completions
e299ccd feat(mcp): group doctor onboarding checks (feat(mcp): group doctor onboarding checks JSONbored/loopover#421 )
0b14f3e feat(mcp): add config command reporting resolved configuration provenance (feat(mcp): add config command reporting resolved configuration provenance JSONbored/loopover#335 )
e685db0 feat(settings): derive contribution lanes from focus manifests (feat(settings): derive contribution lanes from focus manifests JSONbored/loopover#337 )
7aa1409 fix(mcp): shell-quote doctor next commands (fix(mcp): shell-quote doctor next commands JSONbored/loopover#439 )
f37fabc fix(mcp): report source upload env in config (fix(mcp): report source upload env in config JSONbored/loopover#441 )
2460ccb feat(settings): wire policy compiler into registration readiness (feat(settings): wire policy compiler into registration readiness JSONbored/loopover#350 )
4239009 feat(signals): add contribution policy snapshot API (feat(signals): add contribution policy snapshot API JSONbored/loopover#369 )
15da91e fix(decision-pack): clamp lane shares to match preview math (fix(decision-pack): clamp lane shares to match preview math JSONbored/loopover#453 )
b637b51 fix(scoring): base open-PR threshold on merged history only (fix(scoring): base open-PR threshold on merged history only JSONbored/loopover#455 )
f329ab0 fix(auth): scope issue-quality reports to repo access (fix(auth): scope issue-quality reports to repo access JSONbored/loopover#483 )
556520d fix(auth): scope MCP repo access (fix(auth): scope MCP repository access JSONbored/loopover#484 )
5e8c757 fix(mcp): preserve HTTP status for non-JSON errors (fix(mcp): preserve HTTP status for non-JSON errors JSONbored/loopover#489 )
0910a17 fix: keep repo outcome patterns private (fix(comments): keep repo outcome patterns out of public duplicate checks JSONbored/loopover#493 )
0122c73 fix(security): bound focus manifest ingestion (fix(security): bound focus manifest ingestion JSONbored/loopover#494 )
75ed5f0 fix(preflight): bound duplicate detection inputs (fix(preflight): bound duplicate detection inputs JSONbored/loopover#497 )
6724337 fix(scoring): require solved-by-PR evidence for linked issues (fix(scoring): require solved-by-PR evidence for linked issues JSONbored/loopover#506 )
9a03a9e fix(cli): reject prototype agent profile names (fix(cli): reject prototype agent profile names JSONbored/loopover#507 )
ba3fde4 fix(mcp): include config in completions (fix(mcp): include config command in shell completions JSONbored/loopover#509 )
156533e fix(scoring): wire duplicate risk preview input (fix(scoring): wire duplicate risk preview input JSONbored/loopover#512 )
6f55381 fix(signals): redact windows home paths in public PR packets (fix(signals): redact windows home paths in public PR packets JSONbored/loopover#514 )
a656e2e feat(config): add Gittensory repo focus manifest (feat(config): add Gittensory repo focus manifest JSONbored/loopover#118 ) (feat(config): add Gittensory repo focus manifest JSONbored/loopover#389 )
0a2fa54 fix(signals): subject over-long manifest entries to dedup and list cap (fix(signals): subject over-long manifest entries to dedup and list cap JSONbored/loopover#524 )
6054be3 feat(agent): render public-safe scenario summaries (feat(agent): render public-safe scenario summaries JSONbored/loopover#416 )
2371715 feat(signals): add missing test evidence slop signal (feat(signals): slop signal — missing test evidence JSONbored/loopover#616 )
2b40a48 feat(mcp): gittensory_validate_linked_issue linked-issue multiplier validator (feat(mcp): gittensory_validate_linked_issue JSONbored/loopover#622 )
7206486 feat(mcp): gittensory_check_before_start pre-start duplicate/solvability check (feat(mcp): gittensory_check_before_start (pre-start duplicate/solvability check) JSONbored/loopover#621 )
fc2b657 fix: bound local branch scenario inputs (fix(api): bound local branch scenario inputs JSONbored/loopover#614 )
6e5757b feat(github): authoritative .gittensory.yml gate config (config-as-code) (feat(github): authoritative .gittensory.yml gate config (config-as-code) JSONbored/loopover#647 )
dab0ce4 feat(ai-review): dual-AI maintainer review + BYOK (Phase C) (feat(ai-review): dual-AI maintainer review + BYOK (Phase C) JSONbored/loopover#652 )
b9bab40 feat(ai-review): config-as-code provider/model + maintainer self-serve BYOK routes (feat(ai-review): config-as-code provider/model + maintainer self-serve BYOK (backend, closes #662) JSONbored/loopover#664 )
04f7fbc feat(notifications): event→subscription→delivery service + MCP badge feed (closes feat(types): add review field to GitHubWebhookPayload JSONbored/loopover#536 , advances feat(notifications): event-to-subscription-to-delivery service JSONbored/loopover#535 ) (feat(notifications): event→subscription→delivery service + MCP badge feed (closes #536, advances #535) JSONbored/loopover#707 )
8505348 feat(gate): policy-pack-pluggable gate — gittensor + oss-anti-slop packs (policy-pack-pluggable gate (gittensor + oss-anti-slop packs) JSONbored/loopover#692 ) (feat(gate): policy-pack-pluggable gate — gittensor + oss-anti-slop packs (#692) JSONbored/loopover#710 )
ffe2417 feat(mcp): agent-native pre-submission self-check as a general product (agent-native pre-submission self-check as a general product JSONbored/loopover#693 ) (feat(mcp): agent-native pre-submission self-check as a general product (#693) JSONbored/loopover#712 )
0b21920 feat(funnel): surface the earn-on-Gittensor path for oss-anti-slop adopters (funnel: non-gittensor adopter → gittensor contributor JSONbored/loopover#694 ) (feat(funnel): surface the earn-on-Gittensor path for oss-anti-slop adopters (#694) JSONbored/loopover#713 )
0ea3e0b feat(notifications): miner-facing post-merge reward & outcome attribution (miner-facing post-merge reward & outcome attribution JSONbored/loopover#702 ) (feat(notifications): miner-facing post-merge reward & outcome attribution (#702) JSONbored/loopover#714 )
ab97fd2 feat(slop): wire + modernize the deterministic slop score into the gate, context & MCP (feat(signals): deterministic slop-assessment core JSONbored/loopover#530 /feat(mcp): gittensory_check_slop_risk tool + real-vs-slop rubric JSONbored/loopover#531 /feat(github-app): slop gate mode + check surfacing JSONbored/loopover#532 ) (feat(slop): wire + modernize the deterministic slop score into the gate, context & MCP (#530/#531/#532) JSONbored/loopover#716 )
57d1a9f fix: harden manifest public-safe filter (fix: harden manifest public-safe filter JSONbored/loopover#659 )
d2c0e74 fix(mcp): enforce repo scope for gate prediction (fix(mcp): enforce repo scope for gate prediction JSONbored/loopover#717 )
cea76c0 fix(notifications): bound mark-read ids (Fix notification mark-read ID bounds JSONbored/loopover#718 )
32c72b7 feat(slop): AI-assisted advisory slop layer (advisory-only, never blocks) (feat(slop): AI-assisted advisory slop layer (advisory-only, never blocks) JSONbored/loopover#724 )
30526d7 feat(slop): issue-side slop triage (feat(github-app): issue-side slop triage JSONbored/loopover#533 ) (feat(slop): issue-side slop triage (#533) JSONbored/loopover#729 )
c217f17 feat(scoring): model upstream time-decay, applied behind a default-off flag (implement upstream TIME_DECAY_* scoring dimension (deferred; owner-reviewed) JSONbored/loopover#703 ) (feat(scoring): upstream time-decay, behind a default-off flag (#703) JSONbored/loopover#731 )
408dc5a feat(mcp): gittensory_lint_pr_text commit/PR-body rubric linter (feat(mcp): gittensory_lint_pr_text (commit/PR-body rubric linter) JSONbored/loopover#634 )
c00d3cb feat(scoring): per-repo time-decay hyperparameters + go live (implement upstream TIME_DECAY_* scoring dimension (deferred; owner-reviewed) JSONbored/loopover#703 ) (feat(scoring): per-repo time-decay hyperparameters + go live (#703) JSONbored/loopover#733 )
df71554 feat(notifications): active issue-watch monitor — gittensory_watch_issues (issue-watch: multiplier-aware new-issue monitoring for miners (gittensory_watch_issues) JSONbored/loopover#699 path B) (feat(notifications): active issue-watch monitor — gittensory_watch_issues (#699 path B) JSONbored/loopover#735 )
3ca950a chore(mcp): add outputSchema to every tool that lacks it (chore(mcp): add outputSchema to every tool that lacks it JSONbored/loopover#637 )
32e22a7 fix(issue-watch): visibility-aware access gate for subscriptions + fan-out (fix(issue-watch): visibility-aware access gate for subscriptions + fan-out JSONbored/loopover#742 )
c3bbb4b refactor(signals): shared public-safe redaction module (refactor(signals): shared public-safe redaction module JSONbored/loopover#542 ) (refactor(signals): shared public-safe redaction module (#542) JSONbored/loopover#743 )
0a37e40 feat(mcp): slop self-check tools + release @jsonbored/gittensory-mcp v0.6.0 (feat(mcp): slop self-check tools + release @jsonbored/gittensory-mcp v0.6.0 JSONbored/loopover#745 )
5652d1b fix(mcp): report package version 0.6.0 (fix(mcp): report package version 0.6.0 JSONbored/loopover#751 )
601ec9c feat(mcp): gittensory_explain_score_breakdown (feat(mcp): gittensory_explain_score_breakdown JSONbored/loopover#649 )
950c6e0 feat(mcp): gittensory_remediation_plan (feat(mcp): gittensory_remediation_plan JSONbored/loopover#650 )
e99d427 fix(predict-gate): resolve contributor confirmation for gate prediction (fix(predict-gate): resolve contributor confirmation for gate prediction JSONbored/loopover#715 )
aaeff16 fix(scoring): match upstream gittensor constant name + fallback value (fix(scoring): correct constant name + fallback to match upstream values (#806, #807) JSONbored/loopover#815 )
353a764 fix(reliability): authenticate public GitHub profile fetches (fix(reliability): authenticate public GitHub profile fetches (#790) JSONbored/loopover#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) JSONbored/loopover#822 ) (feat(config): expose gate.mergeReadiness + gate.firstTimeContributorGrace in .gittensory.yml (#822) JSONbored/loopover#826 )
07d7dae feat(gate): focus-manifest policy as enforceable gate input (feat(github-app): focus-manifest policy as gate input JSONbored/loopover#555 ) (feat(gate): focus-manifest policy as enforceable gate input (#555) JSONbored/loopover#827 )
13c042b feat(agent): autonomy-levels framework (feat(agent): autonomy-levels framework (observe→…→auto) JSONbored/loopover#773 ) (feat(agent): autonomy-levels framework (#773) JSONbored/loopover#840 )
965c6ae feat(agent): autoMaintain config block + dashboard (feat(agent): autoMaintain config block (.gittensory.yml + DB + dashboard) JSONbored/loopover#774 ) (feat(agent): autoMaintain config block + dashboard (#774) JSONbored/loopover#841 )
27a3ba6 feat(agent): kill-switch + dry-run + action audit (feat(agent): action audit log + kill-switch + dry-run/shadow mode JSONbored/loopover#776 ) (feat(agent): kill-switch + dry-run + action audit (#776) JSONbored/loopover#842 )
2e06410 feat(agent): deterministic local scorer MCP tool (feat(agent): local gittensor-root scorer MCP wrapper JSONbored/loopover#782 ) (feat(agent): deterministic local scorer MCP tool (#782) JSONbored/loopover#847 )
32b1e87 feat(agent): miner write-tools — local-execution action specs (feat(agent): miner write-tools (open_pr/file_issue/...) — local-executed JSONbored/loopover#780 ) (feat(agent): miner write-tools — local-execution action specs (#780) JSONbored/loopover#848 )
e111622 feat(agent): multi-step plan DAG tools (feat(agent): multi-step action DAG executor JSONbored/loopover#783 ) (feat(agent): multi-step plan DAG tools (#783) JSONbored/loopover#849 )
134b0c3 feat(agent): harness adapter — miner-auto-dev profile + driving loop (feat(agent): harness adapter ('connect a Claude/Codex subscription') + driving loop JSONbored/loopover#781 ) (feat(agent): harness adapter — miner-auto-dev profile + driving loop (#781) JSONbored/loopover#850 )
90c9a52 feat(agent): MCP automation-state read tool (advances feat(agent): automation controls surface (dashboard + CLI + MCP) JSONbored/loopover#784 ) (feat(agent): MCP automation-state read tool (advances #784) JSONbored/loopover#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) JSONbored/loopover#852 )
2d443a0 feat(agent): CLI set-level + MCP propose-action — non-dashboard feat(agent): automation controls surface (dashboard + CLI + MCP) JSONbored/loopover#784 surfaces (feat(agent): CLI set-level + MCP propose-action — finish the non-dashboard #784 surfaces JSONbored/loopover#854 )
8bd04cb fix: require live write access for staged actions (fix(mcp): require live write access for staged agent actions JSONbored/loopover#859 )
a2b7f2b fix: debounce miner dashboard refresh jobs (fix(api): debounce miner dashboard refresh jobs JSONbored/loopover#867 )
1ed9df1 fix(scoring): apply time decay to score breakdown (fix(scoring): inject server-side time decay into score breakdown paths JSONbored/loopover#881 )
36ba268 fix(mcp): redact private preflight workspace signals (fix(mcp): redact private preflight workspace signals JSONbored/loopover#885 )
42cf7d2 fix(scoring): fail closed on branch eligibility (Fail closed on branch eligibility for linked-issue scoring JSONbored/loopover#891 )
f23e831 fix(agent): keep public-safe packets free of private evidence (fix(agent): keep public-safe packets free of private evidence JSONbored/loopover#892 )
7b9b189 fix: keep predicted gate on public manifest (Fix predicted gate public manifest loading JSONbored/loopover#903 )
f850d7a fix(signals): avoid request-time burden forecast scans (fix(signals): avoid request-time burden forecast scans JSONbored/loopover#906 )
5f10a43 fix(preflight): redact private rerun hints from PR packet (fix(preflight): redact private rerun hints from PR packet JSONbored/loopover#907 )
25b77f1 fix(decision-pack): include rejected feedback outcomes (fix(decision-pack): include rejected recommendation feedback JSONbored/loopover#914 )
2b4f8e6 fix(mcp): keep PR body draft taxonomy public-safe (fix(mcp): keep PR body draft taxonomy public-safe JSONbored/loopover#909 )
f6a7121 fix(mcp): count pending approvals accurately (fix(mcp): count pending approvals accurately JSONbored/loopover#878 )
30d888f fix: cap contributor graph file path loading (fix: cap contributor graph file path loading JSONbored/loopover#894 )
f023e56 fix(security): bound focus manifest ingestion (fix(security): bound focus manifest ingestion JSONbored/loopover#890 )
d34d021 fix: avoid public manifest cache poisoning (fix: avoid public manifest cache poisoning JSONbored/loopover#922 )
e9cfe0e fix(signals): wire open-PR pressure scenarios into the branch scenario summary (feat(scoring): simulate open-pr pressure scenarios JSONbored/loopover#348 ) (fix(signals): wire open-PR pressure scenarios into the branch scenario summary (#348) JSONbored/loopover#923 )
b43f01d feat(scoring): wire issue-discovery/issue-spam scoring constants into engine (feat(scoring): wire issue-discovery/issue-spam scoring constants into engine JSONbored/loopover#835 )
4d748c4 feat(config): audit repository-settings flag enforcement (Fixes feat(config): audit repository-settings flag enforcement JSONbored/loopover#797 ) (feat(config): audit repository-settings flag enforcement (Fixes #797) JSONbored/loopover#915 )
1c8975f feat(mcp): approval-queue control tools — list + decide pending agent actions (feat(agent): automation controls surface (dashboard + CLI + MCP) JSONbored/loopover#784 ) (feat(mcp): approval-queue control tools — list + decide pending agent actions (#784) JSONbored/loopover#934 )
8d4d356 feat(agent): agent audit feed — surface executed actions + approval decisions (feat(agent): automation controls surface (dashboard + CLI + MCP) JSONbored/loopover#784 ) (feat(agent): agent audit feed — surface executed actions + approval decisions (#784) JSONbored/loopover#937 )
ec0b69b feat(signals): slop signal — generic/empty commit message (feat(signals): slop signal — low-quality commit messages JSONbored/loopover#564 ) (feat(signals): slop signal — generic/empty commit message (#564) JSONbored/loopover#938 )
9cbdc6a fix(signals): scope open PR pressure count to repo (fix(signals): scope open PR pressure count to repo JSONbored/loopover#939 )
0eee559 feat(signals): slop signal — no linked issue without rationale (feat(signals): slop signal — no linked issue without rationale JSONbored/loopover#562 ) (feat(signals): slop signal — no linked issue without rationale (#562) JSONbored/loopover#962 )
afbe222 fix(signals): compare local branch repo names case-insensitively (fix(signals): compare local branch repo names case-insensitively JSONbored/loopover#965 )
334edcd fix(mcp): gate approval queue by repo maintainer scope (fix(mcp): gate approval queue by repo maintainer scope JSONbored/loopover#941 )
c18d525 fix(scoring): wire trusted open issue counts (fix(scoring): wire trusted open issue counts JSONbored/loopover#940 )
e93c893 fix(mcp): include open issue counts in score breakdown (fix(mcp): include open issue counts in score breakdown JSONbored/loopover#971 )
96f6067 fix(scoring): surface snapshot warnings in previews (fix(scoring): surface snapshot warnings in previews JSONbored/loopover#985 )
38d8641 chore(actions): update github actions (chore(actions): update github actions JSONbored/loopover#997 )
0320221 chore(actions): update github actions to v6 (chore(actions): update github actions to v6 JSONbored/loopover#1009 )
017654f chore(actions): update github actions to v7 (chore(actions): update github actions to v7 JSONbored/loopover#1031 )
3425026 fix(scoring): apply penalty label multipliers instead of flooring to 1 (fix(scoring): apply penalty label multipliers instead of flooring to 1 JSONbored/loopover#1038 )
f759e88 feat(scoring): model upstream review-collateral and non-code caps (Fi… (feat(scoring): model upstream review-collateral and non-code caps (Fi… JSONbored/loopover#1049 )
549a6c9 fix(scoring): cap non-code explicit totals (fix(scoring): cap non-code explicit totals JSONbored/loopover#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) JSONbored/loopover#1140 )
d728e32 feat(mcp): expose outcome calibration via gittensory_get_outcome_calibration (feat(mcp): expose outcome calibration via gittensory_get_outcome_calibration JSONbored/loopover#1174 )
a82f346 feat(scoring): add draft-PR awareness to classification and queue health (feat(scoring): add draft-PR awareness to classification and queue health JSONbored/loopover#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 JSONbored/loopover#1194 )
ff38769 feat(gate): add selfAuthoredLinkedIssueGateMode with config-as-code parity (feat(gate): add selfAuthoredLinkedIssueGateMode with config-as-code parity JSONbored/loopover#1198 )
da8a339 feat(agent): DB-backed global kill-switch (instant freeze, no redeploy) (feat(agent): DB-backed global kill-switch (instant freeze, no redeploy) JSONbored/loopover#1243 )
e6a7597 fix(scoring): guard credibility against non-finite stale and unlinked counts (fix(scoring): guard credibility against non-finite stale and unlinked counts JSONbored/loopover#1155 )
3682974 fix(scoring): single-source fallbacks from DEFAULT_SCORING_CONSTANTS (Fixes chore(scoring): single-source fallbacks + drop dead density branch JSONbored/loopover#812 ) (fix(scoring): single-source fallbacks from DEFAULT_SCORING_CONSTANTS (Fixes #812) JSONbored/loopover#1240 )
43a2449 feat(orb): surface fleet calibration analytics via dashboard + MCP (feat(orb): surface fleet calibration analytics via dashboard + MCP JSONbored/loopover#1268 )
cc8dc3f feat(review): add .gittensory.yml review.profile (chill / balanced / assertive) (#review-profile) (feat(review): add .gittensory.yml review.profile (chill / balanced / assertive) JSONbored/loopover#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) JSONbored/loopover#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) JSONbored/loopover#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) JSONbored/loopover#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 JSONbored/loopover#1366 )
6138b9e feat(selfhost): add container-private per-repo config dir (feat(selfhost): add container-private per-repo config dir JSONbored/loopover#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 JSONbored/loopover#1413 )
880351e fix(signals): redact /root/ local paths on the public-safety boundary (fix(signals): redact /root/ local paths on the public-safety boundary JSONbored/loopover#1376 )
43b0d6c fix(selfhost): protect private policy surfaces (fix(selfhost): protect private policy surfaces JSONbored/loopover#1405 )
a356441 feat(settings): add the per-repo contributor blacklist config layer (feat(anti-abuse): configurable contributor blacklist — auto-label + auto-close banned logins JSONbored/loopover#1425 ) (feat(settings): add the per-repo contributor blacklist config layer (#1425) JSONbored/loopover#1429 )
8880369 feat(settings): add configurable per-repo blacklistLabel (feat(anti-abuse): configurable contributor blacklist — auto-label + auto-close banned logins JSONbored/loopover#1425 ) (feat(settings): add configurable per-repo blacklistLabel (#1425) JSONbored/loopover#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 JSONbored/loopover#1273 ) (fix(scoring): match labelMultipliers keys as fnmatch globs JSONbored/loopover#1277 )
4e9a1fd feat(scoring): wire contributor validity floors into score preview (feat(scoring): model (or explicitly scope out) the issue-discovery / issue-spam dimension JSONbored/loopover#808 ) (feat(scoring): wire contributor validity floors into score preview (#808) JSONbored/loopover#1284 )
7227f27 feat(signals): delegate isTestFile to test-evidence isTestPath (feat(signals): delegate isTestFile to test-evidence isTestPath JSONbored/loopover#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) JSONbored/loopover#1320 ) (fix(scoring): truncate per-repo grace_period_hours to int for upstream parity JSONbored/loopover#1326 )
c4a5bb8 feat(planning): reward-risk severity taxonomy, opportunity factors, eligibility gap (feat(planning): fold upstream-inspired advisor/scan ideas into gittensory miner planning JSONbored/loopover#816 ) (feat(planning): reward-risk severity taxonomy, opportunity factors, eligibility gap (#816) JSONbored/loopover#1351 )
f4ea1a2 fix(mcp): report real changed line counts for renamed files (fix(mcp): report real changed line counts for renamed files JSONbored/loopover#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 JSONbored/loopover#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 JSONbored/loopover#1525 )
72e9d72 fix(mcp): bound predict gate changed paths (fix(mcp): bound predict-gate changedPaths JSONbored/loopover#1438 )
21f384a fix(mcp): gate maintainer noise behind maintainer access (fix(mcp): gate maintainer-noise behind maintainer approval/write access JSONbored/loopover#1464 )
c732bea fix(signals): preserve segment boundaries for globstar paths (fix(signals): preserve segment boundaries for globstar paths JSONbored/loopover#1426 )
a7d1a1c fix(scoring): harden label glob translation (fix(scoring): harden label glob translation JSONbored/loopover#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 JSONbored/loopover#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) JSONbored/loopover#1556 )
42bfac1 feat(review): per-repo .gittensory.yml review.instructions for grounded reviews (feat(review): per-repo .gittensory.yml review.instructions for grounded reviews JSONbored/loopover#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 JSONbored/loopover#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) JSONbored/loopover#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 JSONbored/loopover#1588 )
6f8472f fix(review): preserve cached review instructions (fix(review): preserve cached review instructions JSONbored/loopover#1586 )
810ddaf feat(mcp): expose maintainer-lane triage via gittensory_get_maintainer_lane (feat(mcp): expose maintainer-lane triage via gittensory_get_maintainer_lane JSONbored/loopover#1456 )
b6e79f4 feat(review): gate AI close on a calibrated, configurable confidence threshold (feat(review): gate AI close on a calibrated, configurable confidence threshold JSONbored/loopover#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 JSONbored/loopover#1461 )
8817fbc fix(scoring): anchor the draft title pattern to genuine markers (fix(scoring): anchor the draft title pattern to genuine markers JSONbored/loopover#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 JSONbored/loopover#1444 )
f516415 feat(mcp): add PowerShell shell completion (feat(mcp): add PowerShell shell completion JSONbored/loopover#1448 )
dcfbaf5 fix(blacklist): add shared/global contributor blacklist (fix(blacklist): add shared/global contributor blacklist JSONbored/loopover#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 JSONbored/loopover#1688 )
77f0da1 chore(actions): update github actions to v24.18.0 (chore(actions): update github actions to v24.18.0 JSONbored/loopover#1723 )
2572de5 feat(selfhost): wire Codex reviews and secure observability (feat(selfhost): wire Codex reviews and secure observability JSONbored/loopover#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]) JSONbored/loopover#1744 ) (fix(scoring): clamp fixed_base_score and SRC_TOK_SATURATION_SCALE to documented bounds JSONbored/loopover#1745 )
87af67d fix(signals): redact /var/ paths in the manifest public-safe guard (fix(signals): redact /var/ paths in the manifest public-safe guard JSONbored/loopover#1749 )
2da7c92 feat(mcp): add VS Code host to init-client config (feat(mcp): add VS Code host to init-client config JSONbored/loopover#1770 )
791d95d fix(signals): centralize public local-path redaction across drifted surfaces (fix(signals): centralize public local-path redaction across drifted surfaces JSONbored/loopover#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 JSONbored/loopover#1769 ) (fix(signals): match configured label globs in config quality and label audit (#1769) JSONbored/loopover#1774 )
3f18746 feat(mcp): add cache list to inspect cached decision packs (feat(mcp): add cache list to inspect cached decision packs JSONbored/loopover#1800 )
a675a73 fix(github): reduce rate-limit retry storms (fix(github): reduce rate-limit retry storms JSONbored/loopover#1866 )
f70b409 feat(mcp): suggest the closest command on an unknown command (feat(mcp): suggest the closest command on an unknown command JSONbored/loopover#1868 )
4e34c4b fix(mcp): parseGitRemote accepts trailing-slash GitHub URLs (fix(mcp): parseGitRemote accepts trailing-slash GitHub URLs JSONbored/loopover#1887 )
737e5d7 fix(github): align maintainer digest failing-check detection with readiness classifier (fix(github): align maintainer digest failing-check detection with readiness classifier JSONbored/loopover#1902 )
eb0cb2d fix(signals): count focused validation runs as passing evidence (fix(signals): count focused validation runs as passing evidence JSONbored/loopover#1912 )
fa09b39 fix(mcp): avoid regex slash trimming in remote parsing (fix(mcp): avoid regex slash trimming in remote parsing JSONbored/loopover#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 JSONbored/loopover#1978 )
feea878 fix(mcp): word-boundary linked-issue closing keywords (fix(mcp): word-boundary linked-issue closing keywords JSONbored/loopover#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 JSONbored/loopover#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 JSONbored/loopover#2274 )
043e5c6 fix(mcp): count cypress/e2e and snapshot paths as test files (fix(mcp): count cypress/e2e and snapshot paths as test files JSONbored/loopover#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 JSONbored/loopover#2356 )
4389690 fix(gate): downgrade readiness gate mode block to advisory (fix(gate): downgrade readiness gate mode block to advisory JSONbored/loopover#2384 )
6ecacec fix(review): mark gate.firstTimeContributorGrace as reserved/inert (fix(review): mark gate.firstTimeContributorGrace as reserved/inert JSONbored/loopover#2411 )
76e9baa fix(agent-actions): distinguish an executor error from a clean accept (fix(agent-actions): distinguish an executor error from a clean accept JSONbored/loopover#2428 )
51d283e fix(config): honor settings.commandAuthorization in .gittensory.yml (fix(config): honor settings.commandAuthorization in .gittensory.yml JSONbored/loopover#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 JSONbored/loopover#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 JSONbored/loopover#2464 )
aad5235 feat(settings): add contributorOpenPrCap/contributorOpenIssueCap config (feat(agent-actions): configurable per-contributor open PR/issue cap with auto-close over the limit JSONbored/loopover#2270 ) (feat(settings): add contributorOpenPrCap/contributorOpenIssueCap config (#2270) JSONbored/loopover#2467 )
0288f5f fix(scoring): cap labelPatternToRegExp wildcard groups to prevent ReDoS (fix(scoring): cap labelPatternToRegExp wildcard groups to prevent ReDoS JSONbored/loopover#2482 )
36d01f3 fix(scoring): bound label pattern cache (fix(scoring): bound label-pattern RegExp cache with LRU eviction JSONbored/loopover#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 JSONbored/loopover#2270 ) (feat(agent-actions): auto-close a contributor's PR over the open-PR cap (#2270) JSONbored/loopover#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 JSONbored/loopover#2463 ) (feat(agent-actions): add a review-request nagging cooldown (#2463) JSONbored/loopover#2530 )
2ca1fb6 fix(decision): match label history against config labels case-insensitively (fix(decision): match label history against config labels case-insensitively JSONbored/loopover#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 JSONbored/loopover#2550 ) (feat(gate): re-check migration-file collisions against live main before merge (#2550) JSONbored/loopover#2585 )
192d732 fix(config): wire badgeEnabled into the .gittensory.yml manifest parser (fix(config): wire badgeEnabled into the .gittensory.yml manifest parser JSONbored/loopover#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 JSONbored/loopover#2616 )
a03e8f8 fix(config): parse gate tri-state modes case-insensitively in manifest (fix(config): parse gate tri-state modes case-insensitively in manifest JSONbored/loopover#2612 )
3bee887 feat(mcp): classify supported-but-outdated MCP clients as stale (feat(mcp): classify supported-but-outdated MCP clients as stale JSONbored/loopover#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 JSONbored/loopover#2623 )
33b4cbf feat(agent-actions): add an account-age throttle for ban-evasion (feat(agent-actions): add an account-age throttle for ban-evasion JSONbored/loopover#2642 )
d4aea8f fix(settings): cap review-nag cooldown (fix(settings): cap review-nag cooldown JSONbored/loopover#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 JSONbored/loopover#2637 )
c52a69c feat(review): add a security-focused review profile toggle (feat(review): add a security-focused review profile toggle JSONbored/loopover#2675 )
00d1490 feat(gate): add a lockfile-tamper-risk check (feat(gate): add a lockfile-tamper-risk check JSONbored/loopover#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 JSONbored/loopover#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 JSONbored/loopover#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 JSONbored/loopover#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 JSONbored/loopover#2662 )
534a67c feat(mcp-cli): add gittensory_find_opportunities to the stdio surface (feat(mcp-cli): add gittensory_find_opportunities to the stdio surface JSONbored/loopover#2694 )
dc90617 feat(gate): add a CLA / license-compatibility gate dimension (feat(gate): add a CLA / license-compatibility gate dimension JSONbored/loopover#2679 )
8d67c4a fix(selfhost): scope label automation for one-shot reviews (fix(selfhost): scope label automation for one-shot reviews JSONbored/loopover#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 JSONbored/loopover#2718 )
73c9de4 fix(selfhost): decouple taxonomy labels from outcome labels (fix(selfhost): decouple taxonomy labels from outcome labels JSONbored/loopover#2735 )
cce4b32 feat(selfhost): gate priority label on linked-issue label propagation (feat(selfhost): gate priority label on linked-issue label propagation JSONbored/loopover#2750 )
bcb5ce2 fix(signals): derive direct-PR lane preference from public-safe test expectations (fix(signals): derive direct-PR lane preference from public-safe test expectations JSONbored/loopover#2792 )
ce56de9 fix(mcp): re-sync isTestFile with the server isTestPath (pytest prefix + JVM/C#/Swift) (fix(mcp): re-sync isTestFile with the server isTestPath (pytest prefix + JVM/C#/Swift) JSONbored/loopover#2753 )
06f33a7 feat(mcp): add issue-slop CLI for issue-quality self-checks (feat(mcp): add issue-slop CLI for issue-quality self-checks JSONbored/loopover#2772 )
f72bcf0 fix(signals): count C#/Swift/Groovy source as code files (fix(signals): count C#/Swift/Groovy source as code files JSONbored/loopover#2776 )
d0391cf feat(selfhost): add a modular moderation-rules engine with a cross-repo violation ledger (feat(selfhost): add a modular moderation-rules engine with a cross-repo violation ledger JSONbored/loopover#2746 )
4bdcc78 fix(mcp): re-sync score-preview classifiers with the server test/code conventions (fix(mcp): re-sync score-preview classifiers with the server test/code conventions JSONbored/loopover#2822 )
7a448c4 fix(gate): bind CLA checks to trusted app slug (fix(gate): bind CLA check-run detection to trusted GitHub App slug JSONbored/loopover#2815 )
d8801ee fix(selfhost): keep review queue live and verify configured CI (fix(selfhost): keep review queue live and verify configured CI JSONbored/loopover#2843 )
d141364 fix(signals): classify PHP source files as code (fix(signals): classify PHP source files as code JSONbored/loopover#2845 )
c7a8f76 feat(config): add review.enrichment analyzer per-lane toggles (feat(config): add review.enrichment analyzer per-lane toggles JSONbored/loopover#2808 )
5c981d6 feat(review): make orb check publication configurable (feat(review): make orb check publication configurable JSONbored/loopover#2863 )
08ce238 fix(config): route repository-settings reads through the resolver, not the raw DB accessor (fix(config): route repository-settings reads through the resolver, not the raw DB accessor JSONbored/loopover#2920 )
1d3dadd fix(selfhost): make guardrails and review labels configurable (fix(selfhost): make guardrails and review labels configurable JSONbored/loopover#2943 )
cdbd409 fix(scoring): clamp time-decay override params to their documented bounds (implement upstream TIME_DECAY_* scoring dimension (deferred; owner-reviewed) JSONbored/loopover#703 ) (fix(scoring): clamp time-decay override params to their documented bounds (#703) JSONbored/loopover#2948 )
c0b6bee fix(mcp): reuse test matcher for branch summaries (fix(mcp): reuse test matcher for branch summaries JSONbored/loopover#2964 )
4efa833 fix(scoring): keep label classes with a literal dash after a range matchable (fix(scoring): keep label classes with a literal dash after a range matchable JSONbored/loopover#2973 )
d3ea149 fix(mcp): bound lint-pr-text body file reads (fix(mcp): bound lint-pr-text body file reads JSONbored/loopover#2945 )
f13d95c fix(selfhost): make hard guardrails authoritative (fix(selfhost): make hard guardrails authoritative JSONbored/loopover#2974 )
ca8f976 fix(advisory): classify native source for test evidence (fix(advisory): classify native source for test evidence JSONbored/loopover#2979 )
e2dbeb0 fix(review): make guardrail paths config-only (fix(review): make guardrail paths config-only JSONbored/loopover#2981 )
feee775 fix(mcp): order prerelease identifiers by semver precedence (fix(mcp): order prerelease identifiers by semver precedence JSONbored/loopover#3049 )
83a1b50 fix(miner): use precision-safe numeric comparison in the CLI update-check semver comparator (fix(miner): use precision-safe numeric comparison in the CLI update-check semver comparator JSONbored/loopover#3053 )
4e5555e fix(review): tighten reward labels and linked issue gates (fix(review): tighten reward labels and linked issue gates JSONbored/loopover#3067 )
9ab6631 fix(scoring): exempt the maintainer lane from the issue-discovery validity floor (fix(scoring): exempt the maintainer lane from the issue-discovery validity floor JSONbored/loopover#3071 )
824a45b fix(signals): keep focus-areas guidance for the public-safe wanted paths (fix(signals): keep focus-areas guidance for the public-safe wanted paths JSONbored/loopover#3079 )
f26bf1c fix(signals): classify Dart/Flutter *_test.dart files as tests (fix(signals): classify Dart/Flutter *_test.dart files as tests JSONbored/loopover#3092 )
6f7e890 fix(scoring): reject non-positive or non-finite label multipliers before they reach the score formula (fix(scoring): reject non-positive or non-finite label multipliers before they reach the score formula JSONbored/loopover#3124 )
6eaf68a feat(config): add .gittensory.yml surface to enable/scope repo-doc generation (feat(config): add .gittensory.yml surface to enable/scope repo-doc generation JSONbored/loopover#3169 )
568d6b3 feat(selfhost): scheduled + on-demand refresh for repo-doc generation (feat(selfhost): scheduled + on-demand refresh for repo-doc generation JSONbored/loopover#3202 )
aac4c44 fix(mcp): classify PHP preview tests (fix(mcp): classify PHP preview tests JSONbored/loopover#3223 )
c93555f feat(labels): support arbitrary self-host type labels (feat(labels): support arbitrary self-host type labels JSONbored/loopover#3232 )
d48c681 feat(agent): auto-match PRs to open GitHub Milestones in suggest-mode (feat(agent): auto-match PRs to open GitHub Milestones (suggest-mode) JSONbored/loopover#3183 ) (feat(agent): auto-match PRs to open GitHub Milestones in suggest-mode (#3183) JSONbored/loopover#3256 )
cc27827 fix(signals): classify Vue/Svelte/Astro across all code classifiers (fix(signals): classify Vue/Svelte/Astro across all code classifiers JSONbored/loopover#3292 )
14c00f9 fix(signals): classify .cc and .hpp C++ source across all classifiers (fix(signals): classify .cc and .hpp C++ source across all classifiers JSONbored/loopover#3301 )
7df540c feat(agent): add Linear backend for project/milestone matching (feat(agent): add Linear backend for project/milestone matching JSONbored/loopover#3290 )
7e39efa fix(signals): classify Dart source across all code classifiers (fix(signals): classify Dart source across all code classifiers JSONbored/loopover#3316 )
998e8fe fix(review): explain validation and guardrail holds (fix(review): explain validation and guardrail holds JSONbored/loopover#3304 )
8334b1b refactor(signals): extract gate:-to-settings override mapping into its own function (refactor(signals): extract gate:-to-settings override mapping into its own function JSONbored/loopover#3373 )
c860b1f feat(review): add review-evasion protection (feat(review): add review-evasion protection JSONbored/loopover#3414 )
850c767 feat(review): add review.path_filters include/negation globs (feat(config): add review.path_filters include/negation glob knob JSONbored/loopover#2043 ) (feat(review): add review.path_filters include/negation globs (#2043) JSONbored/loopover#3494 )
812efca feat(review): add review.auto_review eligibility filters (Auto-review eligibility filters (skip drafts, bot authors, WIP titles, base-branch scope, auto-pause) JSONbored/loopover#1954 ) (feat(review): add review.auto_review eligibility filters (#1954) JSONbored/loopover#3499 )
53d409f feat(review): add auto_pause_after_reviewed_commits knob (feat(config): add review.auto_review.auto_pause_after_reviewed_commits knob JSONbored/loopover#2042 ) (feat(review): add auto_pause_after_reviewed_commits knob (#2042) JSONbored/loopover#3503 )
cb521d7 feat(review): add review.tone public-safe voice brief knob (feat(config): add review.tone public-safe free-text brief knob JSONbored/loopover#2044 ) (feat(review): add review.tone public-safe voice brief knob (#2044) JSONbored/loopover#3507 )
936fd2a feat(review): skip ignored auto-review authors (feat(review): skip ignored auto-review authors JSONbored/loopover#3508 )
f47f0b3 feat(config): add review.labeling_rules deterministic label suggestions (feat(config): add review.labeling_rules deterministic label suggestions JSONbored/loopover#2045 ) (feat(config): add review.labeling_rules deterministic label suggestions (#2045) JSONbored/loopover#3534 )
9d321f6 feat(review): hold PRs that solve an unlinked open issue (feat(review): hold PRs that solve an unlinked open issue JSONbored/loopover#3513 )
d01b44f feat(selfhost): add per-repo review.ai_model overrides for claude-code/codex (feat(selfhost): add per-repo review.ai_model overrides for claude-code/codex JSONbored/loopover#3570 )
a54441d fix(labels): bound custom type label cleanup (fix(labels): bound custom type label cleanup JSONbored/loopover#3552 )
54aa9a8 feat(review): render AI-suggested fixes as GitHub suggested-change blocks (feat(review): render AI-suggested fixes as GitHub suggested-change blocks JSONbored/loopover#3577 )
97dbae6 feat(review): render a deterministic changed-files summary in the unified comment (Changed-files summary table in the unified review comment JSONbored/loopover#1957 ) (feat(review): render a deterministic changed-files summary in the unified comment JSONbored/loopover#3604 )
87043af feat(review): tag AI review findings with a category taxonomy (Finding category taxonomy on AI review findings JSONbored/loopover#1958 ) (feat(review): tag AI review findings with a category taxonomy JSONbored/loopover#3634 )
cedbba0 feat(review): add per-repo review.visual capture config (feat(review): add per-repo review.visual capture config JSONbored/loopover#3644 )
5096588 feat(config): add review.linkedIssueSatisfaction knob (off/advisory/block, default off) (feat(config): add review.linkedIssueSatisfaction config knob (off/advisory/block, default off) JSONbored/loopover#2173 ) (feat(config): add review.linkedIssueSatisfaction knob (off/advisory/block, default off) (#2173) JSONbored/loopover#3665 )
a9b344e feat(review): add deterministic review-effort chip and wire real per-PR minutes (feat(review): add deterministic review-effort chip and wire real per-PR minutes JSONbored/loopover#3666 )
bdc5870 feat(review): add review.visual.themes config for dark-mode capture (feat(review): add review.visual.themes config for dark-mode capture JSONbored/loopover#3680 )
d333463 feat(review): skip auto-review when a configured label is present via review.auto_review.skip_labels (feat(review): skip auto-review when a configured label is present via review.auto_review.skip_labels JSONbored/loopover#3686 )
525be40 feat(review): skip auto-review of docs-only PRs via review.auto_review.skip_docs_only (feat(review): skip auto-review of docs-only PRs via review.auto_review.skip_docs_only JSONbored/loopover#3690 )
7a6ebab feat(review): size-cap eligibility guard for auto-review via max_added_lines / max_files (feat(review): size-cap eligibility guard for auto-review via review.auto_review.max_added_lines / max_files JSONbored/loopover#3693 )
24e9b4e feat(review): post a quiet "review skipped (reason)" status when auto-review eligibility fails (feat(review): post a quiet "review skipped (reason)" status when auto-review eligibility fails JSONbored/loopover#3694 )
e0b599f fix(review): clamp visual route capture limit (fix(review): clamp visual route capture limit JSONbored/loopover#3697 )
af0c3c0 fix(signals): move isTestFile/isCodeFile out of local-branch.ts to unbreak ui:typecheck (fix(signals): move isTestFile/isCodeFile out of local-branch.ts to unbreak ui:typecheck JSONbored/loopover#3709 )
1baaece feat(review): add scroll-through GIF evidence capture ((stretch) Short-clip/GIF evidence capture for non-static-visible changes JSONbored/loopover#3612 ) (feat(review): add scroll-through GIF evidence capture JSONbored/loopover#3688 )
3218df3 feat(review): add review.min_finding_severity display floor for inline findings (feat(review): add review.min_finding_severity display floor for inline findings JSONbored/loopover#3718 )
2d0a2e7 fix(review): hold required AI skips from PR metadata (fix(review): hold required automated-review skips from PR metadata JSONbored/loopover#3721 )
1abcd71 fix(signals): exclude generated Dart from code scoring (fix(signals): exclude generated Dart part files from code scoring JSONbored/loopover#3724 )
e3db85f feat(review): add review.max_findings display caps for blockers/nits (feat(config): add review.max_findings caps for blockers/nits JSONbored/loopover#2049 ) (feat(review): add review.max_findings display caps for blockers/nits (#2049) JSONbored/loopover#3783 )
2fa43bb feat(mcp): compose preflight, slop-risk, and pr-text-lint into review-pr (feat(mcp): compose preflight, slop-risk, and pr-text-lint into review-pr JSONbored/loopover#3791 )
199475e feat(review): add boundary-safe test-generation advisory (Boundary-safe test generation JSONbored/loopover#1972 ) (feat(review): add boundary-safe test-generation advisory (#1972) JSONbored/loopover#3794 )
07fff6f feat(review): add maintainer review recap digest builder + Discord delivery (feat(review): add maintainer review recap digest builder + Discord delivery JSONbored/loopover#3801 )
4422a54 feat(review): boundary-safe test-generation spec + framework detector (feat(review): boundary-safe test-generation spec + framework detector JSONbored/loopover#3795 )
924b8ea feat(review): add review.comment_verbosity output-detail knob (feat(review): add review.comment_verbosity output-detail knob JSONbored/loopover#3804 )
ee686e0 feat(review): deterministic impact map (feat(review): deterministic changed-symbol extraction from the PR diff (impact-map input) JSONbored/loopover#2182 -feat(review): feed impact map into AI-review grounding as additive reference context JSONbored/loopover#2186 ) (feat(review): deterministic impact map (#2182-#2186) JSONbored/loopover#3796 )
839398c feat(review): add cached repo quality-culture profile as AI-review grounding (feat(review): add cached repo quality-culture profile as AI-review grounding JSONbored/loopover#3802 )
a591584 feat(config): add review.fixHandoff toggle (default off) for fix-handoff blocks (feat(config): add review.fixHandoff toggle (default off) for fix-handoff blocks JSONbored/loopover#2176 ) (feat(config): add review.fixHandoff toggle (default off) for fix-handoff blocks (#2176) JSONbored/loopover#3824 )
7f84fa7 feat(mcp): add follow-up issue local-write action spec (feat(mcp): follow-up-issue action spec builder for deferred review findings JSONbored/loopover#2177 ) (feat(mcp): add follow-up issue local-write action spec (#2177) JSONbored/loopover#3836 )
38e40b2 feat(review): add suppression-signal data model + memory matcher (feat(review): add suppression-signal data model + memory matcher JSONbored/loopover#3841 )
3da3ed8 feat(review): add fix-handoff block renderer + follow-up-issue MCP spec (feat(review): add fix-handoff block renderer + follow-up-issue MCP spec JSONbored/loopover#3834 )
ceeb905 feat(site): add public per-repo review-quality leaderboard (feat(site): add a public per-repo review-quality leaderboard JSONbored/loopover#2568 ) (feat(site): add public per-repo review-quality leaderboard (#2568) JSONbored/loopover#3846 )
a873a46 feat(config): add review.auto_merge_summary read-only knobs surface (feat(config): add review.auto_merge_summary read-only knobs surface JSONbored/loopover#2051 ) (feat(config): add review.auto_merge_summary read-only knobs surface (#2051) JSONbored/loopover#3855 )
df6ba9a feat(config): validate .gittensory.yml against schema (fail clearly pre-review) (feat(config): validate .gittensory.yml against schema (fail clearly pre-review) JSONbored/loopover#3823 )
48f0943 feat(miner-foundation): extract scoring preview/model into gittensory-engine (feat(miner-foundation): extract scoring preview/model modules into gittensory-engine JSONbored/loopover#2282 ) (feat(miner-foundation): extract scoring preview/model into gittensory-engine (#2282) JSONbored/loopover#3849 )
b14a258 feat(regate-sweep): add opt-in oldest-first ordering mode to selectRegateCandidates (feat(regate-sweep): add opt-in oldest-first ordering mode to selectRegateCandidates JSONbored/loopover#3815 ) (feat(regate-sweep): add opt-in oldest-first ordering mode to selectRegateCandidates JSONbored/loopover#3867 )
1cd38c4 feat(review): add config-driven before/after screenshot-table gate (feat(review): add config-driven before/after screenshot-table gate JSONbored/loopover#3877 )
685a39e feat(review): per-category inline-comment cap (feat(review): per-category inline-comment cap to prevent one category flooding the review JSONbored/loopover#2159 ) (feat(review): per-category inline-comment cap (#2159) JSONbored/loopover#3874 )
34d897e feat(engine): extract focus-manifest parse/compile core (feat(miner-foundation): extract focus-manifest parse/compile core into gittensory-engine JSONbored/loopover#2280 ) (feat(engine): extract focus-manifest parse/compile core (#2280) JSONbored/loopover#3891 )
89280e4 fix(mcp): sanitize follow-up issue paths (fix(mcp): sanitize follow-up issue paths JSONbored/loopover#3970 )
0b6bc4b fix(mcp): map review preflight status (fix(mcp): map review preflight status JSONbored/loopover#3972 )
487d26a feat(mcp): add gittensory_find_opportunities to hosted Worker (feat(mcp): add gittensory_find_opportunities tool to the hosted /mcp Worker JSONbored/loopover#2308 ) (feat(mcp): add gittensory_find_opportunities to hosted Worker (#2308) JSONbored/loopover#3986 )
b13b478 feat(config): add review.shared_config operator overlay (feat(config): add review.shared_config operator base-manifest overlay JSONbored/loopover#2046 ) (feat(config): add review.shared_config operator base-manifest overlay (#2046) JSONbored/loopover#3995 )
96214c5 fix(mcp): keep boundary suggestions source-free (fix(mcp): keep boundary suggestions source-free JSONbored/loopover#3955 )
590d52c feat(mcp): add gittensory_validate_config tool for .gittensory.yml (feat(mcp): add gittensory_validate_config tool for .gittensory.yml JSONbored/loopover#4049 )
46aa701 fix(review): apply the no-issue-rationale exemption to all linked-issue findings (fix(review): apply the no-issue-rationale exemption to all linked-issue findings JSONbored/loopover#4064 )
3356fc6 feat(review): wire linked-issue satisfaction into the deterministic gate (feat(review): wire linked-issue satisfaction into the deterministic gate JSONbored/loopover#4069 )
a844972 fix(mcp): sanitize validate-config terminal output (fix(mcp): sanitize validate-config terminal output JSONbored/loopover#4090 )
e86933f feat(review): upgrade inlineComments + fixHandoff to full config-as-code substitutes (feat(review): upgrade inlineComments + fixHandoff to full config-as-code substitutes JSONbored/loopover#4116 )
5bfa6cb fix(mcp): bound opportunity target fanout (fix(mcp): bound opportunity target fanout JSONbored/loopover#4072 )
acddda9 fix(mcp): build gittensory-engine before the publish gate + switch to workflow_dispatch (fix(mcp): build gittensory-engine before the publish gate + switch to workflow_dispatch JSONbored/loopover#4135 )
501b719 refactor(mcp): depend on the published gittensory-engine, drop the hand-ports (refactor(mcp): depend on the published gittensory-engine, drop the hand-ports JSONbored/loopover#4159 )
ab95b4c refactor(mcp): derive version literals instead of hand-syncing them (refactor(mcp): derive version literals instead of hand-syncing them JSONbored/loopover#4161 )
f46aa4a feat(review): add gate.copycat.mode config scaffold for copycat detection (feat(review): add gate.copycat.mode config scaffold for copycat detection JSONbored/loopover#4140 )
f3507d0 feat(mcp-cli): register gittensory_get_upstream_drift stdio proxy tool (feat(mcp-cli): register gittensory_get_upstream_drift stdio proxy tool JSONbored/loopover#4216 )
f53d4e5 feat(mcp): add gittensory_simulate_open_pr_pressure MCP tool (feat(mcp): add gittensory_simulate_open_pr_pressure MCP tool JSONbored/loopover#4218 )
07207a7 feat(mcp-cli): add `maintain precision` subcommand for gate false-positive telemetry (feat(mcp-cli): add maintain precision subcommand for gate false-positive telemetry JSONbored/loopover#4221 )
54dc362 feat(mcp-cli): add tools command listing stdio tool descriptors (feat(mcp-cli): add tools command listing stdio tool descriptors JSONbored/loopover#4225 )
b646b8a feat(mcp-cli): add maintain queue to list pending actions (feat(mcp-cli): add maintain queue to list pending actions JSONbored/loopover#4226 )
19d111a feat(mcp-cli): add `--format ndjson` streaming output for list-shaped commands (feat(mcp-cli): add --format ndjson streaming output for list-shaped commands JSONbored/loopover#4228 )
93e6afb feat(mcp-cli): add stdio gittensory_get_maintainer_noise proxy (feat(mcp-cli): add stdio gittensory_get_maintainer_noise proxy JSONbored/loopover#4232 )
Changed Files
.claude/skills/contributing-to-gittensory/reference.md
.claude/skills/contributing-to-gittensory/SKILL.md
.dockerignore
.env.example
.github/CODEOWNERS
.github/dependabot.yml
.github/ISSUE_TEMPLATE/bug_report.yml
.github/ISSUE_TEMPLATE/config.yml
.github/ISSUE_TEMPLATE/feature_request.yml
.github/pull_request_template.md
.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/pages.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
.gitleaks.toml
.gittensory.yml
.gittensory.yml.example
apps/gittensory-ui/public/openapi.json
apps/gittensory-ui/src/components/site/animated-terminal.tsx
apps/gittensory-ui/src/components/site/app-panels/commands-panel.tsx
apps/gittensory-ui/src/components/site/app-panels/maintainer-settings.tsx
apps/gittensory-ui/src/components/site/app-shell.tsx
apps/gittensory-ui/src/components/site/mcp-version-badge.tsx
apps/gittensory-ui/src/components/site/npm-install.tsx
apps/gittensory-ui/src/components/site/public-repo-quality-page.tsx
apps/gittensory-ui/src/lib/api/session.ts
apps/gittensory-ui/src/lib/mcp-package.ts
apps/gittensory-ui/src/lib/selfhost-env-reference.ts
apps/gittensory-ui/src/routes/agents.tsx
apps/gittensory-ui/src/routes/api.index.tsx
apps/gittensory-ui/src/routes/app.analytics.tsx
apps/gittensory-ui/src/routes/app.index.tsx
apps/gittensory-ui/src/routes/app.operator.tsx
apps/gittensory-ui/src/routes/changelog.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.mcp-clients.tsx
apps/gittensory-ui/src/routes/docs.privacy-security.tsx
apps/gittensory-ui/src/routes/docs.quickstart.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
apps/gittensory-ui/src/routes/index.tsx
apps/gittensory-ui/src/routes/repos.$owner.$repo.quality.tsx
apps/gittensory-ui/src/routes/roadmap.tsx
apps/gittensory-ui/src/routeTree.gen.ts
CHANGELOG.md
cliff.toml
config/examples/gittensory.full.yml
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
LICENSE
migrations/0002_repository_settings.sql
migrations/0003_data_spine.sql
migrations/0004_scoring_intelligence.sql
migrations/0005_sync_fidelity.sql
migrations/0006_open_data_completeness.sql
migrations/0007_current_open_reconciliation.sql
migrations/0008_private_beta_auth.sql
migrations/0010_agent_orchestrator.sql
migrations/0011_workers_ai_usage.sql
migrations/0013_upstream_rulesets.sql
migrations/0015_product_usage_events.sql
migrations/0017_agent_recommendation_outcomes.sql
migrations/0018_recommendation_outcome_surface_snapshot.sql
migrations/0019_product_usage_event_role.sql
migrations/0021_queue_trend_snapshots.sql
migrations/0026_ai_review_settings.sql
migrations/0027_repository_ai_keys.sql
migrations/0029_ai_review_provider_model.sql
migrations/0031_notification_subscriptions.sql
migrations/0032_repository_gate_pack.sql
migrations/0033_slop_gate_settings.sql
migrations/0034_slop_ai_advisory.sql
migrations/0036_issue_watch_subscriptions.sql
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
migrations/0103_priority_linked_issue_gate.sql
migrations/0104_global_moderation_config.sql
migrations/0105_repository_moderation_settings.sql
migrations/0107_repository_review_check_mode.sql
migrations/0110_project_milestone_match_mode.sql
migrations/0111_linear_backend.sql
migrations/0113_review_evasion_protection.sql
migrations/0114_review_suppression_memory.sql
migrations/0115_public_quality_metrics.sql
migrations/0116_regate_sweep_order_mode.sql
migrations/0117_screenshot_table_gate.sql
migrations/0123_linked_issue_satisfaction_gate_mode.sql
migrations/0124_linked_issue_satisfaction_cache.sql
package-lock.json
package.json
packages/gittensory-engine/package.json
packages/gittensory-engine/src/focus-manifest.ts
packages/gittensory-engine/src/index.ts
packages/gittensory-engine/src/plan-templates.ts
packages/gittensory-engine/src/review/enrichment-analyzer-names.ts
packages/gittensory-engine/src/review/linked-issue-hard-rules-config.ts
packages/gittensory-engine/src/review/linked-issue-label-propagation.ts
packages/gittensory-engine/src/review/safe-url.ts
packages/gittensory-engine/src/review/screenshot-table-gate.ts
packages/gittensory-engine/src/review/unlinked-issue-guardrail-config.ts
packages/gittensory-engine/src/scoring/model.ts
packages/gittensory-engine/src/scoring/pending-pr-scenarios.ts
packages/gittensory-engine/src/scoring/preview.ts
packages/gittensory-engine/src/scoring/types.ts
packages/gittensory-engine/src/settings/auto-close-exempt.ts
packages/gittensory-engine/src/settings/autonomy.ts
packages/gittensory-engine/src/settings/command-authorization.ts
packages/gittensory-engine/src/settings/contributor-blacklist.ts
packages/gittensory-engine/src/settings/moderation-rules.ts
packages/gittensory-engine/src/settings/pr-type-label.ts
packages/gittensory-engine/src/types/manifest-deps-types.ts
packages/gittensory-mcp/bin/gittensory-mcp.js
packages/gittensory-mcp/CHANGELOG.md
packages/gittensory-mcp/lib/local-branch.js
packages/gittensory-mcp/LICENSE
packages/gittensory-mcp/package.json
packages/gittensory-mcp/README.md
packages/gittensory-mcp/scripts/gittensor-score-preview.mjs
packages/gittensory-mcp/scripts/gittensor-score-preview.py
packages/gittensory-miner/lib/update-check.js
prometheus/rules/alerts.yml
README.md
scripts/build-selfhost.mjs
scripts/check-docs-drift.mjs
scripts/check-docs.mjs
scripts/check-mcp-package.mjs
scripts/check-migrations.mjs
scripts/check-schema-drift.mjs
scripts/check-ui-mcp-version-copy.mjs
scripts/deploy-selfhost-prebuilt.sh
scripts/export-grafana-reporting-db.sh
SECURITY.md
site/.vitepress/config.mts
site/.vitepress/theme/custom.css
site/.vitepress/theme/index.ts
site/guide/auth.md
site/guide/github-app-setup.md
site/guide/install.md
site/guide/maintainers.md
site/guide/mcp.md
site/guide/miners.md
site/index.md
site/public/logo.svg
site/reference/api.md
site/security/privacy.md
site/troubleshooting.md
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/footer.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/repo-doc-pr.ts
src/github/repo-doc-refresh-runner.ts
src/github/self-authored.ts
src/github/webhook.ts
src/gittensor/api.ts
src/index.ts
src/integrations/linear-adapter.ts
src/integrations/project-tracker-adapter.ts
src/mcp/find-opportunities.ts
src/mcp/local-write-tools.ts
src/mcp/server.ts
src/notifications/events.ts
src/notifications/service.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/registry/sync.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-analyzer-names.ts
src/review/enrichment-wire.ts
src/review/feature-activation.ts
src/review/finding-category-classify.ts
src/review/finding-severity-filter.ts
src/review/fix-handoff-render.ts
src/review/fix-handoff.ts
src/review/grounding-wire.ts
src/review/guardrail-config.ts
src/review/impact-map-wire.ts
src/review/impact-map.ts
src/review/impact-symbols.ts
src/review/inline-comments-select.ts
src/review/inline-comments.ts
src/review/labeling-rules.ts
src/review/linked-issue-hard-rules-config.ts
src/review/linked-issue-hard-rules.ts
src/review/linked-issue-label-propagation-fetch.ts
src/review/linked-issue-label-propagation.ts
src/review/linked-issue-satisfaction-cache-input.ts
src/review/lockfile-tamper.ts
src/review/ops.ts
src/review/parity-wire.ts
src/review/pre-merge-checks.ts
src/review/public-stats.ts
src/review/rag-index.ts
src/review/repo-culture-profile-wire.ts
src/review/repo-culture-profile.ts
src/review/repo-doc-refresh-schedule.ts
src/review/review-diff.ts
src/review/review-eligibility.ts
src/review/review-memory-match.ts
src/review/review-memory-wire.ts
src/review/screenshot-table-gate.ts
src/review/stats.ts
src/review/test-generation.ts
src/review/unified-comment-bridge.ts
src/review/unified-comment.ts
src/review/unlinked-issue-guardrail-config.ts
src/review/unlinked-issue-guardrail.ts
src/review/unlinked-issue-match.ts
src/review/visual/capture.ts
src/review/visual/preview-url.ts
src/review/visual/scroll-gif.ts
src/review/visual/shot.ts
src/rules/advisory.ts
src/rules/predicted-gate.ts
src/scenarios/input-model.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/config-lint.ts
src/selfhost/foreground-liveness.ts
src/selfhost/maintenance-admission.ts
src/selfhost/metrics.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/selfhost/stubs/gifenc.d.ts
src/selfhost/stubs/scroll-gif.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/ai-slop.ts
src/services/ai-summaries.ts
src/services/burden-forecast.ts
src/services/client-telemetry.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/focus-manifest-validation.ts
src/services/issue-quality.ts
src/services/label-audit.ts
src/services/linked-issue-satisfaction-run.ts
src/services/linked-issue-satisfaction.ts
src/services/maintainer-activation.ts
src/services/maintainer-lane.ts
src/services/maintainer-noise.ts
src/services/mcp-compatibility.ts
src/services/mcp-planning-elicitation.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/public-quality-metrics.ts
src/services/queue-trends.ts
src/services/recommendation-outcomes.ts
src/services/recommendation-snapshots.ts
src/services/remediation-plan.ts
src/services/repo-outcome-patterns.ts
src/services/review-recap.ts
src/services/score-breakdown.ts
src/services/weekly-value-report.ts
src/settings/agent-actions.ts
src/settings/agent-execution.ts
src/settings/agent-sweep.ts
src/settings/auto-close-exempt.ts
src/settings/autonomy.ts
src/settings/command-authorization.ts
src/settings/contributor-blacklist.ts
src/settings/moderation-rules.ts
src/settings/pr-type-label.ts
src/settings/repository-settings.ts
src/signals/boundary-test-generation.ts
src/signals/change-guardrail.ts
src/signals/contributor-open-pr-monitor.ts
src/signals/data-quality.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-diagnostics.ts
src/signals/local-scorer.ts
src/signals/local-workspace-intelligence.ts
src/signals/onboarding-pack.ts
src/signals/path-matchers.ts
src/signals/preflight-limits.ts
src/signals/redaction.ts
src/signals/registration-readiness.ts
src/signals/repo-policy-compiler.ts
src/signals/repo-policy-readiness.ts
src/signals/reward-risk.ts
src/signals/settings-preview.ts
src/signals/slop.ts
src/signals/test-evidence.ts
src/signals/unlinked-issue-candidates.ts
src/types.ts
src/upstream/ruleset.ts
src/utils/crypto.ts
src/utils/json.ts
test/contract/upstream-contract.test.ts
test/fixtures/engine-parity/predicted-gate/manifest-blocked-path.ts
test/fixtures/engine-parity/predicted-gate/README.md
test/fixtures/local-scorer/scorer-malformed.mjs
test/fixtures/local-scorer/scorer-nonzero.mjs
test/fixtures/local-scorer/scorer-success.mjs
test/fixtures/local-scorer/scorer-timeout.mjs
test/helpers/d1.ts
test/integration/api.test.ts
test/integration/orb-webhook.test.ts
test/integration/public-quality-metrics-route-error.test.ts
test/integration/routes-errors.test.ts
test/stubs/cloudflare-email.ts
test/stubs/cloudflare-workers.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/agent-sweep.test.ts
test/unit/ai-key-byok.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/ai-slop.test.ts
test/unit/ai-summaries.test.ts
test/unit/auth.test.ts
test/unit/auto-close-exempt-engine.test.ts
test/unit/auto-close-exempt.test.ts
test/unit/auto-review-config-matrix.test.ts
test/unit/auto-review-wiring.test.ts
test/unit/autonomy-engine.test.ts
test/unit/autonomy.test.ts
test/unit/backfill.test.ts
test/unit/boundary-test-generation.test.ts
test/unit/burden-forecast.test.ts
test/unit/change-guardrail.test.ts
test/unit/changed-files-summary-collapsible.test.ts
test/unit/check-docs-drift-script.test.ts
test/unit/check-migrations-script.test.ts
test/unit/check-names.test.ts
test/unit/ci-completion-fork-resume.test.ts
test/unit/cla-check.test.ts
test/unit/command-authorization-engine.test.ts
test/unit/config-templates.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-engine.test.ts
test/unit/contributor-blacklist.test.ts
test/unit/contributor-evidence-graph.test.ts
test/unit/contributor-issue-draft.test.ts
test/unit/contributor-open-pr-monitor.test.ts
test/unit/control-panel-roles.test.ts
test/unit/crypto.test.ts
test/unit/cutover-gate.test.ts
test/unit/data-quality.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/eligibility-scenarios.test.ts
test/unit/enrichment-wire.test.ts
test/unit/feature-activation.test.ts
test/unit/find-opportunities.test.ts
test/unit/finding-category-classify.test.ts
test/unit/finding-category-collapsible.test.ts
test/unit/finding-severity-filter.test.ts
test/unit/fix-handoff-render.test.ts
test/unit/focus-manifest-engine-barrel.test.ts
test/unit/focus-manifest-engine-branch-coverage.test.ts
test/unit/focus-manifest-loader.test.ts
test/unit/focus-manifest-validation.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/gittensor-api.test.ts
test/unit/gittensory-focus-manifest.test.ts
test/unit/grounding-wiring.test.ts
test/unit/guardrail-config.test.ts
test/unit/impact-map-collapsible.test.ts
test/unit/impact-map-grounding.test.ts
test/unit/impact-map-processor-wiring.test.ts
test/unit/impact-map-wire.test.ts
test/unit/impact-map.test.ts
test/unit/impact-symbols.test.ts
test/unit/index.test.ts
test/unit/inline-comments-select.test.ts
test/unit/inline-comments.test.ts
test/unit/issue-quality-service.test.ts
test/unit/issue-quality.test.ts
test/unit/issue-watch.test.ts
test/unit/label-audit.test.ts
test/unit/linear-adapter.test.ts
test/unit/linear-key.test.ts
test/unit/linked-issue-hard-rules-config-engine.test.ts
test/unit/linked-issue-hard-rules.test.ts
test/unit/linked-issue-label-propagation-engine.test.ts
test/unit/linked-issue-label-propagation-fetch.test.ts
test/unit/linked-issue-label-propagation.test.ts
test/unit/linked-issue-satisfaction-cache.test.ts
test/unit/linked-issue-satisfaction-run.test.ts
test/unit/linked-issue-validation.test.ts
test/unit/local-branch-file-classifiers.test.ts
test/unit/local-branch.test.ts
test/unit/local-scorer-adapter.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/manifest-validation-collapsible.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-issue-slop.test.ts
test/unit/mcp-cli-lint-pr-text.test.ts
test/unit/mcp-cli-maintain.test.ts
test/unit/mcp-cli-maintainer-noise.test.ts
test/unit/mcp-cli-packets.test.ts
test/unit/mcp-cli-profiles.test.ts
test/unit/mcp-cli-review-pr.test.ts
test/unit/mcp-cli-slop-risk.test.ts
test/unit/mcp-cli-tools.test.ts
test/unit/mcp-cli-upstream-drift.test.ts
test/unit/mcp-cli-validate-config.test.ts
test/unit/mcp-cli.test.ts
test/unit/mcp-compatibility.test.ts
test/unit/mcp-discovery.test.ts
test/unit/mcp-find-opportunities.test.ts
test/unit/mcp-fleet-analytics.test.ts
test/unit/mcp-miner-prompts.test.ts
test/unit/mcp-notifications.test.ts
test/unit/mcp-output-schemas.test.ts
test/unit/mcp-plan-dag.test.ts
test/unit/mcp-planning-elicitation.test.ts
test/unit/mcp-predict-gate.test.ts
test/unit/mcp-refresh-repo-docs.test.ts
test/unit/mcp-run-local-scorer.test.ts
test/unit/mcp-server-telemetry.test.ts
test/unit/mcp-simulate-open-pr-pressure.test.ts
test/unit/mcp-suggest-boundary-tests.test.ts
test/unit/mcp-upstream.test.ts
test/unit/mcp-write-tools.test.ts
test/unit/migration-0107-review-check-mode.test.ts
test/unit/migration-collisions.test.ts
test/unit/migration-tree.test.ts
test/unit/miner-cli.test.ts
test/unit/miner-dashboard-recommendations.test.ts
test/unit/moderation-config-db.test.ts
test/unit/moderation-rules-engine.test.ts
test/unit/moderation-rules.test.ts
test/unit/notifications-events.test.ts
test/unit/notifications-service.test.ts
test/unit/open-pr-pressure-scenarios.test.ts
test/unit/openapi.test.ts
test/unit/operator-dashboard.test.ts
test/unit/ops.test.ts
test/unit/outcome-calibration.test.ts
test/unit/outcomes-wire.test.ts
test/unit/parity-wire.test.ts
test/unit/path-matchers.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/pr-text-lint.test.ts
test/unit/pr-type-label-engine.test.ts
test/unit/pr-type-label.test.ts
test/unit/pre-merge-checks.test.ts
test/unit/pre-start-check.test.ts
test/unit/precision-breakers-chain.test.ts
test/unit/predicted-gate.test.ts
test/unit/preview-url.test.ts
test/unit/private-config.test.ts
test/unit/product-usage-mcp-adoption.test.ts
test/unit/product-usage.test.ts
test/unit/project-tracker-adapter.test.ts
test/unit/public-quality-metrics.test.ts
test/unit/public-safe-manifest-finding.test.ts
test/unit/public-stats.test.ts
test/unit/queue-trends.test.ts
test/unit/queue.test.ts
test/unit/rag-index.test.ts
test/unit/recommendation-outcomes.test.ts
test/unit/recommendation-snapshots.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-culture-profile-wiring.test.ts
test/unit/repo-culture-profile.test.ts
test/unit/repo-doc-pr.test.ts
test/unit/repo-doc-refresh-runner.test.ts
test/unit/repo-doc-refresh-schedule.test.ts
test/unit/repo-doc-refresh-sweep.test.ts
test/unit/repo-outcome-patterns-service.test.ts
test/unit/repo-outcome-patterns.test.ts
test/unit/repo-policy-readiness.test.ts
test/unit/repository-settings-enforcement.test.ts
test/unit/repository-settings-linked-issue-satisfaction.test.ts
test/unit/repository-settings-project-milestone-match.test.ts
test/unit/repository-settings-review-check-mode.test.ts
test/unit/repository-settings-screenshot-table-gate.test.ts
test/unit/reputation-wiring.test.ts
test/unit/review-adapters.test.ts
test/unit/review-auto-merge-summary.test.ts
test/unit/review-diff.test.ts
test/unit/review-eligibility.test.ts
test/unit/review-enrichment-config.test.ts
test/unit/review-fix-handoff.test.ts
test/unit/review-labeling-rules.test.ts
test/unit/review-linked-issue-satisfaction.test.ts
test/unit/review-memory-match.test.ts
test/unit/review-memory-store.test.ts
test/unit/review-memory-wire.test.ts
test/unit/review-recap.test.ts
test/unit/routes-agent-approval.test.ts
test/unit/routes-ai-byok.test.ts
test/unit/routes-focus-manifest.test.ts
test/unit/routes-maintainer-noise.test.ts
test/unit/routes-remediation-plan.test.ts
test/unit/rules.test.ts
test/unit/safe-url-engine.test.ts
test/unit/safety.test.ts
test/unit/scenario-blockers.test.ts
test/unit/scenario-input-model.test.ts
test/unit/scenario-summary.test.ts
test/unit/schema-timestamp-defaults.test.ts
test/unit/score-breakdown.test.ts
test/unit/score-preview-script.test.ts
test/unit/scoring-engine-barrel.test.ts
test/unit/scoring.test.ts
test/unit/screenshot-table-gate-engine.test.ts
test/unit/screenshot-table-gate.test.ts
test/unit/scroll-gif.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-config-lint.test.ts
test/unit/selfhost-foreground-liveness.test.ts
test/unit/selfhost-grafana-reporting.test.ts
test/unit/selfhost-maintenance-admission.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-scroll-gif-stub.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/test-generation.test.ts
test/unit/unified-comment-bridge.test.ts
test/unit/unified-comment-parity.test.ts
test/unit/unified-comment.test.ts
test/unit/unlinked-issue-candidates.test.ts
test/unit/unlinked-issue-guardrail-config-engine.test.ts
test/unit/unlinked-issue-guardrail-config.test.ts
test/unit/unlinked-issue-guardrail.test.ts
test/unit/unlinked-issue-match.test.ts
test/unit/upstream-ruleset.test.ts
test/unit/visual-capture.test.ts
test/unit/visual-collapsible.test.ts
test/unit/visual-config-wiring.test.ts
test/unit/visual-shot.test.ts
test/unit/webhook.test.ts
test/unit/weekly-value-report.test.ts
test/unit/worker-entry-boundary.test.ts
test/workers/worker-runtime.test.ts
THIRD_PARTY_NOTICES.md
tsconfig.json
vitest.config.ts
vitest.workers.config.ts
worker-configuration.d.ts
wrangler.jsonc
wrangler.vitest.jsonc
Release-Prep Checklist
Summary
An MCP release appears due.
0.7.0none0.7.00.7.0382Unreleased MCP-Related Commits
c5ff6e4feat(signals): expose MCP and PR intelligencea613357feat(docs): add install site and mcp diagnosticscd6ffb3feat(scoring): add situational score projections217c36afix(docs): use Gittensor screenshot in homepage hero (fix(docs): use Gittensor screenshot in homepage hero JSONbored/loopover#11)4ebd662feat(agent): add deterministic base-agent orchestrator (feat(agent): add deterministic base-agent orchestrator JSONbored/loopover#14)17ea1e9fix(deploy): use first-level api domaine54856cfix(mcp): ignore stale beta api origins638e311feat(agent): make next-action recommendations repo-specific (feat(agent): make next-action recommendations repo-specific JSONbored/loopover#30)256eebafeat(mcp): detect stale installs and API compatibility in doctor and status (feat(mcp): detect stale installs and API compatibility in doctor and status JSONbored/loopover#28)d644288feat(agent): serve stale decision packs with freshness marker and background rebuild (feat(agent): serve stale decision packs with freshness marker and background rebuild JSONbored/loopover#26)3ace069feat(preflight): generate public-safe pr packets (feat(preflight): generate public-safe pr packets JSONbored/loopover#53)08f4116feat(mcp): harden local scorer adapter setup (feat(mcp): harden local scorer adapter setup JSONbored/loopover#27)a60fb38fix(ci): isolate release write token (fix(ci): isolate GitHub write token to release job JSONbored/loopover#60)8e714a7feat(scoring): derive observed pending PR scenarios (feat(scoring): derive observed pending PR scenarios JSONbored/loopover#57)fd6e841fix(mcp): keep repo root out of API payloads (fix(mcp): keep repo root out of API payloads JSONbored/loopover#59)e8a7c3dfix: block snake case private PR packet signals (fix: block snake_case private signals in PR packets JSONbored/loopover#66)6e26ffefeat(signals): wire burden forecast through intelligence + MCP with freshness (feat(signals): wire burden forecast through intelligence + MCP with freshness JSONbored/loopover#61)be39beffeat(signals): wire issue quality reports through snapshot + REST + MCP + opportunities (feat(signals): wire issue quality reports through snapshot + REST + MCP + opportunities JSONbored/loopover#56)678c9c5fix(agent): keep public commands repo-scoped (fix(agent): keep public commands repo-scoped JSONbored/loopover#77)faadccafix: restrict session access to private advisory data (fix: restrict session access to private advisory data JSONbored/loopover#78)4a5b6eefeat(scoring): support exponential saturation previews (feat(scoring): support exponential saturation previews JSONbored/loopover#120)6e47928feat(mcp): parse validation command summaries (feat(mcp): parse validation command summaries JSONbored/loopover#121)b640cb9feat(mcp): add current-branch GitHub status hints (feat(mcp): add current-branch GitHub status hints JSONbored/loopover#122)e1a18adfeat(data): add contributor reconciliation reports (feat(data): add contributor reconciliation reports JSONbored/loopover#123)2dda59efix(scoring): exclude closed PRs from open pressure cleanup (fix(scoring): exclude closed PRs from open pressure cleanup JSONbored/loopover#125)0425b18feat(sync): add upstream ruleset drift tracking (feat(sync): add upstream ruleset drift tracking JSONbored/loopover#126)0270896fix: bound current-branch check lookups (fix: bound current-branch check lookups JSONbored/loopover#154)a8775bafeat(bounties): add lifecycle watcher signals (feat(bounties): add lifecycle watcher signals JSONbored/loopover#29)4d47f8bdocs(ci): add coverage buffer and contributor test-quality guidance (docs(ci): add coverage buffer and contributor test-quality guidance JSONbored/loopover#55)7337e2bfeat(mcp): add local workspace intelligence v2 (feat(mcp): add local workspace intelligence v2 JSONbored/loopover#70)e8a5ea2feat(agent): monitor open PRs and wire into decision packs (feat(agent): monitor open PRs and wire into decision packs JSONbored/loopover#72)7c01797feat(scoring): validate linked issue multiplier (feat(scoring): validate linked issue multiplier eligibility JSONbored/loopover#179)2ddc20cFix saturation-model contribution bonus capped at 5 instead of 25 (Fix saturation-model contribution bonus capped at 5 instead of MAX_CONTRIBUTION_BONUS (25) JSONbored/loopover#181)84ff302feat(auth): classify control-panel roles (feat(auth): classify control-panel roles JSONbored/loopover#189)49ec4a2feat(analytics): add privacy-safe usage event spine (feat(analytics): add privacy-safe usage event spine JSONbored/loopover#182)40c019cfeat(analytics): track MCP compatibility adoption (feat(analytics): track MCP compatibility adoption JSONbored/loopover#185)0915ef1feat(config): ingest maintainer focus manifests for repo-specific guidance (feat(config): ingest maintainer focus manifests for repo-specific guidance JSONbored/loopover#191)66bd066feat(outcomes): learn accepted and rejected PR patterns by repo (feat(outcomes): learn accepted and rejected PR patterns by repo JSONbored/loopover#75)dfdb2c4fix: bound local scorer warning diagnostics (fix: bound local scorer warning diagnostics JSONbored/loopover#210)07d4edffix(agent): scope open PR monitor public actions (fix(agent): scope open PR monitor public actions JSONbored/loopover#208)a9ecf3ffix(security): keep maintainer notes out of branch guidance (fix(security): omit private maintainer notes from branch guidance JSONbored/loopover#213)a776b23feat(scoring): model branch eligibility for issue PRs (feat(scoring): model branch eligibility for issue PRs JSONbored/loopover#178)da087f8feat(agent): add recommendation confidence provenance (feat(agent): add recommendation confidence provenance JSONbored/loopover#226)bcf14e9feat: add contributor evidence graph (feat: add contributor evidence graph JSONbored/loopover#218)02058adFix pending-PR projection double-counting merge-ready PRs (Fix pending-PR projection double-counting merge-ready PRs JSONbored/loopover#222)5c0360ffix(mcp): surface npm latest across ui (fix(mcp): surface npm latest across ui JSONbored/loopover#258)bf45d0cfeat(mcp): cache last-good decision packs (feat(mcp): cache last-good decision packs JSONbored/loopover#266)a26727afeat(agent): add risk-adjusted action portfolio (feat(agent): add risk-adjusted action portfolio JSONbored/loopover#219)e9a5cf1fix(mcp): scope decision-pack cache to auth token (fix(mcp): scope decision-pack cache to auth token JSONbored/loopover#314)e493647feat(signals): summarize repo tradeoffs (feat(signals): summarize repo tradeoffs JSONbored/loopover#323)5abc9c5feat(mcp): add multi-account profile support (feat(mcp): add multi-account profile support JSONbored/loopover#263)25ef987feat: add agent action explanation cards (feat: add agent action explanation cards JSONbored/loopover#232)3eff615feat(agent): add recommendation outcome feedback (feat(agent): add recommendation outcome feedback JSONbored/loopover#229)de669a8fix(mcp): remove default profile session cleanly (fix(mcp): remove default profile session cleanly JSONbored/loopover#327)f9a11c9feat(agent): add duplicate and stale-work scenario blockers (feat(agent): add duplicate and stale-work scenario blockers JSONbored/loopover#346)d29c897feat(mcp): add structured output schemas for existing tools (feat(mcp): add structured output schemas for existing tools JSONbored/loopover#344)957ec83feat(mcp): add miner planning prompts (feat(mcp): add miner planning prompts JSONbored/loopover#342)f6edb0afeat(settings): define focus-manifest policy schema (feat(settings): define focus-manifest policy schema JSONbored/loopover#339)dadf052feat(analytics): persist recommendation outcome events (feat(analytics): persist recommendation outcome events JSONbored/loopover#334)a5331b1feat(analytics): persist privacy-safe role on product usage events (feat(analytics): persist privacy-safe role on product usage events JSONbored/loopover#355)430976ffeat(agent): feed aggregate outcome quality into confidence (feat(agent): feed aggregate outcome quality into confidence JSONbored/loopover#332)a580e2bfeat(mcp): add version command and clearer unknown-command guidance (feat(mcp): add version command and clearer unknown-command guidance JSONbored/loopover#333)ecb379bfix(mcp): align registry changes output schema (fix(mcp): align registry changes output schema JSONbored/loopover#366)3004049feat(mcp): add roots-aware workspace detection (feat(mcp): add roots-aware workspace detection JSONbored/loopover#364)c7a1d16feat(mcp): add safe planning elicitation (feat(mcp): add safe planning elicitation JSONbored/loopover#371)268a38cfeat(agent): add recommendation snapshot ids (feat(agent): add recommendation snapshot ids JSONbored/loopover#374)f201246feat(agent): add counterfactual reasons (feat(agent): add counterfactual reasons to decision snapshots JSONbored/loopover#361)2d722c2feat(mcp): add native resources, prompts, and structured output schemas (feat(mcp): add native resources, prompts, and structured output schemas JSONbored/loopover#360)98f03f1feat(signals): add queue pressure trend windows (feat(signals): add queue pressure trend windows JSONbored/loopover#368)0b1e413feat(mcp): add public-safe PR body drafting command (feat(mcp): add public-safe PR body drafting command JSONbored/loopover#382)2973624feat(mcp): add shell completion command for bash, zsh, and fish (feat(mcp): add shell completion command for bash, zsh, and fish JSONbored/loopover#400)014841afix(mcp): enforce workspace roots for structured local status56c0367fix(mcp): include completion command in shell completionse299ccdfeat(mcp): group doctor onboarding checks (feat(mcp): group doctor onboarding checks JSONbored/loopover#421)0b14f3efeat(mcp): add config command reporting resolved configuration provenance (feat(mcp): add config command reporting resolved configuration provenance JSONbored/loopover#335)e685db0feat(settings): derive contribution lanes from focus manifests (feat(settings): derive contribution lanes from focus manifests JSONbored/loopover#337)7aa1409fix(mcp): shell-quote doctor next commands (fix(mcp): shell-quote doctor next commands JSONbored/loopover#439)f37fabcfix(mcp): report source upload env in config (fix(mcp): report source upload env in config JSONbored/loopover#441)2460ccbfeat(settings): wire policy compiler into registration readiness (feat(settings): wire policy compiler into registration readiness JSONbored/loopover#350)4239009feat(signals): add contribution policy snapshot API (feat(signals): add contribution policy snapshot API JSONbored/loopover#369)15da91efix(decision-pack): clamp lane shares to match preview math (fix(decision-pack): clamp lane shares to match preview math JSONbored/loopover#453)b637b51fix(scoring): base open-PR threshold on merged history only (fix(scoring): base open-PR threshold on merged history only JSONbored/loopover#455)f329ab0fix(auth): scope issue-quality reports to repo access (fix(auth): scope issue-quality reports to repo access JSONbored/loopover#483)556520dfix(auth): scope MCP repo access (fix(auth): scope MCP repository access JSONbored/loopover#484)5e8c757fix(mcp): preserve HTTP status for non-JSON errors (fix(mcp): preserve HTTP status for non-JSON errors JSONbored/loopover#489)0910a17fix: keep repo outcome patterns private (fix(comments): keep repo outcome patterns out of public duplicate checks JSONbored/loopover#493)0122c73fix(security): bound focus manifest ingestion (fix(security): bound focus manifest ingestion JSONbored/loopover#494)75ed5f0fix(preflight): bound duplicate detection inputs (fix(preflight): bound duplicate detection inputs JSONbored/loopover#497)6724337fix(scoring): require solved-by-PR evidence for linked issues (fix(scoring): require solved-by-PR evidence for linked issues JSONbored/loopover#506)9a03a9efix(cli): reject prototype agent profile names (fix(cli): reject prototype agent profile names JSONbored/loopover#507)ba3fde4fix(mcp): include config in completions (fix(mcp): include config command in shell completions JSONbored/loopover#509)156533efix(scoring): wire duplicate risk preview input (fix(scoring): wire duplicate risk preview input JSONbored/loopover#512)6f55381fix(signals): redact windows home paths in public PR packets (fix(signals): redact windows home paths in public PR packets JSONbored/loopover#514)a656e2efeat(config): add Gittensory repo focus manifest (feat(config): add Gittensory repo focus manifest JSONbored/loopover#118) (feat(config): add Gittensory repo focus manifest JSONbored/loopover#389)0a2fa54fix(signals): subject over-long manifest entries to dedup and list cap (fix(signals): subject over-long manifest entries to dedup and list cap JSONbored/loopover#524)6054be3feat(agent): render public-safe scenario summaries (feat(agent): render public-safe scenario summaries JSONbored/loopover#416)2371715feat(signals): add missing test evidence slop signal (feat(signals): slop signal — missing test evidence JSONbored/loopover#616)2b40a48feat(mcp): gittensory_validate_linked_issue linked-issue multiplier validator (feat(mcp): gittensory_validate_linked_issue JSONbored/loopover#622)7206486feat(mcp): gittensory_check_before_start pre-start duplicate/solvability check (feat(mcp): gittensory_check_before_start (pre-start duplicate/solvability check) JSONbored/loopover#621)fc2b657fix: bound local branch scenario inputs (fix(api): bound local branch scenario inputs JSONbored/loopover#614)6e5757bfeat(github): authoritative .gittensory.yml gate config (config-as-code) (feat(github): authoritative .gittensory.yml gate config (config-as-code) JSONbored/loopover#647)dab0ce4feat(ai-review): dual-AI maintainer review + BYOK (Phase C) (feat(ai-review): dual-AI maintainer review + BYOK (Phase C) JSONbored/loopover#652)b9bab40feat(ai-review): config-as-code provider/model + maintainer self-serve BYOK routes (feat(ai-review): config-as-code provider/model + maintainer self-serve BYOK (backend, closes #662) JSONbored/loopover#664)04f7fbcfeat(notifications): event→subscription→delivery service + MCP badge feed (closes feat(types): add review field to GitHubWebhookPayload JSONbored/loopover#536, advances feat(notifications): event-to-subscription-to-delivery service JSONbored/loopover#535) (feat(notifications): event→subscription→delivery service + MCP badge feed (closes #536, advances #535) JSONbored/loopover#707)8505348feat(gate): policy-pack-pluggable gate — gittensor + oss-anti-slop packs (policy-pack-pluggable gate (gittensor + oss-anti-slop packs) JSONbored/loopover#692) (feat(gate): policy-pack-pluggable gate — gittensor + oss-anti-slop packs (#692) JSONbored/loopover#710)ffe2417feat(mcp): agent-native pre-submission self-check as a general product (agent-native pre-submission self-check as a general product JSONbored/loopover#693) (feat(mcp): agent-native pre-submission self-check as a general product (#693) JSONbored/loopover#712)0b21920feat(funnel): surface the earn-on-Gittensor path for oss-anti-slop adopters (funnel: non-gittensor adopter → gittensor contributor JSONbored/loopover#694) (feat(funnel): surface the earn-on-Gittensor path for oss-anti-slop adopters (#694) JSONbored/loopover#713)0ea3e0bfeat(notifications): miner-facing post-merge reward & outcome attribution (miner-facing post-merge reward & outcome attribution JSONbored/loopover#702) (feat(notifications): miner-facing post-merge reward & outcome attribution (#702) JSONbored/loopover#714)ab97fd2feat(slop): wire + modernize the deterministic slop score into the gate, context & MCP (feat(signals): deterministic slop-assessment core JSONbored/loopover#530/feat(mcp): gittensory_check_slop_risk tool + real-vs-slop rubric JSONbored/loopover#531/feat(github-app): slop gate mode + check surfacing JSONbored/loopover#532) (feat(slop): wire + modernize the deterministic slop score into the gate, context & MCP (#530/#531/#532) JSONbored/loopover#716)57d1a9ffix: harden manifest public-safe filter (fix: harden manifest public-safe filter JSONbored/loopover#659)d2c0e74fix(mcp): enforce repo scope for gate prediction (fix(mcp): enforce repo scope for gate prediction JSONbored/loopover#717)cea76c0fix(notifications): bound mark-read ids (Fix notification mark-read ID bounds JSONbored/loopover#718)32c72b7feat(slop): AI-assisted advisory slop layer (advisory-only, never blocks) (feat(slop): AI-assisted advisory slop layer (advisory-only, never blocks) JSONbored/loopover#724)30526d7feat(slop): issue-side slop triage (feat(github-app): issue-side slop triage JSONbored/loopover#533) (feat(slop): issue-side slop triage (#533) JSONbored/loopover#729)c217f17feat(scoring): model upstream time-decay, applied behind a default-off flag (implement upstream TIME_DECAY_* scoring dimension (deferred; owner-reviewed) JSONbored/loopover#703) (feat(scoring): upstream time-decay, behind a default-off flag (#703) JSONbored/loopover#731)408dc5afeat(mcp): gittensory_lint_pr_text commit/PR-body rubric linter (feat(mcp): gittensory_lint_pr_text (commit/PR-body rubric linter) JSONbored/loopover#634)c00d3cbfeat(scoring): per-repo time-decay hyperparameters + go live (implement upstream TIME_DECAY_* scoring dimension (deferred; owner-reviewed) JSONbored/loopover#703) (feat(scoring): per-repo time-decay hyperparameters + go live (#703) JSONbored/loopover#733)df71554feat(notifications): active issue-watch monitor — gittensory_watch_issues (issue-watch: multiplier-aware new-issue monitoring for miners (gittensory_watch_issues) JSONbored/loopover#699 path B) (feat(notifications): active issue-watch monitor — gittensory_watch_issues (#699 path B) JSONbored/loopover#735)3ca950achore(mcp): add outputSchema to every tool that lacks it (chore(mcp): add outputSchema to every tool that lacks it JSONbored/loopover#637)32e22a7fix(issue-watch): visibility-aware access gate for subscriptions + fan-out (fix(issue-watch): visibility-aware access gate for subscriptions + fan-out JSONbored/loopover#742)c3bbb4brefactor(signals): shared public-safe redaction module (refactor(signals): shared public-safe redaction module JSONbored/loopover#542) (refactor(signals): shared public-safe redaction module (#542) JSONbored/loopover#743)0a37e40feat(mcp): slop self-check tools + release @jsonbored/gittensory-mcp v0.6.0 (feat(mcp): slop self-check tools + release @jsonbored/gittensory-mcp v0.6.0 JSONbored/loopover#745)5652d1bfix(mcp): report package version 0.6.0 (fix(mcp): report package version 0.6.0 JSONbored/loopover#751)601ec9cfeat(mcp): gittensory_explain_score_breakdown (feat(mcp): gittensory_explain_score_breakdown JSONbored/loopover#649)950c6e0feat(mcp): gittensory_remediation_plan (feat(mcp): gittensory_remediation_plan JSONbored/loopover#650)e99d427fix(predict-gate): resolve contributor confirmation for gate prediction (fix(predict-gate): resolve contributor confirmation for gate prediction JSONbored/loopover#715)aaeff16fix(scoring): match upstream gittensor constant name + fallback value (fix(scoring): correct constant name + fallback to match upstream values (#806, #807) JSONbored/loopover#815)353a764fix(reliability): authenticate public GitHub profile fetches (fix(reliability): authenticate public GitHub profile fetches (#790) JSONbored/loopover#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) JSONbored/loopover#822) (feat(config): expose gate.mergeReadiness + gate.firstTimeContributorGrace in .gittensory.yml (#822) JSONbored/loopover#826)07d7daefeat(gate): focus-manifest policy as enforceable gate input (feat(github-app): focus-manifest policy as gate input JSONbored/loopover#555) (feat(gate): focus-manifest policy as enforceable gate input (#555) JSONbored/loopover#827)13c042bfeat(agent): autonomy-levels framework (feat(agent): autonomy-levels framework (observe→…→auto) JSONbored/loopover#773) (feat(agent): autonomy-levels framework (#773) JSONbored/loopover#840)965c6aefeat(agent): autoMaintain config block + dashboard (feat(agent): autoMaintain config block (.gittensory.yml + DB + dashboard) JSONbored/loopover#774) (feat(agent): autoMaintain config block + dashboard (#774) JSONbored/loopover#841)27a3ba6feat(agent): kill-switch + dry-run + action audit (feat(agent): action audit log + kill-switch + dry-run/shadow mode JSONbored/loopover#776) (feat(agent): kill-switch + dry-run + action audit (#776) JSONbored/loopover#842)2e06410feat(agent): deterministic local scorer MCP tool (feat(agent): local gittensor-root scorer MCP wrapper JSONbored/loopover#782) (feat(agent): deterministic local scorer MCP tool (#782) JSONbored/loopover#847)32b1e87feat(agent): miner write-tools — local-execution action specs (feat(agent): miner write-tools (open_pr/file_issue/...) — local-executed JSONbored/loopover#780) (feat(agent): miner write-tools — local-execution action specs (#780) JSONbored/loopover#848)e111622feat(agent): multi-step plan DAG tools (feat(agent): multi-step action DAG executor JSONbored/loopover#783) (feat(agent): multi-step plan DAG tools (#783) JSONbored/loopover#849)134b0c3feat(agent): harness adapter — miner-auto-dev profile + driving loop (feat(agent): harness adapter ('connect a Claude/Codex subscription') + driving loop JSONbored/loopover#781) (feat(agent): harness adapter — miner-auto-dev profile + driving loop (#781) JSONbored/loopover#850)90c9a52feat(agent): MCP automation-state read tool (advances feat(agent): automation controls surface (dashboard + CLI + MCP) JSONbored/loopover#784) (feat(agent): MCP automation-state read tool (advances #784) JSONbored/loopover#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) JSONbored/loopover#852)2d443a0feat(agent): CLI set-level + MCP propose-action — non-dashboard feat(agent): automation controls surface (dashboard + CLI + MCP) JSONbored/loopover#784 surfaces (feat(agent): CLI set-level + MCP propose-action — finish the non-dashboard #784 surfaces JSONbored/loopover#854)8bd04cbfix: require live write access for staged actions (fix(mcp): require live write access for staged agent actions JSONbored/loopover#859)a2b7f2bfix: debounce miner dashboard refresh jobs (fix(api): debounce miner dashboard refresh jobs JSONbored/loopover#867)1ed9df1fix(scoring): apply time decay to score breakdown (fix(scoring): inject server-side time decay into score breakdown paths JSONbored/loopover#881)36ba268fix(mcp): redact private preflight workspace signals (fix(mcp): redact private preflight workspace signals JSONbored/loopover#885)42cf7d2fix(scoring): fail closed on branch eligibility (Fail closed on branch eligibility for linked-issue scoring JSONbored/loopover#891)f23e831fix(agent): keep public-safe packets free of private evidence (fix(agent): keep public-safe packets free of private evidence JSONbored/loopover#892)7b9b189fix: keep predicted gate on public manifest (Fix predicted gate public manifest loading JSONbored/loopover#903)f850d7afix(signals): avoid request-time burden forecast scans (fix(signals): avoid request-time burden forecast scans JSONbored/loopover#906)5f10a43fix(preflight): redact private rerun hints from PR packet (fix(preflight): redact private rerun hints from PR packet JSONbored/loopover#907)25b77f1fix(decision-pack): include rejected feedback outcomes (fix(decision-pack): include rejected recommendation feedback JSONbored/loopover#914)2b4f8e6fix(mcp): keep PR body draft taxonomy public-safe (fix(mcp): keep PR body draft taxonomy public-safe JSONbored/loopover#909)f6a7121fix(mcp): count pending approvals accurately (fix(mcp): count pending approvals accurately JSONbored/loopover#878)30d888ffix: cap contributor graph file path loading (fix: cap contributor graph file path loading JSONbored/loopover#894)f023e56fix(security): bound focus manifest ingestion (fix(security): bound focus manifest ingestion JSONbored/loopover#890)d34d021fix: avoid public manifest cache poisoning (fix: avoid public manifest cache poisoning JSONbored/loopover#922)e9cfe0efix(signals): wire open-PR pressure scenarios into the branch scenario summary (feat(scoring): simulate open-pr pressure scenarios JSONbored/loopover#348) (fix(signals): wire open-PR pressure scenarios into the branch scenario summary (#348) JSONbored/loopover#923)b43f01dfeat(scoring): wire issue-discovery/issue-spam scoring constants into engine (feat(scoring): wire issue-discovery/issue-spam scoring constants into engine JSONbored/loopover#835)4d748c4feat(config): audit repository-settings flag enforcement (Fixes feat(config): audit repository-settings flag enforcement JSONbored/loopover#797) (feat(config): audit repository-settings flag enforcement (Fixes #797) JSONbored/loopover#915)1c8975ffeat(mcp): approval-queue control tools — list + decide pending agent actions (feat(agent): automation controls surface (dashboard + CLI + MCP) JSONbored/loopover#784) (feat(mcp): approval-queue control tools — list + decide pending agent actions (#784) JSONbored/loopover#934)8d4d356feat(agent): agent audit feed — surface executed actions + approval decisions (feat(agent): automation controls surface (dashboard + CLI + MCP) JSONbored/loopover#784) (feat(agent): agent audit feed — surface executed actions + approval decisions (#784) JSONbored/loopover#937)ec0b69bfeat(signals): slop signal — generic/empty commit message (feat(signals): slop signal — low-quality commit messages JSONbored/loopover#564) (feat(signals): slop signal — generic/empty commit message (#564) JSONbored/loopover#938)9cbdc6afix(signals): scope open PR pressure count to repo (fix(signals): scope open PR pressure count to repo JSONbored/loopover#939)0eee559feat(signals): slop signal — no linked issue without rationale (feat(signals): slop signal — no linked issue without rationale JSONbored/loopover#562) (feat(signals): slop signal — no linked issue without rationale (#562) JSONbored/loopover#962)afbe222fix(signals): compare local branch repo names case-insensitively (fix(signals): compare local branch repo names case-insensitively JSONbored/loopover#965)334edcdfix(mcp): gate approval queue by repo maintainer scope (fix(mcp): gate approval queue by repo maintainer scope JSONbored/loopover#941)c18d525fix(scoring): wire trusted open issue counts (fix(scoring): wire trusted open issue counts JSONbored/loopover#940)e93c893fix(mcp): include open issue counts in score breakdown (fix(mcp): include open issue counts in score breakdown JSONbored/loopover#971)96f6067fix(scoring): surface snapshot warnings in previews (fix(scoring): surface snapshot warnings in previews JSONbored/loopover#985)38d8641chore(actions): update github actions (chore(actions): update github actions JSONbored/loopover#997)0320221chore(actions): update github actions to v6 (chore(actions): update github actions to v6 JSONbored/loopover#1009)017654fchore(actions): update github actions to v7 (chore(actions): update github actions to v7 JSONbored/loopover#1031)3425026fix(scoring): apply penalty label multipliers instead of flooring to 1 (fix(scoring): apply penalty label multipliers instead of flooring to 1 JSONbored/loopover#1038)f759e88feat(scoring): model upstream review-collateral and non-code caps (Fi… (feat(scoring): model upstream review-collateral and non-code caps (Fi… JSONbored/loopover#1049)549a6c9fix(scoring): cap non-code explicit totals (fix(scoring): cap non-code explicit totals JSONbored/loopover#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) JSONbored/loopover#1140)d728e32feat(mcp): expose outcome calibration via gittensory_get_outcome_calibration (feat(mcp): expose outcome calibration via gittensory_get_outcome_calibration JSONbored/loopover#1174)a82f346feat(scoring): add draft-PR awareness to classification and queue health (feat(scoring): add draft-PR awareness to classification and queue health JSONbored/loopover#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 JSONbored/loopover#1194)ff38769feat(gate): add selfAuthoredLinkedIssueGateMode with config-as-code parity (feat(gate): add selfAuthoredLinkedIssueGateMode with config-as-code parity JSONbored/loopover#1198)da8a339feat(agent): DB-backed global kill-switch (instant freeze, no redeploy) (feat(agent): DB-backed global kill-switch (instant freeze, no redeploy) JSONbored/loopover#1243)e6a7597fix(scoring): guard credibility against non-finite stale and unlinked counts (fix(scoring): guard credibility against non-finite stale and unlinked counts JSONbored/loopover#1155)3682974fix(scoring): single-source fallbacks from DEFAULT_SCORING_CONSTANTS (Fixes chore(scoring): single-source fallbacks + drop dead density branch JSONbored/loopover#812) (fix(scoring): single-source fallbacks from DEFAULT_SCORING_CONSTANTS (Fixes #812) JSONbored/loopover#1240)43a2449feat(orb): surface fleet calibration analytics via dashboard + MCP (feat(orb): surface fleet calibration analytics via dashboard + MCP JSONbored/loopover#1268)cc8dc3ffeat(review): add .gittensory.yml review.profile (chill / balanced / assertive) (#review-profile) (feat(review): add .gittensory.yml review.profile (chill / balanced / assertive) JSONbored/loopover#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) JSONbored/loopover#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) JSONbored/loopover#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) JSONbored/loopover#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 JSONbored/loopover#1366)6138b9efeat(selfhost): add container-private per-repo config dir (feat(selfhost): add container-private per-repo config dir JSONbored/loopover#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 JSONbored/loopover#1413)880351efix(signals): redact /root/ local paths on the public-safety boundary (fix(signals): redact /root/ local paths on the public-safety boundary JSONbored/loopover#1376)43b0d6cfix(selfhost): protect private policy surfaces (fix(selfhost): protect private policy surfaces JSONbored/loopover#1405)a356441feat(settings): add the per-repo contributor blacklist config layer (feat(anti-abuse): configurable contributor blacklist — auto-label + auto-close banned logins JSONbored/loopover#1425) (feat(settings): add the per-repo contributor blacklist config layer (#1425) JSONbored/loopover#1429)8880369feat(settings): add configurable per-repo blacklistLabel (feat(anti-abuse): configurable contributor blacklist — auto-label + auto-close banned logins JSONbored/loopover#1425) (feat(settings): add configurable per-repo blacklistLabel (#1425) JSONbored/loopover#1430)160557bfix(scoring): match labelMultipliers keys as fnmatch globs ([Bug]: score preview matches labelMultipliers keys exactly, but the validator matches them as fnmatch globs JSONbored/loopover#1273) (fix(scoring): match labelMultipliers keys as fnmatch globs JSONbored/loopover#1277)4e9a1fdfeat(scoring): wire contributor validity floors into score preview (feat(scoring): model (or explicitly scope out) the issue-discovery / issue-spam dimension JSONbored/loopover#808) (feat(scoring): wire contributor validity floors into score preview (#808) JSONbored/loopover#1284)7227f27feat(signals): delegate isTestFile to test-evidence isTestPath (feat(signals): delegate isTestFile to test-evidence isTestPath JSONbored/loopover#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) JSONbored/loopover#1320) (fix(scoring): truncate per-repo grace_period_hours to int for upstream parity JSONbored/loopover#1326)c4a5bb8feat(planning): reward-risk severity taxonomy, opportunity factors, eligibility gap (feat(planning): fold upstream-inspired advisor/scan ideas into gittensory miner planning JSONbored/loopover#816) (feat(planning): reward-risk severity taxonomy, opportunity factors, eligibility gap (#816) JSONbored/loopover#1351)f4ea1a2fix(mcp): report real changed line counts for renamed files (fix(mcp): report real changed line counts for renamed files JSONbored/loopover#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 JSONbored/loopover#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 JSONbored/loopover#1525)72e9d72fix(mcp): bound predict gate changed paths (fix(mcp): bound predict-gate changedPaths JSONbored/loopover#1438)21f384afix(mcp): gate maintainer noise behind maintainer access (fix(mcp): gate maintainer-noise behind maintainer approval/write access JSONbored/loopover#1464)c732beafix(signals): preserve segment boundaries for globstar paths (fix(signals): preserve segment boundaries for globstar paths JSONbored/loopover#1426)a7d1a1cfix(scoring): harden label glob translation (fix(scoring): harden label glob translation JSONbored/loopover#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 JSONbored/loopover#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) JSONbored/loopover#1556)42bfac1feat(review): per-repo .gittensory.yml review.instructions for grounded reviews (feat(review): per-repo .gittensory.yml review.instructions for grounded reviews JSONbored/loopover#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 JSONbored/loopover#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) JSONbored/loopover#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 JSONbored/loopover#1588)6f8472ffix(review): preserve cached review instructions (fix(review): preserve cached review instructions JSONbored/loopover#1586)810ddaffeat(mcp): expose maintainer-lane triage via gittensory_get_maintainer_lane (feat(mcp): expose maintainer-lane triage via gittensory_get_maintainer_lane JSONbored/loopover#1456)b6e79f4feat(review): gate AI close on a calibrated, configurable confidence threshold (feat(review): gate AI close on a calibrated, configurable confidence threshold JSONbored/loopover#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 JSONbored/loopover#1461)8817fbcfix(scoring): anchor the draft title pattern to genuine markers (fix(scoring): anchor the draft title pattern to genuine markers JSONbored/loopover#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 JSONbored/loopover#1444)f516415feat(mcp): add PowerShell shell completion (feat(mcp): add PowerShell shell completion JSONbored/loopover#1448)dcfbaf5fix(blacklist): add shared/global contributor blacklist (fix(blacklist): add shared/global contributor blacklist JSONbored/loopover#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 JSONbored/loopover#1688)77f0da1chore(actions): update github actions to v24.18.0 (chore(actions): update github actions to v24.18.0 JSONbored/loopover#1723)2572de5feat(selfhost): wire Codex reviews and secure observability (feat(selfhost): wire Codex reviews and secure observability JSONbored/loopover#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]) JSONbored/loopover#1744) (fix(scoring): clamp fixed_base_score and SRC_TOK_SATURATION_SCALE to documented bounds JSONbored/loopover#1745)87af67dfix(signals): redact /var/ paths in the manifest public-safe guard (fix(signals): redact /var/ paths in the manifest public-safe guard JSONbored/loopover#1749)2da7c92feat(mcp): add VS Code host to init-client config (feat(mcp): add VS Code host to init-client config JSONbored/loopover#1770)791d95dfix(signals): centralize public local-path redaction across drifted surfaces (fix(signals): centralize public local-path redaction across drifted surfaces JSONbored/loopover#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 JSONbored/loopover#1769) (fix(signals): match configured label globs in config quality and label audit (#1769) JSONbored/loopover#1774)3f18746feat(mcp): add cache list to inspect cached decision packs (feat(mcp): add cache list to inspect cached decision packs JSONbored/loopover#1800)a675a73fix(github): reduce rate-limit retry storms (fix(github): reduce rate-limit retry storms JSONbored/loopover#1866)f70b409feat(mcp): suggest the closest command on an unknown command (feat(mcp): suggest the closest command on an unknown command JSONbored/loopover#1868)4e34c4bfix(mcp): parseGitRemote accepts trailing-slash GitHub URLs (fix(mcp): parseGitRemote accepts trailing-slash GitHub URLs JSONbored/loopover#1887)737e5d7fix(github): align maintainer digest failing-check detection with readiness classifier (fix(github): align maintainer digest failing-check detection with readiness classifier JSONbored/loopover#1902)eb0cb2dfix(signals): count focused validation runs as passing evidence (fix(signals): count focused validation runs as passing evidence JSONbored/loopover#1912)fa09b39fix(mcp): avoid regex slash trimming in remote parsing (fix(mcp): avoid regex slash trimming in remote parsing JSONbored/loopover#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 JSONbored/loopover#1978)feea878fix(mcp): word-boundary linked-issue closing keywords (fix(mcp): word-boundary linked-issue closing keywords JSONbored/loopover#1988)ec131cffix(mcp): pin gittensory_propose_action to the PR's current head (fix(mcp): pin gittensory_propose_action to the PR current head JSONbored/loopover#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 JSONbored/loopover#2274)043e5c6fix(mcp): count cypress/e2e and snapshot paths as test files (fix(mcp): count cypress/e2e and snapshot paths as test files JSONbored/loopover#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 JSONbored/loopover#2356)4389690fix(gate): downgrade readiness gate mode block to advisory (fix(gate): downgrade readiness gate mode block to advisory JSONbored/loopover#2384)6ecacecfix(review): mark gate.firstTimeContributorGrace as reserved/inert (fix(review): mark gate.firstTimeContributorGrace as reserved/inert JSONbored/loopover#2411)76e9baafix(agent-actions): distinguish an executor error from a clean accept (fix(agent-actions): distinguish an executor error from a clean accept JSONbored/loopover#2428)51d283efix(config): honor settings.commandAuthorization in .gittensory.yml (fix(config): honor settings.commandAuthorization in .gittensory.yml JSONbored/loopover#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 JSONbored/loopover#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 JSONbored/loopover#2464)aad5235feat(settings): add contributorOpenPrCap/contributorOpenIssueCap config (feat(agent-actions): configurable per-contributor open PR/issue cap with auto-close over the limit JSONbored/loopover#2270) (feat(settings): add contributorOpenPrCap/contributorOpenIssueCap config (#2270) JSONbored/loopover#2467)0288f5ffix(scoring): cap labelPatternToRegExp wildcard groups to prevent ReDoS (fix(scoring): cap labelPatternToRegExp wildcard groups to prevent ReDoS JSONbored/loopover#2482)36d01f3fix(scoring): bound label pattern cache (fix(scoring): bound label-pattern RegExp cache with LRU eviction JSONbored/loopover#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 JSONbored/loopover#2270) (feat(agent-actions): auto-close a contributor's PR over the open-PR cap (#2270) JSONbored/loopover#2479)1092bf3feat(agent-actions): add a review-request nagging cooldown (feat(agent-actions): review-request nagging cooldown — throttle or close on repeated review pings JSONbored/loopover#2463) (feat(agent-actions): add a review-request nagging cooldown (#2463) JSONbored/loopover#2530)2ca1fb6fix(decision): match label history against config labels case-insensitively (fix(decision): match label history against config labels case-insensitively JSONbored/loopover#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 JSONbored/loopover#2550) (feat(gate): re-check migration-file collisions against live main before merge (#2550) JSONbored/loopover#2585)192d732fix(config): wire badgeEnabled into the .gittensory.yml manifest parser (fix(config): wire badgeEnabled into the .gittensory.yml manifest parser JSONbored/loopover#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 JSONbored/loopover#2616)a03e8f8fix(config): parse gate tri-state modes case-insensitively in manifest (fix(config): parse gate tri-state modes case-insensitively in manifest JSONbored/loopover#2612)3bee887feat(mcp): classify supported-but-outdated MCP clients as stale (feat(mcp): classify supported-but-outdated MCP clients as stale JSONbored/loopover#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 JSONbored/loopover#2623)33b4cbffeat(agent-actions): add an account-age throttle for ban-evasion (feat(agent-actions): add an account-age throttle for ban-evasion JSONbored/loopover#2642)d4aea8ffix(settings): cap review-nag cooldown (fix(settings): cap review-nag cooldown JSONbored/loopover#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 JSONbored/loopover#2637)c52a69cfeat(review): add a security-focused review profile toggle (feat(review): add a security-focused review profile toggle JSONbored/loopover#2675)00d1490feat(gate): add a lockfile-tamper-risk check (feat(gate): add a lockfile-tamper-risk check JSONbored/loopover#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 JSONbored/loopover#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 JSONbored/loopover#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 JSONbored/loopover#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 JSONbored/loopover#2662)534a67cfeat(mcp-cli): add gittensory_find_opportunities to the stdio surface (feat(mcp-cli): add gittensory_find_opportunities to the stdio surface JSONbored/loopover#2694)dc90617feat(gate): add a CLA / license-compatibility gate dimension (feat(gate): add a CLA / license-compatibility gate dimension JSONbored/loopover#2679)8d67c4afix(selfhost): scope label automation for one-shot reviews (fix(selfhost): scope label automation for one-shot reviews JSONbored/loopover#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 JSONbored/loopover#2718)73c9de4fix(selfhost): decouple taxonomy labels from outcome labels (fix(selfhost): decouple taxonomy labels from outcome labels JSONbored/loopover#2735)cce4b32feat(selfhost): gate priority label on linked-issue label propagation (feat(selfhost): gate priority label on linked-issue label propagation JSONbored/loopover#2750)bcb5ce2fix(signals): derive direct-PR lane preference from public-safe test expectations (fix(signals): derive direct-PR lane preference from public-safe test expectations JSONbored/loopover#2792)ce56de9fix(mcp): re-sync isTestFile with the server isTestPath (pytest prefix + JVM/C#/Swift) (fix(mcp): re-sync isTestFile with the server isTestPath (pytest prefix + JVM/C#/Swift) JSONbored/loopover#2753)06f33a7feat(mcp): add issue-slop CLI for issue-quality self-checks (feat(mcp): add issue-slop CLI for issue-quality self-checks JSONbored/loopover#2772)f72bcf0fix(signals): count C#/Swift/Groovy source as code files (fix(signals): count C#/Swift/Groovy source as code files JSONbored/loopover#2776)d0391cffeat(selfhost): add a modular moderation-rules engine with a cross-repo violation ledger (feat(selfhost): add a modular moderation-rules engine with a cross-repo violation ledger JSONbored/loopover#2746)4bdcc78fix(mcp): re-sync score-preview classifiers with the server test/code conventions (fix(mcp): re-sync score-preview classifiers with the server test/code conventions JSONbored/loopover#2822)7a448c4fix(gate): bind CLA checks to trusted app slug (fix(gate): bind CLA check-run detection to trusted GitHub App slug JSONbored/loopover#2815)d8801eefix(selfhost): keep review queue live and verify configured CI (fix(selfhost): keep review queue live and verify configured CI JSONbored/loopover#2843)d141364fix(signals): classify PHP source files as code (fix(signals): classify PHP source files as code JSONbored/loopover#2845)c7a8f76feat(config): add review.enrichment analyzer per-lane toggles (feat(config): add review.enrichment analyzer per-lane toggles JSONbored/loopover#2808)5c981d6feat(review): make orb check publication configurable (feat(review): make orb check publication configurable JSONbored/loopover#2863)08ce238fix(config): route repository-settings reads through the resolver, not the raw DB accessor (fix(config): route repository-settings reads through the resolver, not the raw DB accessor JSONbored/loopover#2920)1d3daddfix(selfhost): make guardrails and review labels configurable (fix(selfhost): make guardrails and review labels configurable JSONbored/loopover#2943)cdbd409fix(scoring): clamp time-decay override params to their documented bounds (implement upstream TIME_DECAY_* scoring dimension (deferred; owner-reviewed) JSONbored/loopover#703) (fix(scoring): clamp time-decay override params to their documented bounds (#703) JSONbored/loopover#2948)c0b6beefix(mcp): reuse test matcher for branch summaries (fix(mcp): reuse test matcher for branch summaries JSONbored/loopover#2964)4efa833fix(scoring): keep label classes with a literal dash after a range matchable (fix(scoring): keep label classes with a literal dash after a range matchable JSONbored/loopover#2973)d3ea149fix(mcp): bound lint-pr-text body file reads (fix(mcp): bound lint-pr-text body file reads JSONbored/loopover#2945)f13d95cfix(selfhost): make hard guardrails authoritative (fix(selfhost): make hard guardrails authoritative JSONbored/loopover#2974)ca8f976fix(advisory): classify native source for test evidence (fix(advisory): classify native source for test evidence JSONbored/loopover#2979)e2dbeb0fix(review): make guardrail paths config-only (fix(review): make guardrail paths config-only JSONbored/loopover#2981)feee775fix(mcp): order prerelease identifiers by semver precedence (fix(mcp): order prerelease identifiers by semver precedence JSONbored/loopover#3049)83a1b50fix(miner): use precision-safe numeric comparison in the CLI update-check semver comparator (fix(miner): use precision-safe numeric comparison in the CLI update-check semver comparator JSONbored/loopover#3053)4e5555efix(review): tighten reward labels and linked issue gates (fix(review): tighten reward labels and linked issue gates JSONbored/loopover#3067)9ab6631fix(scoring): exempt the maintainer lane from the issue-discovery validity floor (fix(scoring): exempt the maintainer lane from the issue-discovery validity floor JSONbored/loopover#3071)824a45bfix(signals): keep focus-areas guidance for the public-safe wanted paths (fix(signals): keep focus-areas guidance for the public-safe wanted paths JSONbored/loopover#3079)f26bf1cfix(signals): classify Dart/Flutter *_test.dart files as tests (fix(signals): classify Dart/Flutter *_test.dart files as tests JSONbored/loopover#3092)6f7e890fix(scoring): reject non-positive or non-finite label multipliers before they reach the score formula (fix(scoring): reject non-positive or non-finite label multipliers before they reach the score formula JSONbored/loopover#3124)6eaf68afeat(config): add .gittensory.yml surface to enable/scope repo-doc generation (feat(config): add .gittensory.yml surface to enable/scope repo-doc generation JSONbored/loopover#3169)568d6b3feat(selfhost): scheduled + on-demand refresh for repo-doc generation (feat(selfhost): scheduled + on-demand refresh for repo-doc generation JSONbored/loopover#3202)aac4c44fix(mcp): classify PHP preview tests (fix(mcp): classify PHP preview tests JSONbored/loopover#3223)c93555ffeat(labels): support arbitrary self-host type labels (feat(labels): support arbitrary self-host type labels JSONbored/loopover#3232)d48c681feat(agent): auto-match PRs to open GitHub Milestones in suggest-mode (feat(agent): auto-match PRs to open GitHub Milestones (suggest-mode) JSONbored/loopover#3183) (feat(agent): auto-match PRs to open GitHub Milestones in suggest-mode (#3183) JSONbored/loopover#3256)cc27827fix(signals): classify Vue/Svelte/Astro across all code classifiers (fix(signals): classify Vue/Svelte/Astro across all code classifiers JSONbored/loopover#3292)14c00f9fix(signals): classify .cc and .hpp C++ source across all classifiers (fix(signals): classify .cc and .hpp C++ source across all classifiers JSONbored/loopover#3301)7df540cfeat(agent): add Linear backend for project/milestone matching (feat(agent): add Linear backend for project/milestone matching JSONbored/loopover#3290)7e39efafix(signals): classify Dart source across all code classifiers (fix(signals): classify Dart source across all code classifiers JSONbored/loopover#3316)998e8fefix(review): explain validation and guardrail holds (fix(review): explain validation and guardrail holds JSONbored/loopover#3304)8334b1brefactor(signals): extract gate:-to-settings override mapping into its own function (refactor(signals): extract gate:-to-settings override mapping into its own function JSONbored/loopover#3373)c860b1ffeat(review): add review-evasion protection (feat(review): add review-evasion protection JSONbored/loopover#3414)850c767feat(review): add review.path_filters include/negation globs (feat(config): add review.path_filters include/negation glob knob JSONbored/loopover#2043) (feat(review): add review.path_filters include/negation globs (#2043) JSONbored/loopover#3494)812efcafeat(review): add review.auto_review eligibility filters (Auto-review eligibility filters (skip drafts, bot authors, WIP titles, base-branch scope, auto-pause) JSONbored/loopover#1954) (feat(review): add review.auto_review eligibility filters (#1954) JSONbored/loopover#3499)53d409ffeat(review): add auto_pause_after_reviewed_commits knob (feat(config): add review.auto_review.auto_pause_after_reviewed_commits knob JSONbored/loopover#2042) (feat(review): add auto_pause_after_reviewed_commits knob (#2042) JSONbored/loopover#3503)cb521d7feat(review): add review.tone public-safe voice brief knob (feat(config): add review.tone public-safe free-text brief knob JSONbored/loopover#2044) (feat(review): add review.tone public-safe voice brief knob (#2044) JSONbored/loopover#3507)936fd2afeat(review): skip ignored auto-review authors (feat(review): skip ignored auto-review authors JSONbored/loopover#3508)f47f0b3feat(config): add review.labeling_rules deterministic label suggestions (feat(config): add review.labeling_rules deterministic label suggestions JSONbored/loopover#2045) (feat(config): add review.labeling_rules deterministic label suggestions (#2045) JSONbored/loopover#3534)9d321f6feat(review): hold PRs that solve an unlinked open issue (feat(review): hold PRs that solve an unlinked open issue JSONbored/loopover#3513)d01b44ffeat(selfhost): add per-repo review.ai_model overrides for claude-code/codex (feat(selfhost): add per-repo review.ai_model overrides for claude-code/codex JSONbored/loopover#3570)a54441dfix(labels): bound custom type label cleanup (fix(labels): bound custom type label cleanup JSONbored/loopover#3552)54aa9a8feat(review): render AI-suggested fixes as GitHub suggested-change blocks (feat(review): render AI-suggested fixes as GitHub suggested-change blocks JSONbored/loopover#3577)97dbae6feat(review): render a deterministic changed-files summary in the unified comment (Changed-files summary table in the unified review comment JSONbored/loopover#1957) (feat(review): render a deterministic changed-files summary in the unified comment JSONbored/loopover#3604)87043affeat(review): tag AI review findings with a category taxonomy (Finding category taxonomy on AI review findings JSONbored/loopover#1958) (feat(review): tag AI review findings with a category taxonomy JSONbored/loopover#3634)cedbba0feat(review): add per-repo review.visual capture config (feat(review): add per-repo review.visual capture config JSONbored/loopover#3644)5096588feat(config): add review.linkedIssueSatisfaction knob (off/advisory/block, default off) (feat(config): add review.linkedIssueSatisfaction config knob (off/advisory/block, default off) JSONbored/loopover#2173) (feat(config): add review.linkedIssueSatisfaction knob (off/advisory/block, default off) (#2173) JSONbored/loopover#3665)a9b344efeat(review): add deterministic review-effort chip and wire real per-PR minutes (feat(review): add deterministic review-effort chip and wire real per-PR minutes JSONbored/loopover#3666)bdc5870feat(review): add review.visual.themes config for dark-mode capture (feat(review): add review.visual.themes config for dark-mode capture JSONbored/loopover#3680)d333463feat(review): skip auto-review when a configured label is present via review.auto_review.skip_labels (feat(review): skip auto-review when a configured label is present via review.auto_review.skip_labels JSONbored/loopover#3686)525be40feat(review): skip auto-review of docs-only PRs via review.auto_review.skip_docs_only (feat(review): skip auto-review of docs-only PRs via review.auto_review.skip_docs_only JSONbored/loopover#3690)7a6ebabfeat(review): size-cap eligibility guard for auto-review via max_added_lines / max_files (feat(review): size-cap eligibility guard for auto-review via review.auto_review.max_added_lines / max_files JSONbored/loopover#3693)24e9b4efeat(review): post a quiet "review skipped (reason)" status when auto-review eligibility fails (feat(review): post a quiet "review skipped (reason)" status when auto-review eligibility fails JSONbored/loopover#3694)e0b599ffix(review): clamp visual route capture limit (fix(review): clamp visual route capture limit JSONbored/loopover#3697)af0c3c0fix(signals): move isTestFile/isCodeFile out of local-branch.ts to unbreak ui:typecheck (fix(signals): move isTestFile/isCodeFile out of local-branch.ts to unbreak ui:typecheck JSONbored/loopover#3709)1baaecefeat(review): add scroll-through GIF evidence capture ((stretch) Short-clip/GIF evidence capture for non-static-visible changes JSONbored/loopover#3612) (feat(review): add scroll-through GIF evidence capture JSONbored/loopover#3688)3218df3feat(review): add review.min_finding_severity display floor for inline findings (feat(review): add review.min_finding_severity display floor for inline findings JSONbored/loopover#3718)2d0a2e7fix(review): hold required AI skips from PR metadata (fix(review): hold required automated-review skips from PR metadata JSONbored/loopover#3721)1abcd71fix(signals): exclude generated Dart from code scoring (fix(signals): exclude generated Dart part files from code scoring JSONbored/loopover#3724)e3db85ffeat(review): add review.max_findings display caps for blockers/nits (feat(config): add review.max_findings caps for blockers/nits JSONbored/loopover#2049) (feat(review): add review.max_findings display caps for blockers/nits (#2049) JSONbored/loopover#3783)2fa43bbfeat(mcp): compose preflight, slop-risk, and pr-text-lint into review-pr (feat(mcp): compose preflight, slop-risk, and pr-text-lint into review-pr JSONbored/loopover#3791)199475efeat(review): add boundary-safe test-generation advisory (Boundary-safe test generation JSONbored/loopover#1972) (feat(review): add boundary-safe test-generation advisory (#1972) JSONbored/loopover#3794)07fff6ffeat(review): add maintainer review recap digest builder + Discord delivery (feat(review): add maintainer review recap digest builder + Discord delivery JSONbored/loopover#3801)4422a54feat(review): boundary-safe test-generation spec + framework detector (feat(review): boundary-safe test-generation spec + framework detector JSONbored/loopover#3795)924b8eafeat(review): add review.comment_verbosity output-detail knob (feat(review): add review.comment_verbosity output-detail knob JSONbored/loopover#3804)ee686e0feat(review): deterministic impact map (feat(review): deterministic changed-symbol extraction from the PR diff (impact-map input) JSONbored/loopover#2182-feat(review): feed impact map into AI-review grounding as additive reference context JSONbored/loopover#2186) (feat(review): deterministic impact map (#2182-#2186) JSONbored/loopover#3796)839398cfeat(review): add cached repo quality-culture profile as AI-review grounding (feat(review): add cached repo quality-culture profile as AI-review grounding JSONbored/loopover#3802)a591584feat(config): add review.fixHandoff toggle (default off) for fix-handoff blocks (feat(config): add review.fixHandoff toggle (default off) for fix-handoff blocks JSONbored/loopover#2176) (feat(config): add review.fixHandoff toggle (default off) for fix-handoff blocks (#2176) JSONbored/loopover#3824)7f84fa7feat(mcp): add follow-up issue local-write action spec (feat(mcp): follow-up-issue action spec builder for deferred review findings JSONbored/loopover#2177) (feat(mcp): add follow-up issue local-write action spec (#2177) JSONbored/loopover#3836)38e40b2feat(review): add suppression-signal data model + memory matcher (feat(review): add suppression-signal data model + memory matcher JSONbored/loopover#3841)3da3ed8feat(review): add fix-handoff block renderer + follow-up-issue MCP spec (feat(review): add fix-handoff block renderer + follow-up-issue MCP spec JSONbored/loopover#3834)ceeb905feat(site): add public per-repo review-quality leaderboard (feat(site): add a public per-repo review-quality leaderboard JSONbored/loopover#2568) (feat(site): add public per-repo review-quality leaderboard (#2568) JSONbored/loopover#3846)a873a46feat(config): add review.auto_merge_summary read-only knobs surface (feat(config): add review.auto_merge_summary read-only knobs surface JSONbored/loopover#2051) (feat(config): add review.auto_merge_summary read-only knobs surface (#2051) JSONbored/loopover#3855)df6ba9afeat(config): validate .gittensory.yml against schema (fail clearly pre-review) (feat(config): validate .gittensory.yml against schema (fail clearly pre-review) JSONbored/loopover#3823)48f0943feat(miner-foundation): extract scoring preview/model into gittensory-engine (feat(miner-foundation): extract scoring preview/model modules into gittensory-engine JSONbored/loopover#2282) (feat(miner-foundation): extract scoring preview/model into gittensory-engine (#2282) JSONbored/loopover#3849)b14a258feat(regate-sweep): add opt-in oldest-first ordering mode to selectRegateCandidates (feat(regate-sweep): add opt-in oldest-first ordering mode to selectRegateCandidates JSONbored/loopover#3815) (feat(regate-sweep): add opt-in oldest-first ordering mode to selectRegateCandidates JSONbored/loopover#3867)1cd38c4feat(review): add config-driven before/after screenshot-table gate (feat(review): add config-driven before/after screenshot-table gate JSONbored/loopover#3877)685a39efeat(review): per-category inline-comment cap (feat(review): per-category inline-comment cap to prevent one category flooding the review JSONbored/loopover#2159) (feat(review): per-category inline-comment cap (#2159) JSONbored/loopover#3874)34d897efeat(engine): extract focus-manifest parse/compile core (feat(miner-foundation): extract focus-manifest parse/compile core into gittensory-engine JSONbored/loopover#2280) (feat(engine): extract focus-manifest parse/compile core (#2280) JSONbored/loopover#3891)89280e4fix(mcp): sanitize follow-up issue paths (fix(mcp): sanitize follow-up issue paths JSONbored/loopover#3970)0b6bc4bfix(mcp): map review preflight status (fix(mcp): map review preflight status JSONbored/loopover#3972)487d26afeat(mcp): add gittensory_find_opportunities to hosted Worker (feat(mcp): add gittensory_find_opportunities tool to the hosted /mcp Worker JSONbored/loopover#2308) (feat(mcp): add gittensory_find_opportunities to hosted Worker (#2308) JSONbored/loopover#3986)b13b478feat(config): add review.shared_config operator overlay (feat(config): add review.shared_config operator base-manifest overlay JSONbored/loopover#2046) (feat(config): add review.shared_config operator base-manifest overlay (#2046) JSONbored/loopover#3995)96214c5fix(mcp): keep boundary suggestions source-free (fix(mcp): keep boundary suggestions source-free JSONbored/loopover#3955)590d52cfeat(mcp): add gittensory_validate_config tool for .gittensory.yml (feat(mcp): add gittensory_validate_config tool for .gittensory.yml JSONbored/loopover#4049)46aa701fix(review): apply the no-issue-rationale exemption to all linked-issue findings (fix(review): apply the no-issue-rationale exemption to all linked-issue findings JSONbored/loopover#4064)3356fc6feat(review): wire linked-issue satisfaction into the deterministic gate (feat(review): wire linked-issue satisfaction into the deterministic gate JSONbored/loopover#4069)a844972fix(mcp): sanitize validate-config terminal output (fix(mcp): sanitize validate-config terminal output JSONbored/loopover#4090)e86933ffeat(review): upgrade inlineComments + fixHandoff to full config-as-code substitutes (feat(review): upgrade inlineComments + fixHandoff to full config-as-code substitutes JSONbored/loopover#4116)5bfa6cbfix(mcp): bound opportunity target fanout (fix(mcp): bound opportunity target fanout JSONbored/loopover#4072)acddda9fix(mcp): build gittensory-engine before the publish gate + switch to workflow_dispatch (fix(mcp): build gittensory-engine before the publish gate + switch to workflow_dispatch JSONbored/loopover#4135)501b719refactor(mcp): depend on the published gittensory-engine, drop the hand-ports (refactor(mcp): depend on the published gittensory-engine, drop the hand-ports JSONbored/loopover#4159)ab95b4crefactor(mcp): derive version literals instead of hand-syncing them (refactor(mcp): derive version literals instead of hand-syncing them JSONbored/loopover#4161)f46aa4afeat(review): add gate.copycat.mode config scaffold for copycat detection (feat(review): add gate.copycat.mode config scaffold for copycat detection JSONbored/loopover#4140)f3507d0feat(mcp-cli): register gittensory_get_upstream_drift stdio proxy tool (feat(mcp-cli): register gittensory_get_upstream_drift stdio proxy tool JSONbored/loopover#4216)f53d4e5feat(mcp): add gittensory_simulate_open_pr_pressure MCP tool (feat(mcp): add gittensory_simulate_open_pr_pressure MCP tool JSONbored/loopover#4218)07207a7feat(mcp-cli): add `maintain precision` subcommand for gate false-positive telemetry (feat(mcp-cli): addmaintain precisionsubcommand for gate false-positive telemetry JSONbored/loopover#4221)54dc362feat(mcp-cli): add tools command listing stdio tool descriptors (feat(mcp-cli): add tools command listing stdio tool descriptors JSONbored/loopover#4225)b646b8afeat(mcp-cli): add maintain queue to list pending actions (feat(mcp-cli): add maintain queue to list pending actions JSONbored/loopover#4226)19d111afeat(mcp-cli): add `--format ndjson` streaming output for list-shaped commands (feat(mcp-cli): add--format ndjsonstreaming output for list-shaped commands JSONbored/loopover#4228)93e6afbfeat(mcp-cli): add stdio gittensory_get_maintainer_noise proxy (feat(mcp-cli): add stdio gittensory_get_maintainer_noise proxy JSONbored/loopover#4232)Changed Files
.claude/skills/contributing-to-gittensory/reference.md.claude/skills/contributing-to-gittensory/SKILL.md.dockerignore.env.example.github/CODEOWNERS.github/dependabot.yml.github/ISSUE_TEMPLATE/bug_report.yml.github/ISSUE_TEMPLATE/config.yml.github/ISSUE_TEMPLATE/feature_request.yml.github/pull_request_template.md.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/pages.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.gitleaks.toml.gittensory.yml.gittensory.yml.exampleapps/gittensory-ui/public/openapi.jsonapps/gittensory-ui/src/components/site/animated-terminal.tsxapps/gittensory-ui/src/components/site/app-panels/commands-panel.tsxapps/gittensory-ui/src/components/site/app-panels/maintainer-settings.tsxapps/gittensory-ui/src/components/site/app-shell.tsxapps/gittensory-ui/src/components/site/mcp-version-badge.tsxapps/gittensory-ui/src/components/site/npm-install.tsxapps/gittensory-ui/src/components/site/public-repo-quality-page.tsxapps/gittensory-ui/src/lib/api/session.tsapps/gittensory-ui/src/lib/mcp-package.tsapps/gittensory-ui/src/lib/selfhost-env-reference.tsapps/gittensory-ui/src/routes/agents.tsxapps/gittensory-ui/src/routes/api.index.tsxapps/gittensory-ui/src/routes/app.analytics.tsxapps/gittensory-ui/src/routes/app.index.tsxapps/gittensory-ui/src/routes/app.operator.tsxapps/gittensory-ui/src/routes/changelog.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.mcp-clients.tsxapps/gittensory-ui/src/routes/docs.privacy-security.tsxapps/gittensory-ui/src/routes/docs.quickstart.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.tsxapps/gittensory-ui/src/routes/index.tsxapps/gittensory-ui/src/routes/repos.$owner.$repo.quality.tsxapps/gittensory-ui/src/routes/roadmap.tsxapps/gittensory-ui/src/routeTree.gen.tsCHANGELOG.mdcliff.tomlconfig/examples/gittensory.full.ymlconfig/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.ymlLICENSEmigrations/0002_repository_settings.sqlmigrations/0003_data_spine.sqlmigrations/0004_scoring_intelligence.sqlmigrations/0005_sync_fidelity.sqlmigrations/0006_open_data_completeness.sqlmigrations/0007_current_open_reconciliation.sqlmigrations/0008_private_beta_auth.sqlmigrations/0010_agent_orchestrator.sqlmigrations/0011_workers_ai_usage.sqlmigrations/0013_upstream_rulesets.sqlmigrations/0015_product_usage_events.sqlmigrations/0017_agent_recommendation_outcomes.sqlmigrations/0018_recommendation_outcome_surface_snapshot.sqlmigrations/0019_product_usage_event_role.sqlmigrations/0021_queue_trend_snapshots.sqlmigrations/0026_ai_review_settings.sqlmigrations/0027_repository_ai_keys.sqlmigrations/0029_ai_review_provider_model.sqlmigrations/0031_notification_subscriptions.sqlmigrations/0032_repository_gate_pack.sqlmigrations/0033_slop_gate_settings.sqlmigrations/0034_slop_ai_advisory.sqlmigrations/0036_issue_watch_subscriptions.sqlmigrations/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.sqlmigrations/0103_priority_linked_issue_gate.sqlmigrations/0104_global_moderation_config.sqlmigrations/0105_repository_moderation_settings.sqlmigrations/0107_repository_review_check_mode.sqlmigrations/0110_project_milestone_match_mode.sqlmigrations/0111_linear_backend.sqlmigrations/0113_review_evasion_protection.sqlmigrations/0114_review_suppression_memory.sqlmigrations/0115_public_quality_metrics.sqlmigrations/0116_regate_sweep_order_mode.sqlmigrations/0117_screenshot_table_gate.sqlmigrations/0123_linked_issue_satisfaction_gate_mode.sqlmigrations/0124_linked_issue_satisfaction_cache.sqlpackage-lock.jsonpackage.jsonpackages/gittensory-engine/package.jsonpackages/gittensory-engine/src/focus-manifest.tspackages/gittensory-engine/src/index.tspackages/gittensory-engine/src/plan-templates.tspackages/gittensory-engine/src/review/enrichment-analyzer-names.tspackages/gittensory-engine/src/review/linked-issue-hard-rules-config.tspackages/gittensory-engine/src/review/linked-issue-label-propagation.tspackages/gittensory-engine/src/review/safe-url.tspackages/gittensory-engine/src/review/screenshot-table-gate.tspackages/gittensory-engine/src/review/unlinked-issue-guardrail-config.tspackages/gittensory-engine/src/scoring/model.tspackages/gittensory-engine/src/scoring/pending-pr-scenarios.tspackages/gittensory-engine/src/scoring/preview.tspackages/gittensory-engine/src/scoring/types.tspackages/gittensory-engine/src/settings/auto-close-exempt.tspackages/gittensory-engine/src/settings/autonomy.tspackages/gittensory-engine/src/settings/command-authorization.tspackages/gittensory-engine/src/settings/contributor-blacklist.tspackages/gittensory-engine/src/settings/moderation-rules.tspackages/gittensory-engine/src/settings/pr-type-label.tspackages/gittensory-engine/src/types/manifest-deps-types.tspackages/gittensory-mcp/bin/gittensory-mcp.jspackages/gittensory-mcp/CHANGELOG.mdpackages/gittensory-mcp/lib/local-branch.jspackages/gittensory-mcp/LICENSEpackages/gittensory-mcp/package.jsonpackages/gittensory-mcp/README.mdpackages/gittensory-mcp/scripts/gittensor-score-preview.mjspackages/gittensory-mcp/scripts/gittensor-score-preview.pypackages/gittensory-miner/lib/update-check.jsprometheus/rules/alerts.ymlREADME.mdscripts/build-selfhost.mjsscripts/check-docs-drift.mjsscripts/check-docs.mjsscripts/check-mcp-package.mjsscripts/check-migrations.mjsscripts/check-schema-drift.mjsscripts/check-ui-mcp-version-copy.mjsscripts/deploy-selfhost-prebuilt.shscripts/export-grafana-reporting-db.shSECURITY.mdsite/.vitepress/config.mtssite/.vitepress/theme/custom.csssite/.vitepress/theme/index.tssite/guide/auth.mdsite/guide/github-app-setup.mdsite/guide/install.mdsite/guide/maintainers.mdsite/guide/mcp.mdsite/guide/miners.mdsite/index.mdsite/public/logo.svgsite/reference/api.mdsite/security/privacy.mdsite/troubleshooting.mdsrc/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/footer.tssrc/github/labels.tssrc/github/migration-tree.tssrc/github/pr-actions.tssrc/github/public.tssrc/github/rate-limit.tssrc/github/repo-doc-pr.tssrc/github/repo-doc-refresh-runner.tssrc/github/self-authored.tssrc/github/webhook.tssrc/gittensor/api.tssrc/index.tssrc/integrations/linear-adapter.tssrc/integrations/project-tracker-adapter.tssrc/mcp/find-opportunities.tssrc/mcp/local-write-tools.tssrc/mcp/server.tssrc/notifications/events.tssrc/notifications/service.tssrc/openapi/schemas.tssrc/openapi/spec.tssrc/orb/oauth.tssrc/queue/dlq.tssrc/queue/processors.tssrc/queue/retryable.tssrc/registry/normalize.tssrc/registry/sync.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-analyzer-names.tssrc/review/enrichment-wire.tssrc/review/feature-activation.tssrc/review/finding-category-classify.tssrc/review/finding-severity-filter.tssrc/review/fix-handoff-render.tssrc/review/fix-handoff.tssrc/review/grounding-wire.tssrc/review/guardrail-config.tssrc/review/impact-map-wire.tssrc/review/impact-map.tssrc/review/impact-symbols.tssrc/review/inline-comments-select.tssrc/review/inline-comments.tssrc/review/labeling-rules.tssrc/review/linked-issue-hard-rules-config.tssrc/review/linked-issue-hard-rules.tssrc/review/linked-issue-label-propagation-fetch.tssrc/review/linked-issue-label-propagation.tssrc/review/linked-issue-satisfaction-cache-input.tssrc/review/lockfile-tamper.tssrc/review/ops.tssrc/review/parity-wire.tssrc/review/pre-merge-checks.tssrc/review/public-stats.tssrc/review/rag-index.tssrc/review/repo-culture-profile-wire.tssrc/review/repo-culture-profile.tssrc/review/repo-doc-refresh-schedule.tssrc/review/review-diff.tssrc/review/review-eligibility.tssrc/review/review-memory-match.tssrc/review/review-memory-wire.tssrc/review/screenshot-table-gate.tssrc/review/stats.tssrc/review/test-generation.tssrc/review/unified-comment-bridge.tssrc/review/unified-comment.tssrc/review/unlinked-issue-guardrail-config.tssrc/review/unlinked-issue-guardrail.tssrc/review/unlinked-issue-match.tssrc/review/visual/capture.tssrc/review/visual/preview-url.tssrc/review/visual/scroll-gif.tssrc/review/visual/shot.tssrc/rules/advisory.tssrc/rules/predicted-gate.tssrc/scenarios/input-model.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/config-lint.tssrc/selfhost/foreground-liveness.tssrc/selfhost/maintenance-admission.tssrc/selfhost/metrics.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/selfhost/stubs/gifenc.d.tssrc/selfhost/stubs/scroll-gif.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/ai-slop.tssrc/services/ai-summaries.tssrc/services/burden-forecast.tssrc/services/client-telemetry.tssrc/services/contributor-evidence-graph.tssrc/services/contributor-issue-draft.tssrc/services/control-panel-roles.tssrc/services/decision-pack.tssrc/services/draft.tssrc/services/focus-manifest-validation.tssrc/services/issue-quality.tssrc/services/label-audit.tssrc/services/linked-issue-satisfaction-run.tssrc/services/linked-issue-satisfaction.tssrc/services/maintainer-activation.tssrc/services/maintainer-lane.tssrc/services/maintainer-noise.tssrc/services/mcp-compatibility.tssrc/services/mcp-planning-elicitation.tssrc/services/miner-dashboard-recommendations.tssrc/services/operator-dashboard.tssrc/services/outcome-calibration.tssrc/services/plan-dag.tssrc/services/pr-body-draft.tssrc/services/public-quality-metrics.tssrc/services/queue-trends.tssrc/services/recommendation-outcomes.tssrc/services/recommendation-snapshots.tssrc/services/remediation-plan.tssrc/services/repo-outcome-patterns.tssrc/services/review-recap.tssrc/services/score-breakdown.tssrc/services/weekly-value-report.tssrc/settings/agent-actions.tssrc/settings/agent-execution.tssrc/settings/agent-sweep.tssrc/settings/auto-close-exempt.tssrc/settings/autonomy.tssrc/settings/command-authorization.tssrc/settings/contributor-blacklist.tssrc/settings/moderation-rules.tssrc/settings/pr-type-label.tssrc/settings/repository-settings.tssrc/signals/boundary-test-generation.tssrc/signals/change-guardrail.tssrc/signals/contributor-open-pr-monitor.tssrc/signals/data-quality.tssrc/signals/engine.tssrc/signals/focus-manifest-loader.tssrc/signals/focus-manifest.tssrc/signals/local-branch.tssrc/signals/local-scorer-diagnostics.tssrc/signals/local-scorer.tssrc/signals/local-workspace-intelligence.tssrc/signals/onboarding-pack.tssrc/signals/path-matchers.tssrc/signals/preflight-limits.tssrc/signals/redaction.tssrc/signals/registration-readiness.tssrc/signals/repo-policy-compiler.tssrc/signals/repo-policy-readiness.tssrc/signals/reward-risk.tssrc/signals/settings-preview.tssrc/signals/slop.tssrc/signals/test-evidence.tssrc/signals/unlinked-issue-candidates.tssrc/types.tssrc/upstream/ruleset.tssrc/utils/crypto.tssrc/utils/json.tstest/contract/upstream-contract.test.tstest/fixtures/engine-parity/predicted-gate/manifest-blocked-path.tstest/fixtures/engine-parity/predicted-gate/README.mdtest/fixtures/local-scorer/scorer-malformed.mjstest/fixtures/local-scorer/scorer-nonzero.mjstest/fixtures/local-scorer/scorer-success.mjstest/fixtures/local-scorer/scorer-timeout.mjstest/helpers/d1.tstest/integration/api.test.tstest/integration/orb-webhook.test.tstest/integration/public-quality-metrics-route-error.test.tstest/integration/routes-errors.test.tstest/stubs/cloudflare-email.tstest/stubs/cloudflare-workers.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/agent-sweep.test.tstest/unit/ai-key-byok.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/ai-slop.test.tstest/unit/ai-summaries.test.tstest/unit/auth.test.tstest/unit/auto-close-exempt-engine.test.tstest/unit/auto-close-exempt.test.tstest/unit/auto-review-config-matrix.test.tstest/unit/auto-review-wiring.test.tstest/unit/autonomy-engine.test.tstest/unit/autonomy.test.tstest/unit/backfill.test.tstest/unit/boundary-test-generation.test.tstest/unit/burden-forecast.test.tstest/unit/change-guardrail.test.tstest/unit/changed-files-summary-collapsible.test.tstest/unit/check-docs-drift-script.test.tstest/unit/check-migrations-script.test.tstest/unit/check-names.test.tstest/unit/ci-completion-fork-resume.test.tstest/unit/cla-check.test.tstest/unit/command-authorization-engine.test.tstest/unit/config-templates.test.tstest/unit/content-lane-orchestrator.test.tstest/unit/content-lane-spec-resolver.test.tstest/unit/content-lane-wire.test.tstest/unit/contributor-blacklist-engine.test.tstest/unit/contributor-blacklist.test.tstest/unit/contributor-evidence-graph.test.tstest/unit/contributor-issue-draft.test.tstest/unit/contributor-open-pr-monitor.test.tstest/unit/control-panel-roles.test.tstest/unit/crypto.test.tstest/unit/cutover-gate.test.tstest/unit/data-quality.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/eligibility-scenarios.test.tstest/unit/enrichment-wire.test.tstest/unit/feature-activation.test.tstest/unit/find-opportunities.test.tstest/unit/finding-category-classify.test.tstest/unit/finding-category-collapsible.test.tstest/unit/finding-severity-filter.test.tstest/unit/fix-handoff-render.test.tstest/unit/focus-manifest-engine-barrel.test.tstest/unit/focus-manifest-engine-branch-coverage.test.tstest/unit/focus-manifest-loader.test.tstest/unit/focus-manifest-validation.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/gittensor-api.test.tstest/unit/gittensory-focus-manifest.test.tstest/unit/grounding-wiring.test.tstest/unit/guardrail-config.test.tstest/unit/impact-map-collapsible.test.tstest/unit/impact-map-grounding.test.tstest/unit/impact-map-processor-wiring.test.tstest/unit/impact-map-wire.test.tstest/unit/impact-map.test.tstest/unit/impact-symbols.test.tstest/unit/index.test.tstest/unit/inline-comments-select.test.tstest/unit/inline-comments.test.tstest/unit/issue-quality-service.test.tstest/unit/issue-quality.test.tstest/unit/issue-watch.test.tstest/unit/label-audit.test.tstest/unit/linear-adapter.test.tstest/unit/linear-key.test.tstest/unit/linked-issue-hard-rules-config-engine.test.tstest/unit/linked-issue-hard-rules.test.tstest/unit/linked-issue-label-propagation-engine.test.tstest/unit/linked-issue-label-propagation-fetch.test.tstest/unit/linked-issue-label-propagation.test.tstest/unit/linked-issue-satisfaction-cache.test.tstest/unit/linked-issue-satisfaction-run.test.tstest/unit/linked-issue-validation.test.tstest/unit/local-branch-file-classifiers.test.tstest/unit/local-branch.test.tstest/unit/local-scorer-adapter.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/manifest-validation-collapsible.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-issue-slop.test.tstest/unit/mcp-cli-lint-pr-text.test.tstest/unit/mcp-cli-maintain.test.tstest/unit/mcp-cli-maintainer-noise.test.tstest/unit/mcp-cli-packets.test.tstest/unit/mcp-cli-profiles.test.tstest/unit/mcp-cli-review-pr.test.tstest/unit/mcp-cli-slop-risk.test.tstest/unit/mcp-cli-tools.test.tstest/unit/mcp-cli-upstream-drift.test.tstest/unit/mcp-cli-validate-config.test.tstest/unit/mcp-cli.test.tstest/unit/mcp-compatibility.test.tstest/unit/mcp-discovery.test.tstest/unit/mcp-find-opportunities.test.tstest/unit/mcp-fleet-analytics.test.tstest/unit/mcp-miner-prompts.test.tstest/unit/mcp-notifications.test.tstest/unit/mcp-output-schemas.test.tstest/unit/mcp-plan-dag.test.tstest/unit/mcp-planning-elicitation.test.tstest/unit/mcp-predict-gate.test.tstest/unit/mcp-refresh-repo-docs.test.tstest/unit/mcp-run-local-scorer.test.tstest/unit/mcp-server-telemetry.test.tstest/unit/mcp-simulate-open-pr-pressure.test.tstest/unit/mcp-suggest-boundary-tests.test.tstest/unit/mcp-upstream.test.tstest/unit/mcp-write-tools.test.tstest/unit/migration-0107-review-check-mode.test.tstest/unit/migration-collisions.test.tstest/unit/migration-tree.test.tstest/unit/miner-cli.test.tstest/unit/miner-dashboard-recommendations.test.tstest/unit/moderation-config-db.test.tstest/unit/moderation-rules-engine.test.tstest/unit/moderation-rules.test.tstest/unit/notifications-events.test.tstest/unit/notifications-service.test.tstest/unit/open-pr-pressure-scenarios.test.tstest/unit/openapi.test.tstest/unit/operator-dashboard.test.tstest/unit/ops.test.tstest/unit/outcome-calibration.test.tstest/unit/outcomes-wire.test.tstest/unit/parity-wire.test.tstest/unit/path-matchers.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/pr-text-lint.test.tstest/unit/pr-type-label-engine.test.tstest/unit/pr-type-label.test.tstest/unit/pre-merge-checks.test.tstest/unit/pre-start-check.test.tstest/unit/precision-breakers-chain.test.tstest/unit/predicted-gate.test.tstest/unit/preview-url.test.tstest/unit/private-config.test.tstest/unit/product-usage-mcp-adoption.test.tstest/unit/product-usage.test.tstest/unit/project-tracker-adapter.test.tstest/unit/public-quality-metrics.test.tstest/unit/public-safe-manifest-finding.test.tstest/unit/public-stats.test.tstest/unit/queue-trends.test.tstest/unit/queue.test.tstest/unit/rag-index.test.tstest/unit/recommendation-outcomes.test.tstest/unit/recommendation-snapshots.test.tstest/unit/redaction.test.tstest/unit/registration-readiness.test.tstest/unit/registry.test.tstest/unit/remediation-plan.test.tstest/unit/repo-culture-profile-wiring.test.tstest/unit/repo-culture-profile.test.tstest/unit/repo-doc-pr.test.tstest/unit/repo-doc-refresh-runner.test.tstest/unit/repo-doc-refresh-schedule.test.tstest/unit/repo-doc-refresh-sweep.test.tstest/unit/repo-outcome-patterns-service.test.tstest/unit/repo-outcome-patterns.test.tstest/unit/repo-policy-readiness.test.tstest/unit/repository-settings-enforcement.test.tstest/unit/repository-settings-linked-issue-satisfaction.test.tstest/unit/repository-settings-project-milestone-match.test.tstest/unit/repository-settings-review-check-mode.test.tstest/unit/repository-settings-screenshot-table-gate.test.tstest/unit/reputation-wiring.test.tstest/unit/review-adapters.test.tstest/unit/review-auto-merge-summary.test.tstest/unit/review-diff.test.tstest/unit/review-eligibility.test.tstest/unit/review-enrichment-config.test.tstest/unit/review-fix-handoff.test.tstest/unit/review-labeling-rules.test.tstest/unit/review-linked-issue-satisfaction.test.tstest/unit/review-memory-match.test.tstest/unit/review-memory-store.test.tstest/unit/review-memory-wire.test.tstest/unit/review-recap.test.tstest/unit/routes-agent-approval.test.tstest/unit/routes-ai-byok.test.tstest/unit/routes-focus-manifest.test.tstest/unit/routes-maintainer-noise.test.tstest/unit/routes-remediation-plan.test.tstest/unit/rules.test.tstest/unit/safe-url-engine.test.tstest/unit/safety.test.tstest/unit/scenario-blockers.test.tstest/unit/scenario-input-model.test.tstest/unit/scenario-summary.test.tstest/unit/schema-timestamp-defaults.test.tstest/unit/score-breakdown.test.tstest/unit/score-preview-script.test.tstest/unit/scoring-engine-barrel.test.tstest/unit/scoring.test.tstest/unit/screenshot-table-gate-engine.test.tstest/unit/screenshot-table-gate.test.tstest/unit/scroll-gif.test.tstest/unit/self-dogfood-registration-pack.test.tstest/unit/selfhost-ai.test.tstest/unit/selfhost-config-examples.test.tstest/unit/selfhost-config-lint.test.tstest/unit/selfhost-foreground-liveness.test.tstest/unit/selfhost-grafana-reporting.test.tstest/unit/selfhost-maintenance-admission.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-scroll-gif-stub.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/test-generation.test.tstest/unit/unified-comment-bridge.test.tstest/unit/unified-comment-parity.test.tstest/unit/unified-comment.test.tstest/unit/unlinked-issue-candidates.test.tstest/unit/unlinked-issue-guardrail-config-engine.test.tstest/unit/unlinked-issue-guardrail-config.test.tstest/unit/unlinked-issue-guardrail.test.tstest/unit/unlinked-issue-match.test.tstest/unit/upstream-ruleset.test.tstest/unit/visual-capture.test.tstest/unit/visual-collapsible.test.tstest/unit/visual-config-wiring.test.tstest/unit/visual-shot.test.tstest/unit/webhook.test.tstest/unit/weekly-value-report.test.tstest/unit/worker-entry-boundary.test.tstest/workers/worker-runtime.test.tsTHIRD_PARTY_NOTICES.mdtsconfig.jsonvitest.config.tsvitest.workers.config.tsworker-configuration.d.tswrangler.jsoncwrangler.vitest.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