iiRecord
Agentic AI Atlas · Krate Pull Request Lifecycle
workflow:krate-pr-lifecyclea5c.ai
II.
Workflow JSON

workflow:krate-pr-lifecycle

Structured · live

Krate Pull Request Lifecycle json

Inspect the normalized record payload exactly as the atlas UI reads it.

File · domain/products/krate.yamlCluster · domain
Record JSON
{
  "id": "workflow:krate-pr-lifecycle",
  "_kind": "Workflow",
  "_file": "domain/products/krate.yaml",
  "_cluster": "domain",
  "attributes": {
    "displayName": "Krate Pull Request Lifecycle",
    "description": "The full lifecycle of a pull request within Krate's Kubernetes-native\nforge, from creation through merge.\n\nSteps:\n1. PR creation: A PullRequest aggregated API resource is created\n   (via UI, kubectl, or git push with a create-pr flag). Krate\n   syncs the underlying Git branches with Gitea.\n2. CI pipeline trigger: BranchProtection rules on the target branch\n   trigger a Pipeline resource. PipelineRuns execute as Kubernetes\n   Jobs — lint, test, build, security scan.\n3. Review assignment: Reviewers are assigned based on CODEOWNERS\n   patterns or team routing rules. Reviewers submit PullRequestReview\n   resources with approve/request-changes verdicts.\n4. Status conditions: The PR aggregates status from CI checks,\n   review approvals, and policy evaluations into Kubernetes-style\n   status conditions. The merge button is unlocked when all required\n   conditions are True.\n5. Agent dispatch (optional): Reviewers or authors can dispatch an\n   agent via /agent comment to address review feedback automatically.\n6. Merge: Merge strategy (merge/squash/rebase) is applied per\n   BranchProtection. Post-merge hooks trigger downstream pipelines,\n   release creation, and issue auto-close.\n",
    "workflowKind": "development",
    "triggerType": "event-driven",
    "typicalCadence": "per-pull-request",
    "complexity": "moderate"
  },
  "outgoingEdges": [
    {
      "from": "workflow:krate-pr-lifecycle",
      "to": "role:backend-engineer",
      "kind": "involves_role"
    },
    {
      "from": "workflow:krate-pr-lifecycle",
      "to": "role:fullstack-engineer",
      "kind": "involves_role"
    },
    {
      "from": "workflow:krate-pr-lifecycle",
      "to": "role:tech-lead",
      "kind": "involves_role"
    },
    {
      "from": "workflow:krate-pr-lifecycle",
      "to": "role:qa-engineer",
      "kind": "involves_role"
    },
    {
      "from": "workflow:krate-pr-lifecycle",
      "to": "domain:software-engineering",
      "kind": "applies_to_domain"
    },
    {
      "from": "workflow:krate-pr-lifecycle",
      "to": "domain:devops",
      "kind": "applies_to_domain"
    }
  ],
  "incomingEdges": []
}