mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-07 03:15:56 +00:00
Every MCP role keeps its task tree under tasks/utils/ without numeric
prefixes, so a caller can reach any of them through include_role
tasks_from. utils/roles/mapping.py holds that path as the single source.
Ansible resolves a relative include against the including file's own
directory when that file was reached by path, but against tasks/ when it
was reached through tasks_from. The same file therefore loaded from its
own role and failed from a caller using tasks_from. Every nested include
now names {{ role_path }}/tasks/utils/..., which holds under both bases,
and a lint walks each tasks_from entrypoint transitively to keep it so.
The exec-gating lint learns the same form, otherwise it loses the include
chain and reports inherited IS_STACK_HOST gates as missing.
The expression resolving a provider's stored token appeared eighteen
times. plugins/lookup/mcp_credential.py replaces it, and mcp_probe_owner
disappears from eight roles: it was only ever a step towards the bearer
and no probe read it.
The Hermes and OpenClaw probes stop aborting the play while it is still
running. Roles deploy in dependency order, so a client probing during its
own role can run before a provider exists at all, and failing there
prevents that provider from ever deploying. The verdict moves to the
reconciliation pass, gated on MCP_RECONCILE_STRICT, which the reconciler
sets and group_vars declares so the readers need no default.
The sys-svc-mcp-reconcile role is added here; wiring it into a stage is a
separate change.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
31 lines
630 B
YAML
31 lines
630 B
YAML
---
|
|
galaxy_info:
|
|
author: Kevin Veen-Birkenbach
|
|
description: End-of-play convergence of every deployed MCP client against the complete provider set
|
|
license: Infinito.Nexus Community License (Non-Commercial)
|
|
company: |
|
|
Kevin Veen-Birkenbach
|
|
https://www.veen.world
|
|
min_ansible_version: "2.9"
|
|
platforms:
|
|
- name: ArchLinux
|
|
versions:
|
|
- all
|
|
- name: Debian
|
|
versions:
|
|
- all
|
|
- name: EL
|
|
versions:
|
|
- all
|
|
- name: Fedora
|
|
versions:
|
|
- all
|
|
- name: Ubuntu
|
|
versions:
|
|
- all
|
|
galaxy_tags:
|
|
- mcp
|
|
- ai
|
|
- infinito
|
|
dependencies: []
|