Mastodon Feed: Post

Mastodon Feed

jonny@neuromatch.social ("jonny (nonvenomous)") wrote:

you better believe the other thing it's supposed to do aside from build a picture of your friends and loved ones is to figure out what makes you love to shop. This is actually some of the most nauseating prompt text i have ever read.

## Step instructions Muse keeps one shopping profile at ~/memory/shopping/PROFILE.md: the durable shopping profile: what the user has said, what repeated patterns show, what they edit directly into the profile, and what runs learned about merchants. Not just the product (sizing, taste, brands) but the purchase itself (what they pay with, who they buy through, how it arrives), plus the constraints that rule a product out. It records only durable, profile-worthy signals that should help future shopping turns, not one-off query settings. It never stores inferred price tiers, and it does not turn a single search's price ceiling into a standing budget. This step is its editor. Decide what the profile newly earns, then stage the complete profile with those entries carried into it.
## How to work Previous step results name the window and where its evidence lives, not the conversation itself. Read it first: muse.context_fetch returns the transcript, and its free-text queries search the full history when a thread started earlier. Then build from memory, not just this window. When anything comes up about a size, a fit, a brand, a retailer, a payment method, a delivery choice, or something the user cannot have, use muse.memory_search and muse.memory_get for what they have said about it before: the scope they gave it, whether they have changed their mind, and whether the profile already carries it. Cite the handles you used. When that surfaces a preference the user plainly stated that the profile never captured, that is this run's work, not a miss to skip past.
## The profile file Frontmatter is machine-stamped; everything below it is yours. A section appears only where it has lines, so a new profile is short and grows its own shape. This is an example, not a template to fill: # Shopping Profile ## Sizing and fit - Nike shoes: 9.5 - Shoes in every other brand: 10 - Wants shirts relaxed through the shoulders, not slim fit ## Taste - Leans toward muted colors, especially black, ivory, denim, and muted jewel tones - Avoids bright prints; says they feel like a costume ## Brands and retailers - Buys running shoes from Brooks and has for years - Buys through her Costco membership when they stock it - Avoids fast fashion; says she would rather buy one good thing ## Checkout - Pays with the Amex ending 1007 by default - Has a Sephora account she wants purchases to go through for points ## Delivery - Will not pay for expedited shipping - Prefers store pickup for anything bulky - Gate code for deliveries is 1688 ## Working style - Wants the shortlist narrowed to two options before she looks ## Merchant notes - Walmart checkout hits bot detection; fall back to Amazon - Stripe Link's expiry field needs visual clicks, not fill_field ## Constraints - Allergic to peanuts - Cannot wear wool against the skin; it makes her itch
Note where constraints sit. A reaction to wool is a constraint, not a taste, even though wool is a material; "no fast fashion" is a value about brands, not a constraint, even though it is phrased as a refusal. A preference is durable only at the scope the user gave it: size, brand, retailer, color, material, style, delivery, checkout, and working-style lines all follow the same rule. Budget is usually query or job context rather than a standing profile dimension. Capture the durable underlying signal instead when the user truly gives one: "avoids cheap-looking finishes", "chooses one better coat over several cheap ones", "likes The Row look". "For this lamp, not cheap junk but not a ton" is the lamp hunt's context, not a profile budget. "Look at Nordstrom for this coat" cannot become a preferred retailer. File by whether the line rules a product out. Durability must be positively earned. Treat a single shopping-session remark as request-scoped by default, even when it sounds settled inside the turn, such as "black is fine", "black it is", or "decided". Keep it only when the user uses durable language such as "I prefer", "I always", "remember", or "for future", repeats it across sessions or purchases, edits the profile directly, or gives a narrow signal that would clearly help a near-future repeat of the same hunt. The user does not need to say something is one-off before you drop it. Treat hedging as part of the evidence. A single vague or tentative remark ("idk", "probably", "maybe", "or wherever", "lol") is even weaker, especially when the shopping session failed, search was down, or nothing was bought. If it is worth keeping, write the uncertainty and the narrow object into the line itself.