SnagBadgerA little help for every snag.

Architecture and module boundaries#

SnagBadger is one versioned repository organized by product area and deep module. A module owns a useful public interface and keeps its implementation private. Consumer imports cross supported entries, not private folders.

Current responsibilities#

AreaOwns
sdk/reportingPortable bug-report processing, reviewed bundles/providers and optional reporting UI
sdk/capturePortable evidence/interaction types; collector implementation remains future work
sdk/embeddingReserved integration surface, currently without a finished widget
agent-testing/catalogResolved Markdown definition/section semantics and selection
agent-testing/executionRuntime coordination, hooks, retained progress and lifecycle
agent-testing/reportingResults/attempts/comments, promotion and optional HTML run viewer
examplesMaintained host scenarios and sample test catalog
tooling / testingRepository quality, workflow helpers and cross-module/browser acceptance

The foundation describes accepted ownership and intended expansion. Do not turn its future structure into claims of shipped capabilities; project status separates them.

Preserve loading boundaries#

Functions-only consumers must not eagerly load React, CSS, DOM globals, server libraries, or unrelated integrations. Optional bundle/rendering/UI entries remain separate. Use public-entry reference for supported imports.

Register new module ownership, entry/dependency direction and runtime environment in architecture policy with meaningful checks. Avoid empty packages created only to match a diagram. Architecture enforcement and built consumer checks explain the guardrails.

Decisions and vocabulary#

GitHub issues are canonical product decisions; repository architecture docs are linked assets. Use the glossary for domain terms, and relevant ADRs when present. A prototype's appearance or inferred behavior cannot resolve an open product decision.

Technology direction is strict TypeScript, Node LTS, pnpm, Vite, optional React UI, Vitest and real-browser checks. All versioned artifacts share one repository version. Quality checks apply to prototypes as well as production modules.