Skip to content

docs(devlog): close the Devin unit and record why AssignModel is not implemented - #4464

Merged
lidge-jun merged 1 commit into
devfrom
codex/260913-devin-assign-model
Sep 13, 2026
Merged

docs(devlog): close the Devin unit and record why AssignModel is not implemented#4464
lidge-jun merged 1 commit into
devfrom
codex/260913-devin-assign-model

Conversation

@lidge-jun

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

Copy link
Copy Markdown
Owner

Summary

Closes the 260913_devin_landing_and_caching unit. Six changes landed on dev from it; the seventh is closed as a no-op and this records why.

The case for an AssignModel handshake was that the native CLI and CLIProxyAPIPlus both call that RPC and we do not. The first half is true. The second half does not follow — Plus gates the call behind a -router suffix or model-router substring, and neither pattern appears in our catalog parse, our static model list, or the binary survey. The adaptive uid that prompted the question comes from GetCliModelConfigs; we parse GetCascadeModelConfigs.

Even granting a router uid, the hook has nowhere to run. resolveWireModelUid rewrites a bare adaptive to adaptive-medium, and the catalog preflight then ends the turn with not_listed — both before the point where AssignModel would be called. Moving the hook earlier would mean reversing the suffix handling just unified and the preflight contract from #14, to serve demand nobody has observed.

The verified request/response field layout is kept in 060 so the phase reopens cheaply if a -router uid is ever seen in a GetCascadeModelConfigs response, or a turn is observed dying as not_listed on one.

What landed

phase result PR merge
roadmap merged #4446 0a89b416a
SWE-2 explicit effort (carry of #4420) merged #4445 eee8fd82f
devin-cli Windows fixture (carry of #4384) merged #4448 720ea9730
response-headers deadline merged #4450 dc33113a9
prompt cache + cache identity merged #4453 261bab915
effort-suffix unification merged #4459 cff737ce4
AssignModel handshake no-op

c-8 stays unmet rather than reworded. It was written on a premise that turned out to be false, and weakening it to close the unit would make the record useless.

Verification

  • Planning documents only; no product code in this PR. Local product suite, typecheck, build and install: NOT RUN, by explicit instruction.
  • The no-op decision was audited twice. The first audit returned fail with the two blockers above. The re-audit confirmed they are restated without softening, that no cheap correct middle exists (a named error would require either treating adaptive as a router on no evidence, or a dead branch on an unobserved pattern), that the closeout merge SHAs are real ancestors of origin/dev, and that the unmet criterion was not reworded to pass.
  • One correction from the re-audit is folded: the claim that an invalid_argument burns a credential cooldown was carried over from the design doc and overstated, since key-failover cooldown only fires on 401/429. Corrected in place.

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.

Maintainer integration under MAINTAINERS.md: dev only, with exact-head CI evidence recorded before merge.

This PR records the landing of work by two other authors. Their credit is on the squashed commits of #4445 and #4448; repeated here so the attribution gate sees it on the summarising PR as well.

Co-authored-by: Smartnewb 159137930+Smartnewb@users.noreply.github.com
Co-authored-by: luvs01 27862058+luvs01@users.noreply.github.com

…implemented

Six changes landed on dev from this unit. The seventh, an AssignModel
handshake for router uids, is closed as a no-op because an independent audit
showed it would be dead code on the request path.

The case for it was that the native CLI and CLIProxyAPIPlus both call that RPC
and we do not. The first half is true. The second half does not follow: Plus
gates the call behind a -router suffix or model-router substring, and neither
pattern appears in our catalog parse, our static model list, or the binary
survey. The adaptive uid that prompted the question comes from
GetCliModelConfigs, and we parse GetCascadeModelConfigs.

Even granting a router uid, the hook has nowhere to run. resolveWireModelUid
rewrites a bare adaptive to adaptive-medium, and the catalog preflight then
ends the turn with not_listed, both before the point where AssignModel would
be called. Moving the hook earlier would mean reversing the suffix handling
just unified and the preflight contract from #14, to serve demand nobody has
observed.

The verified envelope is kept in 060 so the phase can reopen cheaply if a
router uid is ever seen, along with the two conditions that would reopen it.

c-8 stays unmet rather than reworded. The criterion was written on a premise
that turned out to be false, and weakening it to close the unit would make the
record useless.

The closeout also records the four places where audit changed the plan, which
is the part worth reading: an abort reason that would have been swallowed by
AbortError, a global cache clear that would have cut other accounts mid-turn,
an epoch that was dead complexity, and a tier token that would have become an
accepted reasoning effort.

Planning only. Local product suite, typecheck, build and install: NOT RUN.
@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner September 13, 2026 05:08
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 13, 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-13T05:10:54.422658Z 16bf77a 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 github-actions Bot added the documentation Improvements or additions to documentation label Sep 13, 2026
@lidge-jun
lidge-jun enabled auto-merge (squash) September 13, 2026 05:09
@github-actions github-actions Bot added the intake: hygiene-blocked Deterministic PR hygiene checks failed label Sep 13, 2026
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Deterministic hygiene checks failed.

  • missing_coauthor_credit — This pull request says it reimplements, supersedes, carries, or rebases another author's pull request, but no Co-authored-by trailer names that author. Prose in a commit body is not read by anything; the trailer is what GitHub counts. Add it to the description or a commit, or obtain attribution-approved. Paths: #4384, #4420.

@coderabbitai

coderabbitai Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 6e33a129-432c-4760-8ea8-3ff0395689fc

📥 Commits

Reviewing files that changed from the base of the PR and between cff737c and 16bf77a.

📒 Files selected for processing (2)
  • devlog/_plan/260913_devin_landing_and_caching/000_plan.md
  • devlog/_plan/260913_devin_landing_and_caching/060_wp6_assign_model_router.md

Included review availability: Your plan provides up to 10 included reviews per hour; 5 remain after this review.


📝 Walkthrough

Walkthrough

The PR adds final records for the 260913 workunit and wp6. It documents merged PRs, CI evidence, audit-driven plan changes, deferred items, and the decision to leave AssignModel unmet and closed as a NOOP.

Changes

Workunit closure

Layer / File(s) Summary
AssignModel audit conclusion
devlog/_plan/260913_devin_landing_and_caching/060_wp6_assign_model_router.md:101-141
The wp6 record closes the step as a NOOP after an audit found no confirmed router UID request path and a preempted hook point. It retains the verified envelope, timeout and masking requirements, and conditions for reopening the step.
Workunit final record
devlog/_plan/260913_devin_landing_and_caching/000_plan.md:155-202
The plan records the merged PRs, exact-head CI results, audit-driven changes, unmet criterion c-8, and two deferred items. It also corrects the earlier credential cooldown statement.

Priority: ⬇️ Low

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

Change: Other

Merge Risk: ⚪ Minimal · up to 16bf7

The documentation accurately records the audited no-op decision and its reopening conditions. No actionable merge risk remains.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely summarizes the main changes: it closes the Devin work unit and documents why the AssignModel handshake is not implemented.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/260913-devin-assign-model

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 13, 2026

Copy link
Copy Markdown
Contributor

✅ READY

  • this PR is ready for review.

Hygiene

Deterministic PR hygiene checks passed.

@github-actions
github-actions Bot marked this pull request as draft September 13, 2026 05:09
auto-merge was automatically disabled September 13, 2026 05:09

Pull request was converted to draft

@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: 16bf77ad3b

ℹ️ 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 +156 to +158
## 단위 종료 기록 (2026-09-13)

6개 PR이 `dev`에 들어갔고, 1개 단계는 NOOP으로 닫혔다.

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 Move the closed unit to _fin

This section records a terminal outcome and explicitly closes the unit, but all seven documents remain under devlog/_plan/, so the repository's planning queue continues to classify completed work as open. Move the entire 260913_devin_landing_and_caching directory to devlog/_fin/ as part of this closeout.

AGENTS.md reference: AGENTS.md:L102-L105

Useful? React with 👍 / 👎.

@lidge-jun

Copy link
Copy Markdown
Owner Author

리뷰 · 우선순위 42 / 80

설명

이 PR은 260913_devin_landing_and_caching 단위를 닫는 계획 문서만 고칩니다. 제품 코드는 없습니다. dev tip(cff737ce4, #4459)까지 여섯 단계(#4446#4445#4448#4450#4453#4459)가 이미 들어갔고, 일곱 번째 AssignModel 라우터 핸드셰이크는 구현하지 않기로 합니다. 이유는 두 가지입니다. Plus가 가드하는 -router / model-router 패턴이 우리 카탈로그·정적 목록·바이너리 조사에 없고, 설령 adaptive를 넣어도 resolveWireModelUid가 먼저 접미사를 붙인 뒤 카탈로그 preflight가 not_listed로 끊어서 AssignModel을 걸 자리가 없습니다. 봉투 검증 기록와 재개 조건 두 가지는 060에 남깁니다. c-8은 통과시키려고 기준을 약화하지 않고 미충족으로 둡니다. 감사로 abort 사유 삼킴·전역 cache clear·epoch·tier/effort 혼동을 고친 기록도 같이 있습니다. closeout에 적은 merge SHA(#4446/0a89b416a#4459/cff737ce4)는 로컬 dev 조상과 제목이 맞습니다.

경로 github-actions hygiene - 지금 게이트가 missing_coauthor_credit로 막혀 있고 Draft·merge BLOCKED입니다. 본문이 #4420/#4384 carry와 원 저자 크레딧을 말하지만, 이 PR의 설명/커밋에 Co-authored-by 트레일러가 없습니다. 이미 머지된 carry PR squash에 트레일러가 있다는 설명만으로는 hygiene이 통과하지 않습니다. attribution-approved 라벨을 받거나, closeout 문구에서 “carry” 표현을 빼 hygiene 트리거를 피하거나, 트레일러를 이 PR에 명시하세요.

경로 devlog/_plan/260913_devin_landing_and_caching/000_plan.md - 단위 종료 표·감사 표·미해결(invalid_argument 분류, rune-safe 절단)이 tip 상태와 잘 맞습니다. cooldown 과장을 정정한 점도 재감사 지적과 일치합니다.

경로 …/060_wp6_assign_model_router.md - NOOP 결론·블로커 2개·재개 조건이 요청 경로 현실과 맞습니다. 제품 코드 추가 없이 기록을 남기는 선택이 옳아 보입니다.

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

  • hygiene을 트레일러로 맞출지, attribution-approved로 예외 줄지, closeout 문장에서 carry 언급을 줄일지
  • c-8을 미충족으로 남긴 채 단위를 닫는 기록이 MAINTAINERS 기대와 맞는지

너의 추천
Draft 유지. hygiene(missing_coauthor_credit)만 먼저 풀고, 문서 PR이니 제품 스위트 생략은 그대로 두세요. 내용 자체는 tip 증거와 맞으니 게이트만 통과하면 합쳐도 됩니다.

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

@github-actions github-actions Bot removed the intake: hygiene-blocked Deterministic PR hygiene checks failed label Sep 13, 2026
@github-actions
github-actions Bot marked this pull request as ready for review September 13, 2026 05:13
@lidge-jun

Copy link
Copy Markdown
Owner Author

Maintainer integration into dev under MAINTAINERS.md.

  • Exact head merged: 16bf77ad3bf051ea1e8624ccc113ace18118281c.
  • Hosted CI on that exact head: 9 successful checks, 0 failed. The 10 skipped jobs are the code shards, which the change-detection job correctly filters out for a devlog-only diff; they are not counted as passing.
  • The first run failed missing_coauthor_credit on both the hygiene and target gates, because the closeout records carrying two other authors' pull requests. The gate is right: the trailers are now on this PR description as well as on the squashed commits of fix(devin): apply explicit SWE-2 effort before model suffix #4445 and test(devin-cli): anchor the empty-data-dir fallback at the host home #4448.
  • Local product suite, typecheck, build and install: NOT RUN by explicit instruction.
  • Integrated without a second maintainer approval, which the policy permits for dev only.

@lidge-jun
lidge-jun merged commit 2df82f4 into dev Sep 13, 2026
23 of 27 checks passed
@lidge-jun
lidge-jun deleted the codex/260913-devin-assign-model branch September 13, 2026 05:17
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