2023 - Week 8

Lifting / shifting

If our regular reader has turned up in expectation of the usual procedural pedantic web content, we fear they’re in for something of a disappointment. There’s way more than statutory instruments and treaties going on round our house. Sometimes, we do actual computational things. It may not please our reader. It does not please us. But someone needs to take care of the blasted things.

Late last year - sometime around October we think - a somewhat ominous popup appeared in Azure. As is the wont of Microsoft products. We were to consider ourselves warned that support for Ruby 2.7.2 would cease in April. This made some sense. Ruby 2.7.2 being several version numbers before the latest stable release. Hurrah, we thought. Someone in Seattle has given some thought to security vulnerabilities.

We made an appointment with ourselves for the new year expecting, at worst, a week’s worth of updating Ruby, Rails and associated Gems. Imagine our disappointment when we reconvened, examined the small-print and found our Partners were not only deprecating Ruby 2.7.2, but deprecating Ruby altogether. In the bin. Begone. Adding insult to injury was the news that users of Azure wishing to use Ruby could by all means crack on - but only via the medium of Docker. Something we wouldn’t wish on our worst enemy. We guess it’s one way to run a “cloud platform”.

There we were, in the unenviable position of having a handful of Ruby applications and nowhere to run them. And then, with excellent timing, the syncing scripts from our Google calendars to our beloved egg timer fell over. A tragic event coinciding with our Jianhan’s absence from the office. Our plucky computational experts Young Robert and Michael pressed on, searching the length and breadth of Azure for the application logs. And came back empty handed. Dear reader, you have more chance of seeing a debate on your early day motion paying tribute to Doris and the twenty thankless years she spent keeping the tea urn warm than you do of tracking down application logs on Azure.

Fortunately, boss’s boss Bryn is recently in possession of a corporate credit card, which he plugged into Heroku. Since then, Young Robert and Michael have been manning the GitHub wheel. So far our written answer bots, the MNIS prodder and our beloved egg timer have been migrated. UK general elections to follow shortly. You’re thinking it, so we’ll say it - and they’re veritable swans those two, gracefully navigating computational waters, their little legs paddling furiously away below the surface.

Oiling the machinery of gumint

The recent changes to the machinery of government will not have escaped our reader’s attention. If you tuned in back in week 6, you’ll know that Librarian Emily put in a top data wrangling shift, earning herself a one third share of our much coveted Librarian of the Week Award. However, the creation of new laying bodies requires the attentions of our Jianhan and our Jianhan was sadly unavailable. So, for a wee while, our crack team of librarians were forced to add a handful of new work packages with no laying body. Thankfully, Jianhan has now returned to the fold and that gap has been plugged. We now have our first statutory instrument laid by the Department for Business and Trade. Should an SI arrive from the Department for Energy Security and Net Zero, the Department for Science, Innovation and Technology or the Department for Culture, Media and Sport, all three laying bodies wait in the wings.

Our eagle-eyed reader may well notice that the laying body drop-downs on both the SI website and the treaty tracker grow ever longer, showing current departments alongside departments long dead. Please rest assured. Jianhan has also applied end dates to defunct departments, so at least our computers can differentiate. We’d rather like our users to be able to differentiate too, but, sadly, website serialisation remains outside our control.

Procedural parsing

There’s little point in making machine readable procedure maps if you don’t have the code to parse them. Luckily, we do. Equally luckily, we have our Jianhan back. As new features are added to the model, we’re keen to keep model, information and machines in sync, so this week Jianhan’s been adding step depth awareness to our parsing code. This means steps having been parsed and deemed to be caused to happen, allowed to happen or precluded from happening, all now appear in procedural order. A change that should make our crack team of librarians’ lives much happier. Have a click. See what you think. Top work, as ever, Jianhan.

Backing gracefully away from parliamentary papers

Back in week 6, we were still struggling with the distinction between papers and parliamentary papers. Off the back of weeknotes, Journal Office Eve got in touch to point out that, whilst Erskine May defines parliamentary papers quite widely, the Parliamentary Papers Act 1840 takes a narrower view, being papers published by order of or under the authority of either House. Eve noted that changes to publication practice have led to a schism between legal meaning and common parlance. These are not waters we wish to wade into. Clearly. We’re not masochists. Our journey along this particular avenue has come to an end.

We’re occasionally asked why we bother to write weeknotes. This is exactly why we write weeknotes. You don’t get these kind of insights from distributing a RAG report. Thanks JO Eve.

Procedural cartography

Not much news on the procedural cartography front this week. Librarian Jayne and her computational footman Michael continue to plug away at documenting what can happen to a motion and when and why. Once the cheat sheets are complete and signed off by the usual suspects, they plan to incorporate all they’ve learned back into map land.

Over in statutory instrument land, Librarian Jayne stumbled across an unexpected motion in the early day bagging area when the Official Controls (Northern Ireland) Regulations 2023 turned up with both a fatal prayer and an accompanying EDM. Unfortunately, the EDM website does not allow associated EDMs to be linked together. An unfortunate omission. In the absence of a link on that side, we wondered if we should add one on ours. We already have steps dealing with fatal motions - obviously - but nothing covering accompanying EDMs. A conference of crack librarians was convened, concluding we can’t keep expanding the procedure maps to plaster over cracks elsewhere. Always nice when we decide to do nothing.

In other exciting mapping news, Librarians Jayne and Ayesha have finally finished checking all the routes in our legislative reform order map. That’s 1441 routes. Which is a hell of a lot of routes. Their efforts were rewarded when they found two routes plugged into the wrong steps. Given our data input workflow involves computational cabin lad Michael reading out ‘AB AND to BC NOT’ over a wonky Teams line, such a small rate of error only goes to show that Michael’s diction is improving.


Librarians Anna, Emily and Phil continue to plug away at preparations for the next general election. Between now and then we’re expecting a boundary change. Which means the current 650 constituencies will fade out of existence and 650 new ones will need to be created. Thanks to geographic expert Carl, we now have a list of proposed names for the new constituencies, the region or nation they sit inside and their type - borough or county. The data has been saved as a spreadsheet roughly the same shape as the constituency table in MNIS. We remain a trifle confused as to what the attributes MNIS allows for might actually be, where they might be used and whether they’re even used. Who knew that clerks have their own IDs and names for constituencies? I mean, it seems unlikely. We know most of the constituency table attributes are nullable and had hoped that they’d be unpopulated. At least for the current 650 constituencies. A null value being a pretty good proxy for deprecation. Librarian Anna fired up the OData endpoint and investigated how many of the current constituencies have a value for each attribute. Unfortunately - for us at least - quite a few of the attributes appear to be populated, 560 current constituencies having a PCon ID, for example. Whatever one of those is. Investigations continue.

One column at least is less of a mystery but definitely none of our business. A schools subsidy band is applied on a per constituency basis to calculate subsidies for school trips to Parliament. Colleagues in Engagement and Education have been alerted that - should the boundary change happen as expected - they have 650 new records to update.

Away from constituencies, we also have political parties to manage and map. The MNIS admin application has an “end membership” button that triggers some kind of “wizard”, but - much like all wizards - it’s hard to see exactly what magick it’s performing. Librarian Phil has been investigating and can now confirm said wizard does end all party affiliations. Which is nice.

Phil has also been investigating how data captured in Oli’s Candidates database was transferred to MNIS. He’s managed to uncover a couple of XML files: one listing winning candidates for the 650 constituencies, one listing all candidates with vote counts. The plan remains to stop using the old Candidates database and instead use feeds from Democracy Club. But that relies on a lot of careful planning and a lot of identifier alignment for people, parties and constituencies. Which is why we’re currently drowning in spreadsheets.

On matters of modelling

Modelling efforts continue to concentrate on specialising the many and varied ways in which papers are made available to a House in Parliament. In addition to our lovely laying model, we now also have depositing, presentation and reporting stacked up in the pipelines. Lovely stuff.

Librarian organ grinders Jayne and Claire alongside their computational monkeys, Young Robert and Michael, have also been busying adding comments to our bill model. Which is now complete. Or as complete as we think it needs to be to for our immediate purpose of helping Legislation Office Liam track legislative consent motions.

On the subject of which, Tuesday of week 7 saw a most helpful meeting with Parliament and Constitution Centre colleagues Graeme, Richard and David. Other than double checking we haven’t made entry into LCM procedure self-precluding, we don’t think we have any changes to make here. Though time will tell.

On matters of information management

Our regular reader will know that Librarian Jayne spent a large part of the last year adding short titles and Royal Assent dates to tens of thousands of Acts. This from a spreadsheet kindly supplied by The National Archives. Librarian Jayne would like to send a shout out to Librarian Ned, who took it upon himself to run a second eye over her work. Ned has fixed typos on 89 titles. He’s also highlighted three Acts that Jayne had forgotten to remove where the Royal Assent date proved impossible to track down. Not only that. Ned has also eyeballed 1016 Acts in our thesaurus to check for errors there and to cross-reference with the data Jayne’s collected. As ever, he’s done a cracking job. The data is improved and ready for import.

Team:Thesaurus met on Thursday to discuss adding the full list of Acts to our thesuarus for the purposes of subject indexing. Happily - and not unexpectedly - all present agreed this was not necessary. There’s an Indexing Review meeting pencilled in for early March where our crack team of librarians plan to discuss how they’ll approach indexing the new old Acts when they’re available in Search.

As ever, having more than one organisation managing different versions of the same list is less than ideal. At some point, we really need to sit down with TNA types and chat APIs and interoperability. We’re far from being selfish, but it’s not like we wouldn’t like some links back. But that’s for the future.

Elsewhere in thesaurus land, Librarian Emma cantered through a list of over 500 organisations pulled together by Librarian Ned. The organisations were witnesses to committee inquiries from as far back as 2006 - all of whom had hitherto been languishing as strings in our Search and Indexing database. Thanks to Emma’s legwork, tracking them down, polishing them up and popping them into thesaurus - with scope notes! - we now have things where we once had strings. Lovely stuff.

Kind hearts / coronets

Librarian Ned has added peerage holding records to our peerage database for everyone who’s ever been on the register of people eligible for inclusion in a House of Lords by-election. Or HL2 as we call it in these parts. This includes everyone who’s ever stood for election, lost and subsequently withdrew from the register. Top stuff.

In Lords Spiritual news, Ned, Robert and Michael continue to plug away at modelling Church of England dioceses - England only - and the bishops incumbent in them. Efforts remain concentrated on a set of Google spreadsheets which Ned’s been busy populating. Unfortunately, it’s the best we can manage, as Michael still lacks a working computer. This week, Ned dredged up the matter of the Acts of Union 1800 giving seats in the UK House of Lords to four Church of Ireland bishops, to be rotated between them. Which complicates matters enormously. The seats ended and bottoms were evicted upon disestablishment of the Church of Ireland in 1871. Whether or not we decide to bite into this cherry rather depends on whether we ever hope to describe all seat incumbencies between 1801 and 1870. We think we know what Paul would think.

Plugging into peerages

On Wednesday afternoon, Young Robert and Michael had a pixel-based meeting with Shedcode James to chat through how we might bring both peerage and standing order data into the open data platform. James has already done some work on a RESTful change event API for the latter, but there’s currently no way for a computer to chat to the peerages database. It turns out that boss computational expert Ian is more a fan of push-based systems than pull-based ones. So James is planning to cost the addition of a REST API to peerages and a message queue based solution for both. Marvellous!

And finally …

Monday of week 8 saw your usual cast of characters meet with procedural colleagues from the Northern Ireland Assembly. For once in real life, rather than pixels. The meeting was billed as matters pertaining to computational procedure but took an early swerve into difficulties emerging from funding arrangements and commissioning setups. A delightful conversation. Well, we enjoyed it anyway. We hope we did not bore our guests. Thanks Roisin. Thanks Michael. Thanks Kevin.