Skip to content

feat(cli): add provider list JSONL output - #3821

Merged
lidge-jun merged 2 commits into
devfrom
codex/axis5-provider-jsonl
Sep 7, 2026
Merged

feat(cli): add provider list JSONL output#3821
lidge-jun merged 2 commits into
devfrom
codex/axis5-provider-jsonl

Conversation

@lidge-jun

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

Copy link
Copy Markdown
Owner

Summary

  • Carry feat(cli): add JSONL output for provider list #3780: add provider list --jsonl with one configured-provider object per line, exactly matching the existing JSON configured-array fields. Existing JSON and human output remain unchanged; conflicting flags fail before config loading.
  • Add multi-provider parity/escaping coverage, update all translated provider CLI tables, and regenerate the declared management surface.

Manual chain: #3820 native labels → #3821 provider JSONL → #3824 discovered-name editor. No native stack is registered.

Co-authored-by: 투린 me@turin.my

Verification

  • Final feature candidate f51ec2421c49df0fd4eac8a9a56a6283b426387d: Cross-platform CI, all 25 jobs successful. Only the unsuccessful Mac jobs were replayed; passing jobs were reused. Initial timeout/timing failures remain recorded, not claimed fixed.
  • Late platform changes on dev 7fdb0e977 have zero file overlap with this axis and passed 26-job platform CI. Independent compatibility audit passed.
  • Prospective merged tree 85c9b25818a93859a6d6fc824e2ed0678da46c8f: 370 focused tests passed on isolated Linux with project Bun 1.4.0 (344 catalog/CLI + 26 editor). This is focused merged-tree evidence, distinct from full CI on the feature head.
  • No local test suites/typecheck/build ran, per owner instruction. Pushes used --no-verify. Documentation was source-reviewed; no docs build is claimed by this axis.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs were updated where needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults; authentication and routing are unchanged.

Maintainer integration

The owner explicitly authorized admin integration into dev. Lower-layer independent CI was deliberately deferred in favor of the tested combined head; no missing or cancelled lower check is presented as green. Independent source reviews and late-base compatibility review passed. This is maintainer integration, not self-approval.

Carry the net diff of #3780 at 9b873e6. Strengthen multi-record JSON parity, escaping, and conflicting-flag coverage; synchronize all seven translated CLI pages and clarify consumer-side processing.

Local tests, typecheck, and builds NOT RUN by owner mandate. Regenerated the capability surface and inspected the static diff. Lower-layer CI is owner-requested deferred evidence, not passing evidence; final combined CI belongs to the integration owner.

Co-authored-by: 투린 <me@turin.my>
@coderabbitai

coderabbitai Bot commented Sep 6, 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.

@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Deterministic PR hygiene checks passed.

@github-actions github-actions Bot added the enhancement New feature or request label Sep 6, 2026
@lidge-jun

Copy link
Copy Markdown
Owner Author

리뷰 · 우선순위 61 / 80

이 PR은 Axis5 체인 2층이다. 베이스가 codex/axis5-native-display(#3820)이고, 헤드가 codex/axis5-provider-jsonl이다. 지금 dev HEAD(137d6a727)의 ocx provider list는 사람 읽기 출력과 --json 봉투(configured 배열 + registryCount)만 있다. 스크립트가 "설정된 제공자만 한 줄씩" 읽고 싶을 때 JSON 전체를 파싱해야 한다. 이 PR은 ocx provider list --jsonl을 추가해서, 기존 configured 원소와 필드가 같은 객체를 줄마다 하나씩 찍는다. 원본은 #3780(투린) 캐리다.

코드 변경은 작다. src/cli/provider.tshandleList--jsonlconsumeFlag로 읽고, --json과 같이 켜지면 설정 로드 전에 stderr로 거절한 뒤 exit 1을 낸다. 테스트가 두 플래그 순서(--json --jsonl / --jsonl --json) 모두 stdout이 비는지 확인한다. JSONL 경로는 레지스트리+커스텀 제공자를 섞고, 모델 id에 따옴표·백슬래시·개행·한글이 들어도 JSON.stringify 한 줄이 --jsonconfigured와 완전히 같음을 단언한다. src/cli/capabilities.ts 플래그 표와 skills/ocx 참조, CLI 문서 8개 로케일 표가 같이 갱신됐다.

dev와의 관계만 보면 이 레이어는 #3820 표시 이름과 런타임으로 묶일 필요는 없다. 작성자도 "리뷰용 수동 체인이지 런타임 의존 주장은 아니다"라고 적었다. 그래도 bottom-up으로 올리면 최종 HEAD 하나에 GUI CI까지 묶기 쉽다. 사람 출력과 --json 경로는 구조적으로 그대로라서 회귀 면적이 좁다. 자격 증명 필드를 JSONL에 넣지 않은 점도 기존 JSON 계약과 같다.

한 가지 범위를 분명히 하자. JSONL은 "설정된 제공자"만 내고 레지스트리 미설정 항목·registryCount는 빼는 것이 의도다. 문서가 그렇게 설명하고, 테스트도 configured 동등성만 본다. 빈 제공자 시나리오는 로더가 시드하는 현실 때문에 수용 조건에서 빠졌고, 그 판단은 로드맵 감사와 맞다.

라인 provider.ts handleList - 충돌 거절이 rejectUnknownArgs 다음·loadConfig 앞이라 좋다. 다만 거절 메시지가 영어 한 줄뿐이라, 다른 CLI 거절 톤과 i18n 정책이 있는지는 메인테이너 취향이다(지금은 기존 CLI와 같은 영어 stderr 패턴으로 보임).
경로 tests/cli/cli-provider.test.ts - 이스케이프·멀티 제공자·양방향 충돌은 탄탄하다. 사람 출력 경로가 JSONL 추가 후에도 바이트 단위로 같은지는 스냅샷이 없어서, 출력 포맷 회귀는 눈대중이다. 필요하면 기존 human list 스모크 한 줄을 남겨도 된다.
경로 docs/skills - 관리 표면·json shapes·recipes까지 맞춰서 생성/문서 드리프트는 작아 보인다. 최종 HEAD에서 capability 재생성 결과가 커밋과 같은지만 CI로 확인하면 된다.
경로 검증 - 이 레이어도 로컬 스위트 금지 + [skip ci]다. 2층 단독 초록을 merge 증거로 쓰지 말고, #3824 결합 HEAD의 lane=all을 보면 된다.

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

  • #3820이 먼저 랜딩된 뒤에만 이 PR을 머지할지, 아니면 JSONL만 cherry-pick해 dev에 독립 랜딩할지(작성자 체인은 전자).
  • JSONL에 registry 미설정 항목을 영원히 빼는 계약을 고정할지.
  • lower-layer skip을 이번 Axis5 전체에 동일하게 적용할지.

너의 추천
2층으로 merge 후보. 변경이 CLI 출력 한 갈래에 모이고 테스트·문서가 계약을 잠근다. #3820 랜딩 후 이어서 올리고, 최종 검증은 #3824 결합 CI에 맡기면 된다. close-don't-rebase 대상 아님.

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

Base automatically changed from codex/axis5-native-display to dev September 7, 2026 01:01
@lidge-jun
lidge-jun marked this pull request as ready for review September 7, 2026 01:01
@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner September 7, 2026 01:01
@lidge-jun
lidge-jun merged commit be24986 into dev Sep 7, 2026
16 of 19 checks passed
@lidge-jun
lidge-jun deleted the codex/axis5-provider-jsonl branch September 7, 2026 01:01
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 7, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-07T01:03:01.721904Z e862b86 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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