3 Commits

Author SHA1 Message Date
Stéphane Tailland a2bf84eb22 Let a caller learn what a product commits to, and by when
Orderdetail now carries requireddate and order_status, denormalised from the
order the line belongs to — filtering by product and status already answers
the question this used to need a second call per order for.

list_orders also gained a status filter, matching the backend capability that
list_order_details already exposes.

Regenerated with generate-mcp-tools.py.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 15:42:36 +02:00
Stéphane Tailland 011e31295f Let a caller filter order lines instead of paging the table
The backend gained productcode, ordernumber and ordernumber__status on the
order-lines list; the spec and the MCP tools now carry them.

The pair that matters is productcode with ordernumber__status: the first says
what is committed on a reference, the second restricts it to orders still open.
Without the second the answer counts every line ever shipped.

Regenerated with k8s-platform/tools/generate-mcp-tools.py, not by hand.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-31 14:47:47 +02:00
Stéphane Tailland b0fa4a1aa2 Add the OpenAPI spec for the sales domain
The developer portal listed this API with no reference documentation:
catalog was the only domain that had a spec anywhere in the tree.

Generated from the backend's own drf-spectacular schema
(/classic-models/api/schema/, version 4.7.0), filtered to the operations
this domain's gateway actually exposes — derived from the Kong routes and
their request-transformer rewrites in Konnect, not from guesswork. Every
route resolved to a backend operation; the counts match one for one.

Paths and server are the **gateway's**, not the backend's. A portal
reader calls https://sales-dev.sttlab.local/sales/v1/..., and the
gateway rewrites that onto /classic-models/api/v1/... upstream. Path
parameters are renamed to the gateway's capture names where the backend
used a different case.

Components are pruned to what these paths transitively reference.

Note: catalog-api/openapi.yaml does NOT follow this convention — it
documents the backend paths and http://localhost:8000 as its server, so
its operations cannot be called as written from the portal. Left alone
here; worth aligning separately.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-26 18:28:25 +02:00