2021 - Week 27

CRaG complications

Last week’s notes struck a tone of triumph. Our top team of librarians and computational experts being under the happy illusion they’d finally cracked our CRaG based conundrums. Joy was unconfined, but not set to last. Around the time Michael pressed publish - or just before, if we’re going to be totally honest - he realised that we’d failed to take account of sections 20(7) and 20(8). Once again snatching defeat from the jaws of victory.

We had been operating under the impression that should the House of Commons not approve a motion that the treaty should not be ratified in period A and the House of Lords did approve such a motion, a ministerial statement that ‘the treaty should nonetheless be ratified’ would send us tumbling into the first of a potentially infinte set of period Bs. It turns out this is not the case. Should the Lords resolve against ratification and the Commons not, a ministerial statement is all it takes to make ratification possible. This simplifies matters considerably. For some definition of ‘simplifies’ and ‘considerably’.

This led to Librarian Jayne and Michael spending more time in the brain melting mess of a map that is the ‘simplified’ CRaG treaty procedure. They have a new version of the map, a new version of its plain text equivalent and have declared themselves happy. Some of the simpler parts around the tabling, debating and moving of motions in the Lords have even been decanted into the logical treaty map proper. Comments, clarifications and corrections from confirmed CRaGheads, all more than welcome. We expect our Rules as Code badges are in the post.

Parsing the procedure maps

In the course of CRaG mapping, we’ve managed to invent four new step types: a sum step, an increment step, an equals step and a signpost step. Our new widgets seem fairly stable, so Michael has spent a small part of the week adapting our parsing code to cope with the first three. A job made much easier by the code being nicely modularised. Thanks young Robert. Thanks younger Michael.

Code for the parsing of signpost steps is currently in pieces on the floor of Michael’s machine. It should be trivial because they don’t really do anything. They were invented in the course of our mapping, to wrap up sets of arithmetic and logical operators into one reusable package. They take a single input from a chain of preceding steps, decorate them with a comment to say ‘if the input to this is true, this comment is also true’ and spit out all the attributes of the inbound route into one or more outbound routes. Which means - once we’ve worked out a logical package - we can reuse it from any other part of the map. Lovely.

On the nature of time and the timing of eggs

Our regular reader will know we’re incredibly proud of our wee egg timer. It takes assorted bits of legislation pertaining to the scrutiny periods for assorted types of instrument and renders them as code. Allowing clerkly colleagues to select a procedure, set a start date, choose the number of days to count and be rewarded with an answer to the question of when the scrutiny period ends. All of this is rather fine, but …

… for some flavours of instrument there are a defined number of days to count. Whilst others have a typical number of days, but with caveats. And then there’s our blessed made affirmatives, for which the number of countable days is impossible to predict without reference to the enabling legislation. Over the course of taking a pint or two with Anya and Michael, Table Office Matt expressed his delight with the egg timer. How could he do otherwise? And he also suggested that, for procedures where the day count is set in stone, it’s a little bit rubbish to present users with a blank text box. So there is now new code. For the set in stone flavours, the day count box is pre-populated. For procedures with typical day counts and caveats, the day count box is pre-populated with a warning that it may be well be wrong. And for procedures with no typical day count, the box remains empty with a handy link to our user guide. Which is better than nothing.

A new procedure this way comes

On Tuesday, we were delighted to welcome back JO Jane on her return from a short vacation. The published draft map was dragged back out and picked over with her usual fine toothcomb. As a result, what had been an optional ministerial statement in the Lords has been removed from the route type map, the logical map and the data. We await a couple of website tweaks and all will be revealed.