# Contributor handoff — jasmine/jasmine

> Canonical page: https://codevetter.com/unpack/jasmine/agent-handoff

# Contributor handoff — jasmine/jasmine

Scanned commit 390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf (2026-08-19). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Start with the source/distribution distinction and the two-copy self-test model before changing behavior. Preserve public API compatibility, browser independence in core, scoped cleanup, and reporter event contracts. Tests and CI were inspected, not executed; this handoff describes future verification options subject to authorization, and the inventory is bounded rather than exhaustive.
- Read package.json, the contribution guide, and buildDistribution before editing: src is authoritative implementation, lib is distributed/self-testing output, and the guide requests rebuilding for validation then reverting generated jasmine.js/jasmine-html.js changes. — [package.json#L16-L40](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/package.json#L16-L40) [.github/CONTRIBUTING.md#L10-L19](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/.github/CONTRIBUTING.md#L10-L19) [.github/CONTRIBUTING.md#L28-L42](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/.github/CONTRIBUTING.md#L28-L42) [scripts/lib/buildDistribution.js#L32-L76](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/scripts/lib/buildDistribution.js#L32-L76)
- Keep environment-independent changes in src/core and document-dependent code in src/html; the contribution guide requires public-interface caution and graceful cross-environment behavior. — [.github/CONTRIBUTING.md#L55-L57](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/.github/CONTRIBUTING.md#L55-L57) [.github/CONTRIBUTING.md#L77-L88](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/.github/CONTRIBUTING.md#L77-L88)
- For scheduling changes, read Env.runQueue, Runner, TreeRunner, QueueRunner, and matching specs together; Env injects captured real timers, while TreeRunner chooses hook queues and skip policies. — [src/core/Env.js#L311-L325](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/Env.js#L311-L325) [src/core/TreeRunner.js#L97-L129](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/TreeRunner.js#L97-L129) [src/core/TreeRunner.js#L281-L286](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/TreeRunner.js#L281-L286) [spec/core/QueueRunnerSpec.js#L527-L638](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/spec/core/QueueRunnerSpec.js#L527-L638)
- Use jasmineUnderTest/privateUnderTest for source assertions, with jasmine supplying test infrastructure; cleanup_ and resetEnv prevent environment/global-listener leakage between self-tests. — [.github/CONTRIBUTING.md#L38-L42](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/.github/CONTRIBUTING.md#L38-L42) [spec/helpers/resetEnv.js#L1-L8](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/spec/helpers/resetEnv.js#L1-L8) [spec/core/integration/SpecRunningSpec.js#L4-L12](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/spec/core/integration/SpecRunningSpec.js#L4-L12)
- Preserve repeat-run semantics: autoCleanClosures defaults true and clears spec functions; repeated execution requires disabling it, whereas parallelReset removes prior children and preserves top-level hooks. — [src/core/Configuration.js#L77-L85](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/Configuration.js#L77-L85) [src/core/Spec.js#L88-L94](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/Spec.js#L88-L94) [src/core/Env.js#L396-L397](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/Env.js#L396-L397) [spec/core/integration/ParallelSpec.js#L12-L61](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/spec/core/integration/ParallelSpec.js#L12-L61)
- Preserve reporter serialization and lifecycle contracts: properties are validated through structuredClone plus JSON.stringify, events are cloned per reporter, and clearing resources precedes specDone. — [src/core/Spec.js#L71-L81](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/Spec.js#L71-L81) [src/core/util.js#L74-L82](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/util.js#L74-L82) [src/core/ReportDispatcher.js#L58-L75](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/ReportDispatcher.js#L58-L75) [src/core/TreeRunner.js#L250-L263](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/core/TreeRunner.js#L250-L263)
- When execution is authorized, repository verification options are npm test, npm run test:parallel, npm run build, and browser serve/CI with JASMINE_BROWSER; Node selection excludes HTML specs, and package specs invoke shells/write artifacts. None of these tests or CI jobs was executed during this inspection. — [package.json#L17-L26](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/package.json#L17-L26) [spec/support/jasmine.json#L3-L5](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/spec/support/jasmine.json#L3-L5) [.github/CONTRIBUTING.md#L92-L102](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/.github/CONTRIBUTING.md#L92-L102) [spec/npmPackage/npmPackageSpec.js#L7-L24](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/spec/npmPackage/npmPackageSpec.js#L7-L24)
- Investigate the standalone boot0.js mismatch and ignored ci:performance argument before relying on those workflows; use the inspected script bodies rather than assuming historical documentation or command names establish current behavior. — [src/SpecRunner.html.ejs#L10-L14](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/src/SpecRunner.html.ejs#L10-L14) [scripts/buildStandaloneDist.js#L39-L47](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/scripts/buildStandaloneDist.js#L39-L47) [package.json#L25-L26](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/package.json#L25-L26) [spec/support/ci.js#L1-L9](https://github.com/jasmine/jasmine/blob/390d31e48106dd0d0b6dbcf5cf9071650fb2b4bf/spec/support/ci.js#L1-L9)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
