Skip to content

Commit de65af5

Browse files
docs(discovery): make reruns portable and consent-safe
1 parent 7f9958f commit de65af5

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

specs/discovery/sprint10/assumption-map-2026-09-06.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ Product-discovery pass over `ost.json` (linter exit 0, 8 opportunities) and the
44

55
```bash
66
P="${PRODUCT_SKILLS_DIR:?Set PRODUCT_SKILLS_DIR to the installed product-skills skills/ directory}"
7-
python3 $P/product-discovery/scripts/assumption_mapper.py specs/discovery/sprint10/assumptions.csv --top 25
8-
python3 $P/product-skills/scripts/discovery_cadence_tracker.py --input specs/discovery/sprint10/discovery_log.json --as-of 2026-09-06 --output human
7+
python3 "$P/product-discovery/scripts/assumption_mapper.py" specs/discovery/sprint10/assumptions.csv --top 25
8+
python3 "$P/product-skills/scripts/discovery_cadence_tracker.py" --input specs/discovery/sprint10/discovery_log.json --as-of 2026-09-06 --output human
99
```
1010

1111
Scoring: `priority = risk × (1 − certainty)`; high-risk, low-certainty first (Torres / Bland assumption mapping). Risk and certainty are the agent's estimates from the evidence column in `assumptions.csv`, not measurements.
@@ -17,7 +17,7 @@ Scoring: `priority = risk × (1 − certainty)`; high-risk, low-certainty first
1717
| 1 | 0.56 | desirability | Mobile visitors who land on `/r/<slug>` will save at a measurable rate (outcome) | problem interviews / fake door | **Untestable pre-launch by Adam's decision** (no external users until the done-bar). Sprint 10 ships the instrumentation so the first users are measured; the test runs when they arrive. |
1818
| 2 | 0.56 | desirability | A non-author uses the settings tab within 4 weeks of first users (opp7) | problem interviews / fake door | Rank 9 in the sprint, first cut. Fake-door is cheap: a "Settings" header entry that opens the four options can log clicks via RUM before the model picker exists. |
1919
| 3 | 0.36 | feasibility | FCP on `/` ≤ 2.0 s via code split, deferred modals, no render-blocking font (opp2.sol2) | technical spike | **Half-day spike first**: measure how much of the ~1 MB shell is removable before committing the layout item's exit number. |
20-
| 4 | 0.35 | desirability | Users accept the RUM consent toggle at a usable rate (opp5) | problem interviews / fake door | Unknown until users exist. Design the toggle so declining is honoured and measured (the decline count itself is the signal). |
20+
| 4 | 0.35 | desirability | Enough users opt into RUM for the five inputs to have usable data (opp5) | problem interviews / fake door | Unknown until users exist. Declining must stop RUM entirely; verify zero RUM requests after decline and estimate usable volume only from consented sessions. |
2121
| 5 | 0.35 | feasibility | WebP variants + srcset + `fetchpriority` land LCP ≤ 2.5 s on `/r` and `/browse` (opp3.sol1) | technical spike | **Spike on one recipe on the local loop before the pipeline**: hand-resize one hero, measure LCP. If < 2.5 s, the variant pipeline is the SI; if not, the SPA-shell and Valkey items own the number. |
2222
| 6 | 0.30 | viability | Recipes kept per week is the right North Star | willingness-to-pay (mapper default) | Not a pricing question. Revisit after four weeks of RUM data; Amplitude's test is whether the inputs move it. |
2323
| 7 | 0.30 | viability | Filtered/sorted `/browse` does not create duplicate-content indexing (opp4.sol2) | (mapper default) | Design rule before code: filtered views get `noindex` or a canonical to the unfiltered page; run the existing SEO canonical gate. |

0 commit comments

Comments
 (0)