feat(ttp): E.1.9 API contract — seven router endpoints, admin-gated state mutations, response models
Mounts /api/v1/ttp/* with empty-list / empty-Navigator responses.
GET endpoints viewer-gated; POST/DELETE /rules/{rule_id}/state
admin-gated server-side. POST parses JSON manually so a malformed
body returns the documented 400 (per feedback_schemathesis_400).
Drops xfail-strict markers from E.2.8 tests now that the router is
mounted; 26 tests pass against the contract handlers.
This commit is contained in:
6
decnet/web/router/ttp/__init__.py
Normal file
6
decnet/web/router/ttp/__init__.py
Normal file
@@ -0,0 +1,6 @@
|
||||
"""TTP-tagging API router package — see development/TTP_TAGGING.md.
|
||||
|
||||
Contract phase E.1.9: handlers return typed empty values. The repo
|
||||
methods (E.1.10) and engine (E.3) land separately; the router shape +
|
||||
auth gating + OpenAPI surface are stable from this commit forward.
|
||||
"""
|
||||
Reference in New Issue
Block a user