Scope Update: Council District + Councilmember Feature
Change Summary
The Council district + councilmember resolution feature was previously listed in the Out of Scope section. This has been reclassified as In Scope and prioritized as a near-term deliverable.
Updated “In Scope” Section
✅ In Scope (4PHILLY Core Features)
Property & Violation Lookup
- OPA number → property details (address, owner, use code)
- L&I violation history + citation details (Carto violations table)
- Rental license status (active/expired date, renewal pathway)
- Unfit Structure & Dangerous Building flags
Tenant Protections & Legal Context
- Eviction Lab data (eviction history, case status, landlord profile)
- Pennsylvania/Philadelphia tenant rights framework
- Retaliation statute triggers (Phila. Code §9-3902)
- Just cause protections + non-renewal rules
Governance & Oversight
- City Council district + councilmember (NEW)
- L&I Committee chair identification for violations/licensing (NEW)
- Committee-relevant routing flags (NEW)
Risk Intelligence
- Complaint pattern analysis (311, L&I, harassment reports)
- Violation density + severity scoring
- Landlord enforcement history
Updated “Out of Scope” Section
❌ Out of Scope (Explicitly Not Included)
Philadelphia City Government (Non-Essential)
- Individual councilmember voting records or legislative positions
- Real-time council hearing schedules or bill tracking
- HRC (Human Relations Commission) — no discrimination complaint integration
- ZBA (Zoning Board of Appeals) — separate workstream, future phase
- PCHR (Philadelphia Commission for Human Relations) — referral-only, no integration
Constituent Services & Casework
- Casework tracking or ticket submission to council offices
- Automated constituent service request generation
- Hearing attendance or meeting scheduling
Broader City Agencies
- Health Department (not violations-related)
- Department of Records (historical deeds, tax records)
- Parks & Rec, Streets, or other non-housing agencies
Committee Flagging: Strategic Rationale
Why This Matters
4PHILLY surfaces violations, expired licenses, and complaint patterns. The natural next question for any tenant is: “Who has oversight authority for this?”
Ending with a generic “contact your councilmember” suggestion leaves the tenant hanging if their district member does not chair the L&I Committee. But if their councilmember is Mark Squilla (L&I Chair), flagging that directly positions them for high-impact contact.
Implementation Strategy
- When issue = licensing violation or rental license expired:
- If district councilmember == L&I Chair: “Your councilmember chairs the L&I Committee — direct jurisdiction over your issue.”
- If district councilmember ≠ L&I Chair: “For licensing issues, the L&I Committee Chair is [NAME] — consider copying them on your communication.”
- For other issue types (non-licensing):
- Standard councilmember info, no committee flag
Current L&I Chair
Mark Squilla (District 5)
Email: mark.squilla@phila.gov
Office: (215) 686-XXXX
Status as of May 2026; subject to change on council reorganization
Data Dependencies
| Data |
Source |
Freshness |
Notes |
| Council Districts (shapefile) |
City GIS portal |
Annual |
Point-in-polygon lookup; convert to GeoJSON once |
| Councilmember Directory |
phila.gov or council website |
Weekly scrape or manual |
Name, district, email, phone |
| L&I Committee Chair |
Council website |
Event-driven (on chair change) |
Maintain in config JSON |
User Experience Flow
Before (Without Feature)
Violation found at 315 N 12th St.
→ User asks: "Who can help with this?"
→ User must separately look up: "Who is my councilmember?"
→ User must separately research: "What committee handles licenses?"
→ Friction; loop not closed.
After (With Feature)
Violation found at 315 N 12th St.
→ 4PHILLY resolves property to Council District 2
→ 4PHILLY displays: Councilmember Kenyatta Johnson (email, phone)
→ 4PHILLY flags (if licensing): "For license issues, L&I Chair is Mark Squilla"
→ User has complete routing; can take action immediately.
Effort & Timeline
Estimated: 3–5 days (core + committee flagging)
Recommended Priority: HIGH — ship before ZBA/PhilaDox work
Blocking Dependencies: None (OPA integration already complete)
Unblocking: Council District resolution enables committee-aware routing, improving UX without adding external API dependencies
Notes for Maintainers
- Shapefile → GeoJSON: One-time conversion using GDAL. Commit the resulting GeoJSON to repo. Update annually or when city redistricts.
- Councilmember Directory: Implement weekly scrape from phila.gov or maintain manual JSON snapshot. Include all districts, names, contact info, committee assignments.
- L&I Chair Tracking: Small config file (
li_committee_chair.json) with current chair’s name, email, phone. Update only when chair changes (rare event).
- Issue Type Routing: When agent receives property + issue_type (e.g., “rental_license_expired”), pass issue_type to councilmember lookup so flag logic can execute correctly.
- Fallback Chain: Always attempt to resolve district via coordinates. If coordinates unavailable, use OPA’s internal district field as fallback. Never silently fail.
Related Issues
- PhilaDox integration (out of scope, future phase)
- ZBA (Zoning Board) integration (out of scope, future phase)
- PCHR (Human Relations Commission) — referral pathway only, no API integration
Scope Update: Council District + Councilmember Feature
Change Summary
The Council district + councilmember resolution feature was previously listed in the Out of Scope section. This has been reclassified as In Scope and prioritized as a near-term deliverable.
Updated “In Scope” Section
✅ In Scope (4PHILLY Core Features)
Property & Violation Lookup
Tenant Protections & Legal Context
Governance & Oversight
Risk Intelligence
Updated “Out of Scope” Section
❌ Out of Scope (Explicitly Not Included)
Philadelphia City Government (Non-Essential)
Constituent Services & Casework
Broader City Agencies
Committee Flagging: Strategic Rationale
Why This Matters
4PHILLY surfaces violations, expired licenses, and complaint patterns. The natural next question for any tenant is: “Who has oversight authority for this?”
Ending with a generic “contact your councilmember” suggestion leaves the tenant hanging if their district member does not chair the L&I Committee. But if their councilmember is Mark Squilla (L&I Chair), flagging that directly positions them for high-impact contact.
Implementation Strategy
Current L&I Chair
Mark Squilla (District 5)
Email: mark.squilla@phila.gov
Office: (215) 686-XXXX
Status as of May 2026; subject to change on council reorganization
Data Dependencies
User Experience Flow
Before (Without Feature)
After (With Feature)
Effort & Timeline
Estimated: 3–5 days (core + committee flagging)
Recommended Priority: HIGH — ship before ZBA/PhilaDox work
Blocking Dependencies: None (OPA integration already complete)
Unblocking: Council District resolution enables committee-aware routing, improving UX without adding external API dependencies
Notes for Maintainers
li_committee_chair.json) with current chair’s name, email, phone. Update only when chair changes (rare event).Related Issues