# GoalRubricChannels

> **Class** in `deepagents_code`

📖 [View in docs](https://reference.langchain.com/python/deepagents-code/resume_state/GoalRubricChannels)

Goal/rubric state channels shared by every schema that touches them.

Declared once here so each schema that carries these channels —
`ResumeState` and `goal_tools.GoalToolState` — inherits the *same*
`PrivateStateAttr`-marked annotations. Middleware state schemas merge with
later entries winning, so an independent re-declaration that dropped the
`PrivateStateAttr` marker would override these and leak the field into the
public graph input/output schema. Inheriting from a single base makes that
drift unrepresentable.

## Signature

```python
GoalRubricChannels()
```

## Extends

- `AgentState`

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/e14e0adcbe78565ed3650e7f24b2a775d5437d25/libs/code/deepagents_code/resume_state.py#L155)