Your regular correspondents - never being ones to cower in the face of modernity and being quite keen to get their weekends back - have decided upon a new approach to these notes. Previously, there was no intermediation between shower thoughts and keyboard clacking fingers. Instead, we’d hand-craft every pixel. Like primitive monkeys. But not anymore.
Anya and Michael now employ a whole swarm of AI agents. The agents are sat down and force-fed The Cluetrain Manifesto, before being sent out to scour GitHub, Slack, Bluesky and Trello with an instruction to keep things chippy but chirpy. These then are our first ever Agentic AI Powered Weeklyish Notes™. Do let us know if you spot any improvements.
If you tuned in last time, you’ll already know that Developer Jon - or the Sheffield Kestrel, as he likes his friends to call him - had taken Librarian Phil’s query expansion specification - weeknotes passim - and written a whole slew of automated tests. This week the tests have left the pending pile, the work of the last couple of weeks being all about getting the blasted tests to pass. Which, happily, they now do.
Between then and now, the usual game of Trello-based ping-pong has been in full effect as Librarians Anya, Jayne and Phil attended to the more human side of testing duties, cards bouncing between Sheffield and Westminster at a frankly bewildering pace. But, yeah, we’re getting there. Why not click this link to our beta search site, run a search and see how it works for you?
Does that mean query expansion is all done and dusted? Probably not. This is computers we’re talking about. Nothing is ever done done. But, as Young Robert would doubtless point out, we are not painting in oils here. We’ve made it slightly better this week, we’ll make it slightly better next week. Onwards!
For once, Developer Jon has not been alone at the codeface, joined this week by Librarian Anya and her trained typing monkey Young Robert. That small but perfectly formed team have been chipping away at a first draft of our new search coverage page. Not the easiest copy to write given the bumpiness of the material to hand. If you’ve ever wondered what’s in Parliamentary Search - and indeed what isn’t - that should now be a little clearer. More pixel polishing to follow.
Back up in Sheffield, Developer Jon found himself with a little time on his hands whilst the testing took place. Now, as I think we all know, Yorkshiremen are never scared of a bit of hard graft, and honorary Yorkshireman Jon is no different. He filled his time wisely by fixing a whole bunch of bugs. Meaning questions in receipt of only a holding answer are now set up to display that answer, material lacking a title no longer turns up with a bunch of computer gibberish in the HTML title element and crumb trail, and questions tabled for written answer have been reunited with their correct date of tabling. Finally, he’s added code to deal with petitions lacking a sub-type.
Satisfied with a decent day’s work, Developer Jon took a break from the codeface, brewed himself a pot of tea - the Yorkshire stuff, one assumes - and went off on a tidying mission. It turned out there were a fair few cards in the backlog column pertaining to query expansion that we’ve fixed without noticing. Those cards have now been purged and the backlog looks a little more manageable.
Staying firmly behind the gates of Sheffield city, Shedcode James is now back behind the wheel of our Research Publications Explorer. This takes the descriptive data - we never say metadata, not in this house - for publications from the House of Commons Library, the House of Lords Library and POST and makes the whole thing browsable from as many angles as humanly and computationally possible. Work that hit the buffers when we found out that Michael had loaded the data incorrectly. Well, if one pays peanuts …
James’ work to date can be roughly divided into two: writing the queries to build the pages to satisfy Michael’s URL structure fever dreams, and the slightly less interesting challenge of setting up the infrastructure so that our esteemed stakeholder(s) can actually see the results. On the latter, the application is now sat behind Cloudflare and served from the Parliament domain. It only remains to replace the token-based authentication system with Parliament’s single sign on solution of choice, and we’re good to share more widely. If not much more widely.
On the slightly more interesting - at least to your regular correspondents - pixel-pushing front, James has churned out a whole host of views over the data. It is at this point that Michael feels he should apologise for not yet spending time checking what’s been built and suggesting new and improbable views of the data. A situation he hopes to remedy shortly. Probably dragging Young Robert along for the ride. Sorry Robert.
If you’ve tuned in for the latest on our procedural map making exploits, you’re in for something of a disappointment. This week features the somewhat miserly addition of two new steps to our treaty procedure map, describing the making of a ministerial statement relating to the implementation of a treaty by means of a bill. There’s one for the House of Commons, and one for the House of Lords. As you might expect. So far, they have been actualised in just one work package - what you and I might call the Chagos Islands agreement, and what international lawyers like to call the ‘Agreement, done at London and Port Louis on 22 May 2025, between the Government of the United Kingdom of Great Britain and Northern Ireland and the Government of the Republic of Mauritius concerning the Chagos Archipelago including Diego Garcia’. Which is quite the mouthful. Whilst we have your attention - admittedly quite an assumption on our part - do click that last link. It’s possibly our longest timeline yet. If you’d like to follow along with the Chagos Islands story and you don’t fancy clicking around website pixels every few days - and let’s face it, who does? - why not subscribe to the RSS feed. Like it’s 2005.
Elsewhere in our procedure stack little has changed. Our Procedure Browsable Space™ has been placed on the back burner, there have been no other edits to the procedure maps that underpin it and no changes to the procedure model that underpins the maps. Instead, all efforts are focussed firmly on the backend of the backend of the backend, where we find our somewhat dishevelled Procedure Editor application. Or at least that’s what we’ve always called it.
In actuality, it’s formally known as the Interim Procedure Editor, and the database it sits on top of is the Interim Database. As might be expected - weeknotes passim and then some - lots of our applications and piping start life with the very best of intentions. A number of our systems have been cobbled together to test a concept, everyone agreeing that - should the concept prove not insane - it will be stabilised into something more fit for production at some point in the not too distant future. A shift right from Genesis to Custom, as our Wardley mapping friends might say. Then one of three things happens: patience runs out, money runs out, or people run out of the door. In the case of our poor Procedure Editor, all three being true.
The last hands to touch Procedure Editor to any substantial degree were those of our Wojciech, who sadly left the building back in 2018. Eight years old being quite long in the tooth for any solution declaring itself to be ‘interim’. Even by parliamentary timeframes. Over the last few months, Librarian Jayne and her computation gun-dog Michael have had their heads buried in Data Graphs, trying to work out if it could be shaped into something that might possibly bring our ‘interim’ phase to a successful conclusion. Should they manage to pull that off, they’ll be leapfrogging Custom and Product, to land firmly in the Commodity space. Mr Wardley would be proud, we feel.
But let’s not get ahead of ourselves. Things had seemed to be going well, but every silver lining has a cloud. In the course of testing with what they had thought was a full data import, it turned out that some business steps had gone missing on route. Some routes also going missing on, erm, route. It then turned out that some of the nested classes did not respond as we expected and some of the rendered views did not render as we remember them rendering. Also the bit of code that prevents a business item in a work package subject to a procedure from actualising business steps in a different procedure failed, but not gracefully. Hm. Librarian Jayne has now headed off on a well-deserved vacation. When she gets back … we go again!
Also sitting on the Data Graphs pile is our even more ancient Odds and Sods Information System. Which is, happily, a good deal simpler than Procedure Editor. As of this week, we’ve taken our new domain model and added it to Data Graphs. A couple of questions remain for Librarian Anya. Once those are cleared up, Librarian Emily will be free to test. Should that go well, we’ll load the data and test again. In the meantime, we’ve made a small start on an OaSIS-shaped ontology, which Michael says will come in useful one day. Though he has been saying that for the best part of a decade.
Back in the background of our procedure tracking efforts lies our beloved Egg Timer™. It is, for once, in fairly good nick, having been on the receiving end of a good deal of spit and polish over the last couple of years. Still, that is no reason to rest on our laurels.
The scrutiny start date calculators that we rolled out last year work were well received, but cobbled together in something of a hurry, not benefiting from the kind of love and attention we’ve applied elsewhere. For that reason, Librarian Jayne has dragged her two egg timing gentleman rhymers out of their retirement homes and put them to work. One last job, she says.
The monkey patched date module is now in two parts: one half featuring the methods we still think we need, the other half a whole bunch of methods we believe we can have rid of once we’ve rewritten our calculation code to be slightly less needy. As ever, the comments are written in markdown and parsed into HTML, so, if you doubt the lads’ competence - and, let’s face it, we all do - you can mark their work here.
The goal for the next few weeks is to work through all 13 calculations until all tests pass with no deprecated date methods in place. We’ve managed to tick off the sitting days in an interval calculator and only the sitting days in an interval calculator. All of the scrutiny start date calculators have also been refactored and are on the testing pile, ready for Jayne’s return from holiday. So long as she’s happy, all six will go live and we’ll make a start simplifying the end date calculators. Onwards!
Whitsun half-term and a tube strike or two have made for a quiet office. But what better time than Whitsun for a spot of spring cleaning. This week, we have two bits of tidying to report: the first content related, the second taxonomic in nature. On the content front, a small number of statutory instrument records were found to contain more than one coming into force note. Which is a price one pays when one runs a triplestore with no shape constraints. Thanks to Librarian Emma, these have all been fixed.
Over in the taxonomy, Librarian Ned has been hard at work updating the scope notes for heads of state to follow the same patterns we use for other things outside the UK. In such cases, our house style is to lead with the country in question. Which means the scope note for ‘Stubb, Alexander’ has been updated from ‘President of Finland’ to ‘Finnish president’. It’s good to be consistent.
The only bit of mildly interesting news on the psephological front is we’ve finally merged a whole bunch of tests into main. These were a parting gift from SQL Neurotic Rachel. Considering she’s been gone a wee while now, all rather remiss on our part. We still lack coverage of all page types, but then there are a lot of page types. More work for next term.
Etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, etcetera, in the midst of life we are in debt, etcetera