Summary
gitt issues list supports filtering by repository via --repo (#892, shipped in #910), but there is no way to filter by issue lifecycle state. Add a client-side --status filter:
bash gitt issues list --status active gitt issues list --status registered gitt issues list --status completed gitt issues list --status cancelled
Supported values should match the four statuses the CLI already renders in the Status column: Registered, Active, Completed, Cancelled.
Motivation
The most common read-side workflow is finding actionable issues — in practice, Active bounties. Issues are never removed from contract storage, so completed and cancelled entries accumulate permanently and the signal-to-noise of an unfiltered listing only degrades as the subnet grows.
Today the workarounds are the same shell gymnastics #892 described for repos:
```bash
eyeball the colored Status column across every row
$ gitt issues list
rebuild the filter in jq, losing the table rendering
$ gitt issues list --json | jq '.issues[] | select(.status == "Active")'
```
Proposed behavior
--status as a case-insensitive click.Choice over the four statuses, matching the existing --network option style.
- Applies identically to the table output and
--json output.
- Composes with
--repo; --id takes precedence (same semantics the --repo filter already has).
- No flag provided → behavior unchanged.
A client-side filter applied after the contract read is sufficient — the same approach as the existing --repo filter in issues_list (gittensor/cli/issue_commands/view.py).
Summary
gitt issues listsupports filtering by repository via--repo(#892, shipped in #910), but there is no way to filter by issue lifecycle state. Add a client-side--statusfilter:
bash gitt issues list --status active gitt issues list --status registered gitt issues list --status completed gitt issues list --status cancelled Supported values should match the four statuses the CLI already renders in the Status column:
Registered,Active,Completed,Cancelled.Motivation
The most common read-side workflow is finding actionable issues — in practice,
Activebounties. Issues are never removed from contract storage, so completed and cancelled entries accumulate permanently and the signal-to-noise of an unfiltered listing only degrades as the subnet grows.Today the workarounds are the same shell gymnastics #892 described for repos:
```bash
eyeball the colored Status column across every row
$ gitt issues list
rebuild the filter in jq, losing the table rendering
$ gitt issues list --json | jq '.issues[] | select(.status == "Active")'
```
Proposed behavior
--statusas a case-insensitiveclick.Choiceover the four statuses, matching the existing--networkoption style.--jsonoutput.--repo;--idtakes precedence (same semantics the--repofilter already has).A client-side filter applied after the contract read is sufficient — the same approach as the existing
--repofilter inissues_list(gittensor/cli/issue_commands/view.py).