Repository navigation
feat(bot): global dashboard, scoped admin tokens and Jev labeling - #449
Merged
Merged
Conversation
hikariming
requested review from
AsperforMias and
KurosawaGeeker
as code owners
October 6, 2026 10:51
hikariming
added a commit
that referenced
this pull request
Oct 6, 2026
Security and correctness review of #449: - API: per-account rate limit (60/min, 600/h), one-minute cache of read permission checks and of denials so polling and probing cost no GitHub quota; every change still re-checks live. Not installed, no such repository and no write access all answer not_found. - Retry closes the failed row first (no repeated clones) and keeps the job id prefix, so retried backfill items still send no email or comment and follow-ups stay follow-ups. Shared by web and API. - Cleanup: the comment page cap no longer skips the label definitions phase; a failed queue send or transient D1 error retries instead of failing the cleanup; "." and ".." labels are never written. - Triage: after an ambiguous label write, keep the record only for labels that landed. - Cron steps run independently. - Web admin: Activity card with the last 20 audit entries, 9 locales. - CLIs: the token is sent only over https (http on localhost); Go no longer treats a "version" flag value as the version command. - Python package gets ghfind bot, matching the npm and Go CLIs.
AsperforMias
force-pushed
the
feat/bot-admin
branch
from
October 7, 2026 11:55
691a7e1 to
e37b34b
Compare
AsperforMias
force-pushed
the
feat/bot-admin
branch
from
October 7, 2026 12:01
e37b34b to
a50cf1d
Compare
AsperforMias
temporarily deployed
to
Production
October 7, 2026 12:11 — with
GitHub Actions
Inactive
AsperforMias
had a problem deploying
to
Production
October 7, 2026 12:12 — with
GitHub Actions
Failure
AsperforMias
temporarily deployed
to
Production
October 7, 2026 12:21 — with
GitHub Actions
Inactive
This branch was previously deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bot administration now has a genuine global Dashboard, usable installation/account navigation, and stable Issue/PR lookup order. The console uses flat metrics, ruled tables and settings sections; statuses are plain text, and actions retain native links or forms.
Validation: 271 tests across 16 files in the actual Worker/local D1 pool; repository lint and typechecks, Astro web/router typechecks, and Bot Wrangler dry-run build passed. Real browser checks cover global/account/catalog navigation, filters, numeric task pagination, unsaved/pending/Back behavior, zero/one/two accounts, English/Chinese/Arabic, desktop/mobile and Light/Dark/Auto. Focused visual regressions verify the scoped activity table keeps repository names and timestamps visible.
Real Jev evaluation used public Dify descriptions and actual Issue/PR bodies in two local repository groups. The final eight-case batch matched 7/8 predeclared expectations: a workflow-memory PR also received the broad Agent label at the inclusive 0.8 threshold. The documentation secondary-change miss was corrected generically; the remaining mismatch, unchanged threshold and all attempts are preserved. All GitHub source reads were GET-only, and all evaluation label writes were locally simulated; nothing was written to Dify online. This small evaluation is not a calibrated production accuracy claim. Reproduction scripts and safety boundaries are documented in platform/github-app/README.md.
A separate final integration used a native authenticated/CSRF-protected browser preview POST through the current production Worker bundle and ephemeral migrated D1. Real Jev suggested bug at 0.98 for public Dify issue #43536 content against saved local synthetic definitions. Actual jobs, audits, label ledgers and repository settings retained identical counts and full-row digests; GitHub write attempts stayed zero. This one-call integration check is separate from the eight-case exact-Dify-description benchmark.
History is organized into 54 semantic commits, all authored and committed by AsperforMias with SSH signatures registered to that GitHub account. Final files are byte-identical to the previously validated implementation. Intermediate review keeps provider tests, classifier ownership tests and job integration tests with the modules and hooks they exercise. All 54 intermediate commits passed Bot typechecks across 26 distinct Bot trees. Exact final head
a50cf1d3ea8d4e7287a4573e9edc693205720ad2passed all seven pre-merge CI checks, including Verify release; Delete preview worker was skipped as expected. The locally reconstructed signed chain was integrated by a non-force fast-forward to preserve original user signatures on main. Existing user-specific ruleset bypass permission was used for the pending code-owner review; no protection rules were changed.Fixes #370.