| { |
| "name": "Dependency triage", |
| "objective": "Classify dependency updates into safe patches, deferred upgrades, or human-review items with reproducible evidence.", |
| "trigger": { |
| "type": "scheduled", |
| "cadence_or_event": "Weekly, and on Dependabot, Renovate, or advisory-driven update PRs." |
| }, |
| "intake": { |
| "sources": ["dependency update PRs", "release notes and changelogs", "security advisories", "lockfile diffs", "package audit output"], |
| "selection_rule": "Group updates by risk: safe patch, minor feature, major migration, security, or blocked; act automatically only on the safe group." |
| }, |
| "workspace": { |
| "isolation": "Clean branch or worktree per update group.", |
| "allowed_actions": ["run package manager commands", "run tests, typechecks, and builds", "apply low-risk updates", "comment on PRs"], |
| "disallowed_actions": ["major version migrations", "runtime version changes", "security-policy changes", "broad multi-group upgrades"] |
| }, |
| "context": { |
| "required_files": ["compatibility policy", "supported runtime versions"], |
| "runtime_sources": ["recent CI status", "known flaky tests", "prior triage state"] |
| }, |
| "agents": [ |
| { |
| "role": "Classifier", |
| "responsibility": "Group updates by risk, security relevance, version change, and blast radius." |
| }, |
| { |
| "role": "Implementer", |
| "responsibility": "Apply low-risk updates and resolve lockfile conflicts." |
| }, |
| { |
| "role": "Verifier", |
| "responsibility": "Run targeted tests, typechecks, builds, and package audits." |
| }, |
| { |
| "role": "Reporter", |
| "responsibility": "Record accepted, deferred, and human-review updates with reasons." |
| } |
| ], |
| "verification": { |
| "gates": ["lockfile and manifest are consistent", "relevant tests, typecheck, build, and audit pass", "no skipped migration steps named in changelogs", "diff is limited to the intended group"], |
| "receipts": ["package versions and changelog links", "commands run with output", "deferred reasons", "reviewer questions"] |
| }, |
| "state": { |
| "artifacts": ["triage report comment", "processed-update ledger"], |
| "update_rule": "Record processed update IDs, verification evidence, and deferral reasons after each group." |
| }, |
| "budget": { |
| "max_retries": 2, |
| "max_runtime_minutes": 60 |
| }, |
| "escalation": { |
| "conditions": ["major version upgrade", "runtime requirement change", "security advisory with product impact", "licensing concern", "repeated verification failure"], |
| "destination": "Issue assigned to the repository owner with the blocked group and evidence" |
| }, |
| "exit": { |
| "success": "Safe updates are verified and merged or review-ready, and risky updates are deferred with reasons.", |
| "stop_without_success": "Verification fails repeatedly or remaining updates all require human review." |
| } |
| } |
|
|