Invenqor v0.2.30
Invenqor Server·Agent v0.2.30 릴리즈 노트
릴리즈 일자: 2026-09-10
호환 Agent: v0.2.30 (Linux·Windows)
이번 릴리즈는 결함 하나를 고칩니다. 자리는 MCP asset_relations 도구이고,
증상은 이전 릴리즈들이 고쳐 온 것과 반대입니다 — 조용히 짧아진 결과가 아니라
한도 없이 전부 돌아오는 결과입니다. 읽는 쪽이 모델이므로, 응답 하나가 대화에
남은 자리를 다 써 버릴 수 있었습니다.
1. 자산 하나의 관계가 MCP 응답 전체를 채울 수 있었습니다
MCP의 읽기 도구 중 asset_relations만 상한이 없었습니다. 자산의 활성
inbound·outbound 관계를 전부 선택해 전부 돌려주었습니다.
process 상관 분석이 돌고 난 바쁜 서버는 runs_on 자식을 수천 개 가집니다. 그런
host 하나에 도구를 한 번 호출하면 그 응답 하나가 모델의 남은 context를 밀어낼
만큼 커졌고, 그것을 끊을 수 있는 것은 client뿐이었습니다. 즉 잘리는 위치도,
무엇이 남는지도 Server가 정하지 못했습니다.
이제 asset_relations는 한 페이지를 읽습니다.
- 다른 도구와 같은 입력을 받습니다.
limit(기본 50, 최대 100)과offset이
asset_search·agents_list와 같은 의미로 동작합니다. has_more는 사실입니다. 한도보다 한 행을 더 읽고 그 행은 버리므로, 결과가
정확히limit에서 끝났을 때has_more는false입니다 — 페이지가 꽉 찼다는
이유만으로 다음 페이지를 한 번 더 요청할 필요가 없습니다.- 기존 키는 그대로입니다. 관계는 여전히
relations에 담겨 오므로 그 키만 읽던
호출자는 그대로 동작합니다. 다만 이제 전부가 아니라 앞의 50개를 보고,
has_more와next_offset이 더 있다는 것과 이어서 받는 방법을 알려 줍니다.
2. 가이드의 도구 표가 실제 스키마와 어긋나 있었습니다
라우터가 openapi.yaml과 대조되는 것처럼, 이제 가이드의 MCP 도구 표가 Server가
선언한 입력 스키마와 대조됩니다. 이 테스트를 넣자마자 드리프트가 하나 드러났습니다.
software_inventory는 vendor 필터를 받는데 표에는 한 번도 적혀 있지
않았습니다. 문서를 보고 client를 만든 쪽은 Server가 계속 제공해 온 필터를 모르고
지나쳤습니다. 이 입력과 asset_relations의 새 페이지 매개변수가 모두 표에
기재되었고, 앞으로 도구 스키마가 바뀌면 표를 함께 고치지 않는 한 테스트가
실패합니다.
검증
- 도구 너머에서. 관계를 한도보다 많이 만든 자산에
asset_relations를 호출해
limit까지만 돌아오고has_more가true인지,next_offset으로 이어 받은
페이지가 나머지를 정확히 채우는지, 결과가 정확히 한도에서 끝날 때는
has_more가false인지,limit을 주지 않으면 기본 50이 적용되는지를
고정했습니다. - 문서 대조. 가이드의 도구 표와 선언된 입력 스키마를 비교하는 테스트를
추가했습니다. 표를 고치기 전 이 테스트는asset_relations와
software_inventory두 드리프트를 차례로 지적하고, 고친 뒤 통과합니다. - 되돌려 확인했습니다. 수정을 되돌리면 위 테스트들이 정확히 그 지점에서
실패합니다. - 저장 모드 양쪽에서.
go test ./...가 SQLite fallback과 실제
PostgreSQL(scripts/test-postgres.sh) 양쪽에서 전 패키지 통과하고,
go vet·go build·gofmt가 통과합니다.
호환성
- 데이터베이스 마이그레이션이 없습니다.
asset_relations의 결과 개수가 달라집니다. 지금까지 전부를 받던 호출자는
이제 한 번에 최대 50개를 받습니다. 전체가 필요하면has_more가false가 될
때까지next_offset을offset에 넣어 이어서 조회하십시오.- 응답의
relations키와 각 관계의 필드는 바뀌지 않았고,limit·offset·
count·has_more·next_offset이 추가되기만 했습니다. - MCP 프로토콜 버전, 도구 목록, scope(
relations.read·assets.read)는 바뀌지
않았습니다. - REST API와 Query DSL은 이번 릴리즈에서 바뀌지 않았습니다.
- Agent(Rust) 동작은 이번 릴리즈에서 바뀌지 않았습니다.