2022 - Week 19

Working in the open - slight return

A question we’re often asked is, why do you choose to work in the open? This is a lie. We’re almost never asked that. Nevertheless, we never let the lack of a question get in the way of providing an answer. Usually at some length. Lessons learned from the old BBC Backstage days linger with Michael, and ‘there are more experts out there than in here’ remains as true as ever. Organisations are porous and should be encouraged to be so.

When it comes to parliamentary procedural expertise we are truly spoiled. The likes of JO Jane, Martyn, Matt, Anna, Richard, Graeme, Andrew, Liam and a cast of several dozen others never recoiling at even our dumbest questions. Not to mention our small cast of ever helpful retirees. Waves to Paul. Then, of course, there’s team:Daniel for all our statutory interpretation needs. For questions beyond the parsing of legislation and procedural pedantry, there’s really no substitute for working in a library. Or The Library, as we like to call it. But even The Library doesn’t know everything.

So we’ve been grateful over the years for all kinds of external advice and information from folks such as Andrew and the wider Wikidata community, Matthew, Luke, John and the whole TNA crew. If anyone knows of a Mark that would like to chat to us we’d be delighted to have the full set. In the meantime, we thank you all as we kick off this week’s notes with three stories of working in the open.

The first story is not of our working in the open but of Terence. We’ve been following with some interest his thoughts on registering Twitter bot accounts and his subsequent work in this area. As our reader will well know, we run a small farm of our own bots and would very much like to see them verified. So Monday saw librarians Anya, Jayne and Phil and ‘computational expert’ Michael meet Terence over pixels for some proper public sector collaboration. Twitter have recently tweaked their rules on registering of developer accounts, to crack down on the bad bots. Which has an unfortunate side-effect of also cracking down on the good ones. It’s now necessary for every developer account to have a unique phone number. Given we’d like to make more bot accounts for more answering bodies and our public sector salaries don’t run to 30 odd burner phones, we’re kinda stuck. It turns out that verified bot accounts can get round this problem but, for now, it’s an invite only programme. Now, we’re not the types to endorse privileging certain users - as anyone who’s ever met us in a pub will well recognise - but this is all in a good cause. Terence has been chatting to Twitter people on our behalf and we remain hopeful that our bot family will be verified at some point. Thanks Terence.

The second story pertaining to porousness revolves around our Trello boards. Unlike, it would seem, most teams in public sector organisations, we do not write a weekly report outlining which bits of our software dreams are red, amber or green. Only partly because at least one of us is what colour-typical people call “colour blind”. Instead, we write these notes and keep all our work in progress open. Which is why, when Librarian Anna found herself confused about why Prof. Rush might have appended superscript footnotes to constituency start and end dates, she wrote a card. Imagine how delighted we were to see Librarian Andrew chip in with the most likely explanation. We were absolutely delighted. Prove to us you get that service from JIRA and Confluence and we’ll buy you a drink. Thanks, as ever, Andrew.

And finally, we do not write much code. It’s not in our job descriptions and we don’t consider ourselves much good at it. But when we do write code, we put it on GitHub. Many eyes make all bugs shallow, they always tell us. Code on GitHub comes with the added assistance of Dependabot. A bot which - as its name suggests - looks over your code for security leaks in any libraries your code may depend upon. Last week saw a flurry of Dependabot notifications for our beloved egg timer, so young Robert and Michael took out their computational spanners and, in pretty short order, patched it. It’s still grumbling about Nokogiri - always bloody Nokogiri - but we know we’re up to date and we know Dependabot grumblings on the Nokogiri matter have been clocked by other people. How people who write code and don’t put it on Github know when it needs patching, we have no idea.

Super duper affirmatives

With remedial order procedure maps, data and actualisations safely in the bag, Jayne and Michael thought it was finally time to turn their attentions to legislative reform orders. Background reading is now complete and they’ve moved on to map work. So far, there’s an outline map for the procedure in general - which still needs its clocks plugging into the withdrawal logic - and a procedure determination map for the House of Lords. The latter meriting a well-deserved wave of thanks to JO Philipp. A pleasure doing business. Next week, attentions will turn to a hopefully not dissimilar procedure determination map for the House of Commons.

Return to public bill mountain

Asking procedural questions is our bread and butter. Answering procedural questions the bread and butter of our clerkly colleagues. But such service can break down at the borders of Westminster. Which is why this week saw us checking back in with Senedd colleagues Sarah and Gareth for yet another walk round our attempts at a legislative consent motion map. And very pleasant their helpful and friendly faces were too. Whilst our homework did not get the gold star we’d hoped for, progress has been in the right general direction. We now know we need to add a clock limitation on committee scrutiny and feed this back in to the question being put on the LCM - and any amendments thereto - as a kind of scrutiny reserve on the motion. Questions not being put-able until either all committees referred to have reported or the egg timer of scrutiny limitation has run clean of sand. Thanks Sarah. Thanks Gareth.

Not all of this week’s public bill mapping work was outside the old Westminster Village. We’ve also been hard at work mapping House of Commons fast tracking of second reading motions. Motions that can, apparently, take one of two forms - either an allocation of time motion if provisions are limited to the timing of stages, or a Business of the House motion if more procedural provisions are required. Back in undocumented week 18, we were delighted to be joined by Legislation Office Huw who dissected our map and came back with many useful comments. Hence the generous scattering of blue blobs. Huw has promised to investigate which potential provisions cover matters of House timing in general and which cover things that may impact on the flow of procedure through the map. Thanks Huw.

Step depth preparations

This week our colleagues in Software Engineering went live with the new SPARQL queries for ordering timelines on both the statutory instruments and treaty tracking websites. Which goes a very short way to tidying the ordering of steps taking place on the same day. Or at least does not make it worse.

Step ordering has been a long term bugbear - weeknotes passim - and we know we have to do work to fix it. That work is planned and - now the new queries are live and once some tidying has taken place at our end - we have a clean slate to start from. Our Jianhan has already finished the preparatory work for step depth in the procedure editor. So we’re hoping to see more progress soon.

Prodding the procedure parser

Jianhan has also been tinkering with our procedure parsing code, translating work young Robert and Michael did in our Ruby version into production ready C#. That work being a change to the behaviour of all steps to no longer propagate untraversability and a tweak to the behaviour of AND steps to allow inputs with a status of ALLOWS. Work that we’ve already described at some considerable length when changes were made to the Ruby code and which we’ll skip over here.

In other procedure parsing news, some time back Jayne, young Robert and Michael turned their attentions to what we used to call parsing for plausibility, but that we now call occurence scores. Code was written to grab all steps connected by routes in a procedure and, for each step, calculate how many concluded work packages that step had been actualised in. Then divide that by the total number of concluded work packages subject to that procedure to determine an occurence score. At the time, our trio were pleased with their efforts but JO Jane expressed reservations. This week we finally sat down to compare and contrast the numbers in the data platform against the numbers in Michael’s database. Jayne took out her SPARQL spanner, Michael did likewise with a dab of SQL, and - lo! - the numbers all agreed. Which means we now think we’ve covered off a little more of the probability light cone of parsed procedures. Unfortunately, our subsequent email to JO Jane was not our finest worded effort, so extreme confusion set in extremely quickly. A meeting is probably required to iron out misunderstandings. Should our reader be interested in procedural occurence scores, those for the draft affirmative procedure are given here. If you’d prefer to look at a different procedure, find your favourite from the procedure list and click on the number next to the words ‘Business steps’. All will be revealed.

People data

Robert and Michael’s boss bloke Ian has requested some sample RDF data for a selection of Members and their memberships. Starting out with one of the more interesting examples, we now have the start of some mocked-up RDF and an accompanying picture for Viscount Thurso. An interesting example because his parliamentary career started as an hereditary peer in the House of Lords, leaving under the House of Lords Act 1999 before representing Caithness, Sutherland & Easter Ross in the Commons, losing his seat and rejoining the Lords as an excepted hereditary peer. All made more tricky by the Lords considering Members to be Members during dissolution and the Commons disagreeing for obvious reasons. And by the fact that a boundary change happened part way through his Commons’ membership meaning - in strict terms - he represented two different constituencies albeit with the same name. Next week, we’re planning to add descriptors for his time as an excepted hereditary and from there outwards and onwards. We suspect we’ll probably never get around to generating example data for all the ways in which a Member might move between different types of memberships, but a bishop or two is definitely on the cards. Stay tuned for bishopric RDF.