Fix all OpenSpec validation failures (36/36 passing)
- Add ## Purpose sections and convert delta headers to ## Requirements on all 25 specs - Add SHALL keywords to requirements missing them (gpx-import, planner-session, planner-journal-handoff) - Convert prose GPX format section to proper scenarios (no-go-areas) - Create specs/ delta files for 7 changes that were missing them (activity-photos, local-dev-stack, multi-day-routes, route-discovery, route-sharing, visual-redesign, waypoint-notes) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
c6949e9490
commit
0b9b99984e
32 changed files with 414 additions and 35 deletions
38
openspec/changes/route-sharing/specs/route-sharing/spec.md
Normal file
38
openspec/changes/route-sharing/specs/route-sharing/spec.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
## ADDED Requirements
|
||||
|
||||
### Requirement: Route visibility
|
||||
Routes and activities SHALL support private (default) and public visibility levels.
|
||||
|
||||
#### Scenario: Set route public
|
||||
- **WHEN** a route owner toggles visibility to "public"
|
||||
- **THEN** the route is viewable by anyone with the link
|
||||
|
||||
#### Scenario: Default private
|
||||
- **WHEN** a new route is created
|
||||
- **THEN** its visibility is "private" (owner-only)
|
||||
|
||||
### Requirement: Per-user route sharing
|
||||
Route owners SHALL be able to share routes with specific users at view or edit permission levels.
|
||||
|
||||
#### Scenario: Share with user
|
||||
- **WHEN** a route owner shares a route with another user at "view" level
|
||||
- **THEN** the shared user sees the route in their collection and can view it
|
||||
|
||||
#### Scenario: Edit permission
|
||||
- **WHEN** a route owner shares a route with "edit" permission
|
||||
- **THEN** the shared user can update the route name, description, and GPX
|
||||
|
||||
### Requirement: Route forking
|
||||
Logged-in users SHALL be able to fork any public route into their own collection.
|
||||
|
||||
#### Scenario: Fork public route
|
||||
- **WHEN** a user clicks "Fork" on a public route
|
||||
- **THEN** a copy of the route metadata and latest GPX is created in their collection
|
||||
- **AND** a `forkedFromId` link references the original route
|
||||
|
||||
### Requirement: Contributor tracking
|
||||
Route versions SHALL record the identity of the contributor who saved them.
|
||||
|
||||
#### Scenario: Planner callback contributor
|
||||
- **WHEN** the Planner saves back to the Journal via JWT callback
|
||||
- **THEN** the contributor's identity is recorded on the new route version
|
||||
Loading…
Add table
Add a link
Reference in a new issue