@@ -86,33 +86,50 @@ Section names are case-insensitive.
8686### Assigning stories to releases
8787
8888Use the ` [release:: name] ` field on each story to assign it to a release
89- swimlane. The name must match a release defined in the ` # Releases ` section.
90- Stories without a ` [release::] ` field are parsed but not shown in any swimlane.
89+ swimlane. The value must match a release name (or id, see below) defined in
90+ ` # Releases ` . Stories without a ` [release::] ` field are parsed but not shown
91+ in any swimlane.
9192
9293``` markdown
9394### Authentication
9495#### Sign in [ status:: done] [ release:: MVP]
95- #### Remember me [ status:: done] [ release:: MVP]
9696#### SSO [ status:: not-started] [ release:: Beta]
97- #### SAML [ status:: not-started] [ release:: GA]
9897```
9998
100- This is more explicit than positional separators — each story carries its own
101- release assignment regardless of order in the file.
99+ ### Release identifiers
100+
101+ If a release has a long display name, add an ` [id:: short-name] ` field to the
102+ release heading. Stories then use the short id instead of the full name.
103+ storymap will warn if a release name contains spaces and has no ` [id::] ` .
104+
105+ ``` markdown
106+ # Releases
107+ ## Minimum Viable Product [ id:: mvp]
108+ ## Private Beta [ id:: beta]
109+
110+ # Map
111+ ## User Management
112+ ### Authentication
113+ #### Sign in [ status:: done] [ release:: mvp]
114+ #### SSO [ status:: not-started] [ release:: beta]
115+ ```
116+
117+ This decouples the display name from the identifier — you can rename the
118+ release heading freely without updating every story.
102119
103120### Story fields
104121
105122Stories support optional inline fields using ` [key:: value] ` syntax.
106123Fields appear as badges on the rendered story card.
107124
108125``` markdown
109- #### Story name [ status:: done] [ persona:: Margie the Manager] [ deadline:: 2026-03-01] [ release:: MVP ]
126+ #### Story name [ status:: done] [ persona:: Margie the Manager] [ deadline:: 2026-03-01] [ release:: mvp ]
110127```
111128
112129| Field | Values | Default |
113130| ---| ---| ---|
114131| ` status ` | ` not-started ` , ` in-progress ` , ` done ` , ` blocked ` | ` not-started ` |
115- | ` release ` | Release name from ` # Releases ` section | — |
132+ | ` release ` | Release name or id from ` # Releases ` section | — |
116133| ` persona ` | Any string matching a persona name | — |
117134| ` deadline ` | ISO date ` YYYY-MM-DD ` | — |
118135
@@ -125,24 +142,13 @@ is treated as the story description. Descriptions support standard markdown:
125142bold, italics, links, lists, and images.
126143
127144The first paragraph is always visible on the story card. Additional paragraphs
128- (separated by a blank line) are shown only in Detail zoom level.
129-
130- ``` markdown
131- #### Sign in [ status:: done] [ release:: MVP]
132- User can log in with email and password.
133-
134- ** Acceptance criteria:**
135- - Given valid credentials, user is redirected to dashboard
136- - Given invalid credentials, an error message is shown
137-
138- ![ wireframe] ( ./screens/sign-in.png )
139- ```
145+ are shown only in Detail zoom level.
140146
141147### Images
142148
143- Images in story descriptions and persona descriptions are embedded as base64
144- data URIs in the output HTML, making the file fully self-contained. Paths are
145- resolved relative to the source ` .md ` file. Remote URLs are left as-is.
149+ Images in story and persona descriptions are embedded as base64 data URIs in
150+ the output HTML, making the file fully self-contained. Paths are resolved
151+ relative to the source ` .md ` file. Remote URLs are left as-is.
146152
147153## Interactive HTML features
148154
@@ -151,15 +157,14 @@ The rendered HTML includes controls for navigating large maps:
151157** Zoom levels** — three buttons in the sticky header:
152158- ** Overview** — story names only, compact layout
153159- ** Map** — story names, status badges, and first-paragraph descriptions
154- - ** Detail** — full descriptions and acceptance criteria expanded
160+ - ** Detail** — full descriptions expanded
155161
156162** Release focus** — a dropdown to highlight one release swimlane and dim
157163the rest. Works independently of the zoom level.
158164
159165** Story Lens** — a toggle that enables click-to-zoom on individual story cards.
160- When active, clicking a card expands it to ~ 40% of the viewport width with full
161- details visible. Clicking outside collapses it. Stories in the focused release
162- (if any) are the only ones that can be expanded.
166+ When active, clicking a card expands it to ~ 40% of the viewport width. Clicking
167+ outside collapses it.
163168
164169## CLI reference
165170
0 commit comments