docs: file the four ecosystem client defects the study found (V-585)

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 <noreply@anthropic.com>
This commit is contained in:
2026-08-06 02:23:43 +04:00
parent be869c6a48
commit 5a85d37fa5
@@ -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