# fix\(settings\): harden the project override layer against review findings · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/commit/554fe2a25f7fbeccca402c9737096f38890d3935)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

Requested revision: 554fe2a25f7fbeccca402c9737096f38890d3935

Requested commit: 554fe2a25f7fbeccca402c9737096f38890d3935

Commit: 554fe2a25f7fbeccca402c9737096f38890d3935

Tree: 7d822088192b5f683aba5a316624150737cd348c

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
fix(settings): harden the project override layer against review findings

- Never fold over an unreadable settings.json: the fold and its write run
  only when the file decoded, so a malformed file stays for the user to
  repair instead of being replaced with defaults.
- A canonical projectSettingsOverrides entry wins over a legacy map for the
  same project in one patch, so omitting a key to clear it sticks.
- A project defaultModelSelection on a disabled provider falls back to the
  environment, like the text generation model already did.
- Agent access without orchestration withholds only the capability some
  project overrides; a device-only override no longer revokes browser access.
- Server stop resolves continueThreadsAfterServerUpdate per session project,
  so a project override marks its running turns for continuation.
- The settlement key encodes an absent threshold differently from null, so
  switching a project from inherit to never sweeps immediately.

```

## Parents

- [acbdb5c78a155ee7893bbe18e66e70b442bdad80](https://git.cafe/pingdotgg/t3code/commit/acbdb5c78a155ee7893bbe18e66e70b442bdad80?format=markdown)

[Source at this commit](https://git.cafe/pingdotgg/t3code/tree/554fe2a25f7fbeccca402c9737096f38890d3935?format=markdown)
