# Contributor handoff — date-fns/date-fns

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

# Contributor handoff — date-fns/date-fns

Scanned commit 717ce0a807ea4c6b540d015b5c408723175b2838 (2026-09-22). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Tests and CI were inspected, not executed, and this brief is bounded to the source files read. Begin changes at the owning function or package, then follow construction, locale, and generated-output dependencies. Existing manifests and mise tasks provide more current command evidence than several older contributing examples. Preserve the read-only authority of this investigation; the checks below are future validation guidance when execution is authorized.
- Read AGENTS.md and the owning package's implementation/test/config first; repository instructions identify core, UTC, and TZ boundaries and prohibit unsolicited commits or pushes. — [AGENTS.md#L1-L7](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/AGENTS.md#L1-L7) [AGENTS.md#L23-L27](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/AGENTS.md#L23-L27) [pkgs/core/src/addMonths/test.ts#L1-L6](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/src/addMonths/test.ts#L1-L6)
- Preserve the construction contract during date edits: use the existing toDate/constructFrom path so context factories, symbol hooks, subclass constructors, and cloned inputs remain intact. — [pkgs/core/src/toDate/index.ts#L42-L50](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/src/toDate/index.ts#L42-L50) [pkgs/core/src/constructFrom/index.ts#L44-L59](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/src/constructFrom/index.ts#L44-L59) [pkgs/core/src/addMonths/test.ts#L19-L22](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/src/addMonths/test.ts#L19-L22) [pkgs/core/src/addMonths/test.ts#L157-L180](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/src/addMonths/test.ts#L157-L180)
- For parser changes, read Parser, Setter, the registry, and the specific parser together; compatibility rejection, priority selection, Invalid Date returns, and RangeError branches are distinct contracts. — [pkgs/core/src/parse/_lib/Parser.ts#L5-L30](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/src/parse/_lib/Parser.ts#L5-L30) [pkgs/core/src/parse/_lib/Setter.ts#L86-L101](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/src/parse/_lib/Setter.ts#L86-L101) [pkgs/core/src/parse/index.ts#L432-L496](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/src/parse/index.ts#L432-L496) [pkgs/core/src/parse/index.ts#L499-L531](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/src/parse/index.ts#L499-L531)
- Edit generator logic rather than treating generated indices/FP wrappers as independent source; indices.ts rewrites package.json and export indices, and fp.ts labels emitted wrappers as generated. — [pkgs/core/scripts/build/indices.ts#L26-L38](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/scripts/build/indices.ts#L26-L38) [pkgs/core/scripts/build/fp.ts#L81-L87](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/scripts/build/fp.ts#L81-L87)
- Locale work requires the contribution guide and snapshot review; distinguish generation from comparison and address the --test versus test mode mismatch before trusting the existing locale-check task. — [AGENTS.md#L9-L13](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/AGENTS.md#L9-L13) [pkgs/core/docs/i18nContributionGuide.md#L44-L63](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/docs/i18nContributionGuide.md#L44-L63) [pkgs/core/mise.toml#L111-L123](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/mise.toml#L111-L123) [pkgs/core/scripts/build/localeSnapshots/index.ts#L60-L68](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/scripts/build/localeSnapshots/index.ts#L60-L68)
- When execution is authorized, start with the relevant Vitest file, then applicable mise type/lint, browser, time-zone, or smoke tasks; this investigation inspected those tests and CI definitions without running them. — [pkgs/core/mise.toml#L84-L119](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/mise.toml#L84-L119) [mise.toml#L19-L29](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/mise.toml#L19-L29) [.github/workflows/code_quality.yaml#L14-L21](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/.github/workflows/code_quality.yaml#L14-L21) [pkgs/core/vitest.config.ts#L12-L24](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/vitest.config.ts#L12-L24)
- Check documentation commands against current tooling: CONTRIBUTING.md still describes lib output and Prettier/ESLint, while package.sh emits dist/date-fns and root mise uses oxfmt/oxlint. — [CONTRIBUTING.md#L108-L135](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/CONTRIBUTING.md#L108-L135) [pkgs/core/scripts/build/package.sh#L58-L60](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/scripts/build/package.sh#L58-L60) [mise.toml#L25-L29](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/mise.toml#L25-L29)
- Keep verification commands separate from publishing and build mutations: docs CLI writes/deletes remote records, package.sh deletes dist, and Temporal implementations are excluded from production builds despite having their own test project. — [pkgs/docs/src/bin.ts#L34-L61](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/docs/src/bin.ts#L34-L61) [pkgs/docs/src/bin.ts#L73-L120](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/docs/src/bin.ts#L73-L120) [pkgs/core/scripts/build/package.sh#L62-L63](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/scripts/build/package.sh#L62-L63) [pkgs/core/tsconfig.dist.json#L19-L23](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/tsconfig.dist.json#L19-L23) [pkgs/core/vitest.config.ts#L28-L38](https://github.com/date-fns/date-fns/blob/717ce0a807ea4c6b540d015b5c408723175b2838/pkgs/core/vitest.config.ts#L28-L38)

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)
