refactor(config)!: remove deprecated v1 interfaces - #1257
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited), Organization UI (inherited) Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
Greptile SummaryThis PR removes deprecated v1 configuration and CLI interfaces while adding targeted migration guidance for affected users.
Confidence Score: 5/5The PR appears safe to merge because no blocking failure remains. The previously reported environment-precedence issue is fixed: global configuration initialization no longer exports conflicting values, while the merge exports global-only values and leaves existing project values unchanged. Important Files Changed
Reviews (21): Last reviewed commit: "perf(config): keep v1 tombstones out of ..." | Re-trigger Greptile |
Instruction counts
No instruction-count regression above 1%. Only instruction counts gate. Wall clock is shown for context — on identical hardware it moves 4-20% run to run. Measured by tak — instruction-counted CLI benchmarks, stored in this repository's git notes.
|
2349f25 to
3d57c5c
Compare
3d57c5c to
f197252
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f197252. Configure here.
f197252 to
939e232
Compare
939e232 to
24a1ec2
Compare
24a1ec2 to
b2ad664
Compare
b2ad664 to
242aa60
Compare
242aa60 to
4f3455b
Compare
4f3455b to
45474b2
Compare
45474b2 to
3289b87
Compare
3289b87 to
4f4ba2d
Compare
4f4ba2d to
f00663b
Compare
fcd6e81 to
affa727
Compare
affa727 to
9a32185
Compare
9a32185 to
b27312b
Compare
b27312b to
7263fa5
Compare
7263fa5 to
57100b9
Compare
57100b9 to
1449ca0
Compare
1449ca0 to
fa1708e
Compare
cdb9d79 to
201ea33
Compare
201ea33 to
0070b96
Compare

Summary
Stack
GitHub Issues are disabled for this repository, so the PR stack serves as the v2 rollout tracker.
Verification
AI-assisted — Tool: Codex; model: unavailable/unavailable; version: unavailable.
Note
High Risk
Breaking removal of multiple config formats and global config discovery affects every hk run; mis-migrated users will fail until they move to Pkl and XDG paths.
Overview
hk v2 drops legacy configuration paths and CLI compatibility; only Pkl project configs (
hk.pkl) are loaded. hk.toml/yaml/json, CWD/home.hkrc.pkl,--hkrc,UserConfig.pkl,Types.pkl, and deprecatedConfig.Regex/ byte-order-marker builtin aliases are removed.hk generateis rejected early with a pointer tohk init.Global settings now come solely from
~/.config/hk/config.pkl(merged with project config using existing project-wins rules).UserConfigmerge logic and runtime deprecation warnings are deleted; Pkl eval failures and leftover files instead return targeted migration hints (e.g.environment→env,Regexbuilt-in).pkl/Config.pkldrops the deprecated Regex helper and makes several list settings optional instead of default-empty. Docs addmigration-v2, refresh configuration precedence text, and regenerate CLI usage without--hkrc/generate. Integration tests shift from.hkrc.pklto XDG config and assert v2 rejection paths.Reviewed by Cursor Bugbot for commit 0070b96. Bugbot is set up for automated code reviews on this repo. Configure here.