| Implemented (2026-02-15) |
Automation builder now supports create/edit/toggle/delete rule flows from UI |
src/pages/settings/automations.astro |
| Implemented (2026-02-15) |
File-based PR dependency detection with conflict graph edges |
src/lib/pr-dependencies.ts |
| Implemented (2026-02-15) |
GraphQL stargazer count from repository_stars table |
src/lib/graphql/resolvers.ts |
| Implemented (2026-02-15) |
Notification digests now render real user notifications with summary counts |
src/lib/chat-notifications.ts |
| Implemented (2026-02-15) |
SonarQube trigger now fetches quality gate + persists issues when available |
src/lib/code-quality.ts |
| Implemented (2026-02-15) |
Snyk scan now parses API vulnerabilities and persists issue records |
src/lib/code-quality.ts |
| Implemented (2026-02-15) |
Admin metrics user growth now computed from real user creation dates |
src/pages/admin/_metrics-disabled.txt |
| Implemented (2026-02-18) |
Runner auth tokens now stored hashed + verified with timing-safe checks |
src/lib/runner-secrets.ts, src/pages/api/actions/runners/register.ts, src/pages/api/actions/runners/poll.ts, src/pages/api/actions/runners/job/[id]/complete.ts, src/db/schema/pipeline-runners.ts |
| Implemented (2026-02-18) |
Runner poll endpoint now performs race-safe job claims |
src/pages/api/actions/runners/poll.ts |
| Implemented (2026-02-18) |
Runner completion endpoint now enforces repository/job ownership checks |
src/pages/api/actions/runners/job/[id]/complete.ts |
| Implemented (2026-02-18) |
Manual action trigger endpoint now enforces write permissions and stable run numbering |
src/pages/api/actions/trigger-test.ts |
| Implemented (2026-02-18) |
Workflow secrets are now encrypted-at-rest with legacy plaintext migration on access |
src/lib/workflow-secret-crypto.ts, src/pages/[owner]/[repo]/settings/actions/runners.astro, src/pages/api/actions/runners/register.ts |
| Implemented (2026-02-18) |
Runner registration token TTL enforcement and automatic rotation on settings access |
src/pages/api/actions/runners/register.ts, src/pages/[owner]/[repo]/settings/actions/runners.astro, .env.example |
| Implemented (2026-02-18) |
One-time runner registration tokens with consumption on first use and revoke API |
src/lib/runner-registration-token.ts, src/pages/api/actions/runners/register.ts, src/pages/api/actions/runners/registration-tokens.ts, src/pages/[owner]/[repo]/settings/actions/runners.astro |
| Implemented (2026-02-18) |
Repository custom issue fields settings API wired to existing UI |
src/pages/api/repos/[owner]/[repo]/settings/fields.ts, src/pages/api/repos/[owner]/[repo]/settings/fields/[id].ts |
| Implemented (2026-02-18) |
Advanced analytics APIs for hotspots and metrics export |
src/pages/api/repos/[owner]/[repo]/analytics/hotspots.ts, src/pages/api/repos/[owner]/[repo]/analytics/export.ts |
| Implemented (2026-02-18) |
Custom dashboard APIs (list/create/get/delete/add widget) |
src/pages/api/analytics/dashboards/index.ts, src/pages/api/analytics/dashboards/[id].ts, src/pages/api/analytics/dashboards/[id]/widgets.ts |
| Implemented (2026-02-18) |
Cross-repo change sets API + state updates |
src/pages/api/change-sets/index.ts, src/pages/api/change-sets/[id].ts, src/lib/dependency-awareness.ts |
| Implemented (2026-02-18) |
Breaking-change detection now uses real PR diff/files with persisted findings |
src/lib/dependency-awareness.ts, src/pages/api/repos/[owner]/[repo]/pulls/[number]/impact.ts |
| Implemented (2026-02-18) |
Migration detection endpoint integrated into PR impact scan |
src/lib/dependency-awareness.ts, src/pages/api/repos/[owner]/[repo]/pulls/[number]/impact.ts |
| Implemented (2026-02-18) |
Terraform/IaC hook triggering via repo API and automation actions |
src/lib/iac-hooks.ts, src/pages/api/repos/[owner]/[repo]/iac/hooks.ts, src/lib/automations.ts, src/db/schema/automations.ts |
| Implemented (2026-02-18) |
Cloud deploy hooks for AWS/GCP/Azure/Kubernetes exposed via repo API and automations |
src/lib/cloud-hooks.ts, src/pages/api/repos/[owner]/[repo]/cloud/deploy.ts, src/lib/automations.ts, src/db/schema/automations.ts |
| Implemented (2026-02-18) |
Batch review comments now submitted atomically with server-side rollback safety |
src/pages/api/repos/[owner]/[repo]/pulls/[number]/reviews/batch.ts, src/components/pulls/PRConversation.tsx, tests/integration/review-batch-route.test.ts |
| Implemented (2026-02-18) |
File-level path permissions enforced for PR comment create/edit/delete and batch review comments |
src/pages/api/repos/[owner]/[repo]/pulls/[number]/comments.ts, src/pages/api/repos/[owner]/[repo]/pulls/[number]/reviews/batch.ts, tests/integration/pr-comments-path-permissions.test.ts |
| Implemented (2026-02-18) |
PR↔Issue linking parser upgraded for scoped refs and dedupe precedence |
src/lib/pr-issue-linking.ts, tests/unit/pr-issue-linking.test.ts |
| Implemented (2026-02-18) |
Multi-reviewer merge gate now enforces explicit required-reviewer approvals |
src/lib/merge-queue.ts, tests/unit/merge-gates.test.ts |
| Implemented (2026-02-18) |
AI provider set expanded with free/open options and external agent mode |
src/lib/ai/openrouter.ts, src/lib/ai/together.ts, src/lib/ai/google.ts, src/lib/ai/external-agent.ts, src/pages/settings/ai.astro, src/pages/api/user/ai-config.ts |
| Implemented (2026-02-18) |
External agent async callback endpoint persists final AI findings |
src/pages/api/repos/[owner]/[repo]/pulls/[number]/ai-review/callback.ts, src/lib/ai-review.ts, tests/integration/ai-review-callback-route.test.ts |
| Implemented (2026-02-18) |
Digest scheduling hardened with timezone/day handling and cron coverage |
src/lib/chat-notifications.ts, src/pages/api/user/notification-preferences.ts, src/pages/settings/notification-preferences.astro, tests/unit/digest-scheduler.test.ts, tests/unit/notification-digest-cron.test.ts |