From 5a85d37fa58fcb205bd138da48a047717b464489 Mon Sep 17 00:00:00 2001 From: claude Date: Thu, 6 Aug 2026 02:23:43 +0400 Subject: [PATCH] docs: file the four ecosystem client defects the study found (V-585) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The study named four live defects in the ecosystem clients and left them in a plan doc nobody reads by default. Each is now its own task, and the doc points at the ids so the plan and the tracker agree. V-587 a Hexis 401 is spoken as an outage, because the vendored client returns a plain error and unauthorizedEcosystemError's errors.As can never match it. Worst of the four: it is the only one that makes the owner check a healthy service. V-588 a Praxis failure names no service. There is no servicePraxis constant and the per-verb strings bypass ecosystemGap, so an outage and a refused token both say "не получилось". V-590 the Hexis discovery hop carries no correlation id. Two context keys, and the only bridge sits inside executeCapability, which runs after discovery. The comment above discoverCapabilities asserts the opposite. V-591 the causation id is computed, written to Maven's own trace, and never sent, though both the header and the request field exist. No code changed. Verified each against the source before filing. Co-Authored-By: Claude Opus 5 --- docs/plans/20-two-artifacts-and-neither-is-spring.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/plans/20-two-artifacts-and-neither-is-spring.md b/docs/plans/20-two-artifacts-and-neither-is-spring.md index 4cd4be7..aaa1c3e 100644 --- a/docs/plans/20-two-artifacts-and-neither-is-spring.md +++ b/docs/plans/20-two-artifacts-and-neither-is-spring.md @@ -282,7 +282,10 @@ typed `ecosystemError`, and the same correlation key. Hexis is a separate client repository, vendored at `vendor/github.com/kami/hexis/pkg/client`, and it agrees on some of that and not the rest. -Eleven divergences. Four of them are defects rather than style. +Eleven divergences. Four of them are defects rather than style, and each is filed on its own: +V-587 the 401, V-588 the unnamed Praxis service, V-590 the uncorrelated discovery hop, V-591 +the unsent causation id. They are ranked in that order, worst first, and none of them waits on +this proposal. V-587 is the only one that makes the owner check the wrong thing. **A Hexis 401 is spoken as an outage.** Nexus and Praxis return `*ecosystemError` with `Unauthorized()`, `ContractMismatch()` and `Unreachable()` classifiers