Child of #1058 (model B, target governance design). Today every user has their own Jarvis Agent Installation (own schedule, config, run-as, activation state), while the container roster, the activation ceiling and the catalog install counts are tenant-level. That mismatch produces: the per-user activation ceiling (_activation_ceiling(doc.owner), ten users get ten live modules against a stated ceiling of one); Installed and Activity tabs scoped to the current user while cards show tenant-wide install counts; every user needing their own shadow to live sign-off; the dead sync_status and synced_at Installation fields the Admin tab renders as "-".
Expected (owner model): an admin installs, configures, trials in shadow and promotes an agent once per tenant, allows it for roles and named users, and users see only allowed live agents and run them (execution identity stays per run-as). The ceiling, install counts, Installed and Activity are then tenant facts.
Suspected location: Jarvis Agent Installation ownership model, jarvis/chat/agents_api.py (installs, activation, ceiling), Agents SPA tabs.
Interim A (deny by default, allowed users, admin allow pushes the roster, reviewer-gated promote) ships first; this issue is the design for the full model.
Child of #1058 (model B, target governance design). Today every user has their own Jarvis Agent Installation (own schedule, config, run-as, activation state), while the container roster, the activation ceiling and the catalog install counts are tenant-level. That mismatch produces: the per-user activation ceiling (
_activation_ceiling(doc.owner), ten users get ten live modules against a stated ceiling of one); Installed and Activity tabs scoped to the current user while cards show tenant-wide install counts; every user needing their own shadow to live sign-off; the deadsync_statusandsynced_atInstallation fields the Admin tab renders as "-".Expected (owner model): an admin installs, configures, trials in shadow and promotes an agent once per tenant, allows it for roles and named users, and users see only allowed live agents and run them (execution identity stays per run-as). The ceiling, install counts, Installed and Activity are then tenant facts.
Suspected location:
Jarvis Agent Installationownership model,jarvis/chat/agents_api.py(installs, activation, ceiling), Agents SPA tabs.Interim A (deny by default, allowed users, admin allow pushes the roster, reviewer-gated promote) ships first; this issue is the design for the full model.