- The client was asked outright what they wanted in a person, answered it, and the search then ranked six of its top seven against them. Asked for talent preferences, a client said “english speaking, based in europe”. The search read it and filtered on it for one round. The reviewing step dropped the country filter on the next round, and the grader from then on recorded “Europe-based: missing” as a nice-to-have against every person outside Europe. The shortlist came back ten of eighteen outside Europe, six of the top seven, with the compliant British and Spanish talent ranked underneath them. Nothing malfunctioned. Every condition that describes a PERSON rather than the work, country, language, timezone, availability, was deliberately filed as a nice-to-have, on the sound reasoning that where somebody lives can never make their craft wrong. The half that was missing is that a nice-to-have cannot move the fit rating at all and the miss count was only a light tiebreak that never crossed one, so a condition the client had stated outright carried no weight whatsoever, which quietly broke the promise the instructions themselves made: that somebody who does not comply is ranked below everyone who does and labelled with what they miss. The line is now drawn on whether the client DEMANDED it rather than on whether it happens to be about the person. Said flatly, in the brief or anywhere in the conversation, it counts and a profile that contradicts it is marked as failing it. Floated, “ideally”, “preferably”, “not a must”, or merely inferred by the grader, stays a preference, and a genuine tie breaks toward the preference, because over-reading one costs a capable person their place for something nobody insisted on. Reading the conversation and not only the brief is the load-bearing part: the condition that started this never reached the brief at all and existed only in the transcript. Nobody is deleted either way. A failed demand ranks somebody below every compliant match, labelled with exactly what they do not cover, and still shows them.
- Grading is nineteen calls in every twenty and four fifths of the bill, so it moved to a smaller model, stopped waiting for its own slowest answer, and stopped being handed six questions at once. One live hunt turned six model-written searches into twelve through pairing, pulled two hundred and ninety-four people in a single round, and spent three dollars and fifty-three cents grading around seven hundred listings to show eighteen cards: thirty-nine listings graded for every card the client sees. Three changes, none of which narrows who can be found. A round now fires exactly ONE search with five rounds to walk instead of three, so the same five searches still happen but each one is chosen after seeing what the last one returned rather than six fired blind together, which works precisely because the reviewer carries the running picture of the pool and can steer on it. Grading moved onto a model a tenth the price of the one it had been using, while the two steps that actually reason, choosing the searches and reading the pool, deliberately stayed put and are pinned by a test so a later tidy-up that “unifies the model” cannot silently undo the split. And the grading wave, measured at forty-nine of the fifty-five seconds a round takes, stopped being two half-parallel passes queued behind one barrier: the deeper look at a promising person now starts the moment their own batch lands rather than when the slowest batch in the round finally does. Two things are worth recording because they are how this stays honest rather than merely cheaper. The new model was checked against the live service first, since a model that could not answer would have been caught, downgraded to a bland fallback for every listing, and still shipped eighteen cards with nothing anywhere going red. And it was priced in the same change, because an unpriced model reports its cost as nothing, which would have zeroed out the largest line in the search bill along with the daily spend alarm watching it. The caveat is stated plainly and is worth keeping: a weaker grader does not fail, it judges worse, and that failure is quiet.
- Three doors that could be opened with somebody else's key, and one that would not open with its own. A guest workspace could be read, and its live updates listened to, by anyone who simply supplied its identifier, and a guest workspace could be claimed outright the same way. Both are closed. The log of who requested what had no reader attached, so an attack could not be attributed to anybody after the fact; it has one now. In the other direction, an operator who had ever used the client app carried that sign-in with them to the admin console, where the gate found no employee identity, fell through to the client one, saw a non-employee and refused, and the console rendered every refusal as “this account isn't an authorised employee” with the sign-in button hidden, leaving only Retry, which reloads and sends the same cookie again. A locked door with no key. The console now separates the one genuine dead end from the far more common “some identity arrived, it just isn't an admin one”, which signing in fixes, and offers sign in, sign out and retry on every state, with an unrecognised refusal defaulting to the recoverable one so no future case can dead-end anyone again. Also here, and caught the same hour it shipped: a sign-in change asked the identity provider to show an account picker, which that provider does not implement, so it rejected the whole request before drawing a login screen. Dev broke immediately; probing both providers with the exact address each environment hands out showed production would have broken identically on its next release. It now asks for a re-login instead, which achieves what the change wanted, and the provider's own error description is logged, since that description is what made this a two-minute diagnosis.
- A fact the client deleted from their own profile came back on the next message, and eight more reports from testers. The delete was an ordinary delete that left no record of the intent behind it, and the profile editor reconciles only against what is currently on file while the research briefing is re-attached every turn, so a fact the client had just removed read as genuinely new evidence and was helpfully re-added. A deletion now leaves a permanent marker beside it and anything matching one is refused before it can be written, on the direct path and on the research path both, with each refusal counted rather than merely logged. The instruction telling the editor not to try is steering on top of that; the refusal is the guarantee. Alongside it: signing out now removes every local trace of the account in every open tab, closing three separate ways the signed-out account's project could still be painted, including a second still-signed-in tab that kept writing the old state back after the purge. An edited picture block keeps its picture. A second overlapping list merges into the existing one instead of duplicating it. A talent is never shown a client named after the first half of their email address. A talent who never sent a proposal gets an honest close-out rather than thanks for one. The “Mira styled this workspace” notice shows once per project, refresh included. Starting a second project asks a guest to sign in first. And the session-expired notice looks like the app rather than a green pulsing pill.
- The live results rail explains its picks before it sends anything. Each card in the search-as-you-go rail used to link straight out to a profile. It now opens a smaller version of the full finalist card, carrying the reasoning the engine actually produced: why this person fits, the matched signals underneath it, what is worth knowing about them, the portfolio note, a confidence mark and the plain facts row, with every section either real or left out rather than filled with a placeholder. The profile link lives inside that panel now, and the card itself keeps a single action so there is exactly one door to sending. Pressing send while parts of the brief checklist are still open asks first, in as many words, whether to send an unfinished brief, and declining changes nothing. The quiet “updating” dot became a real spinner with a bold label, slowed rather than removed for anybody who has asked for reduced motion. And the tag that says which version of the search a client is seeing now actually reaches the reporting, which it had never done despite being stamped on every event and accepted by the schema, quietly defeating the entire comparison it exists for.
- The console reads the client's real conversation, from the row it belongs to. The link into the client's own chat with a talent had shipped on the heading of the panel below it, which renders a different conversation entirely, the per-project bot talking to that talent. Sitting there it read as “open this conversation” and opened another one, usually empty. It moves onto the talent's own row, where it reads as a fact about that person, and becomes a column on both the client's list of approached talent and the talent's list of clients, so an operator scanning eight people can see in one pass down the table which ones the client actually engaged instead of expanding them one at a time. A row with no link prints a plain hyphen rather than a disabled button that invites a click it cannot serve. A project's name opens that project from the searches list and the talent page. And the production disk-growth alarm, calibrated against a predicted quarter of a gigabyte a day when the real figure is closer to seven tenths, had fired twice in three days on a healthy database without ever measuring growth, once on the write-ahead log of a twenty-seven-migration deploy and once on a temporary file spill; it has headroom again, and the note says plainly that this buys time rather than fixing the trajectory.
A Tuesday of 37 commits, and the through-line is things that were quietly costing us while nothing reported a fault. A client asked outright what they wanted in a person, said “english speaking, based in europe”, and the search ranked six of its top seven against them: every condition about the PERSON was filed as a preference, and a preference could not move the rating at all, so a stated demand carried no weight whatsoever. It is now read off whether the client demanded it or merely floated it, in the conversation as well as the brief, and a failed demand ranks somebody below every compliant match, labelled, still shown. Grading, which is nineteen calls in twenty and four fifths of the bill, moved to a model a tenth the price, stopped waiting for its own slowest batch, and stopped being handed six searches at once in favour of one per round chosen after seeing what the last returned. Three doors that opened with somebody else's key are shut, and one that refused its own keyholder, an operator locked out of the console by the client cookie they were carrying, finally offers a way in. A fact a client deleted from their own profile stopped coming back on the next message, alongside eight more tester reports. And the live results rail now explains a pick before it sends anything, and asks first when the brief is not finished.