2021 - Week 25

Keeping in sync

Lockdown has made it difficult not only for us mere mortals to stay in touch; our mighty machines are also suffering. This week our Jianhan and Sadia have been mainly attempting to plug the gaps between the Parliament Thesaurus stored in our indexing systems and the Parliament Thesaurus as expressed on data.parliament. We have reason to suspect that the two have not been in sync for the better part of 12 years, as the script that supposedly does some of this job - the insert and update - frequently finds itself rather tiiiiiieeeerrrd and takes a time out. Before starting again from scratch and never quite making it to the end. We don’t mind admitting to recognition. Who amongst has not set out with the best of intentions, only somehow to end up taking a nap.

This week a breakthrough has been made, and all freshly created and edited and deleted terms are now in sync. It only remains to fine tune the deletion process. Prior to last week, deletion simply wasn’t done, and now we have a somewhat time-consuming manual process. Boss bloke Ian has been pouring over the manual and we hope to have a means allowing the machines to export, compare, contrast and delete shortly.

Once that’s done we should - in theory - be able to publish a fresh CSV export for our Wikidata friends and a brand new mix n match should become available. Hurrah.

A new procedure this way comes!

In other keeping in sync news, Librarian Jayne and computational ‘expert’ Michael spent a little time bringing our step typed map and data into line with our route typed map. We remain blocked on entering route typed data to our live environment but as both sets of maps are yet to be marked by the eagle-eyed JO Jane, that’s probably for the best. It’s a litte too warm to be patching up data off the back of marked homework.

We also had a ticket to reconfigure our beloved egg timer to cope with Commons only published drafts. Or at least, we thought there was work to do there. Upon perusing the legislation, it became apparent that the Act talks only in terms of both Houses. We are as yet unsure as to whether the Lords will be notified for published drafts preceding Commons only instruments, and also all notifications are by agreement. The legislation offers no opinion. Which meant we came to the conclusion that a Commons only clock was not warranted. Unless and until JO Jane expresses a differing view, that ticket is burnt.

Relationifying the models

Back on the subject of keeping things in sync, Anya, young Robert and Michael have added a change events table to our more relational efforts. It is intended to record any insert, update or delete: the name of the table subjected to modification, the ID of the row being tweaked, the nature of the change and when it happened. This allows external systems to subscribe to a feed of changes and sync themselves accordingly. As Robert points out, Postgres at least has its own mechanisms for tracking changes. And as Michael points out, it is hard to put one’s trust in a system if one cannot see where it keeps its brains. And if it was good enough for telly programmes

In more domain centric news, our fearsome three have now finished the work of describing why a peerage might lead to the existence of a seat and why the holding of a peerage might lead to the existence of an incumbent bottom in said seat. They’re now off doing the same for our two flavours of bishop. And rapidly discovering their ecclesiastical and spiritual knowledge is not up to the high standards of their knowledge temporal. Next week should see them dip back into elections and at some point soon we should have a model describing all the reasons why a seat might exist and all the reasons a bottom might be placed in one.

Logicifying and indeed componentising the procedure maps

After discovering - with some degree of horror - that neither the withdrawal of a treaty nor the Government picking up their football and invoking Section 22 of the Constitutional Reform and Governance Act 2010 acted as any kind of a brake on a committee offering a comment, Jayne and Michael have been busy re-engineering componentised and logical committee maps and data. Last week it was the turn of the Commons committees. This week they’ve been bringing Lords’ committees back in sync. They would like to apologise for acting in haste. And also point out that they have not repented at leisure.

Provisions of regulations into force

It’s rather hard to squeeze this into this week’s theme of things being in sync. But, we’ve never been ones to duck labouring a point or stretching a metaphor, so let’s say we’ve finally brought a step label in sync with commonly understood English. In the process of remapping, we hit upon a step labelled ‘Provision of the regulation comes into force’. This refers to instruments laid under the Sanctions and Anti-Money Laundering Act 2018. “The hell does that mean?”, Michael gently inquired. In consultation with JO Jane, that step is now relabelled ‘Commencement Order made (signed into law) triggering approval period’. Which, we’re sure you’ll agree, makes much more sense.

Arithmeticifying the procedure maps

We know our loyal reader signed up to this in the knowledge they’d receive a weekly dump of procedural, legalistic and pedantic web nerdery, written by people well-meaning but no smarter than a puppy. Even so, some of the holes we find ourselves stuck can be a little bit much. And so dear reader, if you’re having a bit of a long day, you may want to look away now. Sitting through an explanation of arithmetic procedure maps might try anyone’s patience.

In addition to keeping our machines in sync, we also need to keep our motions in sync. Please don’t snigger. Take for instance a stage in the passage of a bill when amendments are tabled and decided upon. Ignoring - as we must, lest our brains break - the existence of amendments to amendments. It is possible for many amendments to be tabled in parallel. Such amendments may meet with a variety of fates. They may be withdrawn, they may lapse, they may be not moved or they may be moved and have the question put upon them. To determine whether there is an amendment on which a question has not and might yet be put, we need to determine how many have been tabled and how many have already met their fate. In other words, in knowing this we can determine if there is a tabled amendment still extant - or “in play” as we sometimes say, baseball caps reversed.

A wee while back Anya and Michael discussed the matter at some length with our Samu - ex of this parish. Guinness was taken and options evaluated. Samu neither scoffed nor screamed at Michael’s suggestion of adding arithmetic operators to our procedure maps. Which was good enough for us. So now we’ve added a PLUS operator and an EQUALS operator to both our CRaG treaty map and the code we use to parse such things. We’ve also amended our design notes accordingly. The new operators allow us to sum the number of ways a motion or amendment has met some fate, compare that against the number tabled and come to some conclusion about whether there are any left to be decided upon. Lovely.

This week Jayne and Michael have been attempting to add this to our treaty map. And struggling. It all works fine when one is comparing the number of motions tabled to the number of such motions having met some kind of fate. But CRaG has an oddity whereby tabling can happen in both Houses during period A but in the Commons only during period B. So if we know we’ve entered period B once and that both Houses have resolved against ratification once, it’s impossible to say whether the question was put in the Commons during period A or during period B. Michael tried to engage Anya and Matt with this question on Thursday night but, truth be told, they both seemed rather more interested in their pints.

If anyone has managed to read this far, and with interest, please do get in touch. Michael would be delighted to buy you a drink. He might even sketch out the Commons resolution in period A versus Commons resolution in a period B dilemma. Not an offer you’re likely to get every day.