33 comments

  • enriquelop 2 hours ago
    I built a pipeline that converts all Spanish state legislation into version-controlled Markdown. Each law is a file, each reform is a real git commit with the historical date. 8,642 laws, 27,866 commits.

    The idea: legislation is just patches on patches on patches. Git already solves this. Instead of reading "strike paragraph 3 and replace with...", you get an actual diff.

    The repo is the product. Browse any law, git log to see its full reform history, git diff to see exactly what changed.

    Built the pipeline in ~4 hours with Claude Code. Source is BOE (Spain's official gazette) consolidated legislation API.

    Exploring whether there's a business here — structured legislation API for legaltech/compliance, or just a useful open dataset. Curious what HN would build with this data.

    • artirdx 1 hour ago
      Laws intent are often clarified in courts through judgments. If you can overlay the judgements on top of the corresponding law, at correct points in time, I think that will have value. It might, for example, show which laws were referenced the most and which needed to be clarified the most. It might give insights into what legal language constructs stood the test of time and which had to be repeatedly clarified.
      • da_chicken 1 hour ago
        That's true, but it might not be as important here.

        Spain is not a country with a Common Law legal system entirely like the US or the UK. They have a civil law system where prior court judgement does not form a strictly binding precedent. Prior judgements can be important, but case law is not really a thing.

        • tephra 45 minutes ago
          I wonder how true this is, we have the same system in Sweden, that court judgement are not legally binding precedent for lower courts. But in practice lower courts will follow the rulings made by the high court.

          Is it not the same in Spain at all?

      • dotancohen 58 minutes ago
        Laws are often cascaded as well. Specifically in this case, Spain is subdivided into Comunidades Autonomas - each have their own elected parliament. And inside those are cities with their own local laws.

        So while this project does track laws, is there any facility to determine which laws from which bodies are relevant to a specific activity in a specific location?

        • Mordisquitos 45 minutes ago
          I may be wrong, but I think autonomous community legislation is not published in the BOE itself (the Official State Gazette), but rather in each of their corresponding official gazettes (e.g. DOGC for Catalonia, BOCM for Madrid, BOA for Aragon, BOJA for Andalusia, etc.).
        • embedding-shape 57 minutes ago
          > And inside those are cities with their own local laws.

          No, cities don't have their own laws, but the autonomous communities do have some influence in some laws and regulations (not all), like the amount of income tax you have to pay and so on. But cities within the autonomous communities don't have their own laws.

          • donalhunt 46 minutes ago
            No by(e)-laws in Spain? Certainly a thing in the UK, Ireland and I believe US and Canada. Is that a common law thing?
            • Mordisquitos 38 minutes ago
              Local authorities in Spain do have the authority to enact their own law-ish regulations, which are called 'ordenanzas'. For example, if I remember correctly, motorbikes are allowed to park on the pavement by default in Barcelona unless a sign says otherwise, but it is forbidden in Madrid unless a sign explicitly allows it.

              I think local government in Spain has at least as much authority as it does in the UK, maybe more, but almost certainly less than it does in the US.

            • embedding-shape 41 minutes ago
              "By-laws" is typically the name of the rules/"laws" inside of a company or organization, I'm not familiar with that word in the context of "nation-wide criminal/civil laws".

              Regardless, cities do not have their own "local laws" in the way your comment made it seem. We have national laws, and minor differences in various autonomous communities, since they have some legislative power to control their own industry, commerce, education and some more stuff.

      • pseingatl 48 minutes ago
        Rarely in a civil law jurisdiction, essential in common-law jurisdictions.
      • SOLAR_FIELDS 37 minutes ago
        Perhaps reference it in the commit trailer?
    • daedric7 16 minutes ago
      Please! Can you make the same for Portugal? Laws here are a mess of reforms...
    • Bewelge 1 hour ago
      Oooh Can you elaborate a bit how the gazette is publishing them? Like what format did you have to parse. And how many documents were there in total? I tried doing the same for German laws 1-2 years ago but LLMs weren't smart enough yet. And the costs would've been at least a couple of thousand €.

      Ed: Nevermind, I missed the "BOE (Spain's official gazette) consolidated legislation API" part. Sending jealous greetings from Germany. We just have a bunch of PDFs in Germany. And the private entity that has been publishing them for decades even claims copyright on them!

    • Mordisquitos 32 minutes ago
      Congratulations, this is a brilliant resource. You have done one of those countless things which I often think about doing, but my utter lack of follow-through and other distractions make it a fantasy. I cannot wait to clone the repo and explore it.

      As to what can be done with the data, maybe one interesting step could be a graph-database regarding laws which reference other laws or the definitions that they depend on?

    • 7777777phil 2 hours ago
      cool idea, how far back (in time) do those 27k commits go?

      Just thinking how this could maybe used for (automated) research / visualization on the evolution of (spanish - in this case) law

      • codethief 1 hour ago
        > how far back (in time) do those 27k commits go

        Looking at the commit dates (which seem to be derived from the original publication dates) the history seems quite sparse/incomplete(?) I mean, there have only been 26 commits since 2000.

  • MinimalAction 3 minutes ago
    The general sentiment here is that it's a great project. Could someone please explain why? All I'm seeing is that laws are updated with commits within markdown files.
  • Ericson2314 2 minutes ago
    All legislatures need to work this way as soon as possible!
  • j-bos 2 hours ago
    This is brilliant. I wish this were available for all legislations. There's so many inefficiencies that are trivially solved with existing tech frameworks.
    • Schmerika 1 hour ago
      > There's so many inefficiencies that are trivially solved with existing tech frameworks.

      There really, really are.

      The legal industry is well aware of that fact - and how many billable hours they stand to lose by making their work more efficient and understandable.

      You know how tax prep companies spent over $90m 'lobbying' Congress to ensure that filing your taxes remains difficult and complicated [0]?

      Well, lawyers know just as well or better how to butter their bread; and they will pull out every dirty trick they have to scupper attempts to make practising law more transparent or efficient in any way.

      0 - https://www.opensecrets.org/news/2023/09/tax-prep-companies-...

      • DennisP 18 minutes ago
        It's not just the legal industry, it's the legislators. I used to be friends with a former state senator, who had a background in forensic accounting. She said they purposely made the bills harder to parse than necessary so it was hard to figure out what they were actually doing. Given enough time, people could do it but in practice there wasn't time before voting on the bill, and that was on purpose too. Of course some of it was to reward lobbyists or do other unpopular things, but she used to read bills from back to front because the back was where they put all the graft. An example I remember was $50K in taxpayer money going to a congressman's birthday party.

        For a while I thought about trying to write software that would turn the obscure natural-language diffs in written bills into a readable diff, showing the laws before and after with highlighted changes. But she said they just got the bills as paper printouts which weren't always even up-to-date, so it might not have helped much. Maybe now they're online. And LLMs might make the project easier.

      • wolfi1 1 hour ago
        unfortunately, laws are not everything. you need to know how to get around them. our country for example has the habit of creating a lex fugitiva that means that some regulations could be changed in other not related laws. good luck finding the correct regulation without a law degree
    • dgreisen 1 hour ago
      Our nonprofit, Open Law Library, is working on this exact problem. It is definitely not trivial, but it is very doable. We partner directly with governments to help them implement so the git repos become the canonical record (rather than just an unofficial mirror).

      Maryland just launched their regs on our platform:

      https://regs.maryland.gov (https://github.com/maryland-dsd/law-xml-codified)

      Feel free to reach out (email in bio) if you would like your community to publish their official laws on GitHub!

    • rafram 1 hour ago
      Everyone in government knows what Track Changes is. The standard format of a piece of legislation in British-influenced systems is a diff. The tech field does not have secret knowledge that the rest of humanity lacks.
    • Esophagus4 1 hour ago
      > so many inefficiencies that are trivially solved with existing tech frameworks.

      Out of curiosity, like what specifically?

      Didn’t DOGE’s failure highlight that it actually wasn’t trivial? I’m skeptical at first glance but open to being proven wrong.

      • bojan 1 hour ago
        DOGE wasn't actually trying to make things more efficient. You can't count it as an honest attempt.
      • hirako2000 1 hour ago
        DOGE made the token gain more in market cap than it saved in expenses. Despite having at head a master of blind layoffs.
    • appstorelottery 2 hours ago
      I couldn't agree more - this is fantastic work.
    • f1shy 1 hour ago
      I would like to have a legal advisor based on that. At least for a first question, qithout paying a lawyer
    • idiotsecant 1 hour ago
      And, in the example of the stereotypical venture capital seeking techbro junk that has somehow infected the entire world, this project doesn't actually understand or solve any real world problems.

      No shade on the author, they made a fun thing. I'm directing my cannons more towards the parent post idea that the world needs software developers for their rare genius to use their beautiful brains to solve problems in ways no actual participant in the system could have ever thought of.

      The additude that because you can prompt a LLM to write some python you are also uniquely situated to solve the world's problems is how we built an entire generation of automated solutions worse than what we had before.

  • vitorbaptistaa 1 hour ago
    Congratulations! This is a very cool project. A few years ago there were similar ones -- browse gitlaw.

    In Brazil we have lexml, a standard to describe the law and their changes over time. It's surprisingly complex.

    • phlakaton 55 minutes ago
      Hah! XML strikes again. :-)

      I understand that Spain was a participant in LexML as well... I gather they've since converted to something else?

  • josalhor 49 minutes ago
    Not only would be cool for laws to have appropiate time stamps so we can "go back in time to how it was at a certain moment", but also if we could have proper git commit diffs of how laws change over time. See this: https://www.boe.es/buscar/act.php?id=BOE-A-2015-11430

    You can see how certain articles have the option to check "how that particular article was at each moment in time". That would be way harder to track, but it would be awesome if not only could you "go back in time and see what the law was" but also "how its been evolving".

    • jonhohle 44 minutes ago
      Not only that, but authors and approvers could be used to track who created and voted for each change.
      • dan_linder 39 minutes ago
        Then compare wording and structure with other bills proposed elsewhere to look for single sources trying to legalize an agenda or retry after earlier failed attempts.
  • cyrusradfar 1 hour ago
    I think this is great. Only limit of git is I can't imagine "git blame" works. It would be nice to know who voted for and against each patch. Git isn't structured for collaborative commits.
    • hirako2000 1 hour ago
      That could actually be a git commit log with date, votes and other metadata.

      But getting the entire country's law into git is already an impressive feat.

    • embedding-shape 1 hour ago
      > Git isn't structured for collaborative commits.

      Git isn't structured for collaborative commits, but community-wide conventions kind of "patches" support for it on top of the git message body, via "Co-Authored-By: name <[email protected]>" which IIRC most platforms support, and the convention itself initially comes from Linux kernel development.

    • 1718627440 18 minutes ago
      You could have the parliament (meaning including the election cycle) as the main author and then the parties and votes as Co-Authors.
    • nuhuhh 1 hour ago
      Yeah you can, just smash commits on the PR where multiple contributed. It will say it was a collaborative commit in history showing all their avatars.
  • Quarrel 1 hour ago
    Great project.

    For others wondering, while most of the Franco-era laws were nuked in 1978, this does include lots of old laws (ie pre-20th C).

    However, the source material starts with a sqashed commit in 1960 :) So no changelog before that. The BOE source though is pretty phenomonal, they've scanned files going back to the 1600s so far.

  • comboy 47 minutes ago
    Add CI to check if new laws don't contradict with any existing ones.
    • bertil 33 minutes ago
      You might need to turn laws into formal proofs, and the existence of judges makes me think that’s not as likely as you would like. A commenting system would though—trained on countries’s precedents, jurisprudence and traditions might.
    • whattheheckheck 30 minutes ago
      Can you imagine rebases with merge conflicts?
  • sigio 1 hour ago
    I did the same with a limited subset of dutch laws a while back: https://github.com/sigio?tab=repositories&q=wetboek
  • AtomicOrbital 9 minutes ago
    all of government data including all laws especially tax law needs to be put online and optimized by ML
  • bertil 35 minutes ago
    This is a key project, and I’m sure many countries have enough developers who might try and get it done, but a project that can do it for most legal systems (assuming the sources are on-line) would help a lot more people access legal resources.
  • zaep 1 hour ago
    Nobody seems to have (yet) mentioned the most recent (rn) commit [1] dated 2099. I can't really figure out where the date came from, at the source noted in the commit I find no '2099', I can't see it being a joke, if it's a bug it's not obvious to me..

    I'm sure I won't be the only one curious, please enlighten me.

    [1]: <https://github.com/EnriqueLop/legalize-es/commit/424cbc96507...>

    • gloosx 43 minutes ago
      Classic. He forgot to add "make no mistakes" to the prompt. Based on the commits alone Im not sure anyone really reviewed the correctness of the git history.

      When someone specifically mentions "built in ~4h with Claude Code" they probably didn't care that much about the outcome quality

  • dorianmariecom 1 hour ago
  • SweetSoftPillow 32 minutes ago
    We need it for every country and every law in the history of humanity
  • wouldbecouldbe 1 hour ago
    This is really great, anyone know of a Dutch version?
  • 0x3f 1 hour ago
    Neat. I wonder if there are commercial products that are formal specifications of laws, decisions, etc. Such that you can reason on them via solvers etc.
    • embedding-shape 55 minutes ago
      I think it's a rite of passage for every developer who ever touched the ecosystem of law to also wonder the same. Probably even since the invention of "business programming" there been developers wondering this. Many has attempting, so far, I don't think anyone succeeded.

      But I'm sure someone at some point might figure it out, you never know :)

      • 0x3f 39 minutes ago
        Well, there's a new batch of autoformalization attempts with LLMs now. Although I've also heard people say autoformalization will always be impossible.

        It's interesting to wonder what kind of coverage Cycorp managed to achieve internally, and on what domains. Seemingly no job openings at the moment though!

  • coopykins 2 hours ago
    Hey, very nice! Seems like a great way to have LLMs answer questions about the laws more reliably.
  • drob518 32 minutes ago
    The date of the last commit is 2099.
  • throwaway_2626 1 hour ago
    This is amazing. I have a couple of suggestions: - Maybe breaking the "Spain" folder into subfolders? Not sure what categories could be used, but browsing would be easier. - There's a missed opportunity in having different authors for the commits (maybe the "legislatura" number), and possibly, tags/labels including the political parties that voted in favor of each.

    I'll take a look at data to enrich it :).

  • peterhadlaw 1 hour ago
    Does it include the law that made it okay for Noelia Castillo to commit suicide the other day?
    • embedding-shape 1 hour ago
      I think it was "okay" even before that law to be euthanized. However, the law adds a "a legal, systematic, balanced and guarantee response to a sustained demand of today’s society such as euthanasia".

      But yes, it seems it is included indeed: https://github.com/EnriqueLop/legalize-es/blob/master/spain/... (which seems to have been well written enough to not needing any changes [so far])

      Very glad my country is so compassionate with people that we can facilitate things like things when needed.

    • mold_aid 48 minutes ago
      I would assume so. But that's probably it; it's for Wikipedia to record the failed attempts of Christianists to make it not "ok."

      Like many, you are confusing "making it legal" for "making it ok." But that is of course the root concern of Christianism as an ideological project. Thankfully the correct legal interpretation won out here, as it did in the US Schiavo case(s).

    • downsplat 1 hour ago
    • brandnewideas 1 hour ago
      There are laws that prevent you from committing suicide?
      • torcete 1 hour ago
        It was assisted suicide. Meaning the government helps you to commit suicide.
    • whattheheckheck 28 minutes ago
  • saglogog 21 minutes ago
    Nice
  • larsiusprime 1 hour ago
    Is the idea that the commits themselves are also time stamped with the date of the legislation/amendment too?
  • d0m 1 hour ago
    I wonder which country will be the first to be run entirely by AI instead of corrupt politicians
    • layer8 48 minutes ago
      I don’t think a country where everyone is absolutely right would work.
    • logicallee 38 minutes ago
      >I wonder which country will be the first to be run entirely by AI instead of corrupt politicians

      State of Utopia[1] has this manifesto[2]. In our estimation (and we use AI a lot), it is not powerful enough to govern a country yet. We thought it was worth trying anyway.[3] We would like it to be able to handle contexts that are millions of times greater (think more like 1 billion tokens than 1 million tokens), and even so AI governance is a very difficult matter. In addition, once AI governance is achieved, how can you truly trust the governance model not to be corrupted? Transparent government run by AI is an additional point of difficulty. These days, the most difficult unsolved problem is how to introduce voting and users' comments without inviting comment spam and vote rigging. You can watch my latest update here[4] (I'm sorry, it's very quiet), and we welcome your input on all subjects. We have a fully autonomous agent currently running the country, which consists of a Mac Mini and a Claude subscription (plus our own dedicated server in a country that recognizes us, and we have a couple of other embassies by agreement and legal contract). But in practice this government just does whatever I tell it. It's not advanced enough to run a code of laws, which is one of the basic requirements citizens expect of their country. The size of problem space for running a country is larger than models can handle, but many things help.

      One of the best hopes we have is with deterministic offline models where we share the pipeline with people ahead of time, so they know exactly how it will work. This could be a trustworthy matter of dispute resolution, if we get the architecture right.

      For example, our country could help you sign a contract and in case of dispute, both parties could submit supporting documents and make statements and the offline model they agreed to at the time of signing their contract could adjudicate. This pipeline could be transparent from the start. This won't satisfy everyone, but might provide the minimum standard of having a code of laws that assists with contract enforcement. For now, all you can really do is keep checking our site for updates and leave comments about what direction you'd like the country to take. (For example, you can leave a comment on my latest update on Youtube.)

      [1] https://stateofutopia.com [2] https://claude.ai/public/artifacts/d6b35b81-0eeb-4e41-9628-5... [3] https://medium.com/@rviragh/ai-is-not-ready-to-create-utopia... [4] https://www.youtube.com/live/K0dgrPRWPCs

  • ivanjermakov 1 hour ago
    I'm surprised the world is not running a system where laws are formally encoded using some DSL that would allow making decision (guilty/not guilty) using formal logic. Perhaps there is not much interest from law making/enforcing parties for this either.
    • bonoboTP 13 minutes ago
      Have you actually tried reading a single law? If you have, have you tried to write just one article in formal logic?

      Certain laws, like parts of tax law may be possible to turn into code, like percentages and deadlines, but even those often carry natural language conditions that can't be evaluated so easily. Seriously, try it.

    • gloosx 11 minutes ago
      Maybe we should go further and use some DSL to speak with each other in the first place? Would def make everything straight and eliminate ambiguity!
      • bonoboTP 9 minutes ago
        That's Lojban.

        Turns out, ambiguity is an intentional communicative tool.

    • rileymat2 1 hour ago
      You’d also probably be surprised about how subjective and unevenly applied the law is… by design, to allow appropriate outcomes and discretion.

      Edit: Consider the following words included in law.

      “reasonable” “reckless” “due care”

    • rrr_oh_man 1 hour ago
      That's a common fantasy of developers who haven't touched grass in a while.
      • bonoboTP 10 minutes ago
        It's a rehashing of Leibniz's "Calculemus!".

        It's not a fully stupid idea, many rules can be automated and indeed have already been. The things that courts still have to decide manually are the leftovers that require more human judgment.

  • rwmj 1 hour ago
    This is great. Compare it to British legislation which is frankly a mess of patches. Example picked fairly much at random, this law was originally passed in 1990 and has been "patched" regularly:

    https://www.legislation.gov.uk/ukpga/1990/18/section/9

    Laws being passed are these ludicrous sets of patches:

    https://www.legislation.gov.uk/ukpga/2015/9/part/1

    • gus_massa 1 hour ago
      I think it's similar everywhere. IIRC from time to time here in Argentina when there are too many big changes, the legislature make copy of one old law with all the amends and add all the new ones and approve the new version. Let's say every 50 years or so, and not all the laws at the same time. So the "current" law is a mostly a mess of patches.

      The main difference is that in Britain the judge decisions become almost-laws, so it's like a repo with too many people with commit right. I think in Spain the judge decisions have less weight and only the legislature has commit permissions .

    • codethief 1 hour ago
      I think such "ludicrous sets of patches" are very common in many jurisdictions. (At least in Germany they are.) I agree, though, git patches would be a lot nicer.
    • hirako2000 1 hour ago
      Also the principle of common law.
  • d--b 2 hours ago
    I think French laws have been on website that’s like that for a while
  • smashah 1 hour ago
    I've been saying for years that any and all legal documents (and all lawyers) should be required to be on/use git
  • TZubiri 1 hour ago
    I've seen something like this before, here's the Argentina constitution as a git repo, with reforms as commits. Much shorter in scope, but this was pre LLM coding

    P.S: Sadly my PR amendment was repealled

  • MomsAVoxell 1 hour ago
    Great idea! I hope you did something like:

      $ git commit --amend --author="Author Name <[email protected]>" --no-edit
    
    .. with the details for the author of each commit.

    Then, it would be simply amazing to run gource, sit back, and watch where all the noise is coming from.

    Gource:

    https://github.com/acaudwell/gource

    What gource looks like:

    https://gource.io/

    I’ve long wanted to see gource applied in other sociologically-relevant contexts and this’d be a real good one ..

  • adjejmxbdjdn 1 hour ago
    Love this idea
  • canaryai 3 minutes ago
    [dead]
  • devnotes77 28 minutes ago
    [dead]