1
00:00:00,439 --> 00:00:05,000
So I was- I was working on this local
refactoring task yesterday,

2
00:00:05,179 --> 00:00:05,400
right?

3
00:00:05,839 --> 00:00:10,539
And I'm about, I don't know, six steps
deep into a multi-turn chat in my terminal.

4
00:00:11,259 --> 00:00:12,139
And then I realize...

5
00:00:12,779 --> 00:00:16,159
wait, step two was a completely wrong
turn.

6
00:00:16,279 --> 00:00:18,020
I- I completely messed up the prompt.

7
00:00:18,579 --> 00:00:23,639
And normally, you just sigh, copy your
file attachments, copy the context,

8
00:00:23,719 --> 00:00:26,019
and start a whole new thread from scratch.

9
00:00:26,739 --> 00:00:32,540
But I was looking at the new Codex CLI
v0.145.0 release from July,

10
00:00:33,079 --> 00:00:34,519
and they've actually...

11
00:00:34,540 --> 00:00:37,700
they've added this thing called a
contextual branch.

12
00:00:38,301 --> 00:00:39,341
Oh, wait, really?

13
00:00:39,721 --> 00:00:40,262
Like...

14
00:00:40,341 --> 00:00:44,321
like Git branching, but for your actual
chat history in the terminal?

15
00:00:44,834 --> 00:00:45,314
Yes!

16
00:00:45,495 --> 00:00:46,815
Exactly like Git.

17
00:00:47,234 --> 00:00:51,614
Instead of overwriting your subsequent
turns or- or just totally corrupting the

18
00:00:51,714 --> 00:00:56,174
session history when you go back and edit,
it actually forks the conversation log

19
00:00:56,354 --> 00:00:56,954
natively.

20
00:00:57,454 --> 00:01:01,094
It's- it's in PRs 33201 and 33211.

21
00:01:01,654 --> 00:01:06,655
You literally just scroll up in your
TUI--your terminal user interface--select that

22
00:01:06,754 --> 00:01:09,934
older prompt, press e to edit, and boom.

23
00:01:09,974 --> 00:01:10,834
It forks.

24
00:01:11,244 --> 00:01:11,484
Huh.

25
00:01:11,964 --> 00:01:13,424
Okay, but how does it handle...

26
00:01:13,744 --> 00:01:18,924
like, if I had three files attached and
two tool results from a database query at

27
00:01:18,964 --> 00:01:20,045
that specific step?

28
00:01:20,505 --> 00:01:21,324
Does it just lose them?

29
00:01:21,814 --> 00:01:23,334
No, that's the cool part.

30
00:01:23,774 --> 00:01:27,914
It actually handles the fork at the local
SQLite database level.

31
00:01:27,994 --> 00:01:31,914
So it replicates all those file
attachments, the tool results,

32
00:01:32,034 --> 00:01:33,034
the @-mentions...

33
00:01:33,534 --> 00:01:38,014
everything active at that exact timestamp
is cloned into the new branch.

34
00:01:38,614 --> 00:01:41,754
You get a clean visual indicator of the
new path in your terminal,

35
00:01:42,174 --> 00:01:43,875
and the original pathway is just...

36
00:01:44,234 --> 00:01:44,734
preserved.

37
00:01:45,221 --> 00:01:45,921
Okay, wait.

38
00:01:46,262 --> 00:01:47,522
There's got to be a catch here.

39
00:01:48,081 --> 00:01:53,181
If you're branching the conversation
history in SQLite, what happens to the actual

40
00:01:53,241 --> 00:01:55,721
physical files on my local disk?

41
00:01:55,761 --> 00:02:01,502
Because if the AI thinks we're back at
step two, but my local index.js still has all

42
00:02:01,521 --> 00:02:02,821
the edits from step six...

43
00:02:03,501 --> 00:02:05,562
doesn't that create a massive state drift?

44
00:02:06,002 --> 00:02:07,542
Oh, absolutely.

45
00:02:07,682 --> 00:02:08,522
You nailed it.

46
00:02:09,063 --> 00:02:11,622
That is the big "state drift" trap.

47
00:02:12,182 --> 00:02:15,322
The files on your disk do not
automatically roll back.

48
00:02:15,883 --> 00:02:20,062
So the agent's mental state--what it
*thinks* is in your workspace based on the

49
00:02:20,122 --> 00:02:24,622
historical branch point--is completely out
of sync with what's actually sitting on

50
00:02:24,662 --> 00:02:25,343
your hard drive.

51
00:02:25,902 --> 00:02:29,762
If you're not careful, you'll ask it to
edit a function that you've already deleted

52
00:02:29,822 --> 00:02:31,542
or modified in the physical file.

53
00:02:32,074 --> 00:02:32,354
Right.

54
00:02:32,394 --> 00:02:37,134
So you basically have to manually do a git
checkout on your code to match the branch

55
00:02:37,174 --> 00:02:37,954
point of your chat.

56
00:02:38,534 --> 00:02:43,054
It's- it's- it's incredibly useful, but
you've got to keep those two things in sync

57
00:02:43,094 --> 00:02:43,494
yourself.

58
00:02:43,861 --> 00:02:44,821
Exactly.

59
00:02:45,301 --> 00:02:49,561
It's a tool for your context, not a magic
wand for your file system.

60
00:02:50,321 --> 00:02:57,042
But, you know, speaking of the database
side, this v0.145.0 update also quietly

61
00:02:57,101 --> 00:03:01,882
fixed a massive pain point for anyone
who's used the CLI for more than a couple of

62
00:03:01,921 --> 00:03:02,661
weeks.

63
00:03:02,722 --> 00:03:05,241
They introduced paginated thread history.

64
00:03:05,841 --> 00:03:07,281
Before this, if you had...

65
00:03:07,321 --> 00:03:12,161
I don't know, two hundred local thread
files, the terminal startup lag was just

66
00:03:12,222 --> 00:03:15,441
brutal because it tried to load everything
at once.

67
00:03:16,555 --> 00:03:17,594
Oh, I remember that.

68
00:03:17,894 --> 00:03:21,914
You'd type the command and just sit there
for two seconds waiting for the UI to

69
00:03:21,954 --> 00:03:22,295
render.

70
00:03:22,934 --> 00:03:25,614
It felt so sluggish for a command-line
tool.

71
00:03:26,167 --> 00:03:26,587
Right!

72
00:03:27,107 --> 00:03:33,267
Now, with PR 33364, it lazily loads older
threads from SQLite.

73
00:03:33,767 --> 00:03:36,847
The initial terminal render is- is
sub-millisecond now.

74
00:03:37,508 --> 00:03:42,087
They also added proper search, persisted
names, and they stabilized the memories

75
00:03:42,167 --> 00:03:44,687
feature flag under PR 31804.

76
00:03:45,247 --> 00:03:50,048
So it's- it's starting to feel like a
really robust local workspace helper rather

77
00:03:50,087 --> 00:03:50,847
than just a wrapper.

78
00:03:51,326 --> 00:03:52,966
Wait, what else is in this release?

79
00:03:53,586 --> 00:03:57,346
Did they do anything with those messy UI
visualization files?

80
00:03:58,006 --> 00:04:03,066
Usually, if Codex generates an HTML mockup
or a chart, you have to go hunting

81
00:04:03,106 --> 00:04:07,526
through some temporary project
subdirectory to actually open it in a browser.

82
00:04:07,923 --> 00:04:10,083
Oh, they actually fixed that too!

83
00:04:10,662 --> 00:04:16,943
PR 33925 introduced clickable
visualization links directly in the terminal.

84
00:04:17,463 --> 00:04:22,622
So if it generates an SVG diagram or an
HTML mockup, you get a secure,

85
00:04:22,902 --> 00:04:25,122
clickable link right there in the chat UI.

86
00:04:25,603 --> 00:04:28,542
You click it, and it opens instantly in
your default browser.

87
00:04:29,183 --> 00:04:32,822
No more digging through .codex/temp/
folders.

88
00:04:33,266 --> 00:04:35,306
That's actually a huge workflow win.

89
00:04:35,846 --> 00:04:38,846
And it looks like they did some heavy
under-the-hood chores too.

90
00:04:39,526 --> 00:04:45,346
They upgraded the packaged ripgrep binary
to 15.2.0, and...

91
00:04:45,446 --> 00:04:50,767
oh, this is interesting: they migrated the
default Bedrock integrations to the newer

92
00:04:50,927 --> 00:04:56,866
GPT-5.6 Sol model, replacing the old
GPT-5.4 selections.

93
00:04:57,236 --> 00:05:00,456
Yeah, that's PR 32288.

94
00:05:01,096 --> 00:05:04,996
So the underlying brain is getting a
significant bump if you're routing through

95
00:05:05,056 --> 00:05:05,536
Bedrock.

96
00:05:06,116 --> 00:05:09,877
If you want to grab this update, just run
your usual package manager upgrade.

97
00:05:10,476 --> 00:05:16,096
Oh, though if you're using pnpm globally,
they did just fix a path resolution bug

98
00:05:16,116 --> 00:05:19,736
with global installs in this version, so
it should be much smoother now.

99
00:05:20,239 --> 00:05:21,100
Perfect.

100
00:05:21,139 --> 00:05:25,659
Well, I'm going to go play with this
branching tool--and remind myself to keep my

101
00:05:25,679 --> 00:05:28,559
terminal and my actual Git repository in
sync.

102
00:05:29,220 --> 00:05:30,179
Good chatting, Maya.

103
00:05:30,905 --> 00:05:31,845
Talk soon, Ethan.

