## Addendum: Current DB Deps Milestone Rebaseline

This section is the current source of truth for `keble-db` agent deps before
frontend demo-to-prod. `AgentDbDeps` is stable for the next milestone and must
not become a queue-publishing object.

## Current Stage

- [x] `AgentDbDeps` owns database/runtime handles shared by agent deps.
- [x] `AgentDbDeps.progress_task` owns the optional outer progress object.
- [x] Package-specific runtime state belongs under `.segmenting`,
  `.positioning`, `.task`, or another package namespace.
- [x] Queue publication is explicitly outside `keble-db`.
- [ ] Do not add Celery, broker clients, or enqueue callables to `AgentDbDeps`
  for `MS3`.

```py
class AgentDbDeps(BaseModel):
    """Database-wide deps plus optional shared progress."""

    amongo: AsyncIOMotorClient
    extended_aredis: ExtendedAsyncRedis
    progress_task: ProgressTask | None = None
```

---

## Addendum: Outer Agent Progress Task

This corrective pass moves request progress tracking to the shared database deps
surface so composite agent deps do not duplicate progress fields under package
namespaces.

## Context From Current Chat

- [x] User flagged `progress_task` as a cross-package runtime object, not
  segmenting-owned state.
- [x] Package runtime namespaces should contain package state only.
- [x] Backend and packages should share one outer progress object when present.

## Corrected Shape

- [x] Add optional `AgentDbDeps.progress_task`.
- [x] Keep DB handles and progress on the outer deps object.
- [x] Keep `.segmenting`, `.positioning`, and `.task` for package-specific
  runtime state only.

```py
class AgentDbDeps(BaseModel):
    """Database-wide deps plus optional shared agent progress."""

    amongo: AsyncIOMotorClient
    extended_aredis: ExtendedAsyncRedis
    progress_task: ProgressTask | None = None
```
