Skip to content

Wave 1: merge the checked fix PRs into rel/xp-build - #1257

Merged
sosidudku1 merged 457 commits into
rel/xp-buildfrom
merge/w1-all
Nov 12, 2026
Merged

sosidudku1 merged 457 commits into
rel/xp-buildfrom
merge/w1-all

Conversation

@sosidudku1

Copy link
Copy Markdown
Collaborator

Merges merge/w1-main (the 78 main PRs) plus the 58 open desktop PRs based on rel/xp-build, with conflicts resolved.

Desktop PRs included: #616 #617 #626 #628 #639 #643 #647 #676 #678 #683 #688 #689 #690 #691 #692 #693 #694 #698 #700 #702 #703 #704 #705 #706 #717 #718 #719 #720 #726 #727 #728 #729 #730 #736 #737 #738 #745 #746 #747 #748 #749 #750 #751 #752 #758 #759 #760 #761 #766 #767 #768 #769 #771 #780 #782 #783 #785 #790 #791 #792 #793 #794 #795 #796 #797 #801 #802 #803 #804 #805 #806 #807 #817 #818 #819 #822 #823 #824 #825 #829 #831 #832 #833 #834 #835 #837 #840 #841 #907 #909 #913 #918 #929 #932 #934 #935 #936 #938 #940 #941 #943 #944 #950 #956 #965 #966 #968 #975 #976 #986 #988 #989 #991 #993 #1003 #1009 #1010 #1016 #1018 #1021 #1024 #1026 #1028 #1029 #1033 #1036 #1044 #1048 #1054 #1055 #1058 #1059 #1063 #1064 #1065 #1067 #1070 #1073 #1078 #1085 #1089 #1091 #1094 #1101 #1103 #1104 #1105 #1107 #1110 #1113 #1114 #1115 #1116 #1126 #1127 #1128 #1142 #1143 #1144 #1145 #1146 #1150 #1152 #1157 #1158 #1159 #1160 #1161 #1165 #1166 #1167 #1168 #1169 #1179 #1180 #1181 #1182 #1183 #1185 #1187 #1188 #1189 #1191 #1197 #1198 #1199 #1200 #1201 #1203 #1204 #1206 #1219 #1220 #1226 #1229 #1230 #1231 #1232 #1236 #1239 #1240 #1242 #1243 #1245 #1246 #1247 #1250

Checked on the second Mac on 12.11.2026 on this exact tree: build, lint, test types, vitest (19369 passed, 4 skipped), desktop unit tests (1576/1576), desktop smoke (931/931) and live smoke (21 of 22, L13 skipped: the test Mac's terminal lacks Accessibility permission). Merge with a merge commit (not squash).

Merge after the main PR.

…hed (ATO-1419)

Drives serveCommand with stand-ins at its edges: a guard exit gives
shutdown({crashed: true}) and code 86, a parent that went away gives a
plain shutdown and code 0. Deleting the crashedShutdown line fails it.
A plain curl posting a project file now runs unasked and reaches the trap
(control). The same curl posting the agent's own .env must still ask
(state_secret). The env-filter part runs unasked at level 4. The HTTP tool
POST part is dropped: from level 3 the ladder lets it through with no card,
which is filed separately.
…card

The planted ./payload.sh and a plain rm now run unasked (controls proving
the level). The planted rm -f must still ask with one-time answers only and
leave the file intact after Deny.
Rebased onto the Local / Cloud / Custom setup (ATO-816, #1189). The model
apps (Atomic Chat, Ollama, LM Studio) are under Custom there, so the half
of this change that moved them under Local models is dropped. What stays:

- "Use a .gguf file I already have" under the Local models list: a file
  dialog, and the file is registered where it lies (main/local-gguf.ts,
  the TUI's own entry for a pasted path). Nothing is copied or downloaded.
- The card works while the model list is still loading.
- Unit test for the pick; the mouse driver's Tab walk allows for the card.
…f way in (ATO-816, ATO-1402)

The apps-under-Local half of this branch is replaced by #1189, where
Atomic Chat, Ollama and LM Studio are under Custom. The tree is #1189 plus
the .gguf card, its picker, main's cli:ggufPick and its unit test.
…r codes from a fixed list (ATO-1285)

Review round on #1226: a frame in a person's own script, skill or MCP
server no longer puts its file name in a crash report (it reads
outside_app), and an upper-case word starting with E is no longer
taken for an errno code.
…pure read (ATO-1213)

Review round on #1250: loadConfig({readOnly}) merges no .env into
process.env, writes no config.json (no default, no migration), creates
no key file and pushes nothing into the process-wide registries.
withFreshConfig uses it with the dotenv serve booted with.
…bles, pager/editor back to ordinary

Second review round:

- A variable that may be git is read wherever it stands in a command,
  like a literal git is: `command $g push --force`, `env $g …`,
  `time $g …`, `nice -n 5 $g …`.
- A `-c` key only known when the line runs (`-c "$X"`, `-c "$(echo
  alias.p=…)"`), `GIT_CONFIG_*` set anywhere on the line (`export …;
  git p`) and `git config alias.* …` (also `set`, `--global`) ask as
  dangerous.git_config_command. Reading or unsetting a key does not.
- `core.pager` and `core.editor` no longer count: `git -c core.pager=cat
  log` and `git -c core.editor=true rebase --continue` are ordinary agent
  idioms and would have asked every time with no grant. Kept: alias.*,
  core.sshCommand, core.gitProxy, core.fsmonitor, core.hooksPath.
# Conflicts:
#	src/tools/fusion/fusion-delegate.ts
# Conflicts:
#	src/llm/provider/openai/openai-build-body.test.ts
#	src/llm/provider/openai/openai-build-body.ts
# Conflicts:
#	src/tools/fusion/escalation.test.ts
@sosidudku1
sosidudku1 merged commit 0d3afce into rel/xp-build Nov 12, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant