@@ -209,3 +209,36 @@ Important notes:
209209
210210- Prefer the official OpenHands docs on skills: https://docs.openhands.dev/overview/skills
211211- Prefer the SDK skill guide: https://docs.openhands.dev/sdk/guides/skill
212+
213+ ## Dependency release-age policy
214+
215+ - Wait at least seven days after publication before adding or updating a
216+ third-party npm or PyPI version, including transitive lockfile changes.
217+ A weekly update schedule alone does not enforce this minimum age.
218+ - Keep Dependabot ` cooldown.default-days: 7 ` for npm and Python version
219+ updates, and preserve ` tool.uv.exclude-newer = "7 days" ` where configured.
220+ Existing named first-party exceptions do not exempt their third-party
221+ dependencies. Do not add broad exemptions or disable the cutoff to make a
222+ resolver succeed.
223+ - Verify the exact version's publication/upload time from npm or PyPI metadata
224+ (or artifact ` upload-time ` in ` uv.lock ` ), not the package's creation date.
225+ If age cannot be established, report the missing evidence rather than guess.
226+ - Security updates can bypass Dependabot cooldown. An urgent exception needs
227+ explicit maintainer approval recorded in the PR with the package, version,
228+ advisory/reason, and publication time. Agents must not grant themselves an
229+ exception. Keep overrides narrow and remove temporary exceptions afterward.
230+ - Use the committed lock for reproducible installs; review newly resolved
231+ artifacts before committing a lock update.
232+
233+ For manual npm dependency resolution, use npm >= 11.10 with
234+ ` npm install --min-release-age=7 ` (days), or verify registry timestamps before
235+ committing the result. Older npm versions do not enforce this option. ` npm ci `
236+ replays the lock and is not proof that newly locked versions meet the age rule.
237+
238+ Use uv >= 0.9.25 for this policy. Older versions cannot parse the boolean
239+ first-party exemptions and can discard the entire ` [tool.uv] ` table, including
240+ ` required-version ` . Check ` uv --version ` before running ` uv sync ` , ` uv lock ` ,
241+ or ` uv run ` ; this repository does not commit a lockfile to reject old parsers.
242+ The named exemptions cover the released SDK, tools, workspace, and agent-server
243+ packages used by the documented import checks; their third-party dependencies
244+ still have the seven-day cutoff.
0 commit comments