Summary
Consolidated issue for all P3/future items: supply chain security tooling, the TS/JS coupling adapter, and a reference note on mutation testing (intentionally not a standalone effort).
RFC: https://github.com/orgs/unbound-force/discussions/483 — Groups 5 (partial), 9, 10 (TS/JS)
Phase: P3 (Multi-language) / Future
A. Supply Chain Security (Group 9)
OSV-Scanner
- Integrate OSV-Scanner per project for known vulnerability detection
- Run as part of CI pipeline
- Fail on critical/high severity vulnerabilities
SBOM Generation
- Generate Software Bill of Materials using
cyclonedx-gomod for Go projects
- Store SBOMs as build artifacts
- Consider SBOM generation for other languages as adapters are added
License Compliance
- Scan dependencies for license compatibility
- Flag copyleft or unknown licenses
- Configurable allow/deny list
B. TS/JS Coupling Adapter (Group 10 — TS/JS)
Implementation
- Build a TS/JS coupling analyzer conforming to vibe-check's ExternalAdapter JSON-RPC 2.0 protocol (as defined in
openspec/changes/universal-coupling-model/specs/analyzer-protocol/spec.md)
- Analyze TypeScript/JavaScript module-level coupling metrics
- Invoked by vibe-check as an
ExternalAdapter subprocess (stdin/stdout JSON-RPC)
- Output JSON with
language: "typescript" or language: "javascript"
- Handle CommonJS and ES module import styles
Metrics
- Same 7 metrics as Go and Python adapters (Ca, Ce, I, A, D, LCOM, circular deps)
- Abstractness adapted for TypeScript interfaces/abstract classes
- Output must conform to
metrics.ModuleGraph schema (validated by metrics.Validate)
C. Mutation Testing Reference (Group 5)
Decision: Mutation testing was evaluated and downgraded to P3/optional. The existing Gaze contract coverage mechanism (37 side-effect types with behavioral assertions) provides substantial overlap with what mutation testing validates. If revisited, consider:
- go-mutesting or similar
- Scope to critical packages only (not full codebase)
- Run on a separate schedule (not per-PR due to performance)
This is a reference note, not a standalone work item.
Acceptance Criteria
Supply Chain
TS/JS Adapter
Mutation Testing
Dependencies
Summary
Consolidated issue for all P3/future items: supply chain security tooling, the TS/JS coupling adapter, and a reference note on mutation testing (intentionally not a standalone effort).
RFC: https://github.com/orgs/unbound-force/discussions/483 — Groups 5 (partial), 9, 10 (TS/JS)
Phase: P3 (Multi-language) / Future
A. Supply Chain Security (Group 9)
OSV-Scanner
SBOM Generation
cyclonedx-gomodfor Go projectsLicense Compliance
B. TS/JS Coupling Adapter (Group 10 — TS/JS)
Implementation
openspec/changes/universal-coupling-model/specs/analyzer-protocol/spec.md)ExternalAdaptersubprocess (stdin/stdout JSON-RPC)language: "typescript"orlanguage: "javascript"Metrics
metrics.ModuleGraphschema (validated bymetrics.Validate)C. Mutation Testing Reference (Group 5)
Decision: Mutation testing was evaluated and downgraded to P3/optional. The existing Gaze contract coverage mechanism (37 side-effect types with behavioral assertions) provides substantial overlap with what mutation testing validates. If revisited, consider:
This is a reference note, not a standalone work item.
Acceptance Criteria
Supply Chain
TS/JS Adapter
languagefield, conforming tometrics.ModuleGraphschemavibe-check analyzetested (registered as ExternalAdapter)Mutation Testing
Dependencies
vibe-check analyzecommand (for ExternalAdapter registration)