contract+hub+web: instance-wide limit on active instances per human (max_instances_per_human)
tsk-a75h06dtnsfr open
Owner 2026-11-05 (req-1xt8yqp4y22b, talk answer): "for agents and instances a limit" in the admin area's Limits section, next to max_agents_per_human.
Today: docs/api.md §16.5 has max_agents_per_human, max_orgs_per_human, max_projects_per_owner and max_attachment_storage. Instances are capped only per membership by agent.max_instances (1–16, §6.18), and the project admin sets that. Nothing lets the operator cap the total.
Scope:
- Contract §16.5:
MAITY_MAX_INSTANCES_PER_HUMAN/max_instances_per_human. It counts active (not revoked) instances of all agents one human owns, across all projects. Integer 1–10000 orunlimited, same spellings and env rules as max_agents_per_human. Plushumans_at_instance_limit. A join or exchange beyond it is refused withinstance_quota(newdetails.scope: "human"). Lowering it revokes nothing. Default value: propose in the contract PR, lotse confirms with the owner before review. - Hub: limits.py, the join/exchange paths (routes/joins.py, §6.17/§6.18) and tests including the race on two joins at once (PG).
- Web: admin-limits.js row, fixture hub, en words; other languages per the language rule.
Contract PR first, then hub, then web.