Launch readiness: brand, the live demo, and a refusal that was wrong - #6
Merged
Conversation
Three changes, ahead of the SDK launch. 1. THE PROMPT REFUSAL DENIED A DOOR THAT EXISTS. fromOpenRouter refused OpenRouter's legacy `prompt` field saying it 'has no Conifer door'. Measured against api.conifer.build today, POST /v1/completions answers 200, bills, and returns the full receipt header set, on both a Claude and a GPT seat. Only streaming is refused there, naming /v1/chat/completions. conifer.build already documented this correctly, so the SDK was the one surface telling a migrating caller the opposite. The shim still throws (it converts to the CHAT wire and this client does not drive that door) but now names the door instead of denying it. 2. THE README OPENS WITH THE BRAND AND THE PRODUCT WORKING. The Conifer mark, theme-aware via <picture>, and the router demo that is live on the landing page as a clickable still. GitHub sanitizes <video> with a remote src, so a poster-and-link is the form that actually renders, and the same markup works on npm and PyPI. The still is frame 14s rather than the shipped poster: the poster is the opening frame, an almost-empty terminal that shows none of the routing, while 14s shows the router panel resolving to kimi-k3 and the 3s answer. Every timing in the copy was checked against the frames. 3. CUT THE PASSAGES THAT READ AS INTERNAL NOTES. A ten-line essay on macOS CA trust stores sat between the API key and the first code sample; it is now one sentence and a link, with the reasoning in its own section where someone hitting CERTIFICATE_VERIFY_FAILED will look. Two sections opened with the same 'offline tests can only confirm what we already believed' line and listed the same defects, now merged. The README closed on a five-item bug diary in the position where a reader decides whether to install; the point that the live gate finds real defects survives in one sentence. 3835 -> 3619 words, no claim removed. Also: npm test says 162, the README said 145. Gate, from this clone: npm test 162 pass, pytest 105 pass, typecheck and build clean. The live QA harness ran 20/20 green against api.conifer.build.
Greptile SummaryThe PR refreshes the launch-facing README and corrects the OpenRouter
Confidence Score: 5/5The PR appears safe to merge, with no concrete changed-code defect identified. The executable changes only revise an existing portability error message, consistently across both SDKs and their contract, while the documentation and media changes align with the described launch behavior.
|
| Filename | Overview |
|---|---|
| README.md | Reorganizes launch documentation, adds branded demo media, and consolidates installation and live-verification guidance without an identified actionable defect. |
| cards/portability.card.json | Corrects the migration contract to distinguish the gateway’s supported completions endpoint from the chat-only portability shim. |
| src/portability/openrouter.ts | Updates the TypeScript prompt refusal guidance while preserving the existing refusal behavior. |
| python/conifer_sdk/portability.py | Mirrors the corrected prompt refusal guidance in the Python shim. |
| docs/media/router-demo.jpg | Adds the still image referenced by the README’s router demonstration. |
Reviews (1): Last reviewed commit: "Launch readiness: brand, the live demo, ..." | Re-trigger Greptile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three changes ahead of today's SDK launch.
1. The
promptrefusal denied a door that existsfromOpenRouter/from_openrouterrefused OpenRouter's legacypromptfield with "the legacy text-completionpromptfield has no Conifer door".Measured against
api.conifer.buildtoday:The door exists, bills, and returns the full receipt header set. Only streaming is refused there, and it names
/v1/chat/completionswhen it does. conifer.build already documented this correctly (setup/drop-in), so the SDK was the single surface telling a migrating caller the opposite — the exact failure mode the portability card exists to prevent, pointed the other way.The shim still throws, because it converts to the chat wire and this client does not drive that door. But the message now names the door and the streaming caveat instead of denying it.
2. The README opens with the brand and the product working
<picture>(transparent-alpha PNG already served from conifer.build).GitHub sanitizes
<video>with a remotesrc, so a poster-and-link is the form that actually renders — and the same markup works on npm and PyPI, which is why the still is committed and referenced by absolute raw URL.The still is frame 14s, not the shipped poster. The poster is the opening frame: an almost-empty terminal that shows none of the routing. 14s shows the router panel resolving to
kimi-k3and the 3s answer, which is the claim being made. Every timing in the copy (3s, 1m 7s, 50s runtime) was checked against the frames.3. Cut the passages that read as internal notes
## Python and TLSsection — where someone hittingCERTIFICATE_VERIFY_FAILEDwill actually look.npm testsays 162; the README said 145.3835 -> 3619 words, no claim removed.
Gate
From this clone:
npm test162 pass,pytest105 pass,typecheckandbuildclean.npm run qa:live20/20 green againstapi.conifer.build.The tree here is byte-identical to
git subtree split --prefix=sdkof the workspace repo atbcf89ef.