Skip to content

Commit aafa6c7

Browse files
GitHub #245: Sample-App Phase 5: Ecosystem Fit (#522)
1 parent e038192 commit aafa6c7

1 file changed

Lines changed: 93 additions & 3 deletions

File tree

docs/sample-app/plan.md

Lines changed: 93 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,15 @@ this document only describes the contract and phase plan.
3030

3131
This 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

4043
It 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

175258
The sample-app pinned `durable-workflow/workflow` version moves within
@@ -217,6 +300,13 @@ phase, or relaxing the cadence contract requires updating this document
217300
and the corresponding artifacts in the sample-app repository in the same
218301
change. In particular, marking Phase 4 deliverables as done requires the
219302
linked 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

221311
Removing a sample from the sample app or replacing it with a different
222312
demonstration of the same feature surface is a manifest update, not a

0 commit comments

Comments
 (0)