Week 46 — Rules as Code And Other Musings
A Week of Change and Reflection
This week was a long week hence the late update. I spent 12 hours going from Edmonton to Ottawa thanks to a number of flight delays while traveling on Air Canada. For reference, the trip from Edmonton to Ottawa is normally 5 hours. Nonetheless I departed Edmonton at 11AM local time and arrived back in Ottawa at 1AM local time. Remind me to never do air travel in winter!
Thanks to the jet lag and a very challenging week, I am late on my update and I do not plan to make this update too long. I wanted to write a few words on Rules as Code, give an update on my work and then wind down the weeknotes early. So without further ado, I’ll jump to the writing.
Is it time for Rules as Code standards, directives or guidance?
I am lucky to have the job I have. Where else in government would I get to lead projects using AI and do Rules as Code at the same time government wide? This week we held our Steering Committee meeting where we presenting potential projects for the upcoming fiscal year. I won’t spoil the results until the proper discussions have taken place but I did want to dive deeper into the proposal put forward by Rules as Code by yours truly.
Rules as Code in the Government of Canada is in its early experimental stage. There is interest but as any government looking to try something novel and unique should do, we are discovering the potential benefits and pitfalls of something new. We want to learn more about how to do Rules as Code, what makes a good ruleset to convert to code and what it will take to be successful in the long term. This year, we’ve started with a proof of concept “discovery” project to do a trial run in preparation for a full scale real Rules as Code project in the near future. However, what happens next could potentially be as important. We may opt to do more exploratory work or start working on a ruleset end to end even going as far as to consider the changes that need to be made so the rulemaking process itself recognizes that machines are now a consumer of government rules and so rules need to be drafted in code at the start in recognition of that fact.
However, there’s another issue that has been running through my head lately. Government is known for its legacy systems, the intertwined mess of shit applications, software, hardware, databases etc. that make life hard for everyone who interacts with the government whether on the inside or the outside. Legacy thrives because we don’t set standards, we let vendors influence what we do and there’s no long term planning. I fear that with Rules as Code we could end up with a mess of different approaches, different use of logical reasoning, different vocabularies, different languages and platforms creating a mess for the people who might want to use our rules for their own applications. So I put forward a proposal to use the results of our existing Rules as Code project to start laying the foundation to establish a Directive or standards to guide the use of Rules as Code in the Government of Canada. It’s an opportunity in the early days to start having a conversation about guiding principles, consistent approaches and deliberate decisions which will make the rules we publish as code accessible to as many Canadians as possible.
AI Demonstrator Projects (Incorporation by Reference, Regulatory Evaluation Platform, Rules as Code)
Regulatory Evaluation Platform: The technical evaluation of the Regulatory Evaluation Platform is complete. I will be able to share the full results soon but for now, we have started thinking about what comes next for this project and applying our lessons learned. One day when I have more time, I’d like to write up a blog post about the lessons learned on these projects.
Incorporation by Reference: We are on track to hit major milestones by February 14. Like the other project, this project has many lessons learned I’d like to share on this blog soon.
Rules as Code: We have selected a use case. Now it is time to hit the ground running and start the hard work of unpacking and capturing the logic of the rules. I can’t share which use case yet but hope to do so next week.
Rebuilding the Public Service From The Ground Up: Week 30
No idea this week but I promise to come back with something in my next weeknotes.
My weeknotes for week 46 are done. While I love the City of Edmonton, a 12 hour flight leading into a long week full of 11 hour days doesn’t lend itself to a long weeknote entry. See you next week!