mirror of
https://github.com/allaunthefox/Research-Stack.git
synced 2026-08-12 14:40:34 +00:00
Remove EC2/RDS deployment scripts, EC2 watchdog, and RDS substrate provisioning files. Drop the legacy AWS API MCP server from all IDE configs. Replace hardcoded AWS proof-server and RDS default endpoints with localhost/env-only placeholders. Deleted: - 4-Infrastructure/infra/deploy_aws_language_proof_server.sh - 4-Infrastructure/infra/aws_language_proof_server_user_data.sh - 4-Infrastructure/infra/ec2-configuration.nix - 4-Infrastructure/infra/ec2_idle_watchdog.py - 4-Infrastructure/infra/ec2-idle-watchdog.service - 4-Infrastructure/infra/ec2-idle-watchdog.timer - 4-Infrastructure/deploy/rds-substrate/* Changed: - .mcp.json, .cursor/mcp.json, .roo/mcp.json, .vscode/mcp.json: remove aws server, make remote-lean-proof URL env-only - .vscode/settings.json: remoteLeanProof.url -> localhost - 4-Infrastructure/infra/remote_lean_proof_mcp.py: default URL -> localhost - ene-rds/ene-session-sync: default RDS_HOST -> localhost - RECOVERY.md, INFRASTRUCTURE.md, TODO_MAP.md: remove AWS/EC2 refs Build: cargo check ene-rds OK; python3 -m py_compile OK; JSON valid
72 lines
2.4 KiB
Markdown
72 lines
2.4 KiB
Markdown
# ENE RDS — Rust workspace replacing the Python RDS stack
|
|
|
|
## Workspace structure
|
|
|
|
| Crate | Purpose | Replaces |
|
|
|-------|---------|----------|
|
|
| `ene-rds-core` | Shared PostgreSQL client, DSN builder, `vec_to_pgtext`, receipts | `ene_rds_*` base connection logic |
|
|
| `ene-rds-wiki` | Wiki CRUD + full-text search + revision tracking | `ene_rds_wiki_layer.py` |
|
|
| `ene-rds-ephemeral` | EphemeralNode thermal zones, tasks, receipts, scars, metrics | `ene_rds_ephemeral_node.py` |
|
|
| `ene-rds-chat` | Chat session ingestion, keyword/semantic search | `ene_rds_chat_log.py` |
|
|
| `ene-api` | Axum HTTP server mounting all surfaces on `:3000` | `ene_chat_api.py` + FastAPI |
|
|
| `ene-sync` | Polls opencode.db SQLite → upserts into RDS chat tables | `ene_claw_sync.py` |
|
|
|
|
## Build
|
|
|
|
```bash
|
|
cd 4-Infrastructure/infra/ene-rds
|
|
cargo build --release
|
|
```
|
|
|
|
## Run
|
|
|
|
### Initialize schema only
|
|
```bash
|
|
export RDS_PASSWORD=...
|
|
./target/release/ene-sync init-schema
|
|
```
|
|
|
|
### One-shot sync
|
|
```bash
|
|
./target/release/ene-sync sync --embed
|
|
```
|
|
|
|
### Watch mode (polls every 60s)
|
|
```bash
|
|
./target/release/ene-sync watch --interval 60 --embed
|
|
```
|
|
|
|
### API server
|
|
```bash
|
|
./target/release/ene-api
|
|
# → http://0.0.0.0:3000/health
|
|
# → http://0.0.0.0:3000/sessions
|
|
# → http://0.0.0.0:3000/search?q=thermal+zone
|
|
# → http://0.0.0.0:3000/wiki/search?q=compression
|
|
# → http://0.0.0.0:3000/ephemeral/nodes?zone=hot
|
|
```
|
|
|
|
## Environment variables
|
|
|
|
| Variable | Default | Purpose |
|
|
|----------|---------|---------|
|
|
| `RDS_HOST` | `localhost` | PostgreSQL host |
|
|
| `RDS_PORT` | `5432` | PostgreSQL port |
|
|
| `RDS_USER` | `postgres` | PostgreSQL user |
|
|
| `RDS_PASSWORD` | — | Password or IAM token |
|
|
| `RDS_DB` | `postgres` | Database name |
|
|
| `OLLAMA_HOST` | `http://localhost:11434` | Ollama embedding endpoint |
|
|
| `OLLAMA_EMBED_MODEL` | `nomic-embed-text` | Embedding model |
|
|
|
|
## What changed from Python
|
|
|
|
- No `psycopg2` runtime dependency — single static binary
|
|
- `tokio-postgres` with `with-serde_json-1` feature for native JSONB support
|
|
- `pgvector` vectors passed as `'[0.1,0.2,...]'::vector` text format
|
|
- Ollama embeddings via `reqwest` instead of `requests`
|
|
- SQLite source via `rusqlite` with bundled bindings
|
|
- Axum replaces FastAPI for the API server
|
|
|
|
## Python bridge (optional)
|
|
|
|
The standalone `bridge_wrapper.py` still exists for calling legacy Python modules that have not been ported. The Rust surfaces do not depend on it.
|