Ok, so we discussed the relationship between moritequivalence and byinterpretability, remarking that whenever you have byinterpretability you have moritequivalence but very interestingly the converse doesn't hold so the greatest part of moritequivalence is do not come from dictionary between theories, because it means that you really need an higher point of view to unveil these connections and that the concrete point of view will not suffice in general to identify these correspondences. In a sense these correspondences are most of them are hidden and Topos theory provides a most powerful way for unveiling them. Ok, so what is the relationship between moritequivalence and the classical notion of categorical equivalence between categories of set based models of geometric theories? So suppose you have two geometric theories of T and S such that the categories of set based models are equivalent. Then under which circumstances can you expect this equivalence to lift to a moritequivalence? Well in order to have moritequivalence you need to have for each more than if Topos is an equivalence between the categories of the models of the theories in E and you also want such an equivalence to be natural in the sense that if you have a geometric morphism between Topos is then this should induce a cognitive diagram. Ok, so suppose you start with that and so you will have funtals going in one direction and the other which are almost inverse to each other. Now what you have to do if you want to lift this to a moritequivalence is to try to construct this funtals by only using geometric constructions and by this I mean constructions which involve only finite limits and arbitrary coordinates. And you will also have to take care of the fact that you don't use any non-constructive principles to build these funtals. If you are able to reformulate your funtals in this way then actually they will admit a generalization to an arbitrary Topos and then because of the fact that they can be formulated in terms of geometric constructions all the diagrams of this model will be committed. And so you will be able to conclude that your two theories are moritequivalent. Of course there are situations in which such equivalences do not lift to moritequivalences. This is the case for instance for Toposis that are non-trivial but don't have points and so you see when you will look at the categories of points which are just categories of models or in theory classified by them you will see that this category will be empty in spite of the fact that the Toposis is non-trivial. And so in general looking just at the points of the Topos will not give a faithful representation of the Topos and so there are situations in which this lifting doesn't hold. But in the greatest majority of situations you can indeed reformulate your equivalences in a geometric form and if you are able to do that then you can lift your equivalences to a moritequivalence. In fact this technique I have applied in a couple of my papers with classical equivalences. In particular I have applied this in the context of equivalences for and the algebras and I have shown that by an appropriate reformulation of the functions defining the equivalences in geometric form this led actually to a moritequivalence. Which is a much stronger notion which is able to provide a much stronger relationship between the theories. And so you see once you get a moritequivalence you will have the classified Toposis are equivalent and then by using the bridge technique you will be able to transfer a lot more information that would be possible to transfer by just having a set-based equivalence like that. Okay so let's go on with our general presentation of the bridge philosophy. So in the Topos theoretic study of theories in fact normally theories are represented by means of sites of definition of the classified Topos or by means of other presentation for Toposis naturally attached to the classified Topos of these theories. Now as we have already remarked that the existence of different theories which have equivalent classified Toposis translates into the existence of different sites of definition or more generally different presentations for the same growth in Topos. And then you can use this common Topos as a bridge for transferring the notions, properties and results across these different presentations by considering invariance defined at the Topos theoretic level from the point of view of the different presentations. So this realises a form of unification because you see you have a unique invariant at the Topos theoretic level which will manifest itself in different ways in the context of different presentations. So you will have a unity at the level of Toposis and diversity at the level of the concrete manifestations of the invariance. And these manifestations of the invariance as we shall see by analysing the examples can be quite significant. So you could get completely different apparently unrelated properties in the context of different presentations related by the same Topos theoretic invariant. And so this technique is liable to generate a lot of deep and surprising connections between properties of different theories or different mathematical situations. Okay, so why is this methodology effective? Because in fact in general the relationship between a Topos and its presentations is very natural in the sense that many invariants can be understood, they can be studied, they can be naturally investigated from the point of view of the presentations for the Toposis. Of course the complexity of the calculations of different invariants in terms of different presentations will vary enormously according to the invariant. There are invariants that are not really quite difficult to calculate in particular the chronological invariants. There are instead invariants of Toposis that are extremely easy to calculate and which can be even calculated in a mechanical way. And so really the complexity of the bridges that you can generate can vary from something very elementary to something extremely deep, depending on the equivalences you start with and the invariants you consider. So just a word about the Topos theoretic invariants, in fact the experience with Topos theoretic invariants has shown that they are actually able to capture many important features of mathematical theories and constructions. Already Grotendick talked about the Toposis as objects that could capture the essence of a certain mathematical situation. And the way this essence is captured is precisely through invariants because it is by investigating how a given invariant expresses itself in terms of different presentations that you are able to multiply the points of view on the given problem that you want to investigate. So in fact the key element that we have in the Bridget technique is the identification of good Toposis attached to the given mathematical situation and good invariants on them which relate to the question one is interested in. If we are able to do this, then we can then investigate the given Topos from different points of view by looking for different presentations of it. And this will give us different points of view on the problem that we want to investigate. And so you see that these Bridges in fact really represent a way of multiplying the points of view on a given mathematical theme. So Topos theoretic invariants actually play a central role in mathematics even though one doesn't necessarily realize about this because you see in a Topos this Topos has infinitely many presentations in terms of theories belonging in principle to different areas of mathematics. And so it means that because of the duality which exists between theories and Toposes everything which happens at the Topos theoretic level will have ramifications in all these different contexts which can present the same Topos. So here I have put a picture where I consider a simple invariant in the notion of the sub-topos of the Topos and I imagine having different theories T, S, R classified by a given Topos E. So we know that the sub-toposes of a given Topos have the structure of a lattice and in fact what you see from this picture is that this lattice structure which exists at the Topos theoretic level induces lattice structures at the level of all these theories classified by the same Topos because in fact the sub-toposes of the classified Topos of a theory are by a theory I proved in my PhD thesis in natural bijective correspondence with the quotients of the theory by quotient I mean geometric theory extension in the given signature. And so you see that these theories T, S, R could in principle belong to different areas of mathematics but the fact that they are related to each other by the same classified Topos actually is responsible for the fact that there are a lot of different phenomena happening in the language in the context of the theories and for which the responsible source lies at the Topos theoretic level and of course this is just a picture for a simple invariant which is the notion of sub-topos but of course in general invariants will manifest themselves in significantly different ways in the context of these different theories so you could imagine that in the context of T you have a certain property in the context of S you have a completely different looking property but still they arise as manifestations of the same Topos theoretic invariant and of course the more complex the invariant is the most fruitful are these connections that one can establish. Okay so to summarize building a bridge consists in first of all identifying what I call the deck of the bridge which will be an equivalence between Toposis presented in different ways or not necessarily an equivalence but a relation of some kind between Toposis presented in different ways across which one is going to consider invariance. So of course in the case of an equivalence every invariant naturally every property naturally formulated in the language of category theory every genuine property will be automatically invariant so you will not have to check the invariance. In the case of a relation between the Toposis which is not equivalence then you will have to check that the invariant that you want to transfer is indeed invariant so that you can look at it from the point of view of the different Toposis. In any case the deck of the bridge lies at the Topos theoretic level it consists in equivalences or more generally relations between Toposis presented in different ways while the arches of our bridges will be given by characterizations of the given invariant in terms of the different presentations for the given Toposis. So here I have pictured just a typical bridge in which we have two sides C, J and D, K which give rise to equivalent Toposis and given a certain invariant I I look at how this invariant expresses in terms of the first side in this way I will get a property written in the language of the first side which I call P, C, J of course in general it will not be easy to completely express the invariant just in terms of the side but suppose that we can do it which is the case in any situations then we have such a property on one side then similarly we will get another property on the other side written in the language of the second side and actually we will get that the two properties will be logical equivalents to each other just because they correspond to the same Toposis theoretic invariant and what is interesting about this is that these properties can be completely different in spite of the fact that they arise from the same Toposis theoretic invariant and I shall give very soon concrete illustrations of this ok so what about invariants? well of course the most classical invariants which date back to the origins of Toposis theory are the chronological invariants which in fact are related to the notion of geometric morphism of Toposis which of course is also an invariant in fact this was the point of view that led Grotendick to his formulation on the general framework for the study of chronology the so-called sixth operation formalism and in fact this chronological invariant had a tremendous impact on the development of algebraic geometry since Grotendick and of course way beyond this subject another important class of invariants of Toposis is given by the homotopy theoretic invariants so the fundamental group which can be defined at the Toposis theoretic level also the higher homotopy groups etc and the study of homotopy from a Toposis theoretic viewpoint also is witnessing a greater development now with the theory of higher Toposis and so this is a very active area of current research still it's important to consider that homological and homotopy theoretic invariants are by no means the only invariants that it is meaningful to consider on Toposis there are in fact many other invariants of Toposis that can be equally significant and often much easier to calculate in fact what is nice about Toposis is that since they are categories essentially as I have already remarked any natural categorical property by this I mean a genuine property written in the language of category theory will be automatically invariant with respect to the notion of equivalence of Toposis just because this notion of equivalence of Toposis is mere categorical equivalent so this means that you can not just consider the invariants that have been already analysed but you can easily invent new ones depending on the specific needs that you encounter in the analysis of the problems that interest you in fact even very strange apparently strange invariants might be related to very concrete problems so for instance during my PhD studies I introduced the new invariant it's called the demorganisation of the Toposis and then with my PhD supervisor Peter Johnson we decided to look at this invariant in the specific context of the theory of fields formalised within geometric logic and to our surprise we discovered that the demorganisation of the theory of fields could be identified with the classifying Toposis of a very significant theory attached to the theory of fields which is the theory of fields of finite characteristic which are algebraic over the prime field so you see apparently there is no link between the morgan's law on Toposis and being a field of finite characteristic which is algebraic over its prime field but you see how the relationship between the theory of fields and that quotient of its is actually captured by a Topospioretic invariant which apparently is not related to that question so this illustrates the fact that it makes sense to make a very systematic investigation of Topospioretic invariants in different contexts how they behave in the context of different presentations in order to make these techniques more and more user friendly and applicable by mathematicians in different things because a priori it is very hard to imagine the right invariance to consider in a specific situation one wants to investigate it's much easier to focus on building good Toposis which capture essential features of the situation that one wants to explore and then start considering several invariance on this Toposis and see how they express in terms of the presentations at hand and all of this will generate a great number of insults around the given problem which will of course greatly contribute to a global understanding of the given problem and will certainly help solving it so here I have listed just a few selected applications of the bridge technique which have been obtained since this perspective was first introduced in 2010 so as you can see there are applications in different mathematical fields and in fact what I would like to stress is the fact that in each of these contexts of course the results are completely different but the general methodology which is employed to derive them is always the same so now I will proceed to discussing a few bridges established in the context of these applications so I will start by describing how we can naturally approach Galva theory from a toposcoretic viewpoint and how this toposcoretic viewpoint can lead us to introduce a great amount of new Galva-type theories in different fields of mathematics then I will focus on a subject which is quite important in Toposis theory the subject of theories of pre-shift type by definition these are the theories the geometric theories classified by pre-shift purpose so as you can imagine these are basic theories from which every geometric theory can be obtained so it is particularly important to understand the properties and to study them from a toposcoretic viewpoint so I will present in particular a couple of results about them which can be derived by using the bridge technique in fact theories of pre-shift type are very important because they represent the logical counterpart of small categories so in fact they allow you to get a logical point of view on any small category you might want to consider and so they allow you in particular to prove results about small categories by using a logical point of view in fact this is what I did in the case of the toposcoretic interpretation of Galva theory I have mentioned because first I proved the result using logical tools using the setting of theories of pre-shift type and then I was able to translate all of this into pure categorical language so it is important to have this logical point of view because it allows you to regard essentially any subject you want to investigate as part of the logic so this will be applied in particular to the third subject mentioned in this slide the toposcoretic interpretation of Freisse theory I always like to present this example because it is a very beautiful example of application of the bridge technique in which you see that the key ingredients identified by Freisse in the context of this model theoretic result naturally arise from the calculation of quite elementary toposcoretic invariance in the context of different sides and in fact the main result from Freisse gets significantly generalized thanks to this just by considering free invariance from two different points of view finally I shall briefly discuss how stone type dualities can be approached from the point of view of bridges and in fact this is quite a general machinery based on toposies to generate these dualities so one is able fluid both to find again all the classical dualities and at the same time one is able to generate many dualities that were not discovered in many cases because of a certain complexity in the descriptions of the categories under consideration so now let's first proceed with the first application so in the context of classical Galva theory what we have is we have a bijective correspondence between the intermediate finite field extensions and the open subgroups of the Galva group now we can formulate this in categorical terms by expressing this as a categorical equivalence between the opposite of the category of finite intermediate field extensions and the category of continuous non-empty transitive actions of the Galva group on discrete sets so in fact the content of this categorical equivalence is the same as that of the classical correspondence because in fact open subgroups are understood from the point of view of the action of the group on the corresponding set and so in this way actually you get a categorification of this classical correspondence and in fact the functor which goes from the left-hand side to the right-hand side is actually the functor which takes the homomorphisms to the Galva extension from the intermediate extension of course this endowed with the canonical action of the Galva group so this categorical interpretation leads us to raise a natural question can we replace our category of intermediate field extension with an arbitrary category and can we replace our Galva extension with an object which can play an analogous role and can obtain similar equivalences in other fields of mathematics now it turns out that it is most natural to address this question not just working at the level of sites which is the level of this transitive non-empty actions remember that for any topological group G this is a topos the full sub-category on the non-empty transitive actions provides a site of definition for this topos because this is equivalent to the topos of schism with respect to the atomic topology so you see that this equivalence here actually is an equivalence holding at the level of sites so it can be extended in fact to an equivalence between the natural topos attached to these sites so you see on the one hand we have sheets on the opposite of our category of finite intermediate extensions and on the other hand we have the full category of actions of continuous actions of the Galva group on discrete sites okay so now that we have appropriated our equivalence at the topos we are ready to look for a generalization so what we will look for is conditions on a smooth category and on an object of the in the completion of this category for the existence of an equivalence of topos of the same kind as the equivalence here formalizing Galva activity if we are able to give such conditions we will be able to generate many new Galva type equivalences in different fields of mathematics so before introducing the main result I have to recall these notions so the combination property on a category is the property asserting that any pair of arrows with common domain can be completed to a community square and another property we shall need is the joint embedding property which means that any pair of objects in the category can be mapped to a third one then we will have to consider conditions on the object view which lies in the in the completion so why do we consider the in completion because in infinite Galva theory actually the Galva extension doesn't lie in the category of a finite intermediate extension it lies in the category of all extensions but the category of all extensions is in the completion of the sub-category of the finite extension so this is why I take the objects in the in the completion ok so we will say that such an object is universal if every arrow in the category C admits an arrow to it and we shall say that it is ultramoginous if any two arrows from within an object to it forms one into the other by an automorphism of the given object so you see as in classical Galva theory we want to have enough automorphism on the given object to distinguish different arrows to it ok so here we are so the theory tells us that whenever we have a small category satisfying the sub-category C and we have an object in the completion which is universal and ultramoginous then we have an equivalence of toposis where in fact the the the automorphism group of the object is endowed with a natural topology whose description is given here as you can see the definition is completely analogous to the classical definition of the topology in Galva theory so we have such an equivalence of toposis which is induced by a factor perfectly analogous to that that we have in the classical case so this factor sends every object of C except of arrows from C to U endowed with the obvious action of the automorphism group now notice that this factor actually takes values in the full sub-category on the non-empty transitive actions just because by our hypothesis the object view is both universal and ultramoginous in fact that f takes values in the non non-empty actions means precisely that the the object view is universal and the the transitivity for the action corresponds to the property of ultramoginity so you see we have this factor f which actually takes values in quantity of hot U so it makes us to investigate under which conditions the factor f is full and faithful and also when it is an equivalence on to this sub-category on the non-empty transitive actions because this will give us really the perfect analog of of classical value of U by using certain toposcoretic invariance the notion of atom and the notion of arrow between atoms we are able to identify precisely which conditions we need so for f to be full and faithful we need every arrow of c to be a strict monomorphism and if we want the factor f to be moreover essentially subjective on the full sub-category in the non-empty transitive actions we moreover need a condition on c which I am called atomic completeness so it means essentially that every atom of this topos actually comes from the south which is not in general the case because what is true is that every object from the side is sent to an atom of this topos but in general there could be atoms of this topos which do not come from the side in particular when you have an atom here every quotient of this atom will still be there and and there is no guarantee that it will come from the days category so you need a certain condition on the category which I have called atomic completeness and which can be characterized explicitly for this to hold and so this is quite interesting if you think about it because it shows that in fact there are quite mild conditions for having an equivalence at the topos theoretical level and much stronger conditions for this equivalence to restrict to an equivalence of sides and so this shows that you gain much more flexibility by investigating things and the level of toposis then you would by remaining at the concrete level of sides so of course this theory generalizes growth in this theory in Galois categories which corresponds to considering the just profinent automorphism groups and it can be applied to generate many other Galois type theories in different fields of mathematics for which the automorphism groups are not prohibiscript but can be interesting anyway for instance one gets a Galois theory for finite groups a Galois theory for finite graphs for finite Boolean algebras et cetera so all these examples will not fit in growth index original framework in fact growth index with this theory of Galois categories is instead of working at two levels the level of sides in our case the atomic sides and the level of toposis it worked at just one level the level of pre-toposis and so this didn't give him enough flexibility for capturing phenomena such as those which concern the setting of non-profinent topological groups in fact in the context of non-profinent topological groups there are interesting phenomena that of a more equivalence which occur for instance we have the very elementary but non-trivial example of the Shamuel topos which is the topos of sheets the opposite of the category I of finite sets and injections with respect to the atomic topology now you can realize that for any S infinite actually this this set is a universal ultra-homogeneous object in the sense of our definition and so we can represent our our topos as the purpose of continuous actions only automorphism group of well it is simply the group of bijections of S topologized with the topology was this holds for any infinite set so in particular you could have infinite sets of completely different cardinality that rise to equivalent toposes in spite of the fact that you don't have isomorphism don't necessarily have isomorphism between these two topological groups so you see that in fact at the level of topological groups the the relationship of more equivalence saying that these groups give rise to equivalent toposes is by no means critical you see this very elemental example also shows that really you have to adopt the point of view of the oposes if you want to relate two things such as S and S prime which are not directly related from a concrete viewpoint so this theory also shows that there could be situations in which your factor F is full and faithful but is not an equivalence and so in such a situation you might wonder what you have to add to the original category in order to get a category equivalent to the category of non antitransitive actions on the other side and in fact the investigation of the invariant notion of atom of such topos from the point of view of the atomic site leads to a notion of imaginary category a notion of imaginary imaginary is here this is the model theoretic terminology in fact it really corresponds to imaginary in the model theoretic sense which are definable quotients of the given object but anyway using this toposperative viewpoint we are able to categorically describe in very concrete and explicit ways the objects that we have to add to see in order for it to become equivalent to the category on the other side of course under the category and so you see all of these results would be hardly attainable using a point of view different from the one provided by toposis so it is certainly a quite compelling illustration of the indispensability of toposis in this context ok so now let's turn to the second theme I already introduced that of theories of pre-shift type so these theories are quite important because as I anticipated they constitute in a sense the basic building blocks from which every geometric theory can be built in fact as I already stated every growth in big topos is a sum topos of a pre-shift topos and so from a logical viewpoint it is natural to regard a geometric theory as a quotient of a theory of pre-shift type let me recall that by quotient I mean a geometric theory extension in the same signature now theories of pre-shift type as I already mentioned are important because they constitute in a sense the logical counterpart of the small categories in the sense that when we have a theory of pre-shift type then its category of set-based models is equivalent to the in the completion of its full sub-category on the finitely presentable ones so by finitely presentable I mean that the that the deco variant homo functor preserves filtered coordinates so this is quite easy to see that we that we can represent the category of its set-based models that says in the completion of the finitely presentable ones but what is most interesting is the converse statement so suppose you have a small category C then you consider its in the completion and then what is nice is that you can recover not quite a C but its kushi completion from this category by taking the finitely presentable objects there and so you see that in fact talking about small categories is more or less the same as talking about the idempotent splitting completions and so it is the same thing as talking about the categories of finitely presentable models of a theory of pre-shift type and so you see this is quite appealing because it means that for whatever category as concrete as it can be if this is a small category it can be natural to regard every object of this category as a finitely presentable model for a certain theory of pre-shift type which will be canonically the theory of flat functions on the opposite of it because in the completion equivalent to category of flat function good every geometric theory can actually be expanded to a theory classified by by pre-shift opus in fact theories of pre-shift type are very rich in terms of the syntax and so you can by appropriately enriching the syntax and the proof theory of your theory to get to a theory classified by the corresponding pre-shift opus so all of this is described in my book so examples of theories of pre-shift type we have of course all finite algebraic theories and more generally all Cartesian theories inside this class but very interestingly this class also contains many other mathematical theories whose syntactic presentation differs significantly here I have put a list by no means exhaustive just to illustrate the variety of theories belonging to this class now what is interesting from our point of view is the point of view of toposes as bridges is the fact that whenever we have a theory of pre-shift type this theory gives rise to two different representations of its classifying topos one of semantic nature the topos of speakers from the category of finite representable models of the theory and on the other side the classical syntactic representation of the classifying topos as shifts on the syntactic side now this is interesting because you see you get a topos represented in two different ways and one side represents the semantics the other side represents the syntax and so we can expect many relationships between the syntax and semantics to be unpaved by the bridge technique applied in the context of such an impedance this is indeed the case for instance by considering the invariant notion of irreducible object from the point of view of the two sides we get on the one hand all the finitely presentable models and on the other hand the formulas in the syntactic category of the theory which are irreducible with respect to the syntactic topology so in the sense of this definition so actually from this bridge we get a theorem the equivalence between the opposite of the category of finitely presentable models of the theory and the category of irreducible formulas so it is full subcategory on the syntactic category on the formulas which are irreducible in the sense of that definition so in fact this allows us to understand which are the formulas which present the models so if you appreciate that and so to understand which kind of geometry formula can present a model and so you see how this bridge immediately leads us to that result and you see also that this notion of irreducibility is really quite a natural to your point but not necessarily very natural as a concrete condition so you really see that it is a notion which you get by expressing a toposteoretic invariance in terms of a certain presentation such as the syntactic site in this context another example of an insight that you can get by using bridges is a definability result of the theories so here the invariant you consider is the notion of sub-object of the universal model of the theory which you can describe both in terms of the first representation and in terms of the second I cannot go into the details of that you can find it for instance in my book if you wanted to read all the details but you can see from this bridge the invariant expresses itself as a factorial assignment on the on the left-hand side and as a geometric formula in a given context on the right-hand side and so by putting together these two concrete expressions of the same invariant you get this theorem which says that any property of tuples of elements of finitely presentable models of the theory which is factorial in the sense that it is preserved by arbitrary model homomorphisms is definable by a geometric formula of the signature of the theory so this is a theorem we not hold in general for all geometric theories but it holds for theories of pre-shift type and the true reason why it holds is actually this date ok so now that we have talked about theories of pre-shift type we can formulate our toposcurrating interpretation of Feist's theory so first we need to introduce this notion which in fact is by no means arbitrary we shall see in a moment that it arises just from the expression of a certain toposcurrating invariant in terms of the side so it is this notion of homogeneity for a model of a theory of the pre-shift type so it is this form of injectivity with respect to arrows between finitely presentable models of the theory and this is the theorem that we will get which represents a significant generalization of Feist's classical theory so the theory says if you have a theory of pre-shift type whose category of finitely presentable models is non-empty and has the amalgamation of joint embedded properties then the theory prime axiomatizing the homogenous t models is a complete and atomic so here is how one gets this theory so you see that there are three bridges one for each invariant that we decide to consider so we consider first the invariant property of the topos to be atomic and we see that this is related to the fact that the site we consider here on the left-hand side is atomic but on the other hand it amounts precisely to the theory t prime classified by this topos the quotient of t classified by this topos to be atomic in the sense of model theory so already you see a connection between the amalgamation property on this category and the syntactic property of atomicity of the theory so apparently these two properties are completely unrelated but in fact you see that they just come from the expression of unique topos theoretic invariant then we consider another quite elementary invariant the notion of a topos being too valued so too valued means that the only subthermial objects are 0 and 1 and they are distant from each other so if you look at this invariant from the two sites you get the joint embedding property on the category of finitely presentable models of the theory and on the other hand very testically you get the property of completeness of the theory t prime so recall that first order theory is said to be complete if every first order assertion written in its language is either provably true or provably false but not both so you see how a very complex property of first order theory turns out to be equivalent in this situation a very simple property on the other side just because both properties correspond to the same topos theoretic invariant finally we consider another very simple invariant of topos in the context of the same equivalence so look at this the deck of the bridges is always the same what changes is just invariants I consider on them so here I take the notion of point and by calculating this in the context of the first site here the atomic site we get precisely the notion of homogenous model which I gave in the previous slide while on the other side of course I get the notion of t prime model just by definition of the classifying topos of t prime so you see immediately how from this trickle bridge we get the theorem there so as a last example that I would like to present in this course there is the theory of stone type dualities approach the fruit topos theoretic bridges in fact the idea behind the interpretation of this stone type dualities dualities between special kind of preordered structures and other preordered structures of locales of topological spaces is that the two objects which correspond to each other under such duality or an equivalence should be related to each other by means of the topos attached to one and to the other independently from each other so the setting is this is that of equivalences of this kind between two topos so a topos of ships on a certain preorder category D with respect to a certain category D and C to be a dense sub category of D so that by growth index comparison we have an equivalence between the two categories of ships the ships on the big side and the ships on the smaller dense sub-site where this topology will be induced by this topology on the sub-category so by dense sub-category I mean sub-category such that you can cover any object in the big category with respect to the the topology by objects lined in the sub-category so a simple example of dense sub-category is when you have bases for topological space because in such a situation you can of course regard the D as a full sub-category of the category of open sets of this space and if you put here the canonical topology you realize that the condition for V to be a bases amounts precisely to saying that this sub-category should be dense with respect to this topology okay so basically we start from equivalences of this kind and then we will factorize these equivalences to generate our dualities or equivalences so in fact this machinery lies on the following key points first of all we a pre-order that we want to relate to something else on the other side we try to define a natural drug endic topology unit which in some way exploits the lattice theoretic structure present on it so for instance in the case of of the classical stone duality if we had V, V and algebra what is natural to do is to put on this algebra regarded as a pre-order category a growth endic topology which exploits the lattice theoretic structure present on it so we take the coherent topology whose coverings are those which contain fine covering families covering families in the sense that the join of this in the good and ugly so we put that and then we consider this topos as a topos which in a sense capture the essence of the boole algebra and in fact what we will see is that this is equivalent precisely to the topos of sheets on the associated stone space stone space B so notice that you have such a bridge for each pair of objects related by by the duality so if you actually want to get the duality you will have to functionalize this bridge so to understand what happens when I make my boole algebra so you see if I consider a homomorphism of boole and algebra what do I have at the level of the topos and have so this of course gives a morphism of the coherent size so a geometric morphism goes in this direction and then this of course transfers to a geometric morphism here and since these spaces are sober well it means that we come from a unique continuous map between the stone spaces so you see how I get stone duality out of the bridge technique so the process is completely general so you see the way we get these dualities is by functionalizing the assignments of the topos associated with the structures by means of either homomorphisms or homomorphisms of the sides as we introduced them yesterday and then of course a key point in this theory is the possibility of entering and exiting the bridge on both sides because you see at the end the topos disappear, they are just instrumental for relating the two objects each other so it is important to be able to enter a bridge but also exit it so in particular one needs to be able to get the structures back from the topos associated with them and in fact what is appealing is the fact that if the topologies that you put on your pre-order structures are say defined in a sufficiently natural way then you can recover indeed these structures from the corresponding topos through a notion of generalized compactness as it is written here so here I have given the example of storm duality but it works exactly in the same way for all the other dualities in the same class which historically have been discovered quite independently from each other for instance another important duality is linked between sets and the complete atomic buian algebras so this duality sends buian algebra of this kind to its set of atos and conversely it sends an arbitrary set to the buian algebras given by its palace and the topos theoretically what is going on is that sheeps on B with respect to the canonical topology is equivalent to the topos of three sheeps on the set of atos regarded as a discreet category and conversely we have that and you see in this situation if you want to get the lidem on terse duality you have to factorialize not by using morphisms of sides but by using comorphisms of sides and this explains why on the side of buian algebras you you have to take the morphisms to be complete I mean the homomorphisms between this buian algebras in order to correspond to functions between the sides of atoms must preserve not only arbitrary joints but also arbitrary myths and this you see very naturally by adopting this point of view of comorphisms induced by comorphisms of sides sides which in this case are trivial because we have this topos now I would like to conclude with a few general remarks about this bridge technique so as you have by now understood the key point to this is the essential ambiguity given by the fact that the topos is associated in general with an infinite number of different presentations be them theories or sides or do toys or whatever but the fundamental point is the fact that we have two levels the level of toposis where invariants naturally live and the level of different presentations for them can belong to different areas of mathematics and it is precisely this duality which we exploit for generating our insights so what is going on here is a sort of mathematical morphogenesis because given any fixed invariant that we decided to consider what we do is to investigate how this invariant expresses in terms of different presentations for toposis and so it is precisely this morphogenesis of generation of diversity from a unit a unity which lies at the toposteoretic level which allows us to contemplate all these connections existing between properties and notions that apparently could be completely unrelated to each other so you see the bridge technique which suggests a radically different way of doing the mathematics which is really guided by toposis guided more precisely by Morite equivalences between different presentations and toposteoretic invariants considered on the toposis attached to these presentations so it is really by letting ourselves guided by these concepts that we uncover all these hidden connections and that we are able to extract concrete information on the mathematical situations that we want to investigate so there is another important aspect of this duality which deserves to be mentioned which is the idea of completion so when we build a classifying topos of the theory from its syntactic side so what is going on is really a completion process so here you have just the geometric formulas written in the language of the theory while when you pass to the classifying topos you add much more actually you add all the concepts that can be geometrically expressed in terms of the language of the theory but expressed in a much richer sense because here you just take the geometric formulas here what you do by passing from this category of topos is to add arbitrary and arbitrary quotients by internal equivalence relations therefore here you can express much more than you can here so you see this passage can be seen as a completion with respect to all the concepts that are implicit in the theory but not explicitly present here and so we can we can think of this as a materialization of the potential hidden in the theory or the hidden side and so this is quite interesting because you see when you pass from the word of theories to the word of toposis by assigning to each theory its classifying topos actually you go from a very unstructured word the word of theories why do I say unstructured well because a theory by itself is not a structured entity it is just a collection of axioms in a given formal language so in particular you can basically make modifications to a given theory to introduce new theories you can perform a lot of very natural operations here without having to worry that the result will still be a theory because essentially you see you have a unstructured here while here you go to a maximally structured environment full of symmetries symmetries and invariance are the same so we know that invariance naturally did it here and so as you can imagine this duality between this relatively unstructured word of theories and this maximally structured word of toposis is very rich and interesting because on the one hand you can profit from the lack of structure present on the theory side in order to make all sorts of modifications without having to worry about things being well defined because here it is still a very very big word and then you automatically will have toposis attached to this modified theories which will incarnate their meaning and then you when you want to make computations you will make then at the topospheric level because here you can benefit from this very rich categorical structure that you have on a toposis and which allows you essentially to calculate what you want without having to worry about going out of the mathematical environment where you are and so actually what here is at play is a sort of duality which we can think of as a duality between real and imaginary in the sense that you see when you pass from a site to the corresponding topos you can think that a site is something real or tangible in a sense because you regard this as very concrete so this is the context where you work as a mathematician you are interested in understanding certain concrete properties of theories and this instead is a much more abstract setting which you have obtained from the original setting by adding all these imaginaries all these quotions of co-products of things coming from the site by definable equivalence relations so these are really imaginaries in the sense of model theory and still you have a very nice duality between the two levels because as we have stated several times invariance defined at the topos theoretical level can be very profitably and very often well understood from the point of view of the sites generating the toposes and so you see that in a sense for going from a real thing to another real thing so like from a given site to another site and to transport information about them you have to do this jump into the imaginary world of toposes and then come back as it is summarized in this picture ok so here I have listed just a key features of toposes which account for the effectiveness of this bridge technique of course the idea of bridge goes much beyond topos theory but there are reasons why it becomes very effective when implemented in the context of toposes and their presentations and this is a list of reasons of main reasons for which this is the case so this is just a collection of metamathematical considerations about the generality of topos theoretic invariance their expressivity in fact it is quite important for mathematicians to realize that many of the invariance that they are naturally led to consider could be lifted to topos theoretic invariance and it would be quite useful for them to think in these terms because suppose they want to calculate a certain invariant attached to a complete object they have if they are able to build a topos attached to this object and to lift this invariant to a topos theoretic invariant considered or that topos well this opened the way for completely different calculations of the same invariant arising from different representations for the same topos and so the mathematician will then benefit from this multiplication of points of view that topos theory allows and so in general it is quite fruitful to look for toposes which capture the essence of the mathematical situations where one is and in particular to try to lift invariance that one is led to consider at this topos theoretic okay so a remark which has been made about this methodology by Andrei Joyal is that all of this can be seen as an extension of Klein's Erlangen program which is a program of understanding geometries through their associated automorphism groups so earlier in the course we have seen that toposes actually generalize discrete groups through the categories of actions on these groups and so actually if we think at what Klein used to do so he used to classify geometries by means of their automorphism groups and in fact by doing this he discovered surprising connections between different looking geometries through the algebraic through the study of the algebraic properties of these automorphism groups so of course here we replace groups by toposes and so you can understand that still I mean that the philosophy is the same we are we are studying instead of algebraic properties of the automorphism groups more generally invariance of this classifying toposes or more generally toposes attached to the key situations so of course we have already seen all of these leads to the discovery of many non-trivial deep connections between different mathematical contexts so future directions of course there are many because this approach still is quite recent and so in my opinion we are at the very very beginning of exploration going in this direction so hopefully there will be more and more people who will try to apply this kind of techniques in their fields of interest what is sure is that the experience accumulated so far leaves no doubt to the fact that toposes really have an authentic created power in mathematics because their study and the study of the invariance naturally leads to the discovery of a greater number of notions natural results good notions because you see when a notion is got through a toposclerotic invariant in some sense you have a guarantee that it is a good notion it will be a modular notion a notion which will admit automatically infinitely many variants equivalent to it but pertaining to other mathematical contexts so you see you have the guarantee that it is not a marginal notion it is a notion that you will be able to approach from a greater variety of different perspectives so you see how toposes are useful also telling you whether certain notions you consider are good or maybe a bit marginal and then could be replaced by other notions that satisfy these modularity properties so you see it gives really an awareness in exploring mathematics that in my opinion is unprecedented because the generality of the notion of topos makes it possible to apply this in essentially any situation so what we plan to do is of course to make this theory more and more user friendly in the next years so that more people who don't necessarily have a full expertise on toposes will still be able to profit from these certain techniques in their fields of interest so here I have listed a few central themes in this unification program that we aim to further develop so as you can see there are different subjects that really wait for the topos theoretical treatment in particular in algebraic geometry number theory there are many important equalities and correspondences that would be quite interesting to investigate from topos theoretical viewpoint then of course it is important to continue the systematic study of the topos theoretical invariance in terms of their presentations in general when you compute an invariant in terms of representation it is technically in many cases but the result can be still quite surprising and so it is important to get more and more used to this duality between invariance and their expressions in terms of different presentations in order of course to make all these techniques more and more applicable in concrete situations then of course one main theme that will be important to address is the functionalization of model theory so I mean there are many many results both in classical and in modern model theory that still wait for a topos theoretical treatment in fact the interpretation of Francis result in the course is an illustration of the kind of insight that you can get by looking at a piece of classical model theory using the topos theoretical lenses of course there is a lot to gain remember that we got that a wider generalization of Francis theory just by looking at free invariance in the context of that equivalence but you see why free I could have considered infinitely many invariance and by doing this I would have gotten other results on the same theme but in general independent from each other in fact the paper which describes all of that contains other results in the same theme so you see how this is powerful by considering free invariance you already get a much better version of the classical and then of course you can consider there is no reason to limit oneself to consider those three you can consider others so you see how this opens the way for many developments so of course it would be important to do this for any result in classical and modern model theory in particular it would be important to get topo-steroidal approach to stability theory which is one of the most sophisticated developments in model theory and then of course there are many other subjects that are important to develop it's quite important to develop techniques for reasoning over an arbitrary base topos so it's important to develop a good and user friendly relative theory of classifying toposes over an arbitrary base topos so identify relative geometric logic et cetera and understand how natural two-categorical operations on toposes can be understood from the point of view of logic and of the theories classified by by these toposes and then of course it's also important to extend the bridge technique to the setting of higher categories higher sites and higher toposes to understand what is the analog of geometric logic in the higher setting which is not yet done and then to understand in general how toposes can shed light on the construction of spectra for different kind of structures there are a number of authors that have worked on that but still we are missing a completely unified and most general treatment subsuming all these results so concerning references so for the basic part of the course where I gave the preliminaries I suggested the excellent book by McLean and Mor Dyke sheaves in geometry and logic so you will be able to find all the classical results which I mentioned in the course and then concerning the more recent perspective of toposes and bridges I suggest first having a look at my habilitation thesis which is a 100 pages text written specifically for known specialists while my book is more sophisticated and so it is better to have it as a second reading if after reading the habilitation thesis you are still committed to deepen your understanding so I will stop here and thank you very much for your attention


We are back with machine learning and AI track today, and now let's welcome Andhraal Chatterjee and Akanksha Dukkal to speak about AI for CI, speed up your CI CD processes using AI operations. They have sent the prerecorded video that I'm going to share in a minute. Have you ever found yourself lost in logs and dashboards while getting to the root of the build or test failures? Have you considered monitoring your CI processes using AI tools? How do you like the idea of having an intelligent monitoring tool that can help you analyze all these failures? Well, in the session, I, Akanksha Dukkal, and my co-presenter, Andhraal Chatterjee, are going to introduce you to our project, AI for CI, and walk you through the tools that we are building, which can be used to better support CI CD processes. Hello again. I am Akanksha Dukkal. I'm from Boston, United States, and I work as a data scientist in the office of the CTO in the AI ops team at the AI center of excellence at Red Hat. And here everyone, I'm Andhraal Chatterjee. I'm also from Boston, United States, and I also work as a data scientist in the office of the CTO in the team AI center of excellence at Red Hat with Akanksha. So by the end of this presentation, you should have an idea of how you can use AI for CI and its set of AI tools to monitor your CI CD workflows. But before we go there, we will start by discussing what the project is about, the story of how we got here, and the various initiatives that support this process. So what's AI for CI? Before we get into AI for CI, though, let's start to understand the AI ops mindset. AI ops stands for artificial intelligence for IT operations. AI ops is a critical component of supporting any open hybrid cloud infrastructure. In our opinion, it's mostly a cultural change, very much as what we saw with the DevOps movement. Here we combined the two cultural mentalities from dev and ops to create a new culture, the DevOps culture. And the same cultural change is going to happen with AI ops. The DevOps culture and the data science culture are using different tools and have some different mindsets. Our aim with AI ops is to bring these two cultures together and learn from each other. We aim to embrace the intelligent tooling that we have in the AI world and apply it to the operational domain. And what's CI CD? Continuous integration or CI is the practice of automating the integration of code changes from multiple contributors into a single software project. CI CD or continuous integration, continuous delivery is a solution to the problems that integrating new code can cause for development and operations teams, also known as the integration hell. So AI for CI is simply AI applied to CI CD data. It's an intelligent open source AI ops toolkit which can be used to better monitor builds in order to help the development lifecycle. So the goal of this project AI for CI is to build AI tools for developers by leveraging the open data made available by OpenShift and Kubernetes CI platforms. As part of AI for CI, we have built a collection of open source AI ops tools which can help support a CI CD process. Such open operations or CI CD data coming from real world production systems is a rarity for public data sets today. Thus, this presents a great starting point and a first initial area of investigation for the AI ops community to tackle. We are focused on cultivating an open source community that uses open operations data and an open infrastructure for data scientists and DevOps engineers to collaborate. So some of our current initiatives include collecting data from various open data platforms and creating a community around open CI data sources. Quantifying and evaluating the current state of the CI workflow using multiple key performance indicators. We are also involved in building AI and ML techniques to improve the CI workflow. And finally, we are heavily invested in creating a reproducible end-to-end workflow around data collection, analysis, and modeling efforts using multiple technologies like Ellyra, Kubeflow Pipelines, all of which is developed, built, and operated on the Operate First environment. What's Operate First? We build this AI ops community and develop the necessary tools on the Operate First cloud. Marcel Hild gave a great talk yesterday on how to open source cloud operations. I'd recommend going back and finding his talk recording, but in short, Operate First is an initiative to operate software in a production-grade environment, bringing users, developers, and operators closer together. It uses the same community-building process of open-source projects, but extended to ops procedures and data. Operate First enables a collaboration between open-source developers and cloud providers, and AI ops supports this collaboration by creating a new set of tools around CI CD processes, which could otherwise be a pain point during the development and production of open-source projects. So let's dive into the various open-data sources that are being used in this project. As we discussed earlier, one of the goals of this project is to build an open AI ops community involving open-data sources, which originate from different segments of a CI process. To understand these different segments of a CI process, let's take OpenShift, which is an enterprise Kubernetes container platform as an example. OpenShift consists of hundreds of repositories. Thousands of contributors to the project contribute via pull requests on GitHub. Every new pull request to a repository with new code changes is subjected to an automated set of builds and tests before being merged. Prow is the central component of this automation. It is a Kubernetes-based CI CD system. The Kubernetes testing group defines Prow as a CI CD system built on Kubernetes for Kubernetes that executes jobs for building, testing, publishing, and deploying. It is seamlessly integrated with GitHub via hooks which can trigger automated CI CD jobs for GitHub PRs. Test Grid is a platform that is used to aggregate and visually represent the results of all the automated tests. The ultimate hope for this work is that we will be able to connect these various data sources like GitHub code changes with the filed bugs, the Test Grid visualization platform, and Prow data sets in order to develop a complete picture of a CI process. The first open data set that we will look into is the GitHub data source. The builds and runs by the CI process are required because of code changes that are happening in the application's code base. The goal of CI is to automatically identify if any of these code changes will cause problems for the deployed application. Therefore, information on running tests and builds, along with information within GitHub code repositories such as metadata and diffs about the PRs, can give us more insights into the overall CI process and ultimately lead us to the root cause of any build failures or issues within the software development process. In an attempt to quantify critical metrics within a software development workflow, starting with code contribution, we prototyped a model which can predict the time to merge of an open pull request, which is basically the time it takes from creation of a PR to merging of the PR. A metric like this can help identify bottlenecks within the development process. For example, having an estimate for how long it will take for a PR to merge can help developers and engineering managers better allocate resources to certain PRs and speed up the whole engineering process. Let's briefly look into the workflow that we follow for the same. To predict the time that it will take to merge a new PR on a repository, we frame this as a classification problem, whether the time taken to merge a PR falls within one of the few predefined time ranges. As a first step, we collect a dataset consisting of pull requests and related metadata from the OpenShift Origin repository using one of our internal tools. Then we transform the input columns obtained from the pull requests such as size of the PR, types of files added in a PR, description of a PR into various features which can then be ingested by an ML model. We then expose various vanilla classifiers to classify the time to merge values of a PR into one of these 10 bins or classes using the features engineered on the raw PR data. And finally, we deploy the model yielding the best results into an interactive service using Selden. This endpoint is available for anybody to interact with and test out on new PRs. Once integrated with a GitHub repository, this service can provide newly submitted PRs with the time to merge estimate. Next, my colleague Akanksha will go over the other data sources. Next up, we have the Prowr data source. So what is Prowr and how is it linked to the tests and builds? Prowr is a Kubernetes-based CICD system where jobs can be triggered by various types of events and report their status to many different services. Test grid provides the results of tests, but if you want to triage an issue and see the actual logs generated during the building and testing process, we will need to access the build logs generated by Prowr and stored in Google Cloud Storage. So what does the data look like? This data set contains all the log data generated for each build and job as directories and text files in remote storage. In order to understand the data set of the events and build logs from Prowr, we download them programmatically in a Jupyter Hub environment, which is a tool used by data scientists to run interactive Jupyter notebooks and to perform initial exploratory data analysis and apply techniques like inverse document frequency and in order to cluster build log, based on the type of log it is. The logs represent a rich source of information for automated triaging and root cause analysis. But unfortunately, these logs are noisy data types. That is, the two logs are of the same kind, but from the different source, they might be different at a character level that traditional comparison methods are insufficient to capture this similarity. So to overcome this issue, we will use the Prowr logs to learn the log templates that denoise the log data and help improve performance on downstream ML tasks. So we start by applying a clustering algorithm to job runs based on the term frequency within their build logs to group the job runs according to the type of their failure. For example, different clusters represent group of builds that fail due to platform failures or failures caused during preparation steps before tests starting to execute. And these kind of clustering algorithms are also able to differentiate between the logs which have different semantic structures, which may not be critical to a developer, such as clustering builds obfuscated and non-obfuscated buildings separately. Now, let's look into another open data source that is Test Grid. So as we briefly introduced earlier, Test Grid is a visualization platform for CI data. It is an open source project developed by Google to help people visualize their CI processes in a grid. It is used by a number of communities to track the status of the tests and build in a visually friendly format. Test Grid primarily reports categorical metrics about which tests passed or failed during specific builds over a configurable time window. So what does it display and where does it fit in the context of a CI process? We will look into this in further detail, but what a typical Test Grid dashboard looks like is it's an aggregation of multiple tests over time period, and each grid represents whether a certain test is passing, that is green, or failing, that is red. In a typical development lifecycle, once the developer has opened a pull request with some commits containing some changes, their changes would go through a CI platform which runs a series of tests and builds, and the results of the tests are displayed here on Test Grid. So now, in order to quantify the current state of the CI workflow and identify any gaps within the CI processes better, we can calculate certain key performance indicator metrics related to the test runs. By calculating relevant metrics and key performance indicators related to the running tests, that can help get to the root of the problematic build failures and help discover recurring patterns within the running tests and ultimately help a developer with their development workflows. Now let's take a look at the Test Grid workflow. So we start by collecting data. As we discussed earlier, Test Grid has information about status of running multiple tests over a period of time. The data set contains categorical metrics about running multiple tests. So again, to have more insights and work with this data programmatically in a Jupyter Hub environment, which is a tool used by data scientists to run interactive notebooks, we need a way to access the visual grids that were displayed on the Test Grid data programmatically. For that, we create a connection from the Jupyter Notebooks to the Test Grid URL and download all select dashboards from Test Grid by scraping the HTML. This allows us to dig deeper into various features of data and gain an in-depth understanding of the data that won't be very obvious just by looking at the dashboards. Next, we calculate the metrics and apply some ML and AI techniques. So once we have collected the data, our goal is to apply AI or machine learning techniques to improve the CI workflow. But first, we start by applying certain analysis and aggregating various tests, detecting patterns in the data, which can help quantify and evaluate the current state of the CI workflow. So for instance, if developers and managers were to manage the allocation of resources for CI processes and in order to save these resources, it would be really vital to know if a particular test has a higher probability to fail or if we could find an optimal stopping point of a build run after which the build would most definitely fail. And to do that, we calculate some relevant metrics and key performance indicators, which not only help us evaluate the AI-based enhancements we make to the CI processes but also pinpoint to developers what specific areas need the most improvement and therefore should be devoted more resources to. Next, we have an automated pipeline to do this in a recurring fashion. So after the collection of data, model training and all other parts of the machine learning workflow, we have to ensure that these tasks are sequential and continuous. So we automate the sequential running of the notebooks using a simple workflow, using tools like Alira and Kubeflow Pipelines which is a platform for building and deploying scalable machine learning workflows. We can run our notebooks in an automated fashion. Finally, in order to help the developers and stakeholders view KPIs, metrics and aggregated results of their tests visually, we create automated dashboards that can better help analyze the status of multiple tests, investigate the problematic tests, builds or jobs. Now let's take a look at the demo. So for the demo, we can quickly go to the Test Grid platform itself which is an aggregation of test build results. So if we click on Red Hat, we see that different versions of the OpenShift project use Test Grid to view the results of their CI processes. So as you can see here, there are a number of different tabs for different releases of OpenShift and it is further divided into informing, blocking or broken, which are the different test suits being used here. So if we go to a particular tab or a dashboard such as Red Hat, OpenShift, OCP Release 4.1 blocking, so we can see that there is a signal whether the tests are passing, failing or are flaky for this particular test, mostly are failing. So to look into these tests themselves and view them in a grid, let's just click on them. So now we can see that this is the grid view and this displays the results of the test run at different times. So what you're seeing is really whether or not a certain test passed or failed at a certain point. So this is essentially a 2D array which we can do some analysis on as data scientists and to get this data into a form of suitable analysis, we try to access this programmatically in a Jupyter Hub environment. So let's take a look at that. So this is the Jupyter Hub environment and we already have some notebooks ready here. So we're going to start with collecting the data through the notebook called KETRAWData. So in this notebook, we fetch the relevant data from testgrid.kates.io using basic HTML scraping techniques. So we start by connecting to the URL and try to fetch all the associated dashboard names. Then we iterate through all the dashboard names to collect the associated dashboard data and after collecting the data, we finally store this on SEF to ensure any further analysis. Now let's take a look at how we compute metrics from this raw testgrid data. So in order to ensure consistency, we have a helper notebook which outlines the template for a KPI metric contribution if you would like to contribute to the work of developing additional KPIs and metrics. So in this notebook, we import the raw data stored in S3 storage. We also introduce some helper functions that help in encoding what test status each value in testgrid corresponds to and then encoding the data set into lists that can be used in creating data frame with the metric values. So for example, in this notebook, we have performed a calculation to find out the number of flakes for a given dashboard grid or a test. So to compute a number of metrics to evaluate the current status of the CI workflow, we have these metric notebooks which compute these. So let's look at one metric notebook in detail which is the build pass failure metric. So in this notebook, the key performance indicator that we would like to create greater visibility into and track over time is the percent of builds that passed or failed. This can be used to capture the build success rate, that is the number of successful builds or deployments relative to the total number of builds and deployments. So we start off by importing the libraries and helper functions from the metric template notebook and then we try to import the raw data from SAF. In order to perform the metric calculation, we first start by finding all the tests which are failing, that is they have a status code of 12, as mentioned in the metric template notebook. After doing this, we move to collect all the tests that are passing and have a status code of one. So now that we have a list of tests that were passing and failing, let's calculate the build pass and build fail percentage. So as we can see here, the build failure percentage is 48.68 and the build pass percentage is around 50.94%. So post the metric calculation step, we use the Python package C1 to visualize the build pass and build fail across time. So this is how it looks like. So we also have interactive visualization for each of these metrics, which we will take a look at shortly when we demonstrate this superset dashboard. So after all of this, we try to combine the build passing and build failing metric into one data frame and then further store it into SAF's S3 storage. We saw how to compute various metrics from the raw test grid data. Now it's time to run all of these notebooks in automation. We have already created an ML pipeline using Ellyra. This ML pipeline consists of two steps which run sequentially. The first step is the get raw data notebook which downloads data from test grid and the second are various metric calculation notebooks which run in parallel. We can trigger this pipeline from the Ellyra UI and move over to the Kubeflow Pipelines to view the running jobs. As you can see here, the pipeline called the AI for CI demo was triggered and has started running. Once completed, the pipeline steps display a green check mark next to them much like this. We can automate this pipeline to run on a recurring basis such that the test grid raw data collection and metric calculation steps run on a daily basis and store the data on S3 storage. We now move over to the superset dashboard where we have created interactive charts to display the previously calculated metrics from the data stored on S3. For example, these charts tell us the total number of test cases, the number of tests that passed, the number of tests that are failing, etc. We can also view metrics such as the mean length of failures, which is how many times was the build or the test suite run before a failing test started to pass, the mean time to fix, which is how much time was taken before a failing test started to pass. Metrics like this can provide engineering managers with insights such as which tests or platforms have the most long-lasting failures or how long does it take for a failing test to start passing again. We can also filter this dashboard by tabs, grids and tests to view specific metrics to our product and test of interest. For example, if we filter by the grid periodic CI OpenShift 4.6 release, we will be able to see the number of test cases run for this particular grid and the associated metrics for this grid. All right. So let's engage. If you want to engage with this project, there are multiple ways to get started and we compile a list of ways you can engage with this project on this URL that you see on the screen. You can interact with and leverage the various open source CI data sources that we work with on this project, along with the data collection scripts and the various exploratory analysis. There are interactive and reproducible notebooks for this entire project available right now for anybody to start using on the public Jupyter Hub instance on Operate First. We also have interactive SuperSet dashboards for you to start interacting with and viewing the public KPIs. We also have an interactive model endpoint available for the GitHub Time to Merge ML model which you can try out. We run automated AI ML workflows using Ellyra and Kubeflow Pipelines. So if you wish to run ML workflows and automate your Jupyter notebooks, you can follow the guide that we have compiled. And to learn more about the different analysis and notebooks within this project, you can check out our YouTube video playlist. This is an open source project that we started within our small team at Red Hat. If this project is useful to you or if you are working on similar efforts, we strongly encourage your contributions to this effort. There are various ways in which you can contribute to our existing notebooks or contribute additional KPI metrics or analysis. So if you would like to contribute to the work of developing additional KPIs and metrics, we have a video tutorial and a helper notebook which outlines the template for a KPI metric contribution. If you would like to contribute to an existing ML workflow or model by improving it, we highly encourage that. Or if you wish to even add your ML analysis and model, we have an issue template for contributing to additional ML analysis as well. So thank you for joining us on this talk. Please let us know if you have any questions. Thank you, Oindrilla and Kanksa. Very great presentation and talk and a very nice demo. And now we'll take any questions if anybody has any questions.