►
From YouTube: [OCI-WG] Reference Types - 2022-03-15
E
E
A
It's
weird:
I
clicked
the
automatically
adjust
microphone
volume
before
to
adjust
the
microphone
volume
and
this
time
it
didn't
work.
A
B
C
You
I
I'm
presenting
so
I'll,
keep
myself
on
task.
C
A
Okay,
so
hello,
everyone
welcome
to
the
oci
reference
types
working
group
and
I
keep
forgetting
whales.
Lucky
says
he
says
some
nice
things.
B
A
B
A
Okay,
let's
get
started
so
on
the
agenda
today
we
have
follow-ups
on
a
number
of
pull
requests
that
are
open
right
now.
Brandon
is
leading
that
so
take
it
away.
Brandon.
C
C
I
want
to
discuss
about
this,
where
I've
got
a
bunch
of
these
things
where
I
said
yes,
yes,
yes,
sound,
like
the
other
person
on
the
other
side
of
the
verizon
commercial,
where
there
probably
needs
to
be
more
than
just
a
yes,
yes,
yes,
we
need
to
say
what
it
is
we're
talking
about
there.
B
All
around
I
was
just
gonna
say
I
like
that
brandon
I
think,
there's
details.
I
read,
you
know
nisha's
comments
and
I
think
I
think
putting
them
in
their
proposals
as
good
a
place
as
any
whether
you
just
put
an
faq
at
the
bottom
makes
sense,
and
then
people
can
reference
reference
it.
Maybe
just
the
the
the
bit
we're
going
to
need
to
do
is
if
you've
said
yes
to
a
specific,
you
know
c,
f,
dot.
Three
then
at
least
carry
that
over.
So
they
know
which
question
that
was
to
be
asked
about.
C
C
Yes,
there
may
be
so
in
the
middle
and
then
a
description
of
y
on
the
right,
and
that
would
go
nicely
in
the
proposal.
But
then
we
just
take
that
middle
column
out
there
and
copy
that
over
to
the
reference,
don't
delete
it,
but
just
copied
over
to
the
reference
or
to
the
rubric.
Sorry.
D
Yeah,
I
I'm
not
incredibly
opposed
to
that.
One
of
the
things
I
was
hoping
to
get
at
with
the
the
template
for
these
is
that
the
person
submitting
it
could
submit
it
without
any
like
real
review,
because
it's
their
proposal
and
so
for
you
to
come
forward
and
say
yes
on
all
these.
That
actually
requires
further
eyes
like
to
keep
people
honest
on
things.
E
I
think
it
does.
It
basically
lets
the
pr
the
person
submitting
the
pr
put
a
claim
as
to
why
they
think
it
meets
certain
goals
and
not
like,
I
think,
going
back
to
the
rubik
document
except
remember.
The
rubric
was
in
its
own
pr,
its
own
file
that,
if,
in
their
submission
of
it,
this
is
what
their
thoughts
are
and
how
it
meets
those
goals.
That
is
their
opinion.
The
group
then
decides.
Does
it
really
meet
that
goal
in
the
rubric
doc.
A
So
I
guess
this
is
a
process
question
here,
if
folks
are
challenging,
whether
it's
a
yes
or
the
yes
or
no
in
the
rubric,
where,
where
do
those
discussions
go.
A
Do
you
think
that
it's
useful
to
have
a
summary
in
the
pr
itself
before
merging
the
pr
so
there's
so
people
don't
have
to
go
back
and
forth
between
all
the
conversations
like
they
don't
have
to
read
a
mailing
list
to
find
out
why
why
the
rubric
was
merged
with
those?
Yes,
no
answers.
C
A
Josh,
you
have.
D
So
sorry,
I
have
something
to
say,
but
maybe
not
important,
so
the
reason
I'm
I'm
not
really
feeling
this
is.
D
I
could
put
up
a
proposal,
that's
just
terrible,
but
it
could
still
be
put
into
this
repo
that
meets
none
of
the
goals
of
the
working
group,
and
so
that's
why
I
don't
really
know
why
it
belongs
in
this
document.
The
other
thing
is
that
these
are
like
almost
historical
at
this
point.
Brandon
yours
is
a
little
bit
newer,
but
the
other
three
have
been
around
and
I
want
to
just
get
them
in
as
they
were
and
then,
as
a
group,
we
come
up
with
like
the
final
thing
and
it's
less
about.
D
I
don't
know
I'll
stop
talking.
I
I
just.
I
just
think
that
our
output
is
going
to
be
a
mix
of
these
and
spending
too
much
time
in
these
documents.
Updating
them
like
I
never
really
thought
of
them
as
something
to
be
updated.
It's
like
a
snapshot
of
these
are
the
original
proposals.
Now,
as
a
group,
we
come
up
with
the
actual
thing.
A
So
understood
I
had,
I
had
approved
like
every
proposal
like
that,
because
I
was
thinking
okay,
this
is
this
is
a
good
way
to
get
us
started
is
to
just
merge
what
how
it
exists
right
now,
but
the
purpose
of
the
rubric
is
for
facilitating
discussions
like
this.
You
know,
okay,
why
do
you
think
it
solves
it?
This
person
over
here
doesn't
think
that
it
solves
that.
D
D
Get
filled
up
with
faq.
This
is
why
it
fits
all
these
things
like.
I
feel
I'm
not
gonna
die
on
this
hill,
so
I
we
can
put
him
in
here.
I
I
don't.
I
will
approve
that
pr,
hey.
B
D
Issue
we
have
the
proposals
folder
here
we
could
have
a
evaluations,
folder
and
just
have
the
exact
same
layout
abcd,
but
just
have
the
table
there,
because
I
just
I'm
trying
to
visualize
these
things
as
steps
in
our
process,
and
so
once
we
get
all
four
of
these
proposals
we've
reached,
like
we've,
reached
some
plateau.
D
Yeah,
and
so
like
I
feel
like
that,
is
those
documents
are
done,
that's
a
historical
thing
and
we
do
not
go
back
to
them
now.
The
fact
that
three
of
them
are
already
in
leads
me
to
say
that
we
now
need
to
pr
against
them
again
to
say
this
is
actually
how
they
are
to
be
evaluated
when
really
some
of
this
is
not
a
boolean,
yes
or
no.
It's
like
yes,
but-
and
I
don't
know
I
I
don't
know
what's
best-
I
just
I
I'm
more
about
like.
Can
we?
A
A
A
B
C
Yeah
I
mean
I'm
fine
with
where
we
want
to
put
it.
My
preference
is
kind
of
keep
everything
in
one
place,
but
if
we
want
to
separate
it
out
into
two
places,
I'm
fine
with
that
too.
I
just
wanna
whenever
we
make
our
decision,
then
we'll
move
that
discussion
on
how
these
things
fit
into
the
rubric
to
that
place
where
we
come
up
that
location
instead
of
trying
to
solve
everything
in
these
little
meetings,
because
we've
only
got
so
much
time
here
and
so
with
that.
C
I
want
to
push
the
discussion
over
to
the
next
item,
which
was
niches.
A
Okay,
I
need
to
share
my
screen.
A
A
The
proposal
was
created
after
much
discussion
about,
I
guess,
the
the
the
backwards
compatibility
discussion.
So
now
we
have
backwards
compatibility
requirements
and
I'm
hoping
that
it
can
be
evaluated
against
those.
So
this
is
basically.
A
A
So
I'm
I
think
it's
a
major
version
bump
up
to
you.
Lucky.
B
A
Nice,
okay,
sorry
for
that,
so
that's
that's.
My
explanation
for
adding
schema
version
three
instead
of
two,
because
it's
a
new
thingy,
the
there's,
a
reserved
media
type
called
node
it'll
contain
a
thing
called
description,
which
I
think
is
a
good
placeholder
to
put
things
like
artifact
type
and
any
kind
of
like
vendor
description
of
what
it
is
and
what
tools
use
it,
etc,
etc.
A
There
is
a
list
of
objects
and
those
are
the
list
of
blob
descriptors
that
would
be
in
encased
in
this
node
and
then
there
is
a
reference.
This
will
be
only
either
one
or
nothing.
A
A
Say
that
you
know
so
many
ice
cream,
indian
ingredients
point
to
a
particular
ice
cream.
Flavor
so
here
are
here,
is
like
a
flavor
like
chocolate,
and
here
is
a
flav
topping.
That's
from,
I
don't
know
sprinkles
galore
and
that
goes
into
a
package
called
ice
cream
sprinkles.
A
So
that's
how
you
could
like
group
things
like.
Well,
I
guess
the
equivalent
here
is
signatures
and
s
bombs
and
have
them
point
to
a
particular
container
image.
This
is
how
one
can
group
together,
multiple,
I
guess,
container
images
to
refer
to
like
an
application.
A
So
this
is
neapolitan
ice
cream
and
that's
made
up
of
three
different
ice
creams,
so
the
three
different
ice
creams
are
here
and
the,
and
that
can
have
a
reference
to
a
neapolitan
ice
cream,
and
this
is
a
oh.
I
do
want
to
say
that
this
known
manifest
looks
very
similar
to
the
index.json,
except
that
it
adds
it
adds
a
description.
A
A
So
the
reason
why
I
didn't
use
index
particularly
is
big
is
because
I
am
not
sure
what
the
effect
is
on
clients
that
depend
on
index
in
order
to
find
container
images
for
different
platforms,
so
it's
kind
of
like
an
encasing
around
it.
So
these
objects
can
be
anything
they
can
be.
A
They
can
be
a
single
artifact.
It
can
be
an
index,
it
can
be
a
container
image.
It
can
also
be
another
node
manifest
so
because
it
can
be
another
node
manifest.
You
can
make
trees
tree
structures
like
this,
where
you
you
would
have.
Let's
say
there
are
some
existing
ice
creams
that
was
uploaded.
Here's
a
vanilla,
ice
cream
that
was
created
two
months
ago
and
it's
not
referencing
anything.
A
Here's
a
chocolate
ice
cream
that
was
uploaded
one
month
ago
and
it's
not
referencing
anything
and
then
you
can
add
a
new
ice
cream
that
was
created
two
days
ago
called
vanilla,
chocolate
swirl.
That
also
does
doesn't
reference
anything.
A
A
Those
like
either
like
bits
and
pieces
of
this
manifest
or
return
some
collection
of
things
of
importance.
So
the
referrers
one
is
similar
to
a
proposal
a
where
it
gets
back,
based
on
image
and
based
on
image
tag
or
image
digest.
It
will
get
back
a
bunch
of
objects,
a
list
of
descriptors
that
refer
to
it
then.
A
A
There
were
some
questions
on
the
piad.
Let
me
go
back
and
I
don't
know
if
we
can
take
a
look
at
that
here.
C
Yes,
I
I
know
one
of
the
ones
that
I
had
raised
in
the
pr
itself
when
we're
looking
at
the
objects
field
in
a
lot
of
these
schemas
is
the
objects,
just
manifest
is
just
blobs
or
is
it
both
and
do
we
have
to
access
that
through
the
objects
api,
or
can
we
access
it
through
the
manifest
or
the
blob
apis?
I'm
trying
to
think
of
how
this
interacts
with
what's
in
a
registry
today
and
how
they
would
work
with
this.
A
Yeah,
so
the
objects
are
just
supposed
to
be
descriptors,
so
I
would
say
that
if
you
want
to
access
like
an
existing
manifest,
then
you
would
you
this
would
be
like
vendor
oci
image,
manifest
with
the
size
and
the
digest,
and
that's.
C
A
C
A
C
Well,
not
even
conflicting,
with
the
existing
apis,
but
if
you're
trying
to
write
a
client,
that's
querying
this.
If
I
tried
to
query
this
and
say,
let
me
get
the
whole
tree
structure
of
one
of
these
things,
I
don't
know
which
of
the
two
apis
I
need
to
be
hitting
is
everything
the
objects.
Api
are
some
things
a
blob
api.
A
Yeah,
so
one
this
is
where
I
feel
like
you
know,
version
control
might
be
useful
for
it,
so
you
have
a
choice
between
either
fetching
a
blob
or
fetching
this
tree
yeah.
I
I
would
think
that
there
would
be
a
a
way
to
interact
with
the
registry
via
the
node
or
you
can
or
you
can
use
the
old
apis
to
get
the
manifest.
So
you
can
use
v2,
slash,
manifest
or
v2
slash
manifest,
but
you
can
also
use
like
v3
slash,
node.
H
So
I
think
that
actually
that
actually
answers
the
question
I
had
on
the
pr
or
maybe
maybe
answers
it,
maybe
at
least
points
to
an
answer.
The
question
I
had
on
the
pr
was,
I
don't
know
if
it
was
spelled
out
this
well
or,
if
I'm
about
to
spell
it
out
well
just
now,
but
basically,
if
I
push
a
v2
image
manifest,
do
I
need
to
push
the
v3
form
of
that
same
thing
to
be
able
to
attach
stuff
to
it?
It
sounds
like
the
answer.
Is
that
you're
envisioning?
H
A
Yeah,
so
my
understanding
is
that
if
you
were
using
v2,
then
you
would
be
pushing
manifests
as
they
exist.
But
if
you
wanted
to
use
v3,
then
you
don't
have
to
touch
those
manifest.
You
can
just
point
to
them
using
this.
H
A
H
A
Right,
but
if
you
wanted
to,
if
you,
if
you
didn't
use
v2
at
all,
and
you
start
off
with
v3
you
you
can
build,
you
can
build
everything
from
the
ground
up
with
just
using
v3.
H
H
Interesting,
okay,
I
will
exceed
my
time.
A
D
Yeah,
sorry,
I
I'm
sort
of
confused
by
the
addition
of
both
objects
and
reference
and.
D
Maybe
you
can
just
explain
which
is
like
in
which
instance
I
would
use
one
or
the
other,
because
I'm
I'm
just
I'm
looking
at
like
the
neapolitan
thing,
I'm
imagining
you
would
push
to
a
namespace
called
neapolitan
and
not
describe
itself
in
the
node
manifest
itself.
A
Yeah,
that's
a
that's
a
good
question.
I
am
envisioning
that
if
you
had
something
like
a
helm
chart
that
you
pushed
as
a
as
a
blob,
so
I'm
guessing
that
that
would
just
be
like
a
json
blob.
If
you
want
to.
A
If
you
want
to
point
to
that
blob-
and
you
know,
connect
several
container
images
to
that
blob,
then
you
can
do
it
this
way,
that's
one!
That
was
one!
That's
one
real
world
example.
I
guess
so
yeah.
So
mostly
I
was
thinking
about
you
know,
kubernetes
applications
or
cloud
native
applications
or
kubernetes
deployments.
D
Oh
yeah,
I
mean
that's
totally
on
my
mind
as
well.
I'm
just
maybe
maybe
it
better
way
for
me
to
understand
it.
Maybe
others
is
like.
Can
you
walk
through
a
push?
D
The
series
of
pushing
of
let's
say,
neapolitans
the
helm
chart
and
I
don't
know
ice
cream
container
is
the
image
I
I'm
I'm
trying
to
understand
that
the
process
are
you?
Can
we
upload
all
these
things
at
one
time
or
what's
the
entry
point?
Is
it
the
note
manifest.
A
So
I
so
here's
what
I
would
say
you
could
upload
so
glenn
and
larry
have
different
kinds
of
ice
cream
flavors
that
are
just
like
one
flavor,
so
they
have
already
existing
chocolate,
vanilla
and
strawberry
flavor
and
those
exist.
You
know
in
their
inventory
and
they
decide.
Okay,
I
want
to
define
a
neapolitan
ice
cream
that
makes
use
of
these
three
existing
ice
creams
that
we
have.
A
I
will
make
something
like
a
definition
like
a
instructions
on
how
to
make
this
neapolitan
ice
cream,
and
I
will
push
that
first
and
then
I
can
push
this
node
manifest.
That
explains.
A
H
A
Either
you
could
do
it
that
way
or
you
could
define
you
can
push
this
all
at
once,
like
the
push,
the
push,
the
neapolitan
ice
cream
definition
and
then
push
this
node
manifest.
D
So
the
reference
media
type
is,
I
guess,
maybe
I'm
just
I'm
thrown
off
by
the
word
reference,
because
this,
I
think,
is
eerily
similar
to
oci
artifacts
right
where
you're,
like
that's,
basically
config
media
type.
If
I'm
understanding
what
you're
trying
to
do
no.
A
No,
not
really
so
I
I
get
the
feeling
that
giving
there
is
some.
There
is
some
amount
of
freedom
over
here
for
folks
to
define
what
they
want
to
reference.
A
Suppose
you
could,
if
suppose
you
wanted
to
define
a
neapolitan
ice
cream.
You
could
not
use
a
reference
but
use
an
another
node
manifest
that
contains
the
neapolitan
ice
cream
thingy.
And
then
you
know
you
you
don't
you,
you
don't
need
this.
This
itself
can
be
like
neapolitan
ice
cream.
It's
got
all
of
these
ingredients,
blah
blah
blah
that
can
go
into
the
description
and
you
can
just
keep
these
objects.
A
Okay,
so
in
that
way
it
looks
kind
of
like
index
like
proposal
d,
except
that
you
would
be
relying
heavily
on
the
description
part
to
describe.
You
know
the
whole
process
of
making
a
neapolitan
ice
cream.
Now
suppose
you
want
the
process
of
making
a
neapolitan
ice
cream
to
live
in
a
different
blob,
then,
instead
of
embedding
it
in
the
description,
you
can
have
a
reference
to
that
blob.
D
E
Yeah
I
was
trying
to
understand
the
site.
Also.
I-
and
I
think
this
looks
something
like
what
we
try
to
do
here.
Just
post
appear
here
in
the
rs
artifact
manifest
we
have
blobs,
which
is
layers
we
just
generically
renamed
them
to
be
more
generic,
but
there's
still
the
blobs
api.
When
you
store-
and
if
I
read
your
example,
a
neapolitan
is
made
up
of
three
layers
of
ice
cream,
chocolate,
vanilla
and
strawberry.
I
mean
it's
actually
kind
of
a
fun
scenario
in
some
ways,
but
they
are
blob
content
right.
E
It's
it's
as
opposed
to
it's
a
manifest
that
points
to
another
thing
you
could
argue
chocolate,
vanilla
and
ice
cream
or
individual
artifacts.
That's
why
the
example
it
makes
a
little
confusing.
My
point
is,
is
that
I,
what
I
think
you're
trying
to
do
is
an
object,
is
a
collection
of
descriptors
and
it
could
be
a
manifest
or
a
blob
so
that
you
can
actually
aggregate
a
collection
of
layers
and
manifest
was
represent.
Other
artifacts,
the
we
tried
going
down
that
path.
E
E
Coco
1a7c
7e,
and
you
need
to
know
whether
to
go
to
the
manifest
api
or
the
blobs
api.
The
way
that
we
were
starting
to
propose
it
there
is
manifest
need
to
be
known
by
a
registry.
So
if
the
media
type
is
known
and
is
known
to
be
a
a
manifest
media
type,
you
know
to
go
to
the
manifest
api.
If
it's
unknown,
it
goes
to
blobs,
because
blobs
don't
need
to
be
known.
Media
types.
A
E
E
A
Yeah,
so
I
am
not
again,
I
am
not
really
that.
A
Invested
in
what
we
call
these
things,
I
guess
what
I
am
invested
in
is
some
kind
of
upgrade
path
from
what
we
have
right
now
to
what
it.
What
seems
to
me
like
what
we
want,
which
is
the
ability
to
you,
know,
combine
all
these
disparate
kind
of
blobs
and
manifest
and
index
into
something
more
coherent.
C
I
Hey,
thank
you
nisha
thanks
for
submitting
this
proposal.
One
question
I
would
like
to
understand
is:
how
do
you
recommend
we
would
filter
for
objects
of
a
given
digest
here?
So
you
have
a
reference
and
you
have
digest
sha
bec.
A
So
this
is
kind
of
a
shared
burden
between
the
client
and
the
server.
So
this
is
kind
of
why
I
put
description
over
there,
because
if
you
want
to
query
something
of
a
particular
type,
you
can
query
for
the
description
and
see
if
it
has
a
thing
called
artifact
type
and
then
and
then
collect
all
those
types
of
artifacts.
A
So
suppose
you
wanted,
like
all
the
signatures
that
refer
to
this
node
or
all
the
signatures
encased
in
this
node,
then
you
would
then
you
would
get
the
description
and
look
for
you
know
an
artifact
type
over
there.
That
says
signatures
and
then
collect
all
of
the
and
then
filter
out
all
the
digests
that
are
of
that
artifact
type.
A
I
So
what
is
the
artifact
type
you're
talking
about
in
this
in
the
schema
right
now?
There
is
description
and
is
there
another
feel
that
I
might
have
missed?
I'm
sorry,
if
I
did.
A
It
there
isn't.
I
purposefully
made
that
generic,
because
what
I
had
gathered
from
all
the
discussions
that
we've
been
having
is
that
folks
would
like
to
have
their
own
artifact
type
without
relying
on
ayanna
and
would
like
to
have
something
that
says
you
know
this
is
my.
This
is
my
special
kind
of
thing
that
I
had
defined.
A
A
If,
if
you
would
like
to
do
some
filtering
around
that,
but
I
purposefully
did
not
did
not
add
artifact
type
in
this.
A
Okay,
it
depends
upon
what
you
mean
by
backwards
compatibility.
So
if
someone
was,
I
don't
think
this
is
going
to
touch
any
of
the
existing
clients
that
rely
on
v2.
A
A
C
A
third
one,
I'm
thinking
of
is
let's
say
docker
hub,
takes
this
and
applies
it
to
a
bunch
of
their
base,
images
that
we
all
use-
and
I
now
copy
this
image
into
my
registry,
which
is
not
updated,
and
so
I
try
to
copy
these
resources
that
have
all
this
extra
metadata
on
it
over
to
an
existing
version.
One
registry.
A
That
is
a
good
question.
I
would
think
that
you
would
lose
all
the
metadata
if
you
copy
it
over
to
v2,
if
you
copy
it
over
to
a
registry
that
doesn't
support
this.
A
But
yeah
moving
something
from
v2
to
v3
doesn't
lose
anything.
A
I'm
still
thinking
about
that
is
that
what
backwards
compatibility
means
is
like
you,
don't
lose
all
that
metadata.
A
A
That
was
that
was
my
understanding
like
the
v2
data
exists
and
will
not
be
tampered
with
using
this
method.
The
other
thing
I
was
thinking
as
far
as
upgrade
path
is
concerned
is
actually
moving
it
like
combining
it
with
index.json.
A
Okay,
well
I'll
I'll
yield
the
floor
to
you.
I
can
still
share
my
screen
if
you
want.
C
I've
got
something
else
to
share
so.
B
Quickly,
nisha,
yes,.
A
B
C
So
the
thought
that
I
had
on
this
was
that
yeah
I
might
get
stolen.
It's
kind
of
the
picture
we're
trying
to
draw
today
where
we've
got
an
index,
probably
a
few
images
under
there.
Those
images
have
a
bunch
of
blobs
and
now
we're
trying
to
define
here's
an
artifact
and
that
artifact
has
a
reference
that
points
back
up
to
the
image.
But
in
reality
that
line
is
from
the
garbage
collector
standpoint.
That
line
is
reversed.
C
Where
we're
saying
we
query,
this
image
tell
us
all.
The
references
it'll
go
find
all
these
artifacts,
and
so
we
we're
building
these
apis.
Where
we've
got
this
extra
little
reverse
kind
of
error
going
on
here.
It's
what
we're
making,
and
so
what
I
wanted
to
think
about
was
the
challenge
where
it's
conveniently
hidden
there.
C
C
But
I
don't
think
you
would
ever
actually
get
into
that
loop.
If
you
delete
all
the
tags
and
we're
only
concerned
about
garbage
collection,
when
the
object
is
untagged,
but
that
is
a
big
assumption
that
I'm
making
there
so
that's
why
I
want
to
throw
it
to
the
group
is:
how
does
that
feel
like?
It
applies
to
other
registries
out
there
when
you're
thinking
of
making
your
retention
of
garbage
collection
policies,
which
is
knowing
that
hey
index
is
no
longer
tagged.
C
Therefore,
we
never
get
into
the
situation
where
we're
even
counting
the
references
here,
and
so
we
don't
even
care
about
that,
and
if
index
is
tagged
and
we
get
into
this
loop,
we
just
kind
of
say
well,
we
counted
index
once
we
count
image
once
it
is
therefore
there
we're
done
counting.
We
don't
need
to
keep
going
through
the
loop
over
and
over
again,
because
we
got
back
to
index.
We
saw
the
index
that
already
counted.
C
We
can
skip
out
of
our
logic
at
that
point
from
people
that
are
familiar
with
garbage
collection
processes.
I
don't
know
how
many
we've
got
on
this
call.
I
want
to
throw
it
out
there.
What
are
your
thoughts?
Is
this
a
problem
we
need
to
solve
and
if
not,
then
we've
eliminated
a
huge
problem
from
what
I
was
thinking
of
of
different
challenges
we're
facing,
and
if
so
this
is
something
to
think
of
from
your
proposal.
Nisha,
which
is
we've
got
this
generic
object.
C
A
So
go
ahead,
oh
yeah,
I
was,
I
was
going
to
say
that
that
was
kind
of
one
of
the
reasons
why
I
had
a
list
of
objects
and
a
reference
and
yeah.
I
think
that
may
have
been
something
I
did
not
add
to
this
proposal
was
that
a
reference
cannot
connect
to
another
node
manifest
so
similar
to
what
you
were
saying
is
that
you
can
only
have
references
to
images
or
blobs,
but
not
you
know
itself.
C
A
Yeah,
I
don't
know,
I
I
tend
to
lean
towards
design
or
you
know,
implementation
to
check
whether.
C
Easier
to
find
the
spec,
if
it's
one
of
those
things
that
just
logically
doesn't
even
work
like
we
don't
have
a
reference
that
points
to
a
blob
and
therefore
you
can't
create
a
loop
that
way,
and
so
it
just
depends.
If
we
say
that
okay,
you
can
have
a
reference
to
an
image,
and
you
can
also
have
an
object
to
an
image
because
images
are
child's.
C
You
know,
they'll
be
both
in
that
case
it
gets
very
complicated
to
say,
but
then
we're
going
to
verify
that
you
don't
have
one
of
these
child
objects
over
here,
especially
if
one
of
your
objects
can
also
be
an
index
which
can
then
point
to
another
index
which
can
then
point
to
an
image.
You
get
these
long
chains.
E
C
Is
not
that
so
it
is
pretty
simple.
I
think
we
assume
it's
not
we'll
have
to
digest
this
image
called
one.
Two,
three,
four
five
the
index
will
say
my
child.
Manifest
is
one
two
three
four
five.
If
we
also
say
that
the
index
references
one,
two,
three,
four,
five
we're
creating
a
second
pointer,
but
just
remember
that
that
pointer,
while
we
create
it
from
index
point
to
image
logically
from
the
garbage
collector,
is
reversed.
C
There's
still
a
ref
count,
but
and
that's
where
I'm
getting
to
the
question
of,
does
it
matter
that
we
can
create
loops
because
if
it
doesn't,
I
think
we
a
while
back.
We
said
that
this
is
a
big
problem.
We
didn't
want
to
create
this
problem.
We
were.
We
avoided
this
from
all
kinds
of
other
situations
that
we
couldn't
go
down
certain
paths,
and
so
that's
where
I
was
originally
thinking.
C
Well,
the
only
way
you
solve
that
is
we
make
sure
that
the
reference
from
an
image
you
know
an
image
can
only
have
blobs
and
that
way
you
solve
it.
That
way,
you
never
create
a
reference
from
something
that
can
point
to
its
child,
and
so
you
just
outlaw
the
case.
Then
index
can
have
a
reference,
but
if
we
say
that
it's
just
not
important
because
we're
going
through
a
marking,
we
say:
okay,
we've
used
index
because
the
tag
is
pointing
there.
C
We've
used
image
because
the
index
pointed
the
image,
and
then
we
followed
this
reference
back
to
index.
We'll
indexes
already
marked
we're
done.
We
can
skip
that
part
we're
not
stuck
in
loop
that
case
versus.
If
we
have
a
tag
point
index,
then
you
or
if
you
don't,
have
a
tag
point
x,
then
you
don't
mark
anything
and
then
you
just
delete
everything.
E
Okay,
I
guess
I
got
calls
because
the
tags
are
another
ref
count
right.
You
have
tags,
you
have
multiple
tags,
pointing
to
sorry
one
tag.
No
multiple
tags
can
point
to
the
same
digest
of
a
manifest.
The
manifest
can
point
to
multiple
blobs
and
multiple
manifests
can
point
to
multiple
blobs.
So
each
one
of
those
is
a
ref
count.
E
So
I
think
the
question
is
the
place
that
we've
tried
to
clarify.
This
is
down
level.
References
are
hard
dependencies
and
you
basically
just
do
the
ref
count
minus
and
then
up
level
references.
E
It's
also
a
ref
count,
but
we've.
This
is
where
we
got
a
little
vague
and
said:
look
you
don't
if
the
parent,
you
could
keep
the
child
if
the
parent
gets
deleted.
If
that's
what
you
want.
C
E
E
C
E
C
C
That's
for
just
marking
that
it's
used
at
all.
It
makes
a
nice
first
question,
but
I
don't
know
how
people
written
their
garbage
collectors
and
we
could
be
getting
some
hairy
situations,
so
I
will
throw
that
out
here
I'll
bring
this
up
as
well
later
on.
There's
the
I
call
later
this
week
and
see
if
other
people
over
there
have
thoughts
on
this,
because
this
could
be
something
we
need
to
solve,
or
this
could
be
something
that
we
don't
have
to
solve.
E
It's
interesting
just
to
put
a
piece
out
because
there's
one
other
piece
to
this
is
the
garbage
collection
is
an
implementation
implementation
detail.
It
was
really
a
matter
of
like
life
cycle
management,
so
by
linking
to
manifest
you're
linking
from
one
thing
that
has
a
life
cycle
to
another
thing
as
a
life
cycle
blobs
themselves-
and
you
know
in
practice,
tend
not
to
have
a
life
cycle.
They
are
a
dependency
of
something
else.
E
E
It's
really
there's
it's
really
difficult
to
try
to
rationalize
any
kind
of
deletion
or
life
cycle
management,
so
somebody
can
manage
the
size
of
the
content
of
their
registry
when
you're
pointing
from
a
manifest
to
another,
manifest
then
you're,
saying
hey
these
things
have
individual
life
cycles
and
as
long
as
that
thing
is
deleted,
fine,
the
other
thing
that's
point
to
it:
it's
either
a
null
pointer
or
it
can
get
a
cascade
delete.
Those
are
those
are
trackable
things,
so
I
think
that's
the
bigger
differentiation
was
the
the
blob
pointers
versus
manifest
pointers.