Public: anyone can read this; the crew can change it.
Open the meeting on a finished launch: the 412 Alder Lane sample shows all six assets approved by its sample agent #54
Check · Review · Land · Live done — Landed and live in production.
Alder Lane (412 Alder Lane) now opens with all six assets approved by its sample agent. One part of the issue differs from what I built: its home card reads "Ready to send", not "6 of 6 approved".
shipped production is serving it deploy 957b843
Alder Lane (412 Alder Lane) now opens with all six assets approved by its sample agent. One part of the issue differs from what I built: its home card reads "Ready to send", not "6 of 6 approved".
What changed
- Fresh database:
seed()insrc/sample.tsapproves every Alder Lane asset as "Morgan Reyes (sample)" withapproved_via = 'sample'. This replaces the old MLS-only approval, which was recorded as "Sample listing" via the page. - Old databases: a new forward-only migration in
src/db.ts, which runs once, applies the same approval to databases planted before this change.
- It matches the sample by author_id = 'sample' and its own headshot, not by address.
- It touches only assets with edited = 0 that have no approval, or that carry the earlier sample-planted one.
- A sample that was edited or removed is left alone.
- Birchwood and Meridian never match it.
- Wording: the approval line reads "Approved by Morgan Reyes (sample) …".
src/pages/listing.tsdrops the "· via the page" suffix for a sample approval, since the name already says it. The launch kit prints "Approved by Morgan Reyes (sample) on <date>". - Draft band: the flyer and email preview of Alder Lane carry no "Draft — not approved" band.
- Copies: editing, Rewrite all and Edit facts clear approvals as before, and a copy started from the sample starts at 0.
- Contract: no contract cell changed.
Tests
src/sample.test.tscovers three cases:
- Alder Lane shows six approvals, with no draft bands and the right kit line, while Birchwood and Meridian show none. - The migration approves an old sample once, skips edited or already-approved assets, and does nothing the second time. - A copy starts at 0.
src/walkthrough.test.tsnow checks that the sample opens approved and has no draft band.- The tests I ran passed: sample, walkthrough, listings, tty, db, a11y, speed, kit, property, status, server, openapi, deps and design.
Differences from the issue
- Wording: "6 of 6 approved" appears nowhere. The existing
approvalLabelshows "Ready to send" once every asset is approved, and I left it so other listings do not change. The README and walkthrough say "Ready to send" for Alder Lane. If you want the literal "6 of 6 approved", it is a one-line change to the label. - README: the "0 of 6" lines in "Try it in five minutes" still describe the user's own copy and are correct, so I only added a sentence that the sample opens finished.
- Checks not run:
scripts/gate.ts,scripts/fast.tsandscripts/design-lint.tsdo not exist in this clone, and there is notsconfig.json, sotsc --noEmithas nothing to check. I did not run the full suite.
To try it
- Open the sample listing: every asset shows "Approved by Morgan Reyes (sample)".
- Press "Start a new one from this": the new listing starts at 0 approved.
- Production's existing sample gets the approvals on the next boot, through the migration.
🤖 Generated with Claude Code
Read every changed line. Seed and migration approve only the sample listing (author sample + its headshot), skip edited or already-approved assets, run once, and are plain constant SQL with no user text. No contract cell changed, no new door or dependency, approvals go through the existing asset columns so the page, kit and terminal all show them. Tests cover six approvals, no draft band, the kit line, the migration (once, skips edited or approved) and a copy starting at 0. Keeping the existing "Ready to send" label is consistent with the title and README. Nit, not blocking: the new README sentence runs a long line; rewrap it.
Alder Lane (412 Alder Lane) now opens with all six assets approved by its sample agent. One part of the issue differs from what I built: its home card reads "Ready to send", not "6 of 6 approved".
What changed
seed()insrc/sample.tsapproves every Alder Lane asset as "Morgan Reyes (sample)" withapproved_via = 'sample'. This replaces the old MLS-only approval, which was recorded as "Sample listing" via the page.src/db.ts, which runs once, applies the same approval to databases planted before this change.- It matches the sample by
author_id = 'sample'and its own headshot, not by address. - It touches only assets withedited = 0that have no approval, or that carry the earlier sample-planted one. - A sample that was edited or removed is left alone. - Birchwood and Meridian never match it.src/pages/listing.tsdrops the "· via the page" suffix for a sample approval, since the name already says it. The launch kit prints "Approved by Morgan Reyes (sample) on <date>".Tests
src/sample.test.tscovers three cases:- Alder Lane shows six approvals, with no draft bands and the right kit line, while Birchwood and Meridian show none. - The migration approves an old sample once, skips edited or already-approved assets, and does nothing the second time. - A copy starts at 0.
src/walkthrough.test.tsnow checks that the sample opens approved and has no draft band.Differences from the issue
approvalLabelshows "Ready to send" once every asset is approved, and I left it so other listings do not change. The README and walkthrough say "Ready to send" for Alder Lane. If you want the literal "6 of 6 approved", it is a one-line change to the label.scripts/gate.ts,scripts/fast.tsandscripts/design-lint.tsdo not exist in this clone, and there is notsconfig.json, sotsc --noEmithas nothing to check. I did not run the full suite.To try it
🤖 Generated with Claude Code
Closes #52