File size: 2,860 Bytes
9ec4919
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
{
  "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."
  }
}