- A talent had exactly one lever over what reached them, and it was all or nothing. They can now say what they will and will not be brought, and a person approves it before it filters anybody. Nothing under five hundred dollars, no more logo work, sixty an hour and up: real boundaries that could not be honoured, so the hunt kept shortlisting people for work they had already turned down. Three separate price floors exist now rather than one, because they are not convertible and pretending they are drops people by a factor of a thousand: a floor for a whole project, a floor for an hourly rate, and a floor for one particular kind of work, so a designer who wants five hundred minimum for brand identity can still take the cheap logo jobs they actually enjoy. A brief carrying no comparable number enforces nothing and says so. The written rule is the one sentence in the whole system that crosses from one person's private conversation into another person's search, so it is fenced three ways: refused outright rather than trimmed if it is too long or carries markup, marked in the grader's prompt as data and never as an instruction, and clamped afterwards so a conflict can only ever remove the talent who wrote it and never promote anybody. And approval does not switch it on: it submits it. A human reads every one in a queue that deep-links back to the conversation it came from, because the capture is written by a model off a single turn, the blast radius is every future search, and a wrong one is invisible from every direction at once. The talent sees fewer briefs and cannot tell why, the client never learns somebody was filtered, and nothing raises an error anywhere.
- The way we asked for that boundary was wrong on the day it shipped, and the fix was to stop asking. The invitation started life as a fixed line stapled to the end of every decline. That reads a talent passing on one project as a talent asking to be filtered forever, and it fires at the worst possible moment, right after somebody has said no, which is when they are least inclined to hear a settings question. It is passive now. Mira raises it in her own words at exactly two moments and both come from the talent: when they are telling us something should stop arriving, and when they ask about it themselves. The test is deliberately not whether they sound annoyed, it is whether they are describing what keeps showing up rather than this one brief. You keep sending me these, I stopped taking this kind of work, this is the fourth logo job this month. Ordinary frustration is named as explicitly not a signal, with examples, because that is the failure this shape invites: somebody can be short with us, unhappy with this client, rude about this budget, or having a bad day, and none of that is a request to be sent less work. When unsure, say nothing. The asymmetry is the whole argument. Missing a signal costs one more unsuitable brief and they can always raise it themselves; a false positive offers to filter somebody who was merely annoyed, and if they shrug and accept it, they quietly stop hearing about work they would have taken, invisibly, because a brief you never receive raises no question. Offered once, and if it is ignored or declined the subject is dropped for good, which is only true because the refusal now rides into the conversation as a note rather than sitting unread in a table. Six live scenarios pin the judgement rather than the wording, and the negatives outnumber the positives on purpose: I do not do logos said while declining a logo brief has to stay silent, and the same sentence said after a run of them has to speak.
- The strip of talent beside the conversation went back to the real search, one round at a time, and became a list that only ever grows. Yesterday it had a cheap engine gated behind a setting nobody set; today the setting is gone entirely and the choice is a constant in one file, because a constant cannot be left unset and changing which engine runs is a one-line commit that goes through review like the behaviour change it is. The lane is the real search now, running a single round per refresh and replaying its own thread, so a conversation accumulates one continuous hunt instead of a series of unrelated ones. Alongside that, the list became strictly append-only: a talent the client has already seen keeps their place for the life of the project, later rounds add people below them and never reorder, never remove, never rewrite a card. The strip is being read while it is built, so the third one has to still be the third one, and somebody who was there a moment ago and is now gone reads as a bug even when the new order is genuinely better. The cost is written down where the flag is set rather than buried: the list is ordered by when we found people rather than purely by fit. It is also what finally makes the hand-over button honest, since pressing it now folds its results over the cards already on screen instead of replacing them, and continues the client's own search rather than opening a cold one that re-derives different queries from the same brief and contacts a different set of people. That lane had carried a comment claiming it got continuity for free, and it did not.
- Two thirds of every search we bought was thrown away unread, and the counter built to notice that sat at zero the whole time. Thirty-nine refreshes in forty-eight hours, twenty-six of them superseded, sixteen finished. On the real engine each of those is about seventy-four model calls and sixty-seven seconds, paid for in full and written nowhere. The one measurement watching for it only ever catches a redelivered older job, never ordinary churn, because each new run legitimately wins the row while the one before it is still grading, which is exactly what made it look fine. Two fixes. At the trigger, a search fires on every committed change to the brief, so a client typing a sentence bought one per keystroke; triggers inside an eight-second window now collapse into one, and the work starts after the burst rather than racing it. Eight seconds absorbs a sentence and is far too short to make the strip feel stale. And mid-flight, a run that has lost the row now stops instead of finishing: the check sits immediately before the grading fan-out, which is about ninety-nine percent of a round's cost and all of its wait, so one tiny indexed read is traded against ten to twenty seconds of grading nobody will ever read. A run that dies that way is recorded as superseded and deliberately not as an error, so a dead run cannot drag the healthy newer one down on its way out. This is also what unblocked the continuity work, because a superseded run writes no thread, so every refresh had been cold-starting and re-deriving different filters for the same brief.
- A brand-new seller was being deleted before anybody read their work, and on a specialist brief that is the person you wanted. The retrieval floor kept only the levels our own quality scoring rates above zero, which quietly meant new sellers never reached the pool at all. New seller means new to Fiverr, not new to the craft, and on a brief naming a newer tool the practitioner of that tool is usually a newer seller. One Spline brief lost eight of its nineteen qualifying sellers to it, including the best match in the whole supply, and the client was told nobody could do the job. They get into the pool now, and that buys them a place and nothing else: the ranking is untouched, so a proven seller on the same grade still leads, pinned by a test that puts a rookie and a top-rated seller on identical grades and asserts the rookie is present and below. A seller who reached level one and then dropped back is deliberately still excluded, because that is evidence about them rather than an absence of it.
- The desk that exists for a large client stopped interrupting them entirely, over four passes in one afternoon. It started as a popup in three shapes, two of which had nothing to offer: a notice telling a signed-in client that a specialist was stepping in, with one button to dismiss it, and a box asking a guest for an email address with no way past it except typing one. Neither earned an interruption, since the banner under the topbar already says the same thing durably on every reload without taking the screen. So the popup became the booking invitation and nothing else, then the calendar inside it was fixed twice for carrying a second title bar and for collapsing and popping back, and then by evening the whole client-facing limb was removed. What a high-value client sees now is exactly what everybody else sees, and the desk reaches them out of band rather than stopping an intake conversation to ask for a slot. The two things the whole feature exists to feed are untouched and are now the entire mechanism: the alert that pages a human, and the row the support team works from. The console's own desk columns and filters are deliberately kept so the history stays readable; they simply stop gaining rows. One security consequence is worth naming, because it happens to be good news: the booking calendar was the only frame in the codebase holding a waiver from the rule that third-party frames run sandboxed, and that waiver list is now empty.
- Three talents asking a question meant three inbox messages, three browser pushes and three texts, all inside a minute. Every question a talent raises had been released to the client immediately and announced immediately down all three away channels, which was fine when questions were rare and is a pager when they are not. A round is the unit now: it opens on the first question the client has nothing else pending for, absorbs everything escalated while it is open, and closes the moment nothing is left waiting on them. Exactly one release wins the round and announces; the rest join silently, and their questions still reach the dashboard the client was already sent to. The winner also arms one nudge an hour later, and exactly one, never a repeating timer, because the round stays open until they clear it and an hourly drumbeat would text an abandoned project all night. The nudge carries the round it belongs to rather than just the project, precisely so a client who cleared one round at minute thirty and got a fresh question at minute forty is not nudged at minute sixty about something they were told about ten minutes ago. The message bodies carry no counts at all, since a round absorbs whatever arrives while it is open and any number baked into the copy is stale before the client opens the app.
- A hundred hours a year was not a thing a client could say, and a ten thousand dollar hire stayed invisible because of it. The client said it, Mira understood it, the brief recorded it, and then it went nowhere, because the list of periods a rate could repeat over held week and month and no year. Both columns stayed empty, the money read as nothing at all, and nothing anywhere said why. The deeper half is what number the desks should be judging in the first place: a hundred dollars an hour for a hundred hours a year is a ten thousand dollar client, and reading that as eight hundred and thirty-three a month is how a real one stayed invisible. So the two tiers that decide who gets a human now judge the whole sum the client signed up for, wherever the client actually bounded the work. Where they did not bound it, an open-ended retainer has no total and is judged on the month against the same bar, and that fallback is the point rather than a gap: annualizing it would make a five hundred a month arrangement a six thousand dollar client on the strength of a year having twelve months, and put a specialist booking page in front of somebody small. The alert bar moves from one thousand to three thousand in the same change, deliberately, since a total is a bigger number than a month for exactly the clients this is meant to catch and widening what counts while leaving the bar alone would have swept in a band nobody asked for. Everything else that reads money stays monthly on purpose, and the split is written down so nothing grows a third reading of it.
- A quote we had just rejected still told the client a new offer had arrived, and one shared filter answered it in three places at once. A talent on a thirty-five hundred a month brief quoted five thousand, was told in the same turn it was outside budget, and the thread never produced a real offer. The client's live feed announced one anyway. The row exists deliberately before the verdict, so a renegotiation has something to write onto, which means a row existing has never meant the offer was real; the finalist list had been asking the quality bar for weeks and the three other surfaces reading the same list never did. The ticker wrote a line for it, the counter that decides whether to offer early results counted it, and the live chip rendered its price and its timeline as though it were on the table. Filtered once now and handed to all three, rather than as three separate filters, because the feed's line count and the number strip are required to agree and one shared set makes that structural. The flow board deliberately keeps the unfiltered rows, since a talent whose quote we declined on scope did in fact quote, and must read as offer declined rather than as declined. Three failing assertions first, then the fix. The stored data is untouched: this is a read filter, never a write.
- And the smaller repairs, each of which took a whole screen down or made a number lie. A hook sitting below an early return crashed the entire workspace at the exact moment a client's first result arrived, which never reproduces on a warm project because the crash needs the transition from nothing to something. A client with no account who told Mira to go ahead had been getting two popups in a row under the same heading, and they are one card now, because signing in is the approval for a guest and the confirmation had nothing left to confirm. The console's new preference queue was joining an identifier to a column of a different type and returning a server error on every single load. The experiment page learned what each arm actually consumed, in searches and in dollars, and then had to say out loud that the spend figure only reaches back ninety days while the searches it is divided by reach further. The waiting screen's activity line now follows the step it is narrating rather than drifting a step behind it, the start-choice avatars count correctly, and the second inbound arm got the reporting table its sibling already had.
A Tuesday of 26 commits, and the through-line is who gets a say and who gets interrupted. A talent can finally state what they will and will not be brought, with three separate price floors because they are not convertible, and a human approves every one before it filters anybody, since a wrong capture is invisible from every side at once. The way we asked for that boundary was rewritten the same day: a fixed line on every decline treated one pass as a request to be filtered forever, so Mira now raises it only when somebody is telling us something should stop arriving, and stays silent on ordinary frustration, because a false positive quietly stops somebody hearing about work they would have taken. The strip beside the conversation went back to the real search at one round per refresh and became strictly append-only, so the third one is still the third one; two thirds of the searches we were buying were being thrown away unread while the counter watching for it sat at zero, fixed by an eight-second collapse at the trigger and an abort immediately before the expensive part; and a brand-new seller stopped being deleted before anybody read their work, after a Spline brief lost the best match in the supply and the client was told nobody could do the job. The desk for a large client stopped interrupting them entirely over four passes, three talents asking a question stopped meaning nine notifications, a hundred hours a year became storable and the alert bar moved to three thousand on the whole commitment, and a quote we had just rejected stopped announcing itself as a new offer.