Fusion
f33a563003
feat(FN-003): add tool manifest registry with FastAPI CRUD and built-in manifests
...
- Add ToolManifest Pydantic models with validators for ports, mounts, health checks, and traefik config
- Implement in-memory ToolRegistry with YAML loading and built-in manifest scanning
- Add FastAPI CRUD routes for listing, retrieving, and creating tool manifests
- Include built-in manifests for runfusion and code-server
- Harden web Dockerfile with unprivileged nginx and port 8080
- Add tool manifest specification documentation and architecture updates
Fusion-Task-Id: FN-003
2026-05-14 09:15:22 +02:00
Fusion
477abad4c9
fix(FN-011): gracefully skip DB tests when PostgreSQL is unavailable
...
- Wrap DB engine setup in try/except in conftest.py
- Call pytest.skip with clear message when PostgreSQL is unavailable
- Dispose engine before skipping to avoid connection leaks
Fusion-Task-Id: FN-011
2026-05-14 08:45:52 +02:00
Fusion
2c52b1634f
docs(FN-011): complete Step 8 — update architecture and development docs
...
Fusion-Task-Id: FN-011
Fusion-Task-Lineage: 4a9aca6f-9d91-43aa-8d2a-d59657c1541a
2026-05-14 08:37:11 +02:00
Fusion
31b363edb0
test(FN-011): complete Step 7 — tests for provider, credentials, and operations
...
Fusion-Task-Id: FN-011
Fusion-Task-Lineage: 4a9aca6f-9d91-43aa-8d2a-d59657c1541a
2026-05-14 08:37:11 +02:00
Fusion
a9ccbcb3fb
feat(FN-011): add repository_connection alembic migration
...
Fusion-Task-Id: FN-011
Fusion-Task-Lineage: 4a9aca6f-9d91-43aa-8d2a-d59657c1541a
2026-05-14 08:37:11 +02:00
Fusion
ea30f28edb
fix(FN-011): catch CalledProcessError in get_status, fix deletion logic, add explicit encoding
...
Fusion-Task-Id: FN-011
Fusion-Task-Lineage: 4a9aca6f-9d91-43aa-8d2a-d59657c1541a
2026-05-14 08:37:11 +02:00
Fusion
3532bec00d
feat(FN-011): complete Step 5 — Git operations interface and LocalGitOperations
...
Fusion-Task-Id: FN-011
Fusion-Task-Lineage: 4a9aca6f-9d91-43aa-8d2a-d59657c1541a
2026-05-14 08:37:11 +02:00
Fusion
4214b48c37
fix(FN-011): wrap validate_connection in try/except, flush before return, remove unused import, document unique constraint deferral
...
Fusion-Task-Id: FN-011
Fusion-Task-Lineage: 4a9aca6f-9d91-43aa-8d2a-d59657c1541a
2026-05-14 08:37:11 +02:00
Fusion
cffeb11410
feat(FN-011): complete Step 4 — repository connection model and connection manager
...
Fusion-Task-Id: FN-011
Fusion-Task-Lineage: 4a9aca6f-9d91-43aa-8d2a-d59657c1541a
2026-05-14 08:37:11 +02:00
Fusion
edfbce9635
feat(FN-011): complete Step 3 — SSH key pair generation and lifecycle
...
Fusion-Task-Id: FN-011
Fusion-Task-Lineage: 4a9aca6f-9d91-43aa-8d2a-d59657c1541a
2026-05-14 08:37:11 +02:00
Fusion
2037359e8d
feat(FN-011): complete Step 2 — credential model and storage interface
...
Fusion-Task-Id: FN-011
Fusion-Task-Lineage: 4a9aca6f-9d91-43aa-8d2a-d59657c1541a
2026-05-14 08:37:11 +02:00
Fusion
59d727072e
fix(FN-011): make GitProvider methods synchronous and fix __init__ exports
...
Fusion-Task-Id: FN-011
Fusion-Task-Lineage: 4a9aca6f-9d91-43aa-8d2a-d59657c1541a
2026-05-14 08:37:11 +02:00
Fusion
f9dd56902f
feat(FN-011): complete Step 1 — Git types and provider abstraction
...
Fusion-Task-Id: FN-011
Fusion-Task-Lineage: 4a9aca6f-9d91-43aa-8d2a-d59657c1541a
2026-05-14 08:37:11 +02:00
Fusion
64ba5e3e56
feat(FN-002): complete Step 7 — Documentation & Delivery
...
Fusion-Task-Id: FN-002
Fusion-Task-Lineage: 49cb7077-d805-4d39-9a27-ae50744f2839
2026-05-14 07:47:30 +02:00
Fusion
d4d4844c03
fix(FN-002): remove invalid allowBuilds placeholder from pnpm-workspace.yaml
...
Fusion-Task-Id: FN-002
Fusion-Task-Lineage: 49cb7077-d805-4d39-9a27-ae50744f2839
2026-05-14 07:47:29 +02:00
Fusion
f81fea2297
feat(FN-002): complete Step 6 — Testing & Verification
...
Fusion-Task-Id: FN-002
Fusion-Task-Lineage: 49cb7077-d805-4d39-9a27-ae50744f2839
2026-05-14 07:47:29 +02:00
Fusion
0ae8f5d7f4
feat(FN-002): complete Step 5 — Documentation Structure
...
Fusion-Task-Id: FN-002
Fusion-Task-Lineage: 49cb7077-d805-4d39-9a27-ae50744f2839
2026-05-14 07:47:29 +02:00
Fusion
a30611fbaf
feat(FN-002): complete Step 4 — Docker Compose and Deployment Skeleton
...
Fusion-Task-Id: FN-002
Fusion-Task-Lineage: 49cb7077-d805-4d39-9a27-ae50744f2839
2026-05-14 07:47:29 +02:00
Fusion
7819765891
feat(FN-002): complete Step 3 — FastAPI Backend App Skeleton
...
Fusion-Task-Id: FN-002
Fusion-Task-Lineage: 49cb7077-d805-4d39-9a27-ae50744f2839
2026-05-14 07:47:29 +02:00
Fusion
87fc7fde34
fix(FN-002): replace hardcoded 1px with CSS custom property and remove missing favicon
...
Fusion-Task-Id: FN-002
Fusion-Task-Lineage: 49cb7077-d805-4d39-9a27-ae50744f2839
2026-05-14 07:47:29 +02:00
Fusion
212b9e7c21
feat(FN-002): complete Step 2 — React Frontend App Skeleton
...
Fusion-Task-Id: FN-002
Fusion-Task-Lineage: 49cb7077-d805-4d39-9a27-ae50744f2839
2026-05-14 07:47:29 +02:00
Fusion
c6bf919344
fix(FN-002): remove invalid allowBuilds from pnpm-workspace.yaml and update clean target
...
Fusion-Task-Id: FN-002
Fusion-Task-Lineage: 49cb7077-d805-4d39-9a27-ae50744f2839
2026-05-14 07:47:29 +02:00
Fusion
4f1c14f1b7
feat(FN-002): complete Step 1 — Root Monorepo Tooling
...
Fusion-Task-Id: FN-002
Fusion-Task-Lineage: 49cb7077-d805-4d39-9a27-ae50744f2839
2026-05-14 07:47:29 +02:00
Fusion
02cd75f12a
docs(FN-049): add CI / Testing section to development.md and README.md
...
Fusion-Task-Id: FN-049
Fusion-Task-Lineage: c0c0a1bd-b925-4d84-b529-c9f9d6dde07a
2026-05-14 07:16:17 +02:00
Fusion
710621b6ba
fix(FN-049): prevent double _test suffix in test database URL
...
Fusion-Task-Id: FN-049
Fusion-Task-Lineage: c0c0a1bd-b925-4d84-b529-c9f9d6dde07a
2026-05-14 07:16:17 +02:00
Fusion
f4d1e15fa6
feat(FN-049): complete Step 1 — create CI workflow and add pytest-asyncio dependency
...
Fusion-Task-Id: FN-049
Fusion-Task-Lineage: c0c0a1bd-b925-4d84-b529-c9f9d6dde07a
2026-05-14 07:16:17 +02:00
Fusion
3a18a1f170
feat(FN-004): merge fusion/fn-004
2026-05-14 06:47:30 +02:00
Fusion
4cbd30ff42
Merge branch 'fusion/fn-002'
2026-05-14 03:59:26 +02:00
Fusion
363c06ca25
init: empty main
2026-05-14 02:38:55 +02:00
Fusion
e9ec1f46d9
fix(FN-002): ignore .fusion internals in git
2026-05-14 02:26:47 +02:00
Fusion
9f8bd0a6b6
feat(FN-002): complete Step 8 — Documentation & Delivery
2026-05-14 02:26:06 +02:00
Fusion
28728fdcea
feat(FN-002): complete Step 6 — Root README and Scope Boundaries
2026-05-14 02:18:25 +02:00
Fusion
a091895998
fix(FN-002): address Dockerfile build order, base images, .dockerignore, docs
2026-05-14 02:08:53 +02:00
Fusion
7b45344237
feat(FN-002): complete Step 5 — Docker Compose and Portainer/Traefik Skeleton
2026-05-14 01:58:18 +02:00
Fusion
2e8a558b71
fix(FN-002): remove forward references from docs to files not yet created
2026-05-14 01:47:03 +02:00
Fusion
1f1c95cdde
feat(FN-002): complete Step 4 — Documentation Structure and Environment Examples
2026-05-14 01:40:58 +02:00
Fusion
9eaf4cfa36
fix(FN-002): ignore Python egg-info directories
2026-05-14 01:32:16 +02:00
Fusion
80f04a5c45
feat(FN-002): complete Step 3 — FastAPI Backend App Skeleton
2026-05-14 01:31:58 +02:00
Fusion
79203d2f0f
feat(FN-002): complete Step 2 — React Frontend App Skeleton
2026-05-14 01:23:01 +02:00
Fusion
d74f77fd33
feat(FN-002): complete Step 1 — Root Monorepo Tooling and Repository Hygiene
2026-05-14 01:14:36 +02:00