@@ -30,12 +30,15 @@ this document only describes the contract and phase plan.
3030
3131This plan covers:
3232
33- - the four phases of sample-app evolution, from "small Laravel demo"
34- to "first-class upstream feedback loop";
33+ - the five phases of sample-app evolution, from "small Laravel demo"
34+ through "first-class upstream feedback loop" to "discoverable
35+ ecosystem-fit reference";
3536- the deliverables and exit criteria for each phase;
3637- how the sample app stays in sync with workflow-package releases;
3738- how upstream features get sample coverage and how missing coverage is
38- surfaced.
39+ surfaced;
40+ - how the sample app is linked, cited, and discovered from the docs
41+ site, release notes, and external contributions.
3942
4043It does not cover:
4144
@@ -61,6 +64,7 @@ of the sample-app repository.
6164| 2 | Multi-pattern coverage and codespace flow | done |
6265| 3 | Operator surfaces and MCP | done |
6366| 4 | Upstream feedback loop | done |
67+ | 5 | Ecosystem fit | in progress |
6468
6569## Phase 1 — Foundational samples
6670
@@ -170,6 +174,85 @@ instead of implicit.
170174- README "Reporting Bugs and Requesting Samples" section — operator-
171175 visible entry point that explains both flows in one place.
172176
177+ ## Phase 5 — Ecosystem fit
178+
179+ ** Goal.** The sample app is discoverable, linked, and treated as the
180+ default place an engineer points a newcomer who asks "how do I learn
181+ Durable Workflow?". Phases 1–4 made the sample app correct and current;
182+ Phase 5 makes it visible.
183+
184+ ** Deliverables.**
185+
186+ - prominent, in-content links from the docs-site quickstart pages
187+ (` introduction.md ` , ` installation.md ` ) and from the pattern pages most
188+ newcomers reach first (sagas, signals, message streams,
189+ child-workflows) into the sample-app reference page on the docs site;
190+ - a release-note-feature contract that names the bar a sample must meet
191+ to be cited in upstream release notes, plus a sample-app-side anchor
192+ that maintainers consult before tagging a release;
193+ - a "contribute a sample" guide for external contributors who have a
194+ real durable-workflow pattern to share, hosted on the docs site and
195+ cross-linked from the sample-app repository;
196+ - a Waterline gallery on the docs-site sample-app page that names every
197+ registered sample, the artisan command that exercises it, and the
198+ Waterline screen that proves the run, so a reader can decide whether
199+ the sample is the one they want before cloning the repo;
200+ - a blog post anchored on a sample-app workflow rather than an isolated
201+ snippet, demonstrating the "read the sample, run the sample, change
202+ the sample" loop end to end.
203+
204+ ** Exit criteria.**
205+
206+ - the sample-app reference page is reachable from the docs-site
207+ introduction and installation pages and from at least one feature
208+ page per major pattern surface (sagas, signals, message streams,
209+ child-workflows) without requiring a sidebar hunt;
210+ - upstream release notes for the workflow package cite the sample-app
211+ workflow class and artisan command for any feature whose
212+ release-notes-feature contract entry is ` required ` ;
213+ - the docs-site sample-app gallery section names every entry in the
214+ sample index and the Waterline screen that demonstrates it, and the
215+ sample index lints for parity with the gallery so a new sample cannot
216+ ship without a gallery row;
217+ - external contributors land sample workflows on a predictable cadence
218+ through the published "contribute a sample" guide, not through ad-hoc
219+ maintainer back-and-forth on individual issues.
220+
221+ ** Anchors in the docs-site repository (` durable-workflow.github.io ` ).**
222+
223+ - ` docs/sample-app.md ` — sample-app reference page, with a "Sample
224+ gallery" section that names each sample, command, and Waterline
225+ screen.
226+ - ` docs/contribute-a-sample.md ` — published "contribute a sample"
227+ guide, linked from the sample-app reference page and the docs-site
228+ sidebar.
229+ - ` docs/introduction.md ` and ` docs/installation.md ` — quickstart
230+ surfaces that point at the sample-app reference page in their first
231+ screenful.
232+ - pattern pages under ` docs/features/ ` (sagas, signals, message
233+ streams, child-workflows) — each links to the matching sample-app
234+ workflow class so readers can leave the snippet and run it.
235+
236+ ** Anchors in the sample-app repository.**
237+
238+ - ` CONTRIBUTING.md ` — repository-side mirror of the "contribute a
239+ sample" guide; it tracks the published guide and stays the entry
240+ point a reader hits when they land in the repo without going through
241+ the docs site first.
242+ - ` docs/release-notes-feature-contract.md ` — the bar a sample must
243+ meet to be cited in upstream release notes, plus the maintainer
244+ checklist for tagging a release.
245+ - README "Sample Index" — the sample-index table is the source of
246+ truth that the docs-site gallery mirrors; it stays in sync with the
247+ gallery rows on the docs site.
248+
249+ ** Anchors in the workflow repository.**
250+
251+ - ` docs/sample-app/plan.md ` — this phase plan.
252+ - release notes / ` CHANGELOG.md ` — entries that introduce a sample-
253+ worthy feature follow the release-notes-feature contract and cite
254+ the sample-app workflow class plus artisan command.
255+
173256## Cadence Contract
174257
175258The sample-app pinned ` durable-workflow/workflow ` version moves within
@@ -217,6 +300,13 @@ phase, or relaxing the cadence contract requires updating this document
217300and the corresponding artifacts in the sample-app repository in the same
218301change. In particular, marking Phase 4 deliverables as done requires the
219302linked anchors above to exist on ` main ` of the sample-app repository.
303+ Marking Phase 5 deliverables as done requires the corresponding pages
304+ to exist on ` main ` of ` durable-workflow.github.io ` (the
305+ sample-app reference page with a gallery section, the
306+ contribute-a-sample guide, and the cross-links from quickstart and
307+ pattern pages) and the matching artifacts to exist on ` main ` of the
308+ sample-app repository (` CONTRIBUTING.md ` and the release-notes-feature
309+ contract).
220310
221311Removing a sample from the sample app or replacing it with a different
222312demonstration of the same feature surface is a manifest update, not a
0 commit comments