Repository navigation
Add public agent runbooks with signup continuation and atomic creation - #275
Conversation
|
🚅 Deployed to the boop-pr-275 environment in Friends
|
There was a problem hiding this comment.
Important
Moving the quick-start picker onto createListFromTemplate drops the per-item authorship credential that addItem used to attach. The backend now also reads a catalog file that its deploy workflow doesn't watch.
Reviewed changes
I reviewed the full diff of the single commit: the public runbook catalog, signup continuation, atomic creation, prerendering, and the app-lock gating change.
- Shared catalog:
src/lib/builtinTemplates.tsnow re-exportsshared/templates.ts, which adds tenAGENT_RUNBOOKSand an allowlistedtemplateLoginDestination. - Atomic creation:
createListFromTemplateacceptsbuiltinIdortemplateId, deduplicates byassetDid+templateSource, enforcesassertListQuota, sets the listvcProof, and grants the first-list referral through the extractedgrantFirstListReferral. - Quick-start path rewired:
TemplatePickerModalandTemplatesnow make onecreateListFromTemplate({ builtinId })call instead ofcreateList+ N×addItem. - Public gallery + continuation:
/templatesand/templates/:slugare public. Activation happens at/templates/:slug/usebehindAppLockGuard+AuthGuard, with retry state kept insessionStorage. The saved-template manager moves to/templates/saved. - App lock:
AppLockGuardmounts no children until the lock preference resolves, and if reading it fails the app stays locked. - SEO: a Vite
closeBundlehook prerenders per-runbook HTML and sitemap entries, andserver.tsserves directoryindex.htmlfiles.
ℹ️ The new builtinId argument briefly depends on deploy order
TemplatePickerModal and Templates now send builtinId with no fallback. Railway and the Convex workflow both deploy on merge, independently. If the frontend lands first, the old validator rejects the unknown argument and every quick-start template fails until Convex catches up. If that window matters, run the Convex deploy (workflow_dispatch) before the frontend ships.
claude-opus-5-5 | 𝕏
There was a problem hiding this comment.
✅ No new issues found. Both findings from the previous review are fixed.
Reviewed changes
I reviewed e506787, which fixes the two findings from the prior review. The frontend, e2e and script files changed only their import paths.
- Restored item authorship metadata:
createListFromTemplatenow inserts each item withupdatedAtandassignmentsVersion: 1. It then attachesvcProofs: [createItemAuthorshipVC(...)]the same wayaddItemdoes, using the helper now exported fromconvex/items.ts. A new test checks the exact credential payload for both a built-in and a saved template, and confirms that a retry leaves the items unchanged. - Moved the catalog under
convex/lib/:shared/templates.tsbecameconvex/lib/templateCatalog.ts. The existingconvex/**deploy filter now picks up catalog edits, so the frontend preview and the backend creation data can't drift apart. Every importer was updated. The frontend already imports fromconvex/lib/*elsewhere (noteBody,authError), so this follows an existing pattern. - Documented release ordering:
docs/templates.mdnow says the Convex backend must be deployed before the frontend, because the old validator rejectsbuiltinId.
claude-opus-5-5 | 𝕏

Add ten public agent runbooks with crawlable use-case pages. “Use this template” survives signup and creates a private list containing every step in one authenticated mutation. Existing quick-start and saved templates remain available.
Closes #203.
Creation preserves list quotas and first-list referral rewards, waits for app unlock, and reuses unresolved attempts after a lost response/reload. The public catalog contains only source-controlled templates; private saved templates remain protected. Per-template view/use/activation events use existing consent-gated analytics and a stable activation deduplication ID. Generated HTML, metadata and sitemap support direct requests and client navigation.
Validation:
Release prerequisite: make the compatible Convex backend available before the frontend; the independent release pipelines do not enforce that order. Live OTP, deployed Convex transactions/native biometrics, production crawling and PostHog ingestion were not exercised. Direct authenticated/unlocked
/templates/:slug/use?new=1links intentionally create a fixed catalog list; the reviewer noted persisted explicit intent as nonblocking UX hardening. Latest commit e1d3593 passes CI unit tests, all 121 browser tests, web/Android/unsigned iOS builds, Lighthouse and automated review; GitHub reports CLEAN/MERGEABLE. Independent final follow-up review found no blockers. No required human review is currently reported by GitHub. No merge or manual deployment.