Skip to content

docs(devlog): close the Devin ACP removal unit - #4417

Merged
lidge-jun merged 1 commit into
devfrom
codex/260912-devin-acp-removal-closeout
Sep 12, 2026
Merged

docs(devlog): close the Devin ACP removal unit#4417
lidge-jun merged 1 commit into
devfrom
codex/260912-devin-acp-removal-closeout

Conversation

@lidge-jun

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

Copy link
Copy Markdown
Owner

Summary

  • Both work phases of the Devin ACP removal landed on devfix(codex): refresh the catalog when paginated history refuses injection #4411 as 2d3c05fa9e and refactor(devin): retire the ACP adapter and give the shared adapter the tool-catalog nudge #4415 as 213065e30b — so the planning unit moves from devlog/_plan/ to devlog/_fin/ with an outcome record, which is what AGENTS.md asks for once a unit's changes are visible in public git history.
  • The record states what the removal corrected. The ACP adapter was written on the untested assumption that OpenCodex could not hold the installed CLI's credential, then kept on a second assumption that leaving it registered was harmless because routedProviderConfig pinned the registry id away from it. That was true for the registry id and false for the custom-named row the documentation itself recommended, which is exactly the row that would have broken on removal.
  • It also corrects two beliefs the unit started with: devin-cli has not run over ACP since the account-login unit, and its token usage is reported rather than missing. What is genuinely absent is account quota, which Cognition exposes only through Enterprise-scoped endpoints.
  • One residual is recorded rather than silently fixed: projectDevinCliAuthMode matches the retired adapter id by exact string, so a hand-edited "devin-cli " or "Devin-CLI" is not rewritten. Folding case or whitespace there would hide a typo instead of repairing a known historical value, and config validation already rejects an unknown adapter id at load.

Documentation only. Nothing in the build, typecheck, or test path reads from devlog/.

Verification

  • bun run privacy:scan — pass.
  • bun run structure:check — pass.
  • bun test (full suite) — NOT RUN locally, per maintainer instruction; hosted CI on this exact head is the acceptance evidence. The focused suites for the code this unit describes were green on the merged dev tip: 49 pass, 0 fail across codex-sync-api, devin-adapter, devin-cli-authmode-migration, adapter-registry-authority, adapter-tool-conformance and test-layout.

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.

Summary by CodeRabbit

  • Documentation
    • Added planning and outcome documentation for the retirement of the unused Devin ACP adapter.
    • Documented migration of saved configurations to the Devin API adapter, including handling for legacy adapter IDs and hosts.
    • Recorded the Devin tool-catalog prompt guidance, regression coverage, CI verification, reviewer findings, and known residual limitations.

Both work phases landed on dev (#4411 as 2d3c05f, #4415 as 213065e), so
the unit moves to _fin with an outcome record.

It records what the removal actually corrected: the ACP adapter was written on
the untested assumption that OpenCodex could not hold the installed CLI's
credential, then kept on a second assumption that leaving it registered was
harmless because routing pinned the registry id away from it. That was true for
the registry id and false for the custom-named row the documentation itself
recommended, which is the row that would have broken on removal.

It also corrects two beliefs this unit started with: devin-cli has not run over
ACP since the account-login unit, and its token usage is reported, not missing.
What is genuinely absent is account quota, which Cognition exposes only through
Enterprise-scoped endpoints.
@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner September 12, 2026 14:43
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 12, 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-12T14:47:17.493769Z 06c8fb2 PR opened
ℹ️ 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.

@github-actions

Copy link
Copy Markdown
Contributor

Deterministic PR hygiene checks passed.

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Sep 12, 2026
@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 1dc1a9d4-466a-4823-855c-f837fd650b47

📥 Commits

Reviewing files that changed from the base of the PR and between 2d3c05f and 06c8fb2.

📒 Files selected for processing (2)
  • devlog/_fin/260912_devin_acp_removal/000_plan.md
  • devlog/_fin/260912_devin_acp_removal/090_outcome.md

📝 Walkthrough

Walkthrough

The PR adds planning and outcome records for retiring the Devin ACP adapter, migrating saved configurations, adding a tool-catalog prompt nudge, documenting verification requirements, and recording residual compatibility details.

Changes

Devin ACP retirement

Layer / File(s) Summary
Retirement plan and verification scope
devlog/_fin/260912_devin_acp_removal/000_plan.md
Defines ACP adapter removal, configuration migration, registry cleanup, regression coverage, CI requirements, and local verification restrictions.
Landed changes and residuals
devlog/_fin/260912_devin_acp_removal/090_outcome.md
Records the landed work, corrected Devin assumptions, review fixes, exact adapter-id matching behavior, and pre-existing translation lag.

Estimated code review effort: 1 (Trivial) | ~4 minutes

Change: Other

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/260912-devin-acp-removal-closeout

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

Maintainer integration decision (dev, self-merge without a second approval).

Recorded per AGENTS.md "Branch policy" and MAINTAINERS.md.

  • Exact head: 06c8fb288c50e7f05a31a3f37110eecc81b07b26
  • CI on that head: ci, enforce-target, changes, hygiene, label, react-doctor, resolve-pr all pass; zero non-success conclusions and zero pending required checks. The test matrix is skipped by the changes filter because this PR touches devlog/ only, which nothing in the build, typecheck or test path reads.
  • Security review: not triggered. Documentation only; no source, workflow, or dependency change.
  • Outstanding reviewer findings: none.

@lidge-jun
lidge-jun merged commit f5b2a0d into dev Sep 12, 2026
18 of 19 checks passed
@lidge-jun
lidge-jun deleted the codex/260912-devin-acp-removal-closeout branch September 12, 2026 14:45
@lidge-jun

Copy link
Copy Markdown
Owner Author

리뷰 · 우선순위 30 / 80

이 PR은 Devin ACP 제거 유닛을 devlog/_plan/에서 devlog/_fin/으로 옮기고, 결과가 뭔지 적은 090_outcome.md를 추가하는 문서 전용 닫기 작업이다. 코드·테스트·빌드 경로는 devlog/를 읽지 않는다. 지금 dev HEAD는 2d3c05fa9(#4411)이고, 그 바로 아래에 #4415(213065e30) ACP 폐기가 이미 있다. AGENTS.md도 “공개 git 히스토리에 변경이 보이면 _fin으로 옮기고 터미널 아웃컴을 남겨라”고 하니, 이 타이밍의 닫기는 맞다.

아웃컴이 말하는 핵심은 단순하다. ACP 어댑터는 “OpenCodex가 설치 CLI 자격증명을 못 든다”는 검증 안 된 가정으로 생겼고, 나중에는 “레지스트리 id만 핀 해 두면 등록을 남겨도 안전하다”는 두 번째 가정으로 남았다. 두 번째는 레지스트리 id 행에는 맞았지만, 문서가 권장하던 커스텀 이름 행에는 틀렸다. 그래서 #4415가 ACP를 지우고 projectDevinCliAuthMode로 남은 adapter: "devin-cli"devin으로 고친 것이다. 지금 체크아웃의 src/providers/devin-cli-authmode-migration.ts도 그 이야기를 그대로 코드 주석으로 들고 있다.

유닛이 처음 믿었던 두 가지도 아웃컴이 바로잡는다. (1) account-login 이후 devin-cli는 ACP로 돌지 않았고, 요청 로그의 "provider":"devin-cli" + "adapter":"devin"이 증거다. (2) 토큰 usage는 빠진 게 아니라 Cognition UsageStats(proto #28)로 보고된다. 진짜 없는 건 계정 쿼타(Enterprise 엔드포인트)다. 리뷰어 지적(테스트 exact assertion, 빈 devin-cli/ 디렉터리, api-server URL 상수, GUI 주석 스크린샷 게이트, wp1의 structure/config.md/refreshOutcome)도 “반박하지 않고 고쳤다”고 적혀 있고, #4415/#4411 쪽 머지 내용과 맞물린다.

남은 잔여도 코드와 맞다. projectDevinCliAuthModeRETIRED_ACP_ADAPTER = "devin-cli"완전 일치만 본다. 공백·대소문자가 다른 손편집 값은 고치지 않고, 로드 시 Unknown adapter로 거절되게 둔다. 로케일 docs-site/.../*/reference/adapters.md에는 ## devin만 있고 `## `devin-cli 절은 없다(영문 참고서에만 있음). 아웃컴이 말한 “번역 지연이지 ACP 잔재는 아님”과 일치한다. 유닛 폴더도 원래 000_plan.md 하나뿐이라, rename + outcome 추가로 닫기 구성은 완전하다.

작은 정리 포인트만 있다. 표의 wp1=#4411 / wp2=#4415 SHA·링크는 맞지만, git 부모 순서는 #4415가 먼저이고 #4411이 그 위 HEAD다. 페이즈 번호와 머지 시각이 어긋나 보여도 SHA가 정확하면 막히는 문제는 아니다. “독립 리뷰 4건” 아래에 접힌 항목이 다섯 줄인 것도 세는 방식 차이일 뿐, 내용 자체는 #4415/#4411과 모순되지 않는다. types.ts/config.ts 분할과도 무관하다.

devlog/_plan/260912_devin_acp_removal/000_plan.mddevlog/_fin/.../000_plan.md - AGENTS.md 닫기 규칙과 맞음. 코드 경로 변경 없음
devlog/_fin/.../090_outcome.md 표 - #4411=2d3c05fa9e, #4415=213065e30b로 현재 dev와 일치
090_outcome.md Known residual - projectDevinCliAuthMode exact-string 잔여 설명이 소스와 일치
090_outcome.md locale adapters - 로케일에 devin-cli 절 없음 확인됨(영문만 있음)
090_outcome.md wp 번호 vs git 부모 순서 - 페이즈 라벨과 머지 시각이 어긋나 보일 수 있음(블로커 아님)

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

  • 문서 전용 closeout을 바로 dev에 머지할지(권장), CI만 기다릴지
  • exact-string 마이그레이션 잔여를 후속 이슈로 남길지, 지금처럼 의도적 residual로 둘지
  • 로케일 reference/adapters.mddevin-cli 절을 번역 백로그로 잡을지(이 PR 범위 밖)

너의 추천

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

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 06c8fb288c

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +59 to +60
`Unknown adapter`. Left as-is deliberately: config validation already rejects an unknown adapter
id at load, and folding case or whitespace here would hide a typo rather than repair a known

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Correct the claimed load-time adapter validation

For the hand-edited case/whitespace variants discussed here, config loading does not reject the adapter ID: providerConfigSchema accepts any non-empty string at src/config.ts:587, and loadConfig() returns a successfully parsed configuration. The unknown adapter is rejected only later by createRegisteredAdapter() at src/adapters/registry.ts:180-181, so this outcome records a false rationale for leaving the migration exact-match-only. Either add actual load-time validation or state that these variants load and fail when a request constructs the adapter.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant