Commit Graph

20 Commits

Author SHA1 Message Date
gilesb
19e2277155 Track art-common master branch, add auth tests
Fix UserContext l2_server field not found error by tracking
master branch instead of pinned commit.

- Update art-common to track master branch
- Add tests for UserContext l2_server field

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 10:25:54 +00:00
gilesb
1e542a1e0b Add numpy and opencv for effect dependencies
Effects commonly use numpy and opencv for video processing.
Without these, effects fail with confusing "Unknown effect" error.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 10:13:42 +00:00
gilesb
1e928ae771 Track artdag main branch instead of pinned commit
Avoids needing to update pin on every artdag change.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 10:03:16 +00:00
gilesb
4ba981ee8d Update artdag to f944713 (IPFS_API fix)
Pin artdag to commit that uses IPFS_API instead of IPFS_GATEWAY
for consistent IPFS access in Docker.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 10:01:40 +00:00
gilesb
b35fe3d7a7 Update artdag-common pin
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 08:33:25 +00:00
gilesb
124cf65138 Update artdag pin to include cid rename
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 08:32:09 +00:00
gilesb
cdd29e07f5 Pin artdag to commit with sexp module
Force Docker rebuild to install artdag with S-expression support.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 23:18:51 +00:00
gilesb
2e9ba46f19 Use UserContext from artdag_common, remove duplicate
- Updated requirements.txt to use art-common@11aa056 with l2_server field
- All routers now import UserContext from artdag_common
- Removed duplicate UserContext from auth_service.py
- dependencies.py sets l2_server from settings on user context

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 17:38:02 +00:00
gilesb
c0fe22313f Update artdag_common to fix auth token handling
New version defaults actor_id to @username when not in token,
and supports both artdag_session and auth_token cookies.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 16:07:43 +00:00
giles
828a958a7b Update artdag-common to 889ea98 with prose fix 2026-01-11 13:10:45 +00:00
giles
7c6b8d7170 Pin artdag-common to commit 2163cbd
Forces pip to fetch latest version with typography plugin.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 13:02:25 +00:00
giles
0ec1de3cb7 Add httpx dependency
Required by auth_service module.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 12:18:11 +00:00
giles
cc6be54a92 Add artdag-common dependency 2026-01-11 11:55:40 +00:00
gilesb
f52ec79860 Use direct HTTP API for IPFS instead of ipfshttpclient
Replace ipfshttpclient library with direct HTTP requests to IPFS API.
This fixes compatibility with newer Kubo versions (0.39.0+) which are
not supported by the outdated ipfshttpclient library.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 19:39:49 +00:00
gilesb
0c69c9c136 Fix ipfshttpclient version (0.7.0 is latest)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 15:04:13 +00:00
gilesb
ba244b9ebc Add PostgreSQL + IPFS backend, rename configs to recipes
- Add PostgreSQL database for cache metadata storage with schema for
  cache_items, item_types, pin_reasons, and l2_shares tables
- Add IPFS integration as durable backing store (local cache as hot storage)
- Add postgres and ipfs services to docker-compose.yml
- Update cache_manager to upload to IPFS and track CIDs
- Rename all config references to recipe throughout server.py
- Update API endpoints: /configs/* -> /recipes/*
- Update models: ConfigStatus -> RecipeStatus, ConfigRunRequest -> RecipeRunRequest
- Update UI tabs and pages to show Recipes instead of Configs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 14:58:29 +00:00
gilesb
4a99866602 Add config/recipe support for DAG-based jobs
- Add PyYAML dependency for parsing config files
- Add Pydantic models: VariableInput, FixedInput, ConfigStatus, ConfigRunRequest
- Add Redis storage functions for configs
- Add config YAML parsing with variable and fixed input detection
- Add config API endpoints: upload, list, get, delete, run
- Add config UI: Configs tab, list page, detail page with run form
- Add HTMX endpoints for config operations
- Add pinning on publish: configs and their fixed inputs are pinned
  when runs from configs are published to L2
- Clean up debug logging in cache_manager

Config YAML format supports:
- Fixed inputs: resolve asset hashes from registry
- Variable inputs: marked with `input: true`, filled at run time
- DAG definition with nodes and edges
- Registry of assets and effects

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 03:17:50 +00:00
gilesb
7adb63face feat: add file upload endpoint for remote cache 2026-01-07 12:57:09 +00:00
gilesb
ba20c2dc63 feat: L1 server with persistent run storage
- FastAPI server on port 8100
- POST /runs to start rendering jobs
- GET /runs/{id} to check status
- Cache and run persistence in Redis
- Auto-generated API docs at /docs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 10:45:30 +00:00
gilesb
500e57b9a4 feat: distributed rendering with Celery
- celery_app.py: Celery configuration with Redis broker
- tasks.py: render_effect task with full provenance tracking
- render.py: CLI for submitting render jobs
- Successfully renders cat → dog with provenance chain

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 02:04:07 +00:00