fix(service-settings): remove step 0.1 from ai.temperature — the window is the true domain (#6550) - #6627
Merged
os-project-manager merged 1 commit intoAug 8, 2026
Conversation
…ow is the true domain (#6550) Since #6199 a declared step binds as a value constraint on both doors, and temperature's true domain is continuous on [0, 2]: the 0.1 grid refused legal values (0.15 on PUT /api/settings/ai; OS_AI_TEMPERATURE=0.15 loudly ignored). min 0 / max 2 stay and keep binding. The #6199 grid machinery is untouched; its env-half tests move to a synthetic step-declaring fixture, and the real ai manifest's post-ruling behaviour is pinned in ai.manifest.test.ts. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01USNUyHEr7uaU6MoEWXitei
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
Contributor
📓 Docs Drift CheckThis PR changes 1 package(s): 7 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:
|
os-project-manager
marked this pull request as ready for review
August 8, 2026 08:45
os-project-manager
deleted the
claude/issue-6550-temperature-step-removal
branch
August 8, 2026 09:01
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #6550
变更内容
维护者裁定(2026-08-08,issue 内评论):从
ai.manifest的temperaturespecifier 移除step: 0.1,保留min: 0/max: 2。temperature 的真实值域在 [0, 2] 上连续,而 #6199 使声明的step在两扇门(保存门 + env 门)都成为绑定的值约束后,0.1 网格会拒绝合法值(0.15)——正是 #5712 裁定刚在 timezone/currency 上纠正过的「声明窄于真实值域」形态。slider 的步进手感是 UI 层展示关注点,不是契约拒绝。ai.manifest.ts(唯一生产改动,一行 + 注释):temperature删除step: 0.1;min/max保留——窗口就是真实值域,绑定得诚实。ai.manifest.test.ts新增 ai.manifest temperature declaresstep: 0.1— now that the grid binds (#6199), decide whether the declaration itself is product-correct #6550 块(5 条):声明钉死(无 step、过 spec parse round-trip);写入门收0.15(裁定的复现)与0.7;窗口仍绑定(2.5→max_value、-0.5→min_value,constraint{ min: 0, max: 2 },词汇不变);env 门OS_AI_TEMPERATURE=0.15赢得级联并锁键;越窗 env 值仍被大声忽略。settings-service.test.ts:settings 的step是同族第五个声明但不执行的值约束键 —— 先要一个「它算不算值约束」的判断 #6199 机器测试的 fixture 重指(见下)。偏离派发卡的说明(fixture 重指落在 settings-service.test.ts)
派发卡写明「不要动 settings-service.test.ts」,同时又要求「若 #6199 网格测试以 ai.manifest 的 temperature 为 fixture,重指到合成的 step 声明 specifier,不得削弱机器覆盖」。两条在本卡上冲突:#6199 的 5 条真实清单测试恰好住在该文件(保存门 1 条 + env 门 4 条),移除 step 后必红。按具体指令压倒一般指令处理,并把冲突面压到最小:
step是同族第五个声明但不执行的值约束键 —— 先要一个「它算不算值约束」的判断 #6199 两个 describe 块(约 1390–1737 行),与队列中 PR fix(service-settings): company.country adopts the iso_3166_alpha2 value domain (#6579) #6594 的改动区(import 行 + 文件尾部追加)零重叠,git 可干净合并;gridenvmanifest(保留裁定时ai.temperature的原形状min 0, max 2, step 0.1,env 名OS_GRIDENV_TEMPERATURE),断言逐条不变——机器覆盖零削弱;0.15被拒)随声明一起移动:其后继(0.15被收)在ai.manifest.test.ts,原位留注释指路。settings 的step是同族第五个声明但不执行的值约束键 —— 先要一个「它算不算值约束」的判断 #6199 网格机器本身未动,仍绑定任何声明step的键。反向验证(先定方向再跑)
预测:把
step: 0.1放回清单后,恰好 3 条新测试变红(声明钉死、写入门收 0.15、env 门 0.15 生效),越窗两条保持绿(窗口先于网格裁决),重指后的 #6199 合成测试全绿(与清单解耦正是重指的目的)。实测完全一致:3 红 / 319 绿,复原后 16 文件 / 322 测试全绿。验证
pnpm --filter @objectstack/service-settings test:16 文件 / 322 测试全过(新增 5 条,移走 1 条真实清单钉死);tsc --noEmit错误数 13,与 DEBT 账本持平(未新增);node scripts/check-nul-bytes.mjsOK;@objectstack/service-settingspatch(用户可见的校验放宽)。其余 step 声明者(按卡要求核查,均未触碰)
step是同族第五个声明但不执行的值约束键 —— 先要一个「它算不算值约束」的判断 #6199 机器的辖面):ai.manifest.ts原 189 行是唯一生产声明;其余全是合成测试 fixture(settings-service.test.ts网格块、envelope.conformance.test.ts的stepped命名空间)。step(slider) is the settingsstep's unenforced twin —record-validator.tsreadsmin/maxand neverstep#6514 的孪生领地,不归本卡):packages/spec/src/studio/flow-builder.zod.ts:274(画布 zoom)、packages/spec/src/data/field.test.ts:690(数据字段 step,The data-fieldstep(slider) is the settingsstep's unenforced twin —record-validator.tsreadsmin/maxand neverstep#6514)、packages/spec/src/ui/bulk-action.test.ts:63、packages/drivers/driver-sql/src/sql-driver-numeric-fidelity.test.ts:46。settings-service.ts:170的注释仍以「ai.temperaturedeclaresstep: 0.1」作历史例证——该文件 settings env 门不执行pattern:写入门拒的形状非法值,OS_*覆盖照收——#5204 不对称的最后一族 #6580 的开发者在编辑,按卡未触碰;注释系动机说明而非断言,留待后续顺手更新。🤖 Generated with Claude Code
https://claude.ai/code/session_01USNUyHEr7uaU6MoEWXitei
Generated by Claude Code