2021 - Week 31

Work experience

Our regular reader will know that last week we were fortunate enough to be joined by Work Experience Singrid. And that Singrid was more than fortunate to join us. To be quite frank, so great was her excitement at last week’s wander into the world of work that we weren’t entirely sure she’d turn up for more of the same. We have no wish to overwhelm her with our enthusiasm. But turn up she did and what a treat she was in for.

Tidying the treaty procedure

Monday saw a slow start to the week as Librarian Jayne and Michael put the finishing touches to our logically and arithmetically mapped treaty procedure. An edge case of an edge case occurred - they found themselves wondering what would happen if a division was deferred within a scrutiny period to a point in time outside the scrutiny period. A quick bout of email tennis with Mike confirmed that this was not a thing that should or could happen. So new routes were added to preclude not only questions being put but also the results of such putting outwith both periods A and B.

Final preclusions in place, we were ready to dictate the procedure to the machines. Or rather, Michael was ready to dictate to Jayne who, in turn, dictated to the machines. Young Singrid sat transfixed as Michael read out, “AO AND to AP AND” and Jayne asked, “AG?” and Michael screamed, “AP” and the air turned a dark shade of blue. After several hours of this, all routes were finally inside the machines and we politely enquired if the machines would be kind enough to draw it back to us. The machines thought about it, whirred a little, thought about it some more, buzzed a little, and, with some gentle coaxing, spat out this unholy mess. Young Singrid finding herself in the enviable position of being one of the first people to ever see machines attempt to draw a logically and arithmetically mapped parliamentary procedure. “Wow”, said Singrid. “Wow”, said Jayne. “Wow”, said Michael. “Wow”, said Twitter.

The SI procedures strike back

Wednesday was Singrid’s last day with us and we didn’t want her to go away under the impression that the world of work is in any way tedious or pointless. So Jayne and Michael gave her a quick introduction to bills and Acts and delegated powers and duties and our four flavours of statutory instrument procedure. “Wow”, said Singrid again.

Even though we’ve only recently remapped the SI procedures, we’ve had a long standing problem with asserting what should happen in situations where the tabling and disposal of motions may be asymmetric. In the past we’ve solved this by ignoring it and implying some sense of symmetry that did not reflect reality. Since our adventures in treaty map land, however, we have solved it by actually solving it. The addition of arithmetic operators to our arsenal means we can now sum the number of disposals against the number of tablings and calculate how many cards are still on the table. So we’re now back in SI map land, adding arithmetic and signpost steps in our constant quest for Turing complete procedures. Which meant Singrid was lucky enough to see the Commons side of the made negative procedure logically and arithmetically remixed. “Wow”, said Singrid once more. “And, can I phone my dad now? I’d like to go home.”

Signposting » Summationing procedures

Last week we finished adding what we had called signpost steps to the treaty procedure. By Saturday, doubts were cast. ‘Signpost’ implies an arrow pointing forwards and these steps definitely point back. So what were signpost steps are now summation steps. Our Jianhan has updated his handy little step checker email which now properly counts the inputs and outputs of our new step types, Jayne has updated both the data and all the keys on all the maps and Michael has updated both design note and parsing code.

On parsing and reasoning and reckoning

On the subject of parsing, Jianhan has set about adjusting our procedure editor database to move laying dates from layings down to the more generic business item. This is where dates for other types of business item also live. Which means next time we attempt to parse a work package, it should no longer say a thing that may happen is laying before the House of Lords when the instrument has already been laid in the House of Lords, been scutinised by the House of Lords and the objection period has ended.

On the same subject, Michael has been tinkering with our parsing application to churn out a dot file with procedural routes listed in the order they happen to be parsed. The code we’ve written uses a depth first traversal and - because some steps have more than one input - there are occasions on which the same route is parsed twice. Or more than twice. He wondered if it might be possible to animate a dot file to see the order of execution; the first port of call for such queries is always our good family friend, Tony. A brief chat was had and before the day was out, Tony had not only animated the dot file but written a blog post on the subject. It should probably be pointed out that the title of that post is a little incorrect. The visualisation shows the order of execution of our parsing code rather than the order of execution of procedure. Which is all together more complicated. Or complex. But if your interest is more parsing than procedure, the results are here:

Parse paths for an instrument subject to the made negative SI procedure

More on the nature of time

A tweet from Alice caused us to wonder if we might repurpose the calendar data that sits behind our beloved egg-timer for purposes a little more simple than calculating scrutiny periods. The data is entered into a set of - open and subscribeable - Google calendars by our team of crack librarians. But, as we have a calendar for each flavour of day, grabbing all of them would mean five subscriptions. For this reason, Michael spent a couple of evenings making iCalendar files for upcoming days in the House of Lords and upcoming days in the House of Commons. “Wow, once again”, said Twitter. Except for Anya, who - being more bicamerally minded - asked, “why haven’t you made one calendar for both Houses?” So that was another evening lost and we now have a Parliament wide feed for upcoming days. All three feeds are available from our handy new calendar subscription page. Please fill your boots. We’d like to thank Mark for chipping in with the testing and Sym for making Michael actually read the spec. If you ever find yourself with a spec to write, please do look at the iCalendar one and do something different.

Finally, Librarian Richard got in touch with more talk of time. He’d been looking at section 2A of the Water Industry Act 1991 and happened upon an example of something that looks very much like a draft negative procedure and another example of something that looks very like a draft negative style clock. Which made us wonder: how many pieces of legislation set out details of scrutiny periods in a similar fashion. A quick Google search over legislation.gov.uk reveals 19,300 results for documents including the phrase “during which Parliament is dissolved or prorogued”. Which has us wondering: do drafters have mechanisms to re-use commonly applied fragments of logic? Or is it yet more of the usual copy, paste and amend? Do let us know if you know.