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 |
|