►
From YouTube: Architecting Alice: Volume 0: System Context: Part 66:
A
Here,
unfortunately,
a
contact
switch
during
the
day,
and
so
things
are
not
what
they
were
as
far
as
my
memory
so
decided
to
put
a
bunch
other
stuff
in
my
head.
B
A
A
A
A
A
B
A
A
It
gives
us
the
version
operation
and
anything
that
takes
that
as
an
output.
But
let's
see
let's
play
with
this
a
different
way.
A
A
So
that
is
probably
so
set
and
all
are
definitely.
You
know
themselves
operations
everything
here,
so
everything
anything
that
that's
you
know
all
the
cli
commands
ends
up
doing
run
so
like
an
async
different.
C
A
C
A
B
B
A
A
I
don't
like
that.
Let's
see
I
no
longer
like
that.
A
We
can
check,
we
can
use
the
system
contacts
as
a
ceiling
command
by
checking
if
it's
filed
from
the
overlay
assistant
context,
switches
already
has
the
following
input
in
it.
Cli
result.
If
we
get
an
invalid
context,
we
know
that
we
cannot
use
it
as
cli
command,
since
it
doesn't
produce
a
cli
result.
A
A
A
So
pick
x,
johnny.
That's
me.
A
Six:
two:
I'm
not
sure
if
this
still
holds
true.
A
A
H,
okay,
so
here's
the
original
okay.
So
when
you're
working
with
git,
usually
everything
is
nice
and
you
know
time
and
date
stamped,
but
sometimes
it's
not
especially
when
we're
doing
big,
refactors
sort
of
thing
like
this.
So
you
know,
then
it
becomes
helpful
to
throw
some
dates
and
times
in
your
comments
for
yourself.
A
A
C
A
B
A
A
So,
let's
see
one
of
the
first
things
I
want
to
do
is
for
us
to
throw
in
some
trained
models
here
so
that
we
can
actually
have
you
know
like
an
entity
rather
than
just
some
code
right.
So
hopefully
we
do
that
this
morning
here,
but
we'll
see
right,
I
mean
I
realized.
A
I
realized
I
realized
the
month
of
may
is
gone
and
I'm
like
holy
man,
spent
a
lot
of
time
a
lot
of
time.
I
think
we've
built
some
sod
foundation
now
I
hope
so
so.
Let's
check
this
out.
So
what's
our
problem
here,
not
our
problem.
Yes,
our
problem.
A
A
Okay,
so
this
is
great
okay,
so
we
we
did.
We
did,
let's
see
so
the
overplay
any
fields
we
need
to
merge
within
it.
Okay,
so
let's
check
out
that
type.
Where
is
that?
Okay,
dear
classes-
and
it
feels
okay?
So
here
we
go
okay,
so
the
unification,
the
unification
of
the
config
system,
is
underway,
so
unintentionally
we're
getting
there
we're
getting
there
one
way
or
another.
C
A
Okay,
so
we
are
in
so
field
overlay,
so
I
think
our
real
problem
here
is
that
forward,
ref
right
and
so
we're
ending
up
in
a
situation
very
much
like
the
one
we
were
in
the
other
day.
Maybe
yesterday,
maybe
the
day
before
I
don't
know
it's
all
blur
where
we
had
to
go
and
grab
that
system
context.
Config,
I
can't
believe,
may
is
gone.
I
swear
we
swear.
I've
been
working
on
this
for
a
few
days.
A
Okay,
so
so
we
need,
and-
and
let's
just
let's
just
refresh
our
memory
here-
let
me
let
me
because
this
may
obviously
you
know
I
I
I
hope
for
the
sake
of
anybody
watching
that
only
alice
watches
all
of
this,
because
this
is
verbose.
A
I
mean
if
you
want
to
watch
all
that
great,
but
so
then
that's
fantastic
go
to
join.
If
you
want,
I
want
to
say
hi
on
stream.
That's
always
fun
too.
C
B
A
C
A
C
A
I
don't
know
what
this
conference
is,
but
we're
just
going
to
write
in
here
now,
because
we're
going
to
fix
up
all
the
diffs
later
and
we're
going
to
have
all
the
dates.
That's
what
we're
doing
remember!
Oh
that's
right!
That's
what
we're
doing!
Okay,
okay,
so
here
if,
in
instance,
type
class
stir
and
this
isn't
convert
value,
so
we
probably
need
to
add
our
mouse
is
over
here.
We
probably
need
to
add
something
like
this.
A
A
Technically,
sir,
suffers
a
system
context
april
22nd
holy.
A
A
A
Let's
see,
let's
see
so
here,
I
believe
mk
argh,
all
right,
our
good
friend
mk
argh
from
pre-data
class
land,
which
we
have
now
adapted
to
work
with
data
classes.
Thank
you
to
whoever
did
that.
That
was
really
great.
Let's
see
who
we
have
to
think.
C
B
A
The
class
field
stuff
all
right-
we
are
building
upon
it
again,
so
inspect
is
class
field
type.
Let's
just
break
in
here.
A
If
field.name
equals
equals
overlay
and
so
there's
a
lot
of
different
things,
what
I
like
to
do
is
when
I'm
debugging
like
this.
Well,
most
things
have
names,
but
I
try
to
like
you
know
I
try
to
to
to
throw
if
blocks
around
my
arm.
I
am
okay.
There
we
go.
I
try
to
throw
if
blocks
around
my
brakes,
or
else
you
end
up
with
them
hitting
break
points
everywhere,
usually
so
field.type,
and
so
let's
take
a
look.
What
are
we
gonna?
What
are
we
about
to
do
here?
A
A
I
was
shocked.
I
was
like
wow
that
was
you
great
stuff.
Okay,
so
field
name
equals
overlay
default,
missing
type
missing
type.
So
it's
not
there.
It's
not
there.
So,
let's
see
if
it's
a
class,
okay!
Well,
it's
not
going
to
be
a
class
because
okay
get
origin.
Okay!
Let's
try
down
here,
let's
see
if
we
can
hit
that
break
point
again.
A
Where
are
we
at
okay
arc?
Great?
So
we're
in
our
we're
in
our
break
point,
let's
get
out
of
here
so.
A
All
right,
the
all
tried
and
true
pre-print,
pretty
print
the
locals
and
then
throw
us
a
break
point
all
right.
So
that
way
we
don't
have
to
go
printing
everything
immediately
as
we
hit
the
break
point.
So
what
do
we
got
so
far?
What
kind
of
arg
have
you
built
for
us?
Well,
it
looks
like
apply
default
installed,
overlays
and
type
forward.
Ref
system
context-
config,
okay!
So
let's
do
here.
I
think
we
should
do
the
same
thing
that
we
did
with
convert
value
and
okay.
A
So
let's
just
copy
that,
because
that
seemed
to
go
it
did
it.
It
unblocked
our
roadblock
right.
So
let's
just
copy
that
sort
of
way
that
we
went
about
doing
that
right.
Okay,
so
here
data
cloud
state
of
class
right,
let's
pass
that
through.
If
we
have
it,
let's
pass
the
data
class
through.
If
we
have
it
yet,
okay.
A
And
we'll
just
go
through
and
audit
okay
crap,
okay
arc.
A
Okay:
okay:
let's
take
a
look
okay,
that
class
equals
at
from.config
all
right
and
so
remember,
and
what
is
mk
arg
mkr
is
our
way
of
transforming
from
this
data
class
specific
structure
into
this
arg
structure,
which
was
our
previous
abstraction
around
argument,
parsing
that
was
decoupled
from
arc
parse.
A
So
we
have
data
class,
has
its
abstraction
layer
arc
parse
has
its
abstraction
layer
and
then
this
mkr,
this
arg
capital,
a
lowercase
rg,
is
meant
to
bridge
the
gap
between
the
two,
and
so
you
know,
eventually,
we
might
be
able
to
go
from
directly
from
data
classes
to
args
right
now
we
jump
through
the
mkr
helper.
So
it's
really
quite
honestly,
I
mean
we're
basically
going
from
data
classes
targets
directly
via
damn
carrick
helper.
So
it's
not
it's
not.
Really.
A
A
Just
double
check
data
class
data
class
data
class
data
class
data
class
self.config
all
right,
so
what
did
we
do?
We
did
get
grep
dash,
p,
dash
c
capital
c
for
mk
arg,
and
that
gave
us
a
little
bit
of
context.
Four
lines
of
context
on
either
side
as
well
as
dash
p
gives
us.
You
know
the
the
parent
sort
of
like.
So
in
c
this
does
real
nice
function,
matching
in
python.
It
sort
of
does
scope.
A
You
know
general
indentation,
you
sort
of
you
get
you
take
what
you
can
get.
So,
let's
see
we
didn't
finish
this
though
so
we
added
the
so
we
added
the.
A
So
we
added
this
but
okay,
so
origin
field,
time
in
this
tuple
and
rx
plus
okay.
So
if
is
instance,
args
type
archetype
forward
stir.
A
A
A
C
C
A
All
right
so
check
if
something
is
a
for.
Actually,
we
need
the
data
class
to
see
if
it's
valid
within
the
scope,
so.
A
A
Used
for
internal
typing
representation
of
string
forward
references,
for
example,
lists
some
classes
implicitly
transformed
into
list
forward
ref.
This
class
should
not
be
instantiated
by
the
user,
but
may
be
used
for
introspection
tools.
Okay,
so
we
know
that
this
is
not
always
true
right.
Let's
see
we'll
not
implicitly
be
deformed
generic
types
such
as
will
not
implicitly
transformed
into
lists
forward
rough,
and
this
will
not
automatically
resolve
to
list
some
class
okay.
A
So
that's
fine!
You
know
fine
by
me
because
we'll
just
do
this
right,
so
we
already
have
run
into
this
problem
where
it's
not
a
forward
ref.
So
we're
basically
going
to
say
you
know
if
you're
a
string-
and
so
let's
say
to
do
either
via
direct
being
an
instance
or
being
a
type
which.
A
Type,
which
is
a
string
therefore,
obviously
so
obviously
an
instance
of
a
string
is
not
type
or
let's
maybe
not.
Obviously
you
never
know.
Maybe
we
are
screened
something
up
when
we
do
this,
but
we'll
find
out
later
and
somebody
will
have
the
comment.
So
an
instance
of
a
string
is
not
a
type
so
they'll
see
that
and
they'll
say:
oh
no
you're
wrong
all
right
and
then
they'll
know
what
to
change
so
to
do.
Yeah,
okay,.
A
A
So
now
we
can
use
this
here
right
and
we
can
say
boom
like
this,
so
if
data
class,
and
so
if
data
class
is
not
none,
okay
is
forward
ref.
Now
we
can
just
say
it's
forward
ref.
I
guess.
A
Let's
leave
the
data
class
in
there;
no,
it
just
says
is
photograph,
it
doesn't
say
it's
valid
forward
graph
right,
maybe
it
should
say,
is
valid
forward.
Ref.
B
A
A
I
think
we
can
do
what
is
the
way
to
get
the.
B
B
A
Right,
okay,
so
we
have
a
property
which
is
my
class.
We
feed
it
through.
B
A
C
A
Def
dot,
util
dot
data,
import,
get
origin,
get
origin
type
class
right.
So,
let's
see
what's
this
thing?
Okay,
so
that
doesn't
help
us
at
all
type
class,
dot,
dict
ways
forward:
ref
dot
slots,
hey!
We
got
up
arrow
support
this
time
forward,
arg
forward
code;
okay,
that's
it
at
this
point!
Now
I'm
going
to
jump
into
typing
code.
A
C
A
What
use
is
this?
I'm
I'm
scared.
This
function
doesn't
get
called
anywhere
a
function
that
does
not
get
called
anywhere
within
the
python.
So
it's
good
dubious.
A
Okay,
well,
let's
just
try
to
call
it.
So
what
do
we
need?
So
I'm
glad
we
looked
at
this
so
clovis,
it's
not
in
logos
none!
So
we
can
pass
99.
A
Let's
try
passing
none
for
now.
It's
this
might
just
go
for
a
module,
beautiful,
beautiful,
okay.
This
is
what
we
talked
about.
How
you
implement
four
differences
must
evaluate
types
and
we
wouldn't
have
seen
it.
So.
This
is
a
really
prime
example
of
open
source,
slash
inner
source
and
how
we
should
we
could
have.
I
don't
know
I
don't
know.
A
This
is
a
prime
example
I
can
tell
this
is
a
prime
example
right,
because
clearly
we
were
about
to
go
write
the
same
code,
yet
the
code
exists
within
the
standard
library,
the
the
the
ordained
place
to
get
code
from
for
a
language
right.
A
So
the
reason
why
dfml
doesn't
use
any
third-party
libraries
within
the
main
package
is
because
we
can't
really
control,
I
mean
like
we,
we
have.
No,
we
have
no
control
over
third-party
people.
You
know
we
don't
have
control
over
anybody
else's,
update
policies
right
and
with
regards
to
how
they
address
security
vulnerabilities.
We
know
that
everybody
sort
of
universally
trusts
the
python
folks
to
make
things
right.
A
So
you
know
language,
maintainers
trust,
trustworthy,
trusted
resource
right.
Where
we're
putting
our
trust
in
the
language
we
put.
Our
trust
in
the
language
standard
library,
we
trust
that
they
will
update
it
for
us
and
that
our
users
can
simply
update
the
language
to
to
get
the
updates
right
and
and
and
they
don't
have
to
deal
with
anything
other
than
that
right.
A
So
that's
just
for
the
core,
and
if
we,
if
we
do
that
for
the
core,
the
reason
why
we
make
all
the
plug-ins
is
that
if
there's
ever
a
problem
with
anything,
then
you
only
have
a
problem
with
part
of
your
application
right
like
so.
If
alice
is
made
up
of
like
what
you
know,
if
we
said
alice
is
made
up
of
24
plugins
and
one
day
there's
a
problem
with
one
of
them,
then
all
of
a
sudden
we
don't
have
to
not
ship
alice
anymore.
We
just
have
to
not
ship
that
plugin
right.
A
So,
okay,
so
what
happens?
If
we
evaluate
it
so
type
class
type
class
dot
underscore
evaluate,
so
they
didn't
mean
for
us
to
not
call
it
because
they
would
have
they
would
have
made
it
underscore
underscore,
so
they
they
mean
for
someone
to
call.
It
underscore
means
it's
an
internal
api.
However,
if
it's
not
called
anywhere
within
the
code,
my
guess
is
that
this
is
something
that
the
type
checkers
there's
sort
of
you
know.
Maybe
there's
some
discussion
forum
somewhere
or
some
email
thread
where
the
my
pi
folks
said
to
the
standard
library.
A
A
A
A
Our
good
friend
joseph
and
the
knights
who
say
knee
and
the
benevolent
dictator
for
life
of
python,
guido
reviewed
and
provided
dispatch
for
us.
This
was
this
person
and
this
person-
and
it
looks
like
a
few
people
to
this.
Okay,
so
is
a
back
part
of
this
pull
request
to
the
3.9
branch.
Okay,
so
needs
backboard
to
3.9.
A
This
looks
like
it
is
perhaps
getting
backported
into
3.9.
No,
that's
the
same
thing.
Okay,
so
I
am
gonna
say
that
we
can't
count
on
this
in
three
seven.
I
would
be
shocked
if
there's
a
needs
back
port
to
three
nine
tag
and.
A
I
would
be
really
surprised
so,
but
this
is
what
was
this.
So,
oh,
oh
actually,
I
think,
there's
a
significant
defect
in
the
current
pep
585
implementation.
In
fact,
oh,
oh,
okay.
So
here
this
is
our
problem.
Okay.
So
this
is
what
we
ran
into
and
we
just
said:
hey
you're
right.
A
Okay,
we're
a.
A
Let's
just
do
it
ourselves,
son,
okay,
we'll
just
we'll
just
do
it.
So
what
were
our
slots
here
so
forward
evaluated?
Okay,
so,
let's
just
go
grab
all
our
slots.
So
so
we
know
this
doesn't
work
so
that
so.
A
B
B
A
What
are
we
doing
here?
So?
Basically,
I'm
just
like
I
get
when
I
when
this
stuff
happens,
I
get
sick
of
it,
real,
quick,
so
print
two,
so
we're
just
gonna.
This
is
so
basically
we
say,
kill
and
then
space
dollar
sign,
open,
paren,
ps,
ox
pipe
to
grip
for
python
grip
for
unit
test
and
then
go
awk
and
then
print
the
second
column
and
then
close
paren
and
obviously
the
aux
stuff
is
within
parentheses,
but
that
will
that
will
kill
something.
A
Okay,
so
forward.
Rest
has
no
attribute
evaluated
okay,
so
I
think
we
can
just
call
that
not
a
thing
then
so
where's
our
breakpoint.
Let's
make
sure
that
we
remove
that,
because
this
is
causing
troubles.
C
A
A
I
grab
the
string
version
and
let's
reference,
that,
let's
reference
that.
A
Usually
I
put
references,
but
we
only
have
one
link.
If
we
only
have
one
link,
then
I
put
c
if
we
have
multiple
references,
I'm
gonna
put
whatever
it
is.
A
B
A
A
A
A
Thing
beautiful
sunrise-
I,
my
laptop
camera,
is
not
working.
I
should
just
order
a
camera
that
works.
C
A
Anybody
else
on
the
stream
anybody
else
on
the
stream
good
morning
good
evening,
all
right,
okay,.
A
A
A
We'll
say:
convert
forward
rough
data
class
here
as
well,
so
we
can
just
change
it
in
the
patch
and
then
we
can
add
that
so
now
right.
So,
if
we
look
at
what's
staged,
we
see
that
we
can
stage
something
other
than
we
can
stage
something
other
than.
C
A
A
A
Basically,
you
know
we
we're
renaming
this
thing.
A
A
We
want
to
commit
to
see
there
see
in
there
our
patch
that
we
committed
last
time
now
differs
from
what's
on
disk,
and
so
we
didn't
lose
what's
on
disk,
so
get
staged
and
we
can
say
rename
convert
forward,
rafter
or
saw.
C
B
A
So
that
we
can
remember
we're
going
to
do
if
you're,
looking
at
the
thread
we're
going
to
do
this
like
a
b,
a
b
testing
of
commits,
as
we
cherry
pick
across
branches,
to
do
like
this
diamond
pattern,
validation
and
we're
going
to
find
out.
You
know
what
code
works
with
each
other
across
code
bases
and
branches
within
a
code
base
so
and
then
we're
going
to
know
what
our
feature
flags
are
and
what
our
always
state
of
the
art
is
so,
and
this
is
how
we
could
potentially
say.
A
Okay,
it
looks
like
you're
doing
that
underscore
evaluate.
Let
me
try
iffing
out
your,
is
forward
ref
data
class
or
resolve
forward
ref.
So
so
we
could
have
a
feature
flag.
Basically,
alice
could
auto
build
us
a
version
of
dffml
or
auto
build
as
a
patch
which
says
hey.
I
notice
you're
doing
this
thing,
which
is
very
similar
to
the
way
it's
done
in
this
library
you're
already
using.
What
do
you
think
about
this
patch
that
you
know
just
just
uses
that
library
for
this
version
of
python?
A
And
we
can
say
yes,
oh
thank
you
alice
right.
Then
we
don't
have
to
maintain
that
code
going
forward
once
we
drop
the
previous
versions
from
support,
so
is
forward
draft
data
class.
Add
helper.
A
C
A
A
We
see
if
there's
any
other
mkr
stuff
that
we
missed.
It
looks
like
we
got
all
the
mk
arc
stuff
in
this
get
diff
staged
right,
so
it
looks
like
we
got
all
the
mk
art
stuff,
at
least
as
I
can
see
from
the
diff
all
right.
So
now
we
may
have
a
problem
all
right.
So,
let's
see,
let's
see
if
we
have
a
problem
or
not
okay,
so
that's
just
retesting
that
now,
let's
try
to
run
the
version
command,
see
where
we're
at
okay.
Look,
it's
not
exploding.
C
A
So
what
did
we
do
here?
We
said
mkr
resolve
forward.
C
A
Well,
we
forgot
to
check
okay.
So
if.
A
A
Okay,
so
support
adding
instances
of
system
context
as.