---
phase: 11-osint-search-paste
plan: 03
subsystem: recon
tags: [register-all, wiring, integration-test, credentials, search-engines, paste-sites]

requires:
  - phase: 11-osint-search-paste
    provides: GoogleDorkSource, BingDorkSource, DuckDuckGoSource, YandexSource, BraveSource (Plan 01)
  - phase: 11-osint-search-paste
    provides: PastebinSource, GistPasteSource, PasteSitesSource (Plan 02)
  - phase: 10-osint-code-hosting
    provides: RegisterAll, SourcesConfig, buildReconEngine, 10 Phase 10 sources

provides:
  - RegisterAll extended to wire all 18 sources (Phase 10 + Phase 11)
  - SourcesConfig with Google/Bing/Yandex/Brave credential fields
  - cmd/recon.go credential wiring from env vars and viper config
  - Integration test proving SweepAll across all 18 sources

affects: [12-osint-iot-cloud-storage, recon-registration, recon-engine]

tech-stack:
  added: []
  patterns: [per-source BaseURL prefix in integration tests to avoid path collisions]

key-files:
  created: []
  modified:
    - pkg/recon/sources/register.go
    - pkg/recon/sources/register_test.go
    - pkg/recon/sources/integration_test.go
    - cmd/recon.go

key-decisions:
  - "Paste sources use BaseURL prefix (/pb/, /gp/) in integration test to avoid /search path collision with Replit/CodeSandbox"
  - "PasteSites uses injected test platform in integration test, same pattern as SandboxesSource"

patterns-established:
  - "Integration test BaseURL prefix pattern for sources sharing HTTP paths"

requirements-completed: [RECON-DORK-01, RECON-DORK-02, RECON-DORK-03, RECON-PASTE-01]

duration: 6min
completed: 2026-04-06
---

# Phase 11 Plan 03: RegisterAll Wiring + Integration Test Summary

**RegisterAll extended to 18 sources with search engine credential wiring and full SweepAll integration test**

## Performance

- **Duration:** 6 min
- **Started:** 2026-04-06T09:00:51Z
- **Completed:** 2026-04-06T09:06:34Z
- **Tasks:** 2
- **Files modified:** 4

## Accomplishments
- Extended SourcesConfig with 6 new credential fields (GoogleAPIKey, GoogleCX, BingAPIKey, YandexUser, YandexAPIKey, BraveAPIKey)
- RegisterAll now registers all 18 sources (10 Phase 10 + 8 Phase 11) unconditionally
- cmd/recon.go reads search engine API keys from env vars with viper config fallback
- Integration test proves SweepAll emits findings from all 18 SourceTypes via httptest fixtures

## Task Commits

Each task was committed atomically:

1. **Task 1: Extend SourcesConfig + RegisterAll + cmd/recon.go credential wiring** - `3250408` (feat)
2. **Task 2: Integration test -- SweepAll across all 18 sources** - `bebc3e7` (test)

## Files Created/Modified
- `pkg/recon/sources/register.go` - Extended SourcesConfig and RegisterAll with Phase 11 sources
- `pkg/recon/sources/register_test.go` - Guardrail tests updated to assert 18 sources
- `pkg/recon/sources/integration_test.go` - SweepAll integration test covering all 18 sources
- `cmd/recon.go` - Credential wiring for Google/Bing/Yandex/Brave API keys

## Decisions Made
- Paste sources use BaseURL prefix in integration test to avoid /search path collision with existing Replit/CodeSandbox handlers
- PasteSites uses injected test platform (same pattern as SandboxesSource) rather than default production platforms

## Deviations from Plan

None - plan executed exactly as written.

## Issues Encountered
None

## User Setup Required
None - no external service configuration required.

## Next Phase Readiness
- Phase 11 complete: all 18 OSINT sources (10 code-hosting + 5 search engine + 3 paste site) wired and tested
- Ready for Phase 12 (IoT/cloud storage sources) which will extend RegisterAll further

---
*Phase: 11-osint-search-paste*
*Completed: 2026-04-06*
