2021 - Week 49

For the fourth time in twice as many weeks, we must kick off with an apology. When your regular correspondents last put pen to page, our notes came with an assurance that we’d learnt our lesson and would, from this point forward, commit to weeknotes being weekly. Or at least make best endeavours. Unfortunately, events have once again intervened. A bad case of RSI meant Anya lost the use of her wrists, Robert lost one of his ears, and Michael’s wife fell off a horse and broke her wrist - thereby confining Michael to basecamp, restricted to kettle-related duties. We know we are better than this. And also recognise our promises are next to worthless.

A big announcement

This week was a big one. Changes have been pushed to the statutory instruments website, allowing us to add new procedures without risking a fire in the instrument stack. The first of these new procedures - Published drafts under the European Union (Withdrawal) Act 2018 - has already made its way to the website, as have work packages for the six instruments we’ve seen to date. Hurrah!

For those wondering what a published draft might be, you’ve come to the right weeknotes. The publishing of such drafts results from an additional duty imposed upon Government toward Parliament, for statutory instruments which amend or revoke subordinate legislation under section 2(2) of the European Communities Act 1972 (as was). The details of this duty are set out in paragraph 14 of schedule 8 of the European Union (Withdrawal) Act 2018. So now you know. The unbolting of this particular procedural door is merely a first step. Now we’re able to add additional procedures, expect others to follow in fairly short order. For some definition of short. More later.

We’ve also added enabling acts to both model and data. Which means you can search for proposed negative statutory instruments enabled by the European Union (Withdrawal) Act 2018 as opposed to any future instruments that may be enabled by the European Union (Future Relationship) Act 2020. Examples of which we have yet to see.

The enabling Act filter works across all flavours of SI but is currently limited to Acts given Royal Assent since 1987. That said, we’re working with our friends at TNA to rectify this. No pressure Catherine. We’re also more than aware that Acts are not the only things that enable SIs. One day we hope to update the filter to include all enabling things.

On the subject of both enabling and enabled things, we should, at this point, thank Matthew for a very useful pixel-based chat back in lockdown one. The current shape of the SI website, our data, our legislation model and our ability to add new flavours of instrument on the merest whim owe much to that conversation. Thank you Matthew.

For the more SPARQL minded, you will be pleased - if not surprised - to learn that Librarian Jayne has also added a whole suite of published draft queries and a slew of enabled thing queries to our ever growing query library. She’s also rewritten a good many of our existing queries to cope with our lovely little enabling / enabled model.

Other changes to website presentation have also gone live. For more on those, read Jayne’s short thread on made-n-laid. It would be rude to leave this section without a small round of applause. Firstly to Jianhan for his help with unblocking enhancements. Secondly toward Ian for his diligent and exhaustive efforts at liaison. Always to JO Jane - partner in crime, special envoy to the Legislation Strand Board, sense checker, voice of reason, patient responder to silly questions. And last but far from least to Jayne who has been designer, query writer, modeller, mapper, data manager, project manager, delivery manager and more. She really does deserve a rest.

Remediating remedial orders

One week on, and we are slightly less baffled by the made affirmative remedial order procedure. But only slightly less. Journal Office Eve confirmed our assumption that such an order can be scrutinised but not approved in the first 60 days following laying. This because the Minister must consider representations made during that period. That said, she also confirmed that the Act is silent on this point. A recommendation to gather legal advice was issued and a fresh email has winged its way to Ellie.

Public bill progress …

… has been minimal. Our basic bill model finally got sent to a number of the usual suspects with a request for comments. Luckily, nobody complained about our subclassing of hybrid bills under public bills. Which is the bit we probably spent the most time on. So that’s a relief.

Legislation Office Liam got back to point out it is always Explanatory Notes, not Explanatory Note. Michael must take the blame for this, having always preferred singular class names to plural ones. Even when that is clearly incorrect. Sorry everyone. Liam also pointed out that our legislative consent map for the Senedd Cymru should probably say Senedd Cymru, and not the Welsh Parliament, as we have now. That is, after all, not only how it describes itself, but also how the UK Government refers to it. Liam also made recommendations for further classifications to cover money bills and bills of aids and supplies - whether such distinctions belong in the model or in the map, we’re not yet quite sure. We suspect the money-ness of a bill belongs in the map and the supply-ness in the model. Perhaps. Time will tell.

We do now have both map and data for motions for leave to bring in a ten minute rule bill. Up until Tuesday of this week, we also thought we had both map and data for Commons first reading and a fairly reasonable start on a map for Commons second reading. That was before Liam was kind enough to spend an hour listening to our prattlings. Which is why both maps now feature assorted scribbled margin notes. More work for next week. Thanks Liam.

The cancellation of deferment

By rights, once a motion is moved it belongs to the House and cannot be withdrawn unless the Member who moved the motion begs permission to do so. And, once the question on the motion is put, some outcome must occur. It really should not be possible to withdraw a motion once the question has been put to the House. In the House of Commons, there is the concept of deferred divisions. The question is put on a day, and the division takes place on some later date. Our maps have always allowed for deferment of the decision, but not for a question being deferred and the motion then being withdrawn. Unfortunately, just such a fate awaited the Motor Vehicles (Driving Licences) (Amendment) (No. 2) Regulations 2021. The 8th of November saw the question put in the Commons, and the division deferred until the 17th. The 16th November saw both the instrument and its approval motion withdrawn, and the deferred division cancelled. An eventuality that we have not mapped.

Following a request from the Commons Journal Office, Jayne and Michael have added “deferred division cancelled” steps to all four statutory instrument procedures and to our CRaG-based treaty procedure. Leaning on Chesterton’s fence, they have made these routes time-bound ones, to a window of one day before and one day after the event just described. Our procedure parsing code will not show this as a thing that’s possible to happen. At least until it happens again.

Problems with parsing

Our regular reader will know that at some point late last year we took the decision to move from binary logic to ternary logic. We had no clear memory as to why. Librarian Jayne has recently been testing our Jianhan’s procedure parsing code and stumbled across a rather unfortunate problem. Please bear with us here.

The shift to ternary logic had seen both unactualised steps and actualised steps with a business item having either no date or a date in the future, emit a NULL and not a FALSE. Logic steps were similarly updated to handle inputs of TRUE, FALSE and NULL. A NULL input being specified as rendering a logic step as transparent. This meant that an AND step in receipt of a TRUE and a NULL would output a TRUE. Fans of joint committees will spot an obvious error here. An instrument being laid in the Commons emitting a TRUE and being not laid in the Lords emitting a NULL, the two being combined via an AND step to emit a TRUE. Thereby bringing the Joint Committee on Statutory Instruments into play. As any fule kno, the JCSI only examine instruments laid before both Houses. So what we had was most definitely - and worryingly - wrong.

The problem was, whilst everyone had a recollection of the switch to ternary, neither Anya nor Jayne nor Robert nor Michael could remember why. Anya came up with the bright idea that, since we write weeknotes, there might be some clue in there. A quick Google later and the notes from week 46 of 2020 came up trumps. Unfortunately, they still made little sense. We feel for our reader. For two long and terrifying days Michael thought we might need to remap everything with two different styles of AND step. But further sketching revealed no situation in which simple binary logic would not work. So the decision was taken to amend two lines of Jianhan’s code to make the switch back to binary. Jayne has re-tested; existing errors have been fixed and no further errors have been spotted. There is still some minor tweaking ahead - to tighten up the logic in our maps - but no need for a full-scale rewrite. For which we wish to thank every diety known to man. And then invent some and thank them too.

Written statements

We recently realised we’d somehow forgetten to model written statements. This oversight has become problematic as our attentions turned toward written questions and answers. The start we have made on example RDF for written questions is somewhat hobbled by our inability to describe corrections to written answers made in the form of written statements. To plug this hole Librarians Anya and Emma and their computational errand boy Michael found themselves meeting via pixels to sketch an outline of a model. The major change from existing models is the insertion of a FRBR-style work-level concept of a written statement. Upwards of 90% of such statements are duplicated across the two Houses; adding a House-independent work-level object gives us a way to wrap the two statements and annotate appropriately. Whilst also saving our crack team of librarians a great deal of work. We really need to chat this through with colleagues in both Table Offices before we start to transition from pixels to Turtle but with Christmas Recess rapidly approaching that may well be a job for the new year.


Our efforts to relationify some of our more ontological efforts continue to gather pace. Librarians Anya and Ned were joined by computational colleagues Robert and Michael as our geographic area model made its way into SQL, where it was joined by our first attempt to describe excepted offices named in paragraph 2 of section 2 of the House of Lords Act 1999. Next up, elections. Lovely stuff.

Patching / upgrading

In monumentally unexciting news, Michael somehow found time between kettle duties to upgrade the code that sits behind made-n-laid, tweaty twacker and our beloved egg-timer to Ruby 3.0.3 and Rails Our user should see no actual improvement to these services but, in the unlikely event someone felt the need to hack them, doing so has been made more difficult. We read this week - we forget quite where - that if you want your code to remain invulnerable to exploits, you really need to be deploying at least once a week. And preferably more. Whilst we can’t quite commit to that level of service we cannot disagree with the advice.