"The typed Recall marker intent and watch-span intent need new Recall endpoints first — requested through coop; the client ships no calls to endpoints that do not exist."
The Feature You Can Imagine but Can't Yet Ship
Ashen Reel can clearly imagine letting you mark a moment or a watch-span and send it home to Recall as a typed intent. The design is obvious, the button practically draws itself. There's just one problem: Recall doesn't have an endpoint to receive that intent yet. So the feature doesn't ship — and how you handle that gap is the whole quest's final lesson.
The tempting move is to build it locally now and sync later: a small markers table in the player, filled today, reconciled with Recall whenever the endpoint arrives. It feels productive. It's a trap you've now seen five tracks' worth of. That local table is a second owner of a truth that belongs to Recall, and 'sync later' is where local stopgaps go to become permanent.
So the feature is guarded by the contract itself: no endpoint, no button, no local shadow:
Restraint Is the Quest's Closing Note
Every track has been a variation on one theme: ship less than you could, on purpose, so that what you ship is true. Refuse the features Movist has that Dad doesn't use. Refuse a decoder you could reimplement. Refuse a path in the URL. Refuse a shadow copy of the transcript. And now, refuse to call an endpoint that isn't there. Restraint isn't the absence of ambition — it's ambition pointed at correctness instead of surface area. A video player that waited for a real contract instead of faking one is, in the smallest way, the same discipline that let it retire Movist: build the honest thing, and don't pretend the rest is done.
Code
/// A typed marker intent needs a REAL Recall endpoint. Until it exists,
/// the FEATURE is absent -- never faked with a local store.
func markMomentIfSupported() async {
guard recall.capabilities.contains(.typedMarkerIntent) else {
// No endpoint yet. We do NOT invent a local markers table to hold it.
// The button simply isn't offered. The intent was requested via coop;
// when Recall ships the endpoint, this branch lights up for real.
return
}
try? await recall.submitMarker(current.releaseID, atMs: engine.observedTimeMs)
}
// The client's surface is exactly as large as the contracts that actually
// exist -- no larger. A button with nowhere to send its data is not a feature;
// it's a promise the app can't keep.External links
Exercise
Hint
Progress
Comments 0
🔔 Reply notifications (sign in)No comments yet — be the first.