OpenSpec: исследование + tavily-proxy-setup, local-extractor (spec-driven для инфраструктуры)

This commit is contained in:
estorozhenko
2026-09-06 12:12:33 +00:00
commit d1a19ba6cd
26 changed files with 1669 additions and 0 deletions
@@ -0,0 +1,39 @@
# Delta for web-extract-tavily
## ADDED Requirements
### Requirement: Tavily Extract Backend
The system MUST use Tavily as the web_extract backend, reachable via the local proxy at http://127.0.0.1:8971.
#### Scenario: Extract works
- GIVEN the Hermes web tool calls web_extract
- WHEN the URL is a normal web page
- THEN the page content is returned as markdown
- AND the request goes through the local proxy to the Tavily API over SOCKS5
#### Scenario: Proxy is down
- GIVEN the tavily-proxy.service is stopped
- WHEN web_extract is called
- THEN the call fails with a connection error (not a silent wrong result)
### Requirement: Proxy Auto-Start
The system MUST start tavily-proxy.service automatically at boot and restart it on failure.
#### Scenario: Boot
- GIVEN the host boots
- WHEN systemd starts
- THEN tavily-proxy.service is active
- AND it listens on 127.0.0.1:8971
#### Scenario: Proxy crash
- GIVEN the proxy process exits unexpectedly
- WHEN systemd detects failure
- THEN the service restarts automatically
### Requirement: Tunnel Dependency
The proxy MUST depend on the SOCKS5 tunnel (telegram-tunnel.service); it must not start before the tunnel is up, and must restart if the tunnel is unavailable.
#### Scenario: Tunnel down
- GIVEN telegram-tunnel.service is inactive
- WHEN tavily-proxy.service is requested
- THEN the proxy stays stopped (or retries) until the tunnel is back