agentplat▸control runs deployments agents metering + agent
← runs

run_790e49cdf11ca0c4

AWAITING_APPROVAL retrigger →
jira-triage v1 · jira-triage-k8s · owner ingest:jira-new-ticket (api) · via jira-new-ticket · cloud-engineering

input

{
  "request": "Triage Jira ticket MZCLD-3735: Make Backstage the single reliable source of truth for MozCloud service data",
  "references": [
    "https://mozilla-hub.atlassian.net/browse/MZCLD-3735"
  ],
  "sourceContext": {
    "issue": "MZCLD-3735"
  }
}

summary

MZCLD-3735 is an epic-level follow-up to MZCLD-599 aimed at making Backstage the trusted, dependable system of record for MozCloud service metadata, with a goal of ~99% availability and (stretch) deprecating the legacy Core Services Dashboard and SRE Service Inventory. The ticket is well-scoped in its description but currently sits in Backlog with zero comments, no assignee/owner indicated, no acceptance criteria/DoD, no linked sub-tasks, and unresolved open questions (e.g., confirming the "deprecated" dashboard truly has no remaining users, and reconciling out-of-sync data between it and the SRE Service Inventory). It is explicitly blocked by MZCLD-599, which should be confirmed as resolved/consolidated before this epic can proceed. I was unable to pull MZCLD-599 or MZCLD-3190 directly (blocked by run-scope policy), so their current status/relationship should be verified manually before triage decisions are finalized.

findings

  • Ticket is a broad epic/initiative rather than an actionable single task, with three distinct workstreams bundled together: (1) data trustworthiness in Backstage, (2) uptime/availability (~99% target), and (3) deprecation of two legacy sources of truth.
  • Hard dependency on MZCLD-599 is called out explicitly; this ticket cannot be considered ready/actionable until that consolidation work is confirmed complete.
  • There is an unresolved open question embedded in the description about the Core Services Dashboard's deprecation status and data sync — this is a risk/ambiguity that should be tracked explicitly rather than left in prose.
  • No acceptance criteria, availability SLO definition/measurement plan, or ownership/assignee is specified, which will make it hard to know when this epic is 'done' or to track progress.
  • Related discovery-focused ticket MZCLD-3190 (incident-response discovery improvements on the same catalog) should be coordinated with this epic to avoid duplicated or conflicting catalog-reliability work, but could not be independently verified in this run due to access policy restrictions.

proposed actions

jira.comment.postrisk low — informational triage comment only, no state changes; human review required before posting.
MZCLD-3735
Triage note: This looks like a solid epic-level description but needs some structuring before it's actionable:

1) Dependency check — please confirm MZCLD-599 (catalog consolidation) is actually complete/merged before we schedule this work; the description flags this as a hard blocker.
2) Please break this into concrete sub-tasks/stories, e.g.: (a) define & instrument the 99%-ish availability SLO for Backstage, (b) data-quality/trust audit + reconciliation plan for service metadata, (c) confirm zero remaining consumers of the legacy Core Services Dashboard and reconcile its data vs. SRE Service Inventory, (d) formal deprecation/retirement plan for both legacy sources.
3) Assign an owner/DRI and add acceptance criteria so we know what 'reliable source of truth' means in measurable terms (e.g., specific uptime target + measurement window, defined data-freshness/accuracy checks).
4) Coordinate with MZCLD-3190 (incident-response discovery improvements on the same catalog) to avoid overlapping work on Backstage reliability.

Recommend keeping this epic in Backlog until MZCLD-599 status is confirmed and sub-tasks/owner are defined; then move to a sprint/roadmap once scoped.

tool calls

[
  {
    "capability": "jira.issue.read",
    "args": {
      "key": "MZCLD-3735"
    },
    "result": {
      "key": "MZCLD-3735",
      "summary": "Make Backstage the single reliable source of truth for MozCloud service data",
      "status": "Backlog",
      "description_text": "Background MZCLD-599  consolidates MozCloud service metadata into a single catalog: Backstage (https://backstage.mozilla.cloud/). This follow-up covers what's needed for Cloud Eng to actually  rely  on it \u2014 trustworthy data, dependable uptime, and retirement of the legacy sources. Of several customer-facing benefits (eventually this can help organize enough about associated repos, builds, environments, FinOps, etc.), a Service Catalog will also help us understand how many \"services\" are in MozCloud and how many still need to be moved \u2014 but only if the data is trusted. Current state:  Backstage is already usable by anyone in MoCo, but it's still MVP. Access isn't the gap \u2014 trustworthiness and dependability are, which is what this epic covers. Goal Do what we'd need such that Cloud Eng can declare this as a reliable source of data. 99%-ish availability. Stretch:  the old three sources of truth for cataloging all MoCo services are deprecated, and we only use Backstage. Sources to deprecate Dashboard from Wil Stuckey [Core Services] Service Catalog  \u2014 \"DEPRECATED, DO NOT USE\". We can title this as deprecated, but are we sure we're not using it? Also the data from within it is now out of sync from SRE Service Inventory, so that needs to be reconciled. SRE Service Inventory Dependencies Blocked by  MZCLD-599  \u2014 the catalog has to be consolidated before we can declare it reliable or retire the alternatives. Related:  MZCLD-3190  \u2014 incident-response discovery improvements on the same catalog.",
      "comment_count": 0,
      "comments": []
    }
  },
  {
    "capability": "jira.issue.read",
    "args": {
      "key": "MZCLD-599"
    },
    "result": {
      "error": "read blocked by policy: resource not in run subject",
      "args": {
        "key": "MZCLD-599"
      }
    },
    "blocked": true
  },
  {
    "capability": "jira.issue.read",
    "args": {
      "key": "MZCLD-3190"
    },
    "result": {
      "error": "read blocked by policy: resource not in run subject",
      "args": {
        "key": "MZCLD-3190"
      }
    },
    "blocked": true
  }
]

usage

{
  "model": "claude-sonnet-5",
  "input_tokens": 6070,
  "output_tokens": 2047,
  "estimated_cost_usd": 0.048915
}

approvals

[]

log

launched k8s job run-run-790e49cdf11ca0c4 in ns/mzcld-demo-dev image=us-docker.pkg.dev/moz-fx-mzcld-demo-prod/mzcld-demo-prod/agentplat:latest
runner started
live reasoning model=claude-sonnet-5
POLICY: blocked read jira.issue.read args={'key': 'MZCLD-599'} not in run subject
POLICY: blocked read jira.issue.read args={'key': 'MZCLD-3190'} not in run subject
awaiting approval for 1 action(s)