133 Commits

Author SHA1 Message Date
Claude
b645d1b2ab feat(api): schema-driven IConnectionSecretPolicy from provider SecretFields 2026-08-28 14:37:50 +00:00
Claude
9194d9dc8a docs(followups): log legacy plaintext admin_config decrypt concern 2026-08-28 14:35:42 +00:00
Claude
af905361eb feat(persistence): encrypt admin_config secure keys at rest + direct repo tests 2026-08-28 14:35:05 +00:00
Claude
11aae45000 fix(api): 400 for non-object connection config + null workflow graph; 409 for duplicate connection name 2026-08-28 14:32:30 +00:00
Claude
3ec74b33c9 feat(core): widen INodeContext/ITriggerSink/IConnectionProvider for Plan 2 2026-08-28 14:30:26 +00:00
Claude
f6de4c658b feat(api): fail-fast env parsing for ints + ENCRYPTION_KEY base64 2026-08-28 14:28:47 +00:00
Claude
35a5c4ec9b docs: add Plan 2 — workflow engine + real nodes + providers 2026-08-28 14:26:35 +00:00
Claude
fe531ac7ec chore: scaffold VolcanicCore.Nodes + VolcanicCore.Providers projects 2026-08-28 14:26:13 +00:00
Claude
0e31d7da3e docs: add CLAUDE.md with project context + Plan 1 handoff invariants 2026-08-28 13:54:35 +00:00
Claude
86bf173d90 chore: close out Plan 1 — drop UnitTest1 stub, expand followups
- Delete auto-generated UnitTest1.cs stub (was masking any accidental "0 tests ran"
  regression).
- Add workflow-graph empty-body 500→400 case to followups (mirrors connections case).
- Extend env-parse follow-up to include ENCRYPTION_KEY base64 validation.
2026-08-28 12:26:36 +00:00
Claude
57db5a53db feat(api): workflows CRUD + activate/deactivate flag 2026-08-28 12:18:58 +00:00
Claude
0f52730baf docs(followups): schema-driven secret policy, connections 400/409 handling 2026-08-28 12:16:06 +00:00
Claude
89b721fdd0 feat(api): connections CRUD with encrypted storage + secret masking 2026-08-28 12:13:37 +00:00
Claude
37c35581ec docs(plan-1): note ThrowsAny for tamper test (.NET 9 AesGcm behavior) 2026-08-28 12:08:43 +00:00
Claude
caa1e6e834 fix(persistence): use ThrowsAny in tamper test; keep AesGcm exception subclass visible 2026-08-28 12:08:37 +00:00
Claude
62efc3260f feat(persistence): AES-GCM encryption service + key loader 2026-08-28 12:06:49 +00:00
Claude
1ffe98cce0 feat(api): discovery endpoints for node types + connection providers 2026-08-28 12:02:08 +00:00
Claude
857ddd67ea feat(api): NodeRegistry + ConnectionProviderRegistry (DI-collected) 2026-08-28 11:58:38 +00:00
Claude
77a4ef0c35 feat(core): IConnectionProvider contract 2026-08-28 11:54:58 +00:00
Claude
424a24965b feat(core): INodeType + IActionNode + ITriggerNode contracts 2026-08-28 11:54:41 +00:00
Claude
b716aee87c feat(core): Item, JsonSchema, NodeCategory, INodeContext, ITriggerSink 2026-08-28 11:54:21 +00:00
Claude
64c8326e18 docs: track cross-plan follow-ups (Secure cookie, encryption at rest, env parsing) 2026-08-28 11:52:46 +00:00
Claude
eb59c87d03 feat(auth): cookie session endpoints + WebApplicationFactory harness 2026-08-28 11:48:45 +00:00
Claude
796ccf50da docs(auth): explain plaintext password-source storage trade-off 2026-08-28 11:45:54 +00:00
Claude
c8ec5638c0 feat(auth): PasswordService + AdminBootstrap seeds hash from ADMIN_PASSWORD 2026-08-28 11:43:15 +00:00
Claude
e3bc9061c0 feat(persistence): admin_config migration, boot-time migrator, AppSettings 2026-08-28 11:38:21 +00:00
Claude
e954732165 feat(persistence): SQLite factory + versioned Migrator 2026-08-28 11:30:37 +00:00
Claude
878a195774 docs(plan-1): drop bogus cookie-auth package from Task 1 (in shared framework) 2026-08-28 11:28:47 +00:00
Claude
52ddf3182d fix(api): drop bogus Microsoft.AspNetCore.Authentication.Cookies 2.3.0 package 2026-08-28 11:28:22 +00:00
Claude
da02156680 chore: solution skeleton with Core/Persistence/Api/Tests projects 2026-08-28 11:23:57 +00:00
Claude
49f198ac82 docs: Plan 1 — Backend Foundation
14 tasks with TDD steps:
- Solution + project skeleton
- SQLite + Migrator + first migration
- ASP.NET cookie auth + session endpoints
- Core contracts (INodeType, IActionNode, ITriggerNode, IConnectionProvider)
- NodeRegistry + ConnectionProviderRegistry
- Discovery endpoints
- AES-GCM connection secret encryption
- Connections CRUD + Workflows CRUD
- Live-server smoke via curl

Plans 2-4 previewed at the end.
2026-08-28 10:14:25 +00:00
Claude
feced0363c docs: design spec for VolcanicCore N8N-style workflow engine
- 5 v1 nodes: NATS Hook, Webhook, PythonTransform, WebResponse, NATS Publish
- INodeType + IConnectionProvider extension points
- In-degree scheduler, fan-out in v1, fan-in designed for
- SQLite persistence, execution history, Coolify single container
2026-08-28 09:17:41 +00:00
EugeneTes
bf3af9b098 Initial commit 2026-08-28 08:27:26 +00:00