feat: Implement Phase 3 neighbourhood data model
Add schemas, parsers, loaders, and models for Toronto neighbourhood-centric data including census profiles, crime statistics, and amenities. Schemas: - NeighbourhoodRecord, CensusRecord, CrimeRecord, CrimeType - AmenityType, AmenityRecord, AmenityCount Models: - BridgeCMHCNeighbourhood (zone-to-neighbourhood mapping with weights) - FactCensus, FactCrime, FactAmenities Parsers: - TorontoOpenDataParser (CKAN API for neighbourhoods, census, amenities) - TorontoPoliceParser (crime rates, MCI data) Loaders: - load_census_data, load_crime_data, load_amenities - build_cmhc_neighbourhood_crosswalk (PostGIS area weights) Also updates CLAUDE.md with projman plugin workflow documentation. Closes #53, #54, #55, #56, #57, #58, #59 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
49
CLAUDE.md
49
CLAUDE.md
@@ -261,4 +261,53 @@ All scripts in `scripts/`:
|
||||
|
||||
---
|
||||
|
||||
## Projman Plugin Workflow
|
||||
|
||||
**CRITICAL: Always use the projman plugin for sprint and task management.**
|
||||
|
||||
### When to Use Projman Skills
|
||||
|
||||
| Skill | Trigger | Purpose |
|
||||
|-------|---------|---------|
|
||||
| `/projman:sprint-plan` | New sprint or phase implementation | Architecture analysis + Gitea issue creation |
|
||||
| `/projman:sprint-start` | Beginning implementation work | Load lessons learned, start execution |
|
||||
| `/projman:sprint-status` | Check progress | Review blockers and completion status |
|
||||
| `/projman:sprint-close` | Sprint completion | Capture lessons learned to Wiki.js |
|
||||
|
||||
### Default Behavior
|
||||
|
||||
When user requests implementation work:
|
||||
|
||||
1. **ALWAYS start with `/projman:sprint-plan`** before writing code
|
||||
2. Create Gitea issues with proper labels and acceptance criteria
|
||||
3. Use `/projman:sprint-start` to begin execution with lessons learned
|
||||
4. Track progress via Gitea issue comments
|
||||
5. Close sprint with `/projman:sprint-close` to document lessons
|
||||
|
||||
### Gitea Repository
|
||||
|
||||
- **Repo**: `lmiranda/personal-portfolio`
|
||||
- **Host**: `gitea.hotserv.cloud`
|
||||
- **Note**: `lmiranda` is a user account (not org), so label lookup may require repo-level labels
|
||||
|
||||
### MCP Tools Available
|
||||
|
||||
**Gitea**:
|
||||
- `list_issues`, `get_issue`, `create_issue`, `update_issue`, `add_comment`
|
||||
- `get_labels`, `suggest_labels`
|
||||
|
||||
**Wiki.js**:
|
||||
- `search_lessons`, `create_lesson`, `search_pages`, `get_page`
|
||||
|
||||
### Issue Structure
|
||||
|
||||
Every Gitea issue should include:
|
||||
- **Overview**: Brief description
|
||||
- **Files to Create/Modify**: Explicit paths
|
||||
- **Acceptance Criteria**: Checkboxes
|
||||
- **Technical Notes**: Implementation hints
|
||||
- **Labels**: Listed in body (workaround for label API issues)
|
||||
|
||||
---
|
||||
|
||||
*Last Updated: Sprint 9*
|
||||
|
||||
Reference in New Issue
Block a user