Skip to content

feat(review): auto-trigger E2E test generation on manifest_missing_tests - #4316

Merged
JSONbored merged 1 commit into
mainfrom
feat/e2e-test-gen-commit-delivery-4197-4201
Jul 8, 2026
Merged

feat(review): auto-trigger E2E test generation on manifest_missing_tests#4316
JSONbored merged 1 commit into
mainfrom
feat/e2e-test-gen-commit-delivery-4197-4201

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

Closes #4196

Scope

  • The PR title follows type(scope): short summary Conventional Commit format.
  • This PR is focused and does not mix unrelated backend, UI, MCP, docs, dependency, and deploy changes.
  • This follows CONTRIBUTING.md and does not reintroduce GitHub Pages, VitePress, site/, or CNAME.
  • I linked a currently open issue this PR resolves.

Validation

  • git diff --check
  • npm run actionlint
  • npm run typecheck
  • npm run test:coverage locally (unsharded) — 100% branch coverage on every changed/new line in this diff, confirmed via raw lcov BRDA data, not just the summary table.
  • npm run test:workers
  • npm run build:mcp
  • npm run test:mcp-pack
  • npm run ui:openapi:check
  • npm run ui:lint
  • npm run ui:typecheck
  • npm run ui:build
  • npm audit --audit-level=moderate
  • New or changed behavior has unit/integration tests for new branches, fallback paths, and sanitizer boundaries — including: signal-fires+feature-enabled auto-trigger, feature-disabled no-op, test-file-present no-op, validation-note-present no-op, double-generation dedup on an unchanged head SHA, fresh generation on a genuinely new head SHA, the explicit command still regenerating on a SHA the auto-trigger already covered, agentPaused/agentDryRun skip, and the author-less (author ?? "the PR author") attribution fallback.

Also ran (this repo's test:ci covers more than the template lists): npm run db:migrations:check, npm run db:schema-drift:check, npm run selfhost:env-reference:check, npm run selfhost:validate-observability, npm run cf-typegen:check, npm run test:engine-parity, the @jsonbored/gittensory-engine package's own tests, npm run build:miner, npm run test:miner-pack, npm run rees:test, npm run ui:openapi:settings-parity, npm run ui:version-audit, npm run docs:drift-check, npm run manifest:drift-check, npm run command-reference:check, npm run ui:test.

Safety

  • No secrets, wallet details, hotkeys, coldkeys, user PATs, private keys, raw trust scores, private rankings, or private maintainer evidence are exposed.
  • Public GitHub text stays sanitized, low-noise, and does not imply compensation guarantees or optimization tactics.
  • Auth, cookie, CORS, GitHub App, Cloudflare, or session changes include negative-path tests (agentPaused/agentDryRun both covered).
  • API/OpenAPI/MCP behavior is updated and tested where needed (no OpenAPI/MCP surface changed by this PR).
  • UI changes use live API data or real empty/error/loading states, not production mock/demo fallbacks (no UI changed).
  • UI Evidence — not applicable, no visible UI/frontend/docs/extension change in this PR.
  • Public docs/changelogs are updated where needed (none needed for this piece); changelog itself is untouched.

Notes

…sts (#4196)

Promotes the existing manifest_missing_tests advisory finding (already
computed whenever a repo opts into review.test_expectations +
manifestPolicyGateMode) into an actual auto-trigger for the #4192/#4194
generation-and-render path, additive to the explicit `@gittensory
generate-tests` command (#4195) -- the explicit command stays available
regardless of whether this signal fired.

Extracts the generation-and-delivery core shared by both triggers into
runE2eTestGenerationAndDeliver, so the two code paths can never
silently drift apart. Adds a per-head-SHA double-generation guard
(hasAuditEventForHeadSha, mirroring hasAuditEventForDelivery's own
json_extract pattern) so a re-review/sweep pass over an unchanged
commit never re-spends an LLM call or reposts a duplicate suggestion --
a genuinely new push (a new head SHA) is always a fresh miss. The
explicit command deliberately does not consult this guard: a
maintainer typing the command always gets a fresh generation, even on
a SHA the auto-trigger already covered.
@superagent-security

Copy link
Copy Markdown
Contributor

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

@JSONbored JSONbored self-assigned this Jul 8, 2026
@JSONbored
JSONbored merged commit 0777152 into main Jul 8, 2026
7 checks passed
@JSONbored
JSONbored deleted the feat/e2e-test-gen-commit-delivery-4197-4201 branch July 8, 2026 20:20
@loopover-orb loopover-orb Bot added the gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. label Jul 8, 2026
@codecov

codecov Bot commented Jul 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@f498e70). Learn more about missing BASE report.
⚠️ Report is 2 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #4316   +/-   ##
=======================================
  Coverage        ?   93.81%           
=======================================
  Files           ?      398           
  Lines           ?    36780           
  Branches        ?    13443           
=======================================
  Hits            ?    34506           
  Misses          ?     1620           
  Partials        ?      654           
Files with missing lines Coverage Δ
src/db/repositories.ts 96.71% <100.00%> (ø)
src/queue/processors.ts 95.45% <100.00%> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier.

Development

Successfully merging this pull request may close these issues.

feat(review): auto-trigger E2E test generation on the manifest_missing_tests signal

1 participant