WEBVTT

1
00:00:00.000 --> 00:00:03.529
Our workbench is ready when we can
connect an action to a known project

2
00:00:03.587 --> 00:00:07.662
and an observable result. In this
lesson we will open the correct folder,

3
00:00:07.871 --> 00:00:12.005
run the applicable baseline, and ask
the agent for a file-based explanation.

4
00:00:12.388 --> 00:00:15.429
The final artifact is a setup
record with real results,

5
00:00:15.580 --> 00:00:17.484
not a checklist of installed icons.

6
00:00:17.995 --> 00:00:21.153
Start by extracting the checkpoint
into a new exercise folder.

7
00:00:21.594 --> 00:00:24.334
CP00 is the introductory
inspection packet.

8
00:00:24.659 --> 00:00:28.769
CP01 contains the minimal executable
host report and firmware build.

9
00:00:29.210 --> 00:00:33.042
Read the checkpoint note and README so
that you know which activities apply.

10
00:00:33.483 --> 00:00:35.700
A later test suite may
not exist in an early

11
00:00:35.747 --> 00:00:39.090
checkpoint, and that is an intentional
part of the teaching sequence.

12
00:00:39.601 --> 00:00:43.990
Use Open Folder in Visual Studio Code
to select the sensor-monitor root.

13
00:00:44.083 --> 00:00:45.290
Inspect the Explorer.

14
00:00:45.615 --> 00:00:49.029
You should see the intended README
and resource or source directories.

15
00:00:49.354 --> 00:00:51.455
If you see several unrelated projects,

16
00:00:51.629 --> 00:00:54.938
you probably opened a parent folder.
Correct that boundary before

17
00:00:54.984 --> 00:00:58.166
giving an agent access or running
commands with relative paths.

18
00:00:58.607 --> 00:01:00.801
Open an integrated PowerShell terminal.

19
00:01:01.184 --> 00:01:03.889
Run Get-Location to display
the working directory,

20
00:01:04.098 --> 00:01:06.420
then Get-ChildItem to list the contents.

21
00:01:06.931 --> 00:01:10.611
The file open in the editor does not
determine every terminal's location.

22
00:01:10.995 --> 00:01:12.875
A command can compile another checkout

23
00:01:12.899 --> 00:01:16.045
while you are looking at the
right source file, so this simple

24
00:01:16.080 --> 00:01:18.251
inspection prevents misleading results.

25
00:01:18.634 --> 00:01:23.208
If necessary, use Set-Location with
your actual extraction path in quotes.

26
00:01:23.591 --> 00:01:26.807
The example path in the written
lesson is only a convention.

27
00:01:27.190 --> 00:01:31.637
Substitute your own path consistently.
A dot means the current directory,

28
00:01:31.753 --> 00:01:34.853
and the scripts path in our
commands starts from that directory.

29
00:01:35.236 --> 00:01:37.268
Keep the path intact when copying it;

30
00:01:37.384 --> 00:01:40.298
a visual line wrap in a
page is not a new command.

31
00:01:40.739 --> 00:01:44.617
Record the tools before running the
baseline. Git reports its version,

32
00:01:44.698 --> 00:01:49.098
Arduino CLI reports its version, and
the native compiler reports its version.

33
00:01:49.342 --> 00:01:52.210
The board core is a separate
installed dependency.

34
00:01:52.488 --> 00:01:56.029
A native compiler creates the host
program that runs on your computer.

35
00:01:56.355 --> 00:02:00.012
The target toolchain cross-compiles
firmware for the documented

36
00:02:00.058 --> 00:02:02.775
embedded board. They
establish different results.

37
00:02:03.158 --> 00:02:06.153
Follow the project's setup
document for supported locations

38
00:02:06.304 --> 00:02:09.915
and versioned dependencies.
The primary Windows entry points

39
00:02:10.031 --> 00:02:13.665
use command wrappers ending in
dot cmd. They can be launched

40
00:02:13.688 --> 00:02:17.427
from PowerShell without changing
PowerShell's script execution policy.

41
00:02:17.810 --> 00:02:21.455
The wrappers also manage the
documented process-local runtime path.

42
00:02:21.897 --> 00:02:25.472
Keep the selected tool distribution
intact instead of moving individual

43
00:02:25.542 --> 00:02:28.062
executables around until
something appears to work.

44
00:02:28.387 --> 00:02:31.881
From CP01, run the replay
command shown in the lesson.

45
00:02:32.322 --> 00:02:35.573
It builds the host program and
prints one fixed synthetic sample

46
00:02:35.608 --> 00:02:38.766
at twenty-five degrees.
The CSV parser and shared

47
00:02:38.801 --> 00:02:42.376
policy arrive later; this baseline
does not read the fixture.

48
00:02:42.887 --> 00:02:45.778
Read the actual output and
capture the exit result.

49
00:02:46.219 --> 00:02:48.483
The word synthetic belongs
with this evidence.

50
00:02:48.808 --> 00:02:52.059
A successful host run says something
useful about software behavior,

51
00:02:52.233 --> 00:02:54.787
but it is not an observation
from a connected sensor.

52
00:02:55.298 --> 00:02:58.468
Run the firmware build command
separately. The script supplies

53
00:02:58.502 --> 00:03:01.927
the recorded target configuration,
including relevant board options.

54
00:03:02.253 --> 00:03:05.341
Inspect the actual completion
result and generated artifacts.

55
00:03:05.666 --> 00:03:08.917
Do not assume the build passed
because the replay passed: they use

56
00:03:08.940 --> 00:03:12.771
different compilation paths. Likewise,
a cross-build does not mean firmware

57
00:03:12.794 --> 00:03:16.673
was uploaded or that USB communication
and electrical operation were tested.

58
00:03:17.276 --> 00:03:21.468
If a command fails, preserve the
diagnostic and context. A missing

59
00:03:21.526 --> 00:03:25.426
tool can be investigated with Get-Command
and the documented installation path.

60
00:03:25.937 --> 00:03:29.571
A program that exits before printing
may have a runtime dependency issue.

61
00:03:29.896 --> 00:03:33.403
A compiler diagnostic may point
to source or target dependencies.

62
00:03:33.786 --> 00:03:36.769
These are distinct failures;
changing the policy comparison

63
00:03:36.851 --> 00:03:39.463
is not a remedy for an
executable loader problem.

64
00:03:40.160 --> 00:03:44.072
Now open the agent interface and
inspect its actual access configuration.

65
00:03:44.455 --> 00:03:47.799
Identify whether it may read
files, edit within the workspace,

66
00:03:48.008 --> 00:03:52.176
run commands, or access the network.
Product controls can change,

67
00:03:52.385 --> 00:03:55.717
so use the official documentation
and the interface you have.

68
00:03:56.100 --> 00:03:58.109
The brief will request inspection only,

69
00:03:58.259 --> 00:04:02.486
but that wording is task guidance rather
than a substitute for runtime permissions.

70
00:04:03.182 --> 00:04:07.176
Submit a bounded request to read the
README and introductory reporting source,

71
00:04:07.385 --> 00:04:11.297
explain the input and output, name
the files used, and make no edits.

72
00:04:11.576 --> 00:04:14.931
Ask it to separate proposed
commands from commands actually run.

73
00:04:15.256 --> 00:04:19.134
Watch the action record. If it
uses a file, locate that file.

74
00:04:19.343 --> 00:04:22.594
If it gives an output claim,
identify where the result came from.

75
00:04:23.290 --> 00:04:26.819
Compare at least two claims with the
open source. An explanation might

76
00:04:26.854 --> 00:04:30.570
correctly name a synthetic input
but overstate physical validation.

77
00:04:30.895 --> 00:04:33.983
Preserve the useful statement
and correct the unsupported one.

78
00:04:34.308 --> 00:04:37.036
If the agent claims to read
a missing file, investigate

79
00:04:37.083 --> 00:04:40.659
rather than copying that file name
into your notebook as if it existed.

80
00:04:41.042 --> 00:04:44.780
Your record should reflect observed
actions, not only the final summary.

81
00:04:45.221 --> 00:04:48.391
If you stop a task, inspect
the state before resuming.

82
00:04:48.902 --> 00:04:52.675
Some actions may have completed before
the stop took effect. Save useful

83
00:04:52.733 --> 00:04:56.657
work, identify what changed, and write
the next brief around the remaining task.

84
00:04:57.261 --> 00:05:02.056
Stopping is a control action; it does not
prove that no earlier action occurred.

85
00:05:02.660 --> 00:05:06.189
Keep the complete baseline output
in a small learner evidence file,

86
00:05:06.363 --> 00:05:10.159
then summarize the result in your setup
note. If you shorten the displayed log

87
00:05:10.218 --> 00:05:14.107
for readability, state that it is an
excerpt and preserve the original.

88
00:05:14.711 --> 00:05:18.344
A successful final line without the
preceding command and target can be

89
00:05:18.391 --> 00:05:23.313
ambiguous. Likewise, a screenshot of
source is not a record of execution.

90
00:05:23.522 --> 00:05:27.504
This is the first time our evidence
habits meet a real toolchain, so make

91
00:05:27.539 --> 00:05:32.833
the connection explicit: named input,
command, actual result, and a limitation.

92
00:05:33.216 --> 00:05:36.421
That structure will remain the
same when the project gains tests

93
00:05:36.467 --> 00:05:40.763
and more complicated behavior. Complete
the setup record with the actual folder,

94
00:05:40.937 --> 00:05:44.594
checkpoint, versions, commands,
results, and inspection review.

95
00:05:45.035 --> 00:05:47.497
Mark an account limit
or incomplete baseline

96
00:05:47.543 --> 00:05:51.503
honestly. You are ready for the Git
lessons when the project is in a known

97
00:05:51.561 --> 00:05:54.498
place and you can reproduce
its applicable software check.

98
00:05:55.009 --> 00:05:59.119
Git will then help us inspect and preserve
the small changes we choose to make.
