Externalize audit pipeline services

This commit is contained in:
2026-06-07 23:06:31 +02:00
parent 470fb0f348
commit a45b92ea0a
42 changed files with 3141 additions and 247 deletions

View File

@@ -0,0 +1,44 @@
---
id: TASK-38
title: Add ScreenshotOne missing-key run warning
status: In Progress
assignee: []
created_date: '2026-06-06 21:41'
updated_date: '2026-06-06 21:46'
labels: []
dependencies: []
priority: high
ordinal: 40000
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Emit a best-effort warning run event when an external audit needs screenshots but SCREENSHOTONE_API_KEY is not configured, while keeping audit classification and AI stages running.
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 needsScreenshots with missing SCREENSHOTONE_API_KEY writes a warning run event through appendRunEvent
- [x] #2 warning logging is best-effort and cannot fail the audit run
- [x] #3 needsScreenshots false does not emit the missing-key warning
<!-- AC:END -->
## Implementation Plan
<!-- SECTION:PLAN:BEGIN -->
1. Inspect current ScreenshotOne skip path and source-contract style
2. Add RED source-contract for warning event and best-effort guard
3. Run focused test to capture RED
4. Implement minimal runtime warning inside needsScreenshots missing-key branch
5. Run focused tests green and broader tests if practical
6. Self-review and report without staging or commits
<!-- SECTION:PLAN:END -->
## Implementation Notes
<!-- SECTION:NOTES:BEGIN -->
RED verified: pnpm exec tsc -p tsconfig.test.json passed, then node --test .test-output/tests/external-audit-pipeline-source.test.js failed only on missing ScreenshotOne config warning message (actual index -1).
GREEN verified: focused node --test .test-output/tests/external-audit-pipeline-source.test.js passed 11/11 after implementation. Full pnpm test passed 357/357 with exit 0.
<!-- SECTION:NOTES:END -->