lablup / lablup/backend.ai

Expose the new enable/disable contract in REST/GraphQL and deprecate the 26.8 UUID-based contract

Open
#13,544 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
670
Forks
183
Avg merge
15h 13m
Merged PRs (30d)
368

Description

Expose the checker_id + scope contract: new REST v2 route, GraphQL mutation, and DTOs (common/dto/manager/v2/idle_checker_assignment). Keep the 26.8 assignment-UUID update surface but mark it deprecated with a "Deprecated since 26.9.0" notice (gql-inspector rule). SDK/CLI updates and schema dump regeneration are a separate issue.

Serve IdleCheckerAssignment as a relation type per the Relations rules in src/ai/backend/manager/api/gql/AGENTS.md: not a Node, no id field, no node(id) lookup and no data loader. Add IdleCheckerAssignment connections on both ends (IdleChecker and the scope nodes) and a root scoped query whose scope takes scope and checker lists OR'd together, on the connection base from BA-7887. Filter and order are the relation type's own and nest checker conditions; enabled is a plain field.

## Success Criteria
- [ ] new GQL mutation and REST route accept checker_id+scope and return the updated IdleCheckerAssignment relation type
- [ ] old update field/route still works and carries a deprecation notice containing "Deprecated since 26.9.0"
- [ ] IdleChecker and the scope nodes expose IdleCheckerAssignment connections with enabled
- [ ] the root scoped query ORs scope and checker items
- [ ] graphql-inspector CI check passes
- [ ] pants test passes for affected packages

JIRA Issue: BA-7239

Contributor guide

Open the contributing guide

Research direction

Start by reading src/ai/backend/manager/api/gql/AGENTS.md and the DTOs under common/dto/manager/v2/idle_checker_assignment, then trace the existing REST and GraphQL assignment update entry points. Use the BA-7887 connection base and verify the relation connections, scoped query, and deprecation notice against the success criteria. Run the graphql-inspector CI check and pants test for affected packages.

Written by the indexing model from the issue text.

Assessment

Tech stack
graphql, python
Domain
api, backend-api-design
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.