{"slug": "statewave-guide-day-4-we-passed-the-safety-test-then-failed-the-product-test", "title": "Statewave Guide — Day 4: We passed the safety test. Then failed the product test", "summary": "A developer building Statewave Guide, an open-source self-hosted memory runtime for AI agents, reported that Anthropic's Opus 5 model passed safety checks on a product-knowledge fixture — accepting zero wrong-feature or unsupported claims with 30/30 restraint and 95% verified claim yield — but scored a median usefulness of just 1 out of 3, with 24% of outputs rated genuinely useful. The team found 14 of 21 outputs were too technical, including all 10 features that surfaced the raw debug string \"No capability, route or permission has been verified for this feature,\" prompting them to add a Guidance Compiler layer between the Product Model and Renderer.", "body_md": "*Built 27 Aug 2026 · written up 14 Oct 2026*\n\nYesterday I asked:\n\nCan technically safe product knowledge survive contact with an actual user?\n\nNot particularly. 😅\n\nOne model, one fixture, same as yesterday: every number below comes from `anthropic-opus-5` against a single application we wrote ourselves, with patterns we knew to look for.\n\n```\nWrong-feature claims accepted     0\nUnsupported claims accepted       0\nModel restraint                   30/30\nVerified claim yield              95%\n```\n\nNice.\n\nThen we asked:\n\nWould any of this actually help a human?\n\nThe usefulness scores below were not produced by people. A separate model, OpenAI GPT-5.6 Sol, scored the twenty-one features against a fixed rubric. It is not the model under test, so this is not self-scoring, but it is not a human review either, and no amount of it becomes one.\n\n```\n1 / 3   median usefulness\n24%     rated genuinely useful\n```\n\nNothing was dangerously wrong.\n\nNothing was completely useless either.\n\nIt was worse in a much more software-engineering kind of way:\n\n**almost everything was mediocre.**\n\nWe assumed the remaining problem would be missing capabilities.\n\nThe data disagreed.\n\n```\n1.43   features with a verified capability\n1.14   features without one\n```\n\nBarely a difference.\n\nThat was how we read it at the time. A later round, with the language problem below fixed, put the same split at 2.00 against 1.07. The capability signal was real; we were reading it through bad presentation.\n\nMeanwhile:\n\n**14 / 21 outputs were too technical.**\n\nThirteen of twenty-one were flagged as missing a capability.\n\nThen we found the smoking gun.\n\nTen features exposed this sentence directly to the user:\n\n\"No capability, route or permission has been verified for this feature.\"\n\nEvery single one was rated too technical.\n\n**10/10.**\n\nFair enough. 😂\n\nThat's not product copy.\n\nThat's a debugger having an existential crisis in front of the customer.\n\nAnother feature had excellent evidence:\n\n```\n✓ POST endpoint        ✓ Create permission\n✓ Submit path          ✓ Button\n```\n\nAnd our deterministic renderer proudly produced:\n\n\"You can create a new invoices create form and submit the invoices create form form…\"\n\nTechnically grounded.\n\nLinguistically deceased.\n\nThat exposed another boundary.\n\nWe had already separated:\n\n```\nwhat the application does   from   what the model thinks it does\n```\n\nNow we needed to separate:\n\n```\nwhat we know   from   what a human actually needs to hear\n```\n\nSo the architecture gained another layer:\n\n```\nProduct Model        →  what do we know?\nGuidance Compiler    →  what is worth telling the user?   ← new\nRenderer             →  how should we say it?\n```\n\nNo verification rules loosened.\n\nNo extra authority for the model.\n\nWe were finally admitting something painfully obvious:\n\n**Technically correct data structures do not automatically know how to talk to humans.**\n\nShocking discovery for software developers, I know.\n\n**Statewave Guide — Day 4.**\n\nNext question:\n\n**Can we turn verified product truth into human guidance without inventing anything new?**\n\n*This day in the repo: [PR #4](https://github.com/smaramwbc/statewave-guide/pull/4) · Previous: [Day 3 — True is not the same as relevant](https://www.statewave.ai/blog/statewave-guide-day-3)*\n\nStatewave Guide is built on **Statewave** — an open-source, self-hosted memory runtime for AI agents. Governance and provenance, not just retrieval. Apache 2.0.\n\n→ [statewave.ai](https://statewave.ai) · [github.com/smaramwbc/statewave](https://github.com/smaramwbc/statewave)\n\n*Every post in this series: [The Statewave Guide Journey Index](https://www.statewave.ai/blog/statewave-guide)*", "url": "https://wpnews.pro/news/statewave-guide-day-4-we-passed-the-safety-test-then-failed-the-product-test", "canonical_source": "https://dev.to/statewave/statewave-guide-day-4-we-passed-the-safety-test-then-failed-the-product-test-a40", "published_at": "2026-10-15 20:53:57+00:00", "updated_at": "2026-10-15 20:56:39.612126+00:00", "lang": "en", "topics": ["ai-agents", "large-language-models", "ai-tools", "ai-safety", "developer-tools"], "entities": ["Statewave", "Statewave Guide", "Anthropic", "Claude Opus 5", "OpenAI", "GPT-5.6 Sol", "GitHub"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/statewave-guide-day-4-we-passed-the-safety-test-then-failed-the-product-test", "markdown": "https://wpnews.pro/news/statewave-guide-day-4-we-passed-the-safety-test-then-failed-the-product-test.md", "text": "https://wpnews.pro/news/statewave-guide-day-4-we-passed-the-safety-test-then-failed-the-product-test.txt", "jsonld": "https://wpnews.pro/news/statewave-guide-day-4-we-passed-the-safety-test-then-failed-the-product-test.jsonld"}}