Skip to content

Misleading committee slugs in committees.py: 'transport' → 'culture', 'science' → 'environment' #47

@skishchampi

Description

@skishchampi

Summary

Two slug names in committees.py (LS_COMMITTEES / RS_COMMITTEES) elide the analytically load-bearing portion of the committee's mandate and make those committees undiscoverable to researchers working on non-obvious policy domains.

Specific cases

1. transport (RS_COMMITTEES, mstCommId=20)

Full committee name: "Transport, Tourism and Culture". Three coequal ministries. A researcher pulling committee reports on a Culture-mandate topic — public libraries, museums, archives, archaeology, heritage — would scan the slug list looking for culture, find none, and either give up or have to read committees.py source to discover that transport is the right slug. The Ministry of Culture's Demands for Grants reports (e.g. RS #310 "Demands for Grants 2022-23 of the Ministry of Culture") sit behind this slug.

2. science (RS_COMMITTEES, mstCommId=19)

Full committee name: "Science and Technology, Environment, Forests and Climate Change". Anyone pulling environment-policy reports — climate, forests, pollution monitoring, EIA scrutiny — would not guess science.

Proposal

Non-breaking change: add aliases, keep existing slugs working.

RS_COMMITTEES: dict[str, tuple[str, int]] = {
    ...
    "transport": ("Transport, Tourism and Culture", 20),
    "culture": ("Transport, Tourism and Culture", 20),  # alias, preferred
    "science": ("Science and Technology, Environment, Forests and Climate Change", 19),
    "environment": ("Science and Technology, Environment, Forests and Climate Change", 19),  # alias, preferred
    ...
}

culture and environment would be documented as the canonical / preferred slugs in the user-facing docs (README and/or --help text; maintainer's call). transport and science continue to work, marked as accepted-but-deprecated. Removal of the deprecated forms can wait for a v2.0 major bump.

Same pattern would apply to any other LS/RS slugs that elide load-bearing mandate portions; flagging only the two clearest cases here.

Discoverability fix

Independent of the rename, a list-committees CLI subcommand that prints slug -> full name (committee code) for both houses would let users discover the mapping without reading source.

Acceptance criteria

  • culture accepted as --committees value, resolves to mstCommId=20
  • environment accepted as --committees value, resolves to mstCommId=19
  • transport and science continue to work, with deprecation note in --help text
  • list-committees subcommand prints the full mapping
  • Canonical slug names are documented in a user-facing surface (README / --help / dedicated docs page)
  • Tests cover both alias and canonical forms

Context

Filed after the first end-to-end run of crawl-committees against a Culture-mandate topic profile, where the slug transport was not discoverable from any user-facing source (README, --help text). The committee mapping is currently only legible by reading the source of committees.py.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions