Repository navigation
docs(diagrams): refresh archify sources 2026-10-12 - #644
mctl-agents[bot] wants to merge 1 commit into
Conversation
|
Claude finished @mctl-agents[bot]'s task in 3m 7s —— View job Review complete
Verdict: REQUEST_CHANGES (3 P2, 0 P1) All three findings trace back to one root cause: The inflated 92 figure was then propagated into two rendered, user-facing diagrams:
Both now display a number the source-of-truth data can't actually substantiate. Everything else in the diff checked out as internally consistent with what it feeds into diagrams:
|
Antigravity (agy) reviewModel: gemini-3.8-flash-medium · commit No significant issues found. |
| service-agent: agents.mctl.ai/v1alpha1 | ||
| shepherd: agents.mctl.ai/v1alpha1 | ||
| mcp_tool_count: 61 | ||
| mcp_tool_count: 92 |
There was a problem hiding this comment.
P2: mcp_tool_count is set to 92, but the mcp_tools list immediately below it (lines 93-167) only enumerates 74 unique tool names — down from a previously-consistent 61/61 in the prior commit. This fact file is supposed to be internally authoritative (regenerated by tools/diagram_facts.py --update), and the two counters now disagree with each other by 18. Looking at the generator (tools/diagram_facts.py:175-176), mcp_tool_count counts srv.AddTool( call sites while mcp_tools is a deduplicated sorted(set(...)) of literal "mctl_..." name matches — these two extraction methods can legitimately diverge (duplicate registrations, non-matching literal names, multi-file double counting), but when they do, the fact file silently ships a contradiction instead of flagging it. This PR propagates the inflated 92 figure into two rendered, user-facing diagrams (see below) stating '92 platform tools' / '92 MCP tools' when only 74 can actually be enumerated by name.
| "type": "backend", | ||
| "label": "api.mctl.ai/mcp", | ||
| "sublabel": "73 platform tools", | ||
| "sublabel": "92 platform tools", |
There was a problem hiding this comment.
P2: This '92 platform tools' figure comes from facts.yaml's mcp_tool_count, which disagrees with the 74 names actually enumerated in that same file's mcp_tools list (see comment on facts.yaml:92). The rendered diagram is propagating a number that the source-of-truth data itself cannot substantiate.
| "title": "One API for humans and agents", | ||
| "items": [ | ||
| "73 MCP tools behind OAuth 2.1 PKCE \u2014 the same surface an operator and an agent use", | ||
| "92 MCP tools behind OAuth 2.1 PKCE \u2014 the same surface an operator and an agent use", |
There was a problem hiding this comment.
P2: Same issue as academy-sandbox.architecture.json — this '92 MCP tools' figure is sourced from facts.yaml's mcp_tool_count, which contradicts the 74-entry mcp_tools list in the same file (see comment on facts.yaml:92).
There was a problem hiding this comment.
Has P1/P2 findings, changes requested: 3 P2 findings, all stemming from one root cause — mcp_tool_count (92) in facts.yaml no longer matches the 74 unique names actually enumerated in mcp_tools in the same file (previously these agreed, 61/61). This inflated figure is propagated into two rendered diagrams ('92 platform tools' / '92 MCP tools'). No P1s; everything else in the diff (budget, cron, workflow, platform-skill, release-version fact updates) is internally consistent with the diagrams that reference it.
Automated refresh of the archify diagram sources.
What changed and why
(the agent left no CHANGES.md)
Drift report this run acted on
Diagram drift report
Facts that changed since the diagrams were authored
agent_risk.authoring-canaryNonelowagents['implementer', 'incident-responder', 'issue-investigator', 'mentor', 'service-agent', 'shepherd']['authoring-canary', 'implementer', 'incident-responder', 'issue-investigator', 'mentor', 'service-agent', 'shepherd']budgets_usd.mentor2.0010.00cronworkflows.cronworkflow-mctl-agents-implement.yaml*/5 * * * *Nonecronworkflows.cronworkflow-mctl-agents-issue-poll.yaml*/15 * * * *Nonecronworkflows.cronworkflow-mctl-agents-shepherd.yaml0 7-21/2 * * *Nonecronworkflows.cronworkflow-mctl-agents-usage-collector.yamlNone21 * * * *cwft_env_overrides.IMPLEMENTER_DRAIN_TIMEOUT_SECONDSNone300cwft_env_overrides.ISSUE_INVESTIGATOR_BUDGET_USD3.008.00cwfts['mctl-agents-approve', 'mctl-agents-daily', 'mctl-agents-implement', 'mctl-agents-investigate', 'mctl-agents-issue-poll', 'mctl-agents-reconcile', 'mctl-agents-run', 'mctl-agents-shepherd']['mctl-agents-approve', 'mctl-agents-daily', 'mctl-agents-implement', 'mctl-agents-investigate', 'mctl-agents-reconcile', 'mctl-agents-run', 'mctl-agents-shepherd', 'mctl-agents-usage-collector']dev_loop.patched_markers['approval-watch', 'atomic-approve', 'concurrent-shepherd-tick', 'deploy-observation', 'exec-queue', 'fast-shepherd-cadence', 'implement-outcome', 'implement-queue', 'incident-watch', 'lifecycle-ownership', 'lifecycle-refusal-backoff', 'merge-detection', 'merge-watch-continue-as-new', 'registry-required', 'shepherd-in-loop', 'slug-scoped-implement', 'stale-issue-admission']['approval-watch', 'atomic-approve', 'concurrent-shepherd-tick', 'deploy-observation', 'exec-queue', 'fast-shepherd-cadence', 'human-input', 'implement-outcome', 'implement-queue', 'incident-watch', 'lifecycle-ownership', 'lifecycle-refusal-backoff', 'merge-detection', 'merge-watch-continue-as-new', 'registry-required', 'shepherd-in-loop', 'slug-scoped-implement', 'stale-issue-admission', 'work-context-resume']manifest_api_versions.authoring-canaryNoneagents.mctl.ai/v1alpha1mcp_tool_count6192mcp_tools['mctl_acknowledge_incident', 'mctl_add_custom_domain', 'mctl_approve_dev_loop', 'mctl_create_agent', 'mctl_create_preview', 'mctl_create_tenant', 'mctl_delete_preview', 'mctl_delete_tenant', 'mctl_deploy_service', 'mctl_deprecate_platform_skill', 'mctl_disable_tenant_skill', 'mctl_enable_tenant_skill', 'mctl_get_incident', 'mctl_get_operation', 'mctl_get_resource_usage', 'mctl_get_service_config', 'mctl_get_service_logs', 'mctl_get_service_status', 'mctl_get_tenant', 'mctl_get_workflow_logs', 'mctl_get_workflow_status', 'mctl_grant_repo_access', 'mctl_incident_summary', 'mctl_list_agent_executions', 'mctl_list_agent_versions', 'mctl_list_domains', 'mctl_list_incidents', 'mctl_list_operations', 'mctl_list_platform_skills', 'mctl_list_previews', 'mctl_list_recent_agent_runs', 'mctl_list_recent_operations', 'mctl_list_repos', 'mctl_list_services', 'mctl_list_tenant_skill_bindings', 'mctl_list_tenants', 'mctl_list_workflows', 'mctl_promote_agent', 'mctl_provision_database', 'mctl_publish_agent_version', 'mctl_publish_platform_skill', 'mctl_read_platform_skill', 'mctl_remove_custom_domain', 'mctl_resolve_agent', 'mctl_resolve_incident', 'mctl_retire_service', 'mctl_rollback_agent', 'mctl_rollback_service', 'mctl_scale_service', 'mctl_sync_repos', 'mctl_trigger_agents_run', 'mctl_trigger_approve', 'mctl_trigger_implementer', 'mctl_trigger_incident_responder', 'mctl_trigger_issue', 'mctl_trigger_mentor_only', 'mctl_trigger_reconcile', 'mctl_trigger_shepherd', 'mctl_trigger_single_service', 'mctl_verify_domain', 'mctl_whoami']['mctl_abandon_dev_loop', 'mctl_acknowledge_incident', 'mctl_add_custom_domain', 'mctl_approve_dev_loop', 'mctl_bind_agent_release', 'mctl_create_agent', 'mctl_create_preview', 'mctl_create_tenant', 'mctl_delete_preview', 'mctl_delete_tenant', 'mctl_deploy_service', 'mctl_deprecate_platform_skill', 'mctl_disable_tenant_skill', 'mctl_enable_tenant_skill', 'mctl_erpact_create_site', 'mctl_erpact_list_sites', 'mctl_erpact_site_status', 'mctl_get_agent', 'mctl_get_dev_loop', 'mctl_get_incident', 'mctl_get_operation', 'mctl_get_resource_usage', 'mctl_get_service_config', 'mctl_get_service_logs', 'mctl_get_service_status', 'mctl_get_tenant', 'mctl_get_workflow_logs', 'mctl_get_workflow_status', 'mctl_grant_repo_access', 'mctl_incident_summary', 'mctl_list_agent_executions', 'mctl_list_agent_versions', 'mctl_list_agents', 'mctl_list_domains', 'mctl_list_incidents', 'mctl_list_operations', 'mctl_list_platform_skills', 'mctl_list_previews', 'mctl_list_recent_agent_runs', 'mctl_list_recent_operations', 'mctl_list_repos', 'mctl_list_services', 'mctl_list_tenant_skill_bindings', 'mctl_list_tenants', 'mctl_list_workflows', 'mctl_promote_agent', 'mctl_provision_database', 'mctl_publish_agent_definition_version', 'mctl_publish_agent_profile_version', 'mctl_publish_agent_version', 'mctl_publish_platform_skill', 'mctl_read_platform_skill', 'mctl_remove_custom_domain', 'mctl_resolve_agent', 'mctl_resolve_incident', 'mctl_retire_service', 'mctl_rollback_agent', 'mctl_rollback_agent_binding', 'mctl_rollback_service', 'mctl_scale_service', 'mctl_set_agent_version_lifecycle', 'mctl_sync_repos', 'mctl_trigger_agents_run', 'mctl_trigger_approve', 'mctl_trigger_implementer', 'mctl_trigger_incident_responder', 'mctl_trigger_issue', 'mctl_trigger_mentor_only', 'mctl_trigger_portal_server_auth_apply', 'mctl_trigger_reconcile', 'mctl_trigger_shepherd', 'mctl_trigger_single_service', 'mctl_verify_domain', 'mctl_whoami']operations['add-custom-domain', 'create-tenant', 'delete-tenant', 'deploy-service', 'mctl-agents-approve', 'mctl-agents-implement', 'mctl-agents-incidents', 'mctl-agents-investigate', 'mctl-agents-mentor-only', 'mctl-agents-reconcile', 'mctl-agents-run', 'mctl-agents-shepherd', 'mctl-agents-single-service', 'platform-skill-deprecate', 'platform-skill-disable', 'platform-skill-enable', 'platform-skill-publish', 'preview-delete', 'preview-deploy', 'provision-database', 'remove-custom-domain', 'retire-service', 'rollback-service', 'smoke-test']['add-custom-domain', 'create-tenant', 'delete-tenant', 'deploy-service', 'mctl-agents-approve', 'mctl-agents-implement', 'mctl-agents-incidents', 'mctl-agents-investigate', 'mctl-agents-mentor-only', 'mctl-agents-reconcile', 'mctl-agents-run', 'mctl-agents-shepherd', 'mctl-agents-single-service', 'platform-skill-deprecate', 'platform-skill-disable', 'platform-skill-enable', 'platform-skill-publish', 'preview-delete', 'preview-deploy', 'provision-database', 'remove-custom-domain', 'retire-service', 'rollback-service', 'smoke-test', 'traceparent']platform_skills['archify-diagrams', 'argocd-health-remediation', 'git-flow', 'mcp-troubleshooting', 'mctl-demo-walkthrough', 'mctl-platform', 'review-watch', 'rotate-org-secret', 'switch-agent-model', 'tenant-safe-cleanup']['archify-diagrams', 'argocd-health-remediation', 'devloop-ownership-roles', 'git-flow', 'mcp-troubleshooting', 'mctl-demo-walkthrough', 'mctl-platform', 'review-watch', 'rotate-org-secret', 'switch-agent-model', 'tenant-safe-cleanup']shepherd.gating_bots['chatgpt-codex-connector[bot]', 'claude[bot]', 'copilot-pull-request-reviewer[bot]']['chatgpt-codex-connector[bot]', 'claude[bot]', 'copilot-pull-request-reviewer[bot]', 'github-actions[bot]']workflows['DevLoopWorkflow', 'ImplementSweepWorkflow', 'IncidentLoopWorkflow', 'IssuePollWorkflow', 'ReconcileWorkflow', 'SweptImplementWorkflow']['ActionApprovalWaitWorkflow', 'DevLoopWorkflow', 'ImplementSweepWorkflow', 'IncidentLoopWorkflow', 'IssuePollWorkflow', 'ReconcileWorkflow', 'ScheduledDispatchWorkflow', 'SweptImplementWorkflow']Releases not yet reflected
mctlhq/mctl-academy 0.1.53 -> 0.1.54 (2026-10-08)
.github/workflows/claude-review.yml.github/workflows/content-replenish.yml.release-please-manifest.jsonCHANGELOG.mdclient/src/content-bundle.jsonclient/src/course-catalog.jsoncontent/capture-manifest.yamlcontent/discovery-state.yamlcontent/questions/q-0f3d9a7c2b56.yamlcontent/questions/q-2c8f5a3d9e17.yamlcontent/questions/q-3f9c2a8e61d7.yamlcontent/questions/q-46c9e2a7b815.yamlcontent/questions/q-5e8a2c91f06d.yamlcontent/questions/q-6b9e2f4a17c3.yamlcontent/questions/q-71e4b9c2a5f3.yamlcontent/questions/q-7b2d9f4a1c63.yamlcontent/questions/q-8b2e5f1a9c34.yamlcontent/questions/q-9d1f7a4c3e68.yamlcontent/questions/q-9d47f02ce5a1.yamlcontent/questions/q-a51f8c3e07d2.yamlcontent/questions/q-a83c5e2f9b17.yamlcontent/questions/q-a94f1d2b7c3e.yamlcontent/questions/q-b58e3f9a2c71.yamlcontent/questions/q-bc01b0c1d2e3.yamlcontent/questions/q-c56f1a9d4e82.yamlcontent/questions/q-c71b4f9a3d85.yamlcontent/questions/q-cc01a1b2c3d4.yamlcontent/questions/q-cc02b2c3d4e5.yamlcontent/questions/q-co219916c0e5.yamlcontent/questions/q-co220dde0756.yamlcontent/questions/q-co2331c8572e.yamlcontent/questions/q-co24917d1a57.yamlcontent/questions/q-co253cd43986.yamlcontent/questions/q-co26744a9769.yamlcontent/questions/q-co2738f2a8fd.yamlcontent/questions/q-co285d098105.yamlcontent/questions/q-co29b9f076dc.yamlcontent/questions/q-co3086b69871.yamlcontent/questions/q-co3128de5d55.yamlcontent/questions/q-co32676fb56d.yamlcontent/questions/q-co356433d8e1.yamlcontent/questions/q-co36b9e8169f.yamlcontent/questions/q-co47ac4ebcf8.yamlcontent/questions/q-co48348207ce.yamlcontent/questions/q-co49d3cee498.yamlcontent/questions/q-co502cd7b152.yamlcontent/questions/q-co51437baad6.yamlcontent/questions/q-co524dc191c3.yamlcontent/questions/q-co575c01880f.yamlcontent/questions/q-co5875c6855b.yamlcontent/questions/q-co59980cc53a.yamlcontent/questions/q-co60d070417e.yamlcontent/questions/q-cs01d4e5f6a7.yamlcontent/questions/q-cs02a5b6c7d8.yamlcontent/questions/q-d49a1e7f3c82.yamlcontent/questions/q-de01a1b2c3d4.yamlcontent/questions/q-de02b2c3d4e5.yamlcontent/questions/q-de03c5d6e7f8.yamlcontent/questions/q-de04e5f6a7b8.yamlcontent/questions/q-de06a7b8c9d0.yamlcontent/questions/q-de08c9d0e1f2.yamlcontent/questions/q-de09d0e1f2a3.yamlcontent/questions/q-el01a0b1c2d3.yamlcontent/questions/q-el02b1c2d3e4.yamlcontent/questions/q-el03c3d4e5f6.yamlcontent/questions/q-er01c3d4e5f6.yamlcontent/questions/q-f29ae7c1b4d6.yamlcontent/questions/q-f3a8d1c6e924.yamlcontent/questions/q-ld28389db1f6.yamlcontent/questions/q-ld295930cb94.yamlcontent/questions/q-ld388171b0f1.yamlcontent/questions/q-ld39cd7b5510.yamlcontent/questions/q-ld403e852cea.yamlcontent/questions/q-ld43c53921d4.yamlcontent/questions/q-ld448ca61125.yamlcontent/questions/q-ld55363f7872.yamlcontent/questions/q-ld56c5356b61.yamlcontent/questions/q-ld5748e509af.yamlcontent/questions/q-ld583078adf3.yamlcontent/questions/q-ob01d8e9f0a1.yamlcontent/questions/q-ob02a9b0c1d2.yamlcontent/questions/q-pf06a4b5c6d7.yamlcontent/questions/q-pf10e9f0a1b2.yamlcontent/questions/q-pf11f0a1b2c3.yamlcontent/questions/q-rl01d7e8f9a0.yamlcontent/questions/q-rl02e8f9a0b1.yamlcontent/questions/q-rl03f9a0b1c2.yamlcontent/questions/q-rl04b6c7d8e9.yamlcontent/questions/q-rl05c7d8e9f0.yamlcontent/questions/q-sb01a9b0c1d2.yamlcontent/questions/q-sb02b0c1d2e3.yamlcontent/sources/src-co-compute-quotas.yamlcontent/sources/src-co-gpu-clusters.yamlcontent/sources/src-co-iam-roles.yamlcontent/sources/src-co-k8s-health-checks.yamlcontent/sources/src-co-k8s-node-groups.yamlcontent/sources/src-co-k8s-quickstart.yamlcontent/sources/src-co-logs-query-language.yamlcontent/sources/src-co-storage-types.yamlcontent/sources/src-co-vpc-isolation.yamlcontent/sources/src-co-vpc-security-groups.yamlcontent/sources/src-dedicated-deploy-api.yamlcontent/sources/src-dedicated-endpoint-faq.yamlcontent/sources/src-endpoint-lifecycle.yamlcontent/sources/src-ld-dedicated-billing-policy.yamlcontent/sources/src-ld-dedicated-overview.yamlcontent/sources/src-ld-models.yamlcontent/sources/src-rate-limits.yamlcontent/sources/src-recovery-best-practice.yamlcontent/sources/src-recovery-billing.yamlcontent/sources/src-recovery-chat.yamlcontent/sources/src-recovery-deprecation.yamlcontent/sources/src-recovery-embedding.yamlcontent/sources/src-recovery-endpoint.yamlcontent/sources/src-recovery-lifecycle.yamlcontent/sources/src-recovery-limits.yamlcontent/sources/src-recovery-models.yamlcontent/sources/src-recovery-planes.yamlcontent/sources/src-recovery-rerank.yamlcontent/sources/src-recovery-sandbox.yamldocs/content/builder-recovery-review.jsondocs/content/replenish-2026-09-12-34723553968-review.jsondocs/content/replenish-2026-10-08-37788083080-review.jsondocs/content/replenish-2026-10-08-37816033435-review.jsonpackage.jsonscripts/discover-docs.mjsscripts/lib/content-model.mjsscripts/replenish-prepare.mjstests/discover-docs.test.mjstests/readyz-live.test.mjstests/replenish-prepare.test.mjsmctlhq/mctl-agent 2.4.2 -> 2.5.0 (2026-10-11)
.release-please-manifest.jsonCHANGELOG.mddocs/observability/correlation.mdinternal/mctlclient/client.gointernal/mctlclient/client_test.gointernal/pipeline/correlation_test.gointernal/pipeline/pipeline.gointernal/telemetry/logattrs_test.gointernal/telemetry/telemetry.gointernal/ticket/store.gointernal/ticket/store_trace_test.gointernal/ticket/ticket.gomctlhq/mctl-agents 1.75.0 -> 1.75.1 (2026-10-12)
.release-please-manifest.jsonCHANGELOG.mdorchestrator/commerce.pytests/fixtures/commerce/dispatch_authorization_v1.jsontests/test_commerce.pytests/test_commerce_dispatch_vector.pymctlhq/mctl-api 4.80.1 -> 4.81.0 (2026-10-12)
.release-please-manifest.jsonCHANGELOG.mdREADME.mdcmd/api/kill_switch_test.gocmd/api/main.gocmd/api/main_test.godocs/commerce-ledger.mdhelm/values.yamlinternal/api/handlers_commerce.gointernal/api/handlers_commerce_accept_disabled_test.gointernal/api/router.gointernal/mcp/commerce.gointernal/mcp/commerce_test.gointernal/openapi/openapi.yamlmctlhq/mctl-docs 0.1.47 -> 0.1.48 (2026-10-10)
.release-please-manifest.jsonCHANGELOG.mddocs/guides/scaffolding.mddocs/public/llms-full.txtdocs/security/authentication.mdpackage.jsonmctlhq/mctl-portal 4.20.1 -> 4.20.2 (2026-10-11)
.release-please-manifest.jsonCHANGELOG.mdpackages/app/src/components/scaffolder/GitHubRepoPicker.tsxpackages/app/src/components/scaffolder/GitTagPicker.tsxpackages/backend/package.jsonpackages/backend/src/index.tspackages/backend/src/kubernetesEntityScope.test.tspackages/backend/src/kubernetesEntityScope.tsplugins/argo-workflows-backend/package.jsonplugins/argo-workflows-backend/src/module.tsplugins/argo-workflows-backend/src/scaffolderActions.test.tsplugins/argo-workflows-backend/src/scaffolderActions.tsplugins/argo-workflows-backend/src/workflowAuthorization.tsplugins/github-app-connect-backend/src/bindingLookup.tsplugins/github-app-connect-backend/src/plugin.tsplugins/github-app-connect-backend/src/router.auth.test.tsplugins/github-app-connect-backend/src/router.tsplugins/github-app-connect-backend/src/store.test.tsplugins/github-app-connect-backend/src/store.tsplugins/resource-usage-backend/src/plugin.tsplugins/resource-usage-backend/src/router.test.tsplugins/resource-usage-backend/src/router.tsplugins/tenant-backend/src/router.test.tsplugins/tenant-backend/src/router.tsplugins/tenant-backend/src/tenantStore.test.tsplugins/tenant-backend/src/tenantStore.tsplugins/tenant-backend/src/tenantSync.test.tsplugins/tenant-backend/src/tenantSync.tsyarn.lockmctlhq/mctl-telegram 0.79.4 -> 0.79.5 (2026-10-12)
.release-please-manifest.jsonCHANGELOG.mddeploy/alerts/mctl-telegram.rules.yamldeploy/alerts/mctl-telegram.rules_test.yamldocs/runbook.mddocs/slo.mdinternal/mcp/record.gointernal/mcp/record_test.gointernal/telegram/callerror.gointernal/telegram/callerror_test.goRendered HTML for review: the
diagramsworkflow uploads it on this PR;on merge it deploys to GitHub Pages.