Repository navigation
Description
Parent
#81 — Assignment Runtime / Assignment Directory / Orchestrator tools.
What to build
A Human opens the Bot mode section of the global DSH Settings modal, changes the Profile-wide Assignment Concurrency Limit, and sees the saved value immediately govern new Assignment creation and idle/cold wake across every PersonaBot. The limit survives refresh and a same-Profile Host restart. This completes the Human-configured resource boundary already decided in ADR-0045.
Acceptance criteria
- Bot mode Settings exposes one Profile-wide Assignment Concurrency Limit, default 3, accepting integers 1–32. Explain that it limits concurrently executing independent Assignments, not retained Session history; no unlimited option or per-Bot override.
- Only an authenticated Human settings command can change it. The owning Host persists and validates the value; Client-local preferences and model Tool input cannot become a second authority. Invalid, fractional or out-of-range values are rejected without changing the previous saved/effective value.
- A successful save applies to subsequent admission attempts without a Host restart. Saved and effective values remain consistent across UI reopening, page refresh, clients and a same-Profile Host restart; older Profiles without a value keep default 3.
- All new-create, addressed idle/cold-wake and Continuity Key reuse admission paths use the current saved limit, across PersonaBots. Already-running requests consume no extra slot. Capacity Tool results expose the actual current limit and remain retryable without an automatic queue.
- Lowering the limit below existing active use does not cancel or reconfigure running work. It refuses new create/wake attempts until active use falls below the new value. Idle/waiting-human/blocked/completed rows, Orchestrator Sessions and DSH Subagents do not consume Assignment capacity; existing stopping reservations keep their conservative release boundary.
- Refused admission preserves open asks and immutable access/model facts; changing the limit cannot silently elevate permissions or restart an Assignment.
- Settings has localized Chinese/English labels and accessible input/save/error feedback; failed saves remain visibly uncommitted with destructive error feedback.
- Focused tests cover Human validation/authorization, persistence/default/restart, live cross-Bot admission and lowering with active work. A real isolated DSH E2E changes the setting, observes capacity refusal at the configured value, raises it and resumes the original idle Assignment, then confirms restart persistence. Include GitHub-rendered before/after screenshots or recording in the PR and pause for Human QA.
Blocked by
- Assignment: enforce concurrency limit when resuming idle work #811 — shared capacity enforcement for idle/cold wake and keyed reuse must be delivered before this slice is integrated and accepted.
Boundaries
One settings-to-runtime vertical slice; no separate UI-only or persistence-only tickets. Reuse the existing Settings/Host command seam and Assignment Runtime. No concurrency queue, per-PersonaBot quotas, general scheduling, answer-delivery settlement (#812), or Attention redesign (#194). #812 is independently scoped; the requested one-PR-at-a-time delivery order is not a technical blocking edge.
Milestone: v1.0. Project: Bot Inbox & Attention. Status: ready-for-agent (blocked by #811).
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
- StatusShow more project fieldsDone
Activity
DoodleBears commentedon Oct 4, 2026
Agent work claim
codex/local/01a0f25f-2150-75e3-8895-23d35394b8d8(not a DSH Session)codex/825-assignment-settingsHuman explicitly authorized implementation. This branch starts from #821 / #811; integration and acceptance depend on #811. This authorization does not merge #821. Every issue PR pauses for Human QA.
Merge sidebar visibility and verify Assignment settings compatibility
DoodleBears commentedon Oct 4, 2026
Agent work outcome — paused for Human QA
codex/local/01a0f25f-2150-75e3-8895-23d35394b8d8paused678f6fc08f63efef40040a4187c328dc7751e9b3The Draft PR is currently mergeable. After explicit Human approval, merge the prerequisite first, refresh this branch as needed, and then merge #825. Remove this task's
agent:activeclaim while paused; retain the other issue labels.DoodleBears commentedon Oct 4, 2026
Human approved #832 merge. Task codex/local/01a0f25f-2150-75e3-8895-23d35394b8d8 resumes the existing claim only to resolve current-main integration after prerequisite #821 merged, verify CI, and merge #832. State: active.
Integrate approved Assignment prerequisite before settings merge
DoodleBears commentedon Oct 4, 2026
Agent outcome: COMPLETED. Human approved merge; prerequisite #821 merged first, integrated head e5a4050 passed verify CI (run 37228980379), then PR #832 merged as 93f8cd5. Continuing separately with #812 under its recorded claim.