Request for new Action Types


#1

I’ve been reviewing the actions of bills and would like to see these Action Types added. These are all based on my review of CA bills, but they seem applicable to more states.

Concurrence committee is a special committee with members from both houses who meet to resolve differences in the bill as passed by each house.

  • concurrence:failed – The bill failed in concurrence
  • concurrence:passed – The bill was amended in concurrence
  • concurrence:passed – The bill passed concurrence
  • concurrence:referred – The bill has been referred to concurrence

These actions indicate when a bill will be voted on (as opposed to actions like bill:reading:3 which is an after-the-fact action):

  • bill:reading:2:ordered – Bill is ordered to a second floor reading
  • bill:reading:3:ordered – Bill is ordered to a third floor reading
  • consent:ordered – Bill is ordered to the consent calendar

These are are similar to the existing bill:withdrawn, but more descriptive:

  • committee:withdrawn – The bill has been withdrawn from a committee
  • governor:withdrawn – The bill has been withdrawn from the governor’s consideration

In CA when the governor uses a line-item veto, the bill is signed into law except for the items that were vetoed. The current action is governor:vetoed:line-item. To be more descriptive, it really should be “signed”, like this:

  • governor:signed:line-item – The bill has issued a line-item (partial) veto

Thoughts?


#2

Folks who might actually act on this are tied up getting states running for the new session.

Terminology and process vary from state to state. For example, a more common name for “concurrence commitee” is “conference committee” or “committee of conference”.

For the “*:ordered” and “:withdrawn” actions, who does the ordering and withdrawing? Is it by a vote?


#3

I’ve wondered whether it would be feasible to create a directed graph of bill states that works across all bills in all states, and have a second, more formal “action type” that is an edge of this graph, perhaps with an attribute or two, and perhaps with a small number of variations (e.g. for unicameral Nebraska & D.C.). I think this would support interesting visualizations of bill history and status. As always, the big challenges are making this fit all actions in all states, and not rely on information that is frequently unavailable.

It’s possible that a directed graph is not sufficiently powerful, and something like a Harel statechart (aka hierarchical state machine) is more suited. In that case, an action would need to include its prior state as an attribute, to be fully interpretable.


#4

California uses Conference committees for concurrence. I would be fine with either term.

:withdrawn is already in use for bill:withdrawn. It is usually withdrawn based on a floor vote. For example, in CA the action might be:

Returned by the Governor at the request of the Assembly.

:ordered is an action that happens as part of another action, usually on a floor vote/action Some CA action examples include:

Amended. Ordered to third reading.
Read. Adopted. Ordered to the Assembly.
Read second time. Ordered to consent calendar.

Personally, I most interested in knowing when a vote is going to happen; rather then knowing it did happen. The ordered to third reading is the most important vote in CA because that is when the floor will vote on it.


#5

Seconding @EdStaub that we probably won’t get the new types in ASAP, but it’s something i’m interested in looking at as well once things slow down in a few weeks, as I’d like to support some international statuses as well.

Getting these in is a little convoluted, because there are multiple parts to the backend. The flow is:

  1. Decide on which statuses are a good idea – this is a fine forum for that
  2. Make a pull request to https://github.com/opencivicdata/python-opencivicdata/ to actually add the statuses – Here’s one of mine from last year https://github.com/opencivicdata/python-opencivicdata/commit/8fc23329a4e46815624a73baece07843dc35794b#diff-681b5ac3d214e19aaf65890e9b0af2dd
  3. (once accepted) Make a pull request to https://github.com/opencivicdata/pupa to update the dependencies, and file a github ticket to ask that a new release be published
  4. (once accepted and published) Pull request to add the statuses to the various action scrapers in https://github.com/openstates/openstates

RE:Modeling them in some other way, Ed I think that’s a pretty interesting idea but i’m not sure I like the complexity as part of openstates itself, as that model is going to be a real pain in some jurisdictions. Maybe if the state machine was a seperate python lib that output some easily encoded/decoded state we could just put it in the bills’ extras?


#6

Re modelling another way: it’s something I’m playing with in my own app; if I get to something that seems to have good coverage across states I’ll share back. There’s definitely a lot of room for unpleasant surprises!