Legislative Drafting & Management in 2023
The Council's legislative support systems need tightening up // legislative drafters need a law linter
This is part 5 in a series of posts analyzing the 174 local laws of New York City from 2023, and the New York City Council. The links below will be populated as I release each post.
Part 2: Reporting Requirements
Part 3: Housing Legislation, and the Council’s Housing Posture
Part 4: Notable New Laws by Subject Matter
👉 Part 5: Legislative Drafting & Legislative Management
Part 6: Resolutions—the Forgotten Enacting Mechanism
As I read through the local laws of 2023, I primarily noticed errors in two areas:
Legislative drafting: this is the process of writing law. Among other things, it is guided by the city’s Bill Drafting Manual.1
Legislative management: this is the process of storing and acting on legislation in accordance with the law, and the Council does this with the software Legistar (among other things).
So: the mistakes were (1) general non-compliance with the bill drafting manual and standard drafting practices, and (2) data errors in Legistar. The mistakes were common, and low- and medium-level; they point to inadequate resourcing on the legislative staff end.
And my last note before I get into the meat of the post: the City Council employs some extraordinary people, several of whom wrote its bill drafting manual, the only publicly available local document of its kind. They are talented, competent, and under-appreciated. Nothing in this post should be interpreted to the contrary. What my post points to is an overall legislative system that, for a variety of reasons, does not share their virtues as a baseline.
Errors in legislative drafting
The bar for legislative drafting is high and unmet in the New York City Council. Per its bill drafting manual:
Bill drafters must follow a set of supportive rules, practices, and usages. In addition to asking the right questions, exercising good judgment, and providing competent legal analysis, drafters must pay attention to details ranging from the placement of commas to the internal consistency of word use, verb tenses, punctuation, and numbering. Drafters must exercise their discretion carefully to apply general drafting principles, such as using clear and unambiguous language, using the active voice, properly defining technical terms and words used in a sense other than their ordinary meaning, checking that defined terms are actually used in the final versions of bills they draft, and using terms consistently throughout the law.2
Here is a small, non-comprehensive list of things in the local laws of 2023 that don’t comply with stated Council drafting practices.
The enacting clause
“All bills must begin with the statement “Be it enacted by the Council as follows,” which must be underlined and followed by a colon (also underlined) and a paragraph break.”3 (emphasis added)
Local Law 63 does not capitalize “Council” in its enacting clause.
The following nine local laws do not underline the colon following the enacting clause, even though that gets a specific shoutout in the bill drafting manual: Local Law 38, Local Law 41, Local Law 73, Local Law 79, Local Law 117, Local Law 139, Local Law 150, Local Law 151, Local Law 174.
The effective date provision
When drafting an effective date, use the standard phrasing in the example below. Use “takes effect” rather than “shall take effect,” and use “after it becomes law” instead of “after its enactment” or “after its enactment into law.”4 (emphasis added)
The following six local laws use the phrase “shall take effect” in their effective date provisions: Local Law 19, Local Law 44, Local Law 53, Local Law 110, Local Law 139, Local Law 173.
Defining terms
Use the present tense “means” instead of “shall mean” when defining terms (and, similarly, use “includes” instead of “shall include”).5 (emphasis added)
The following three local laws use the phrase “shall mean” instead of “means” when defining new terms (use control+f): Local Law 32, Local Law 60, Local Law 121.
Acronyms
General sense dictates that acronyms written into law should be defined, especially if they are ambiguous or new—you don’t need to reach into the bill drafting manual to understand that.
And there are many instances of laws correcting previously undefined acronyms by spelling them out. For example, Local Law 127 replaced “XRF” with “x-ray fluorescence.” Much clearer!
But Local Law 115 writes the acronym “TGNCNBI” into the law without spelling it out or defining it, and it is not defined anywhere else in the city’s administrative code.6 That acronym is both (1) not widely known, and (2) very new. Not defining it is nuts.
Referring to other bodies of law: state rules and regulations
The local laws of 2023 refer to many outside bodies of law, usually at the New York State and federal level.7 The bill drafting manual gives multiple examples of how to handle these references, but these standards are inconsistently applied.
For example, New York State’s book of administrative law, the Official Compilation of Codes, Rules and Regulations of the State of New York (“NYCRR”), should be referred to as the “New York codes, rules and regulations” in law—only the state name is capitalized, and the Oxford comma is omitted.8
The Oxford comma is nonetheless used in Local Law 26 and Local Law 45 (use control+f to see).9
Programmatic Analysis
If you’re wondering how I found all of the exceptions to the bill drafting manual’s guidelines, it is not by reading every law and tallying mistakes as I found them. I didn’t even catch some kinds of errors until I was halfway through 2023’s laws.
Instead I created a small set of Python programs that searched the text of 2023’s 174 local laws for the errors! As it turns out, once you understand the basic formatting of the law, it is pretty easy to write short programs to do that.
I found some of the errors because I wrote code to parse style according to the bill drafting manual, and the code broke when it encountered an incorrect application of it.
[I wrote about the early stages of that programming on my personal blog here, and you can find a link to the Repl containing all of my programs here.]
In fact, it seems pretty straightforward to write a larger program that would check every drafted piece of legislation against the bill drafting manual. You wouldn’t need any fancy tools, AI, or any of that. You just need to parse strings and styling tags! This tool, which I built a small subset of, would wildly improve legal drafting quality while requiring far less human effort.
In other words: the Council needs a law linter:
But doesn’t the City Council have legislative management software that could do this?
No. Instead they have Legistar by Granicus, which stores all of their legislation. It has a search feature, but it is impressively primitive. My search programs can tell the difference between new and extant law in bills, accommodate special characters, be sensitive to capitalization, read through styling, and more. Legistar will not do any of that.
Legistar’s data is also unreliable, although you can’t tell how it will be unreliable in advance. For example, I previously wrote about how the reporting index tags aren’t consistent, and how none of the index tags were even consistently implemented until 2016.
So what?
Besides being a problem in and of itself,10 widespread sloppiness11 in legislative drafting is probably evidence of wider-spread sloppiness in the whole legislative support apparatus. This is not a comment on any one individual, but it is a comment on their emergent system. Where there’s smoke, there’s fire.
For example: while reviewing Local Law 2 of 2023, I noticed that the committee report attached to the bill12 incorrectly cites the state law at play in the bill’s consideration. In footnote 1, and every citation that follows, the state civil service law is defined as “CSL.” But the proper citation is “CVS.” This is not a small error to go uncorrected or waved away with a “You know what I meant!” It is a fundamental error, and a failure to cite basic law correctly.
Thankfully, basic tools can radically improve the City Council’s support operations, especially their legislative drafting. If you got one person who knew how to code and draft legislation, they could write a bill draft checker powered by the logic of the bill drafting manual! It’s on my personal to-do list, but I’d be happy to work with the Council staff to do it directly instead. And if you’re a superb software engineer who’d like to get in on this action (and are also willing to spend some time familiarizing yourself with legislative drafting), drop a comment.
See section 1.1, “The Process of Adopting Legislation,” Bill Drafting Manual: A Guide to Legislative Composition for the City of New York, 3rd edition (2022), pp.1-2
Section 1.2.2, “Attention to Detail,” Bill Drafting Manual: A Guide to Legislative Composition for the City of New York, 3rd edition (2022), p.4
Section 2.2, “The Enacting Clause,” Bill Drafting Manual: A Guide to Legislative Composition for the City of New York, 3rd edition (2022), p.15
Section 6.1, “How to Phrase An Effective Date,” Bill Drafting Manual: A Guide to Legislative Composition for the City of New York, 3rd edition (2022), p.48
Section 9, “Definitions,” Bill Drafting Manual: A Guide to Legislative Composition for the City of New York, 3rd edition (2022), p.74
It’s not even explicitly defined on the TGNCNBI Task Force web page, although if you read the content of the page you will come across the phrase “transgender, gender non-conforming, non-binary, and/or intersex people.” (Although it also isn’t explicitly called out as the source of the acronym.)
Local Law 140 writes in several new dependencies on California’s administrative law.
Section 5.4, “Referring to State Rules and Regulations,” Bill Drafting Manual: A Guide to Legislative Composition for the City of New York, 3rd edition (2022), p.46
You can get multiple, separate sections of law given the same section number! See §17-199.21 of NYC’s administrative code which is appended with “* Editor's note: there are two sections designated as § 17-199.21.” It is not the only section like this.
I don’t mean to be unkind here, but it’s true. I’m also not even close to the first person to remark upon this. When the modern City Council was being designed and debated in the city’s 1989 charter commission, the commission’s chair noted legislatures’ tendency to sloppiness (see here, page 803) in accommodating public access and participation: “The Council—like most legislative bodies when left to their own devices—had been sloppy, at best, about assuring opportunities for public observation and participation. Many advocates commented on how hard it was to find out what went on at the Council, particularly at its committee meetings.”
Committee Report 10/26/22, “Oversight: Optimizing the City Civil Service Exam System.”