Skip to content

feat(providers): persist exact per-model capability declarations - #4374

Draft
lidge-jun wants to merge 3 commits into
devfrom
codex/260912-60plus-models-capabilities
Draft

feat(providers): persist exact per-model capability declarations#4374
lidge-jun wants to merge 3 commits into
devfrom
codex/260912-60plus-models-capabilities

Conversation

@lidge-jun

@lidge-jun lidge-jun commented Sep 12, 2026

Copy link
Copy Markdown
Owner

Summary

Adds one exact-model modelCapabilities map for explicit input modalities, requested context tier and video processing intent. Management writes validate nested fields strictly; PATCH merges axes and supports explicit clears, while full replacements reject tombstones. File loading preserves valid independent declarations and conservatively restricts malformed explicit modalities to text.

Refs #3377. Provider editor/list DTOs, latest-state overwrite preservation, normalized live adoption, OAuth preservation and catalog fingerprinting carry the same map. This parent stores declarations; context-tier/video activation and numerical window claims remain gated on upstream evidence. The text-only consumer is a dependent manual child.

Verification

  • Independent design reflection ALIGNED; A source review corrections folded. Plato final independent source/security review PASS at 17a6e5f.
  • Static coverage: all 18 required structure owners updated; git diff --check passed.
  • Regression code covers config/API/OAuth round trips, exact key validation, nested PATCH clearing, raw-editor adoption and concurrent gather isolation.
  • Local suites of every size, build, typecheck and install: NOT RUN by explicit maintainer instruction. Hosted final cumulative child-tip CI is required.
  • No merge, auto-merge, credential destination or live service changes.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@lidge-jun

Copy link
Copy Markdown
Owner Author

리뷰 · 우선순위 48 / 80

이 PR은 모델별 정확한 capability 선언 맵(modelCapabilities)을 저장·검증·PATCH merge하는 부모 레이어입니다 (#3377). input modalities, 요청 context tier, video processing intent를 명시하고, management write는 nested를 엄격히 검사합니다. 파일 로드는 유효 독립 선언을 보존하고, 잘못된 explicit modality는 text로 보수적으로 좁힙니다. catalog fingerprint·OAuth preserve·provider editor DTO까지 같은 맵을 실습니다. 활성화(context-tier/video 실제 적용)와 숫자 window claim은 이 PR 밖 dependent child로 남깁니다.

현재 상태는 draft·base dev·CONFLICTING/DIRTY입니다. 파일이 src/types.ts, src/types/provider.ts, src/config.ts, src/config/provider-validation.ts를 동시에 건드립니다. 메인테이너가 잠근 types.ts/config.ts split 캠페인과 정면으로 겹칩니다. 이미 split으로 무효화될 대형 PR은 rebase보다 close를 권하는 정책이 있습니다. #4371 이후 provider catalog/Cline 쪽 터치와도 충돌 위험이 있습니다.

+380/-0에 structure/docs 복제가 많고, CI는 CANCELLED/대기 흔적이 있습니다. 의도는 명확하지만, 지금 dev에 억지로 맞추면 split·#4346 models-reasoning·provider-catalog invariant와 이중 작업이 납니다.

HEAD 81f6cd591에는 이미 provider catalog·pool-settings invariant와 Cline(#4371) 쪽이 올라와 있습니다. capability 선언 맵은 그 위에 “모델이 무엇을 받는지”를 파일에 고정하는 레이어라서 방향은 맞지만, 지금 충돌 난 types/config 면에 억지로 맞추면 split 작업과 이중으로 싸웁니다. 활성화 child가 아직 없다면 스키마만 남겨도 사용자-visible 동작은 거의 없습니다. 그래서 draft 점수를 하단(45–58) 쪽에 두었습니다.

경로 src/types.ts / src/config.ts - split 캠페인 진행 중이면 이 PR의 소유권 경계가 곧 다시 갈라집니다. child가 text-only consumer라면 부모 맵 스키마만 최소 단위로 나누는 편이 낫습니다.

경로 PATCH merge vs full replace tombstone 거부 - 운영 API 실수 방지로는 좋지만, GUI가 clear를 어떻게 보내는지는 테스트 외에 수동 시나리오가 필요합니다.

충돌 - mergeable=CONFLICTING이므로 현 브랜치 그대로 land 불가입니다.

메인테이너의 판단이 필요한 지점

너의 추천
split/충돌이 해소되기 전에는 draft로 두거나, split에 무효하면 close하세요. rebase 비용이 커 보입니다. 살아남을 최소 조각만 새 PR로 다시 여는 쪽이 저장입니다.

이 댓글은 grok-bot이 작성했습니다

Refs #3377. Add strict management writes, per-axis load recovery, exact model IDs, and declaration-preserving DTO/mutation paths. Upstream tier/video activation remains evidence-gated.
@lidge-jun
lidge-jun force-pushed the codex/260912-60plus-models-capabilities branch from 17a6e5f to d1dee68 Compare September 12, 2026 05:48
@github-actions

Copy link
Copy Markdown
Contributor

Deterministic PR hygiene checks passed.

@github-actions github-actions Bot added the enhancement New feature or request label Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant