|
1 | 1 | <!-- |
2 | | -Sync Impact Report - Feature 022 Review |
3 | | -Review Date: 2025-10-08 |
4 | | -Version: 1.0.1 (no changes) |
5 | | -Reviewed For: Feature 022 - User Avatar Upload |
6 | | -
|
7 | | -Constitutional Alignment: |
8 | | - ✅ I. Component Structure Compliance - AvatarUpload/AvatarDisplay follow 5-file pattern |
9 | | - ✅ II. Test-First Development - Tasks include TDD workflow (tests before implementation) |
10 | | - ✅ III. PRP Methodology - Feature using /specify → /plan → /tasks → /implement workflow |
11 | | - ✅ IV. Docker-First Development - All development in Docker containers |
12 | | - ✅ V. Progressive Enhancement - Client-side crop, progressive upload, offline capable |
13 | | - ✅ VI. Privacy & Compliance First - RLS policies, user consent, GDPR compliance |
14 | | -
|
15 | | -Template Consistency: |
16 | | - ✅ .specify/templates/plan-template.md - Constitution Check section present (lines 30-34) |
17 | | - ✅ .specify/templates/spec-template.md - User story/requirements structure aligns |
18 | | - ✅ .specify/templates/tasks-template.md - PRP workflow and phase organization present |
19 | | - ✅ .specify/templates/commands/*.md - No command templates found (expected) |
20 | | -
|
21 | | -Action Items: |
22 | | - ⚠️ specs/022-on-the-account/plan.md:43 - Incorrectly states "(template only - no project-specific constitution)" |
23 | | - Should read: "SpokeToWork Constitution v1.0.1 (6 core principles)" |
24 | | -
|
25 | | -Version Decision: No version bump required |
26 | | - - No principles modified, added, or removed |
27 | | - - No governance changes |
28 | | - - Review confirms existing constitution fully covers Feature 022 requirements |
29 | | - - Constitution v1.0.1 remains current (ratified 2025-09-20, last amended 2025-09-25) |
30 | | -
|
31 | | -Follow-up: None - constitution is complete and aligned |
| 2 | +Sync Impact Report - Constitution Amendment |
| 3 | +Version Change: 1.0.1 → 1.1.0 (MINOR) |
| 4 | +Amendment Date: 2025-12-04 |
| 5 | +
|
| 6 | +Rationale: Minor version bump - adding 6 new product-specific principles |
| 7 | +derived from SpokeToWork core PRP (docs/prp-docs/spoketowork-core-prp.md). |
| 8 | +No existing principles removed or modified. |
| 9 | +
|
| 10 | +Added Principles (from core PRP): |
| 11 | + - VII. Company Tracking & Status Management |
| 12 | + - VIII. Geographic Data Accuracy |
| 13 | + - IX. Route Cluster Organization |
| 14 | + - X. Bicycle-Optimized Routing |
| 15 | + - XI. Multi-Format Export |
| 16 | + - XII. Field Operations Support |
| 17 | +
|
| 18 | +Existing Principles (unchanged): |
| 19 | + ✅ I. Component Structure Compliance |
| 20 | + ✅ II. Test-First Development |
| 21 | + ✅ III. PRP Methodology |
| 22 | + ✅ IV. Docker-First Development |
| 23 | + ✅ V. Progressive Enhancement (PWA, offline, accessibility) |
| 24 | + ✅ VI. Privacy & Compliance First |
| 25 | +
|
| 26 | +Templates: No updates required (generic templates work with additions) |
| 27 | +Follow-up TODOs: None |
32 | 28 | --> |
33 | 29 |
|
34 | 30 | # SpokeToWork Constitution |
@@ -80,6 +76,56 @@ Cookie consent system must be implemented before any tracking. Analytics |
80 | 76 | only activate after user consent. Geolocation requires explicit permission. |
81 | 77 | Third-party services need consent modals. Privacy controls accessible to users. |
82 | 78 |
|
| 79 | +### VII. Company Tracking & Status Management |
| 80 | + |
| 81 | +The system MUST track companies the user intends to visit for job applications. |
| 82 | +Each company record includes: name, contact details, physical address, geographic |
| 83 | +coordinates, application status (not contacted → contacted → follow-up → meeting |
| 84 | +→ outcome), priority level, notes, follow-up dates, route assignment, and |
| 85 | +active/inactive flag. Bulk import/export supported. Filter and search required. |
| 86 | + |
| 87 | +### VIII. Geographic Data Accuracy |
| 88 | + |
| 89 | +Geocoded coordinates MUST be verifiably correct before route generation. Visual |
| 90 | +verification on a map is required to catch geocoding errors. Manual coordinate |
| 91 | +entry MUST be supported for addresses that fail automatic geocoding. Coordinates |
| 92 | +MUST be validated within reasonable geographic bounds (~20 mile radius from home). |
| 93 | +Incorrect coordinates waste the user's physical effort cycling to wrong locations. |
| 94 | + |
| 95 | +### IX. Route Cluster Organization |
| 96 | + |
| 97 | +Companies MUST be grouped into 5-10 geographic clusters (routes) based on |
| 98 | +proximity and directional bearing from the user's home location. Each cluster |
| 99 | +should be completable in a single bicycle trip. Clusters minimize backtracking. |
| 100 | +Automatic assignment based on distance and direction, with manual override |
| 101 | +capability. Extended range companies handled separately. |
| 102 | + |
| 103 | +### X. Bicycle-Optimized Routing |
| 104 | + |
| 105 | +Routes MUST be optimized for bicycle travel, not car navigation. This includes: |
| 106 | +preference for bike-friendly roads and paths, avoidance of highways and high- |
| 107 | +traffic areas. Routes start and end at the user's home location. Goal is to |
| 108 | +minimize total cycling distance while visiting all selected companies in a |
| 109 | +cluster (TSP optimization). Calculate total distance and estimated travel time. |
| 110 | + |
| 111 | +### XI. Multi-Format Export |
| 112 | + |
| 113 | +Routes MUST be exportable in multiple formats for field use: |
| 114 | + |
| 115 | +- Interactive map viewable in web browser |
| 116 | +- GPS file importable to cycling/navigation apps (GPX format) |
| 117 | +- Printable field sheet with company details, addresses, and route order |
| 118 | + All exports MUST work offline once downloaded. Export includes company contact |
| 119 | + info and notes for reference while in the field. |
| 120 | + |
| 121 | +### XII. Field Operations Support |
| 122 | + |
| 123 | +The app MUST support field operations while visiting companies by bicycle. |
| 124 | +Printable field sheets with company details for the day's route. Quick status |
| 125 | +updates (mark as visited, add notes) that sync when connectivity returns. |
| 126 | +Route progress tracking. PWA service worker caches critical data for offline |
| 127 | +access. Core route execution MUST NOT require network connectivity. |
| 128 | + |
83 | 129 | ## Technical Standards |
84 | 130 |
|
85 | 131 | ### Framework Requirements |
@@ -194,4 +240,4 @@ The constitution supersedes all other practices. Violations must be justified |
194 | 240 | with documented rationale. Temporary exceptions require sprint constitution. |
195 | 241 | Use CLAUDE.md for runtime development guidance specific to AI assistance. |
196 | 242 |
|
197 | | -**Version**: 1.0.1 | **Ratified**: 2025-09-20 | **Last Amended**: 2025-09-25 |
| 243 | +**Version**: 1.1.0 | **Ratified**: 2025-09-20 | **Last Amended**: 2025-12-04 |
0 commit comments