Files
Marius CiepluchandClaude Fable 5.1 8ab4207618 feat(pair-corpus-honesty): add vibe-py, vfc-js and agent-vfc slices with mechanism vocabulary
Tasks 1.1, 5.1, 5.2, 5.4 and the data half of 5.3.

- mechanisms.toml: closed vocabulary v1 (20 ids) every expected row cites.
- vibe-py: 35 Real-Vuln-Benchmark pairs (Apache-2.0), human provenance only
  because the LLM-generated repositories carry no license (escalated).
- vfc-js: 17 Node fix-commit pairs harvested upstream (MIT/Apache-2.0),
  SecBench.js itself is not vendored (no license); sinks derived on 13/17.
- agent-vfc: 29 agent-trailer fixes as catalog-candidates.toml plus
  REVIEW.md; the loaded catalog stays empty until a human reviews them.
- datasets.toml and README document every slice and its review status.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_01T7XD7x5KonMdmGRkp63EQG
2026-09-05 10:45:42 +02:00

31 lines
742 B
JavaScript

// Provenance: thenables/thenify (fixed).
// repo: thenables/thenify
// commit: 0d94a24eb933bc835d568f3009f4d269c4c4c17a
// parent: aa21cfb64f47238c764d258d0faf7366a8487e36
// commit_url: https://github.com/thenables/thenify/commit/0d94a24eb933bc835d568f3009f4d269c4c4c17a
// cve: CVE-2020-7677
// license: MIT
// function: thenify
// relpath: index.js
// provenance: human
// mechanism: source_reaches_sink
// upstream_start: 2
var Promise = require('any-promise')
var assert = require('assert')
module.exports = thenify
/**
* Turn async functions into promises
*
* @param {Function} fn
* @return {Function}
* @api public
*/
function thenify(fn, options) {
assert(typeof fn === 'function')
return createWrapper(fn, options)
}