Feat v0.7.9 workflow independence (#63)
All checks were successful
CI/CD / detect-changes (push) Successful in 20s
CI/CD / test-runners (push) Has been skipped
CI/CD / e2e-smoke (push) Has been skipped
CI/CD / test-frontend (push) Successful in 25s
CI/CD / test-sqlite (push) Successful in 2m51s
CI/CD / test-go-pg (push) Successful in 3m0s
CI/CD / build-and-deploy (push) Successful in 1m26s
All checks were successful
CI/CD / detect-changes (push) Successful in 20s
CI/CD / test-runners (push) Has been skipped
CI/CD / e2e-smoke (push) Has been skipped
CI/CD / test-frontend (push) Successful in 25s
CI/CD / test-sqlite (push) Successful in 2m51s
CI/CD / test-go-pg (push) Successful in 3m0s
CI/CD / build-and-deploy (push) Successful in 1m26s
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com> Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
This commit was merged in pull request #63.
This commit is contained in:
47
CHANGELOG.md
47
CHANGELOG.md
@@ -2,6 +2,53 @@
|
||||
|
||||
All notable changes to Armature are documented here.
|
||||
|
||||
## v0.7.9 — Workflow Independence Audit
|
||||
|
||||
Workflows proven independent of chat and all optional packages. Critical
|
||||
rendering bugs fixed, dead chat UI removed, deferred test debt closed.
|
||||
|
||||
**RenderWorkflow Fix (critical)**
|
||||
|
||||
- `RenderWorkflow()` was a stub that never loaded instance/stage data — post-start page was broken. Now loads instance by token/ID, resolves current stage, populates all template fields.
|
||||
- `WorkflowPageData` fields renamed: `ChannelID` → `EntryToken`, `ChannelTitle` → `WorkflowTitle`, `ChannelDescription` → `WorkflowDescription` (vestigial chat-era names)
|
||||
- Stage modes aligned: template uses Go constants (`form`, `review`, `delegated`, `automated`) instead of legacy `form_only`/`form_chat`
|
||||
- Dead chat UI removed: chat CSS, split layout, `sendMessage()`, fallback chat branch (~180 lines deleted from `workflow.html`)
|
||||
- Landing page mode conditionals updated to match Go constants
|
||||
- OpenAPI `stage_mode` enum corrected (4 occurrences)
|
||||
|
||||
**Bug Fixes (found during verification)**
|
||||
|
||||
- Entry token resolution: handler passed route param (instance ID) as entry token to JS. Fixed: resolve actual token from `inst.EntryToken` + `?token=` query param.
|
||||
- Fieldset submit guard: `submitForm()` checked `FORM_TPL.fields` but not `.fieldsets` — progressive forms silently no-op'd. Fixed: accept either.
|
||||
- Stage advance status check: JS checked `result.status === 'advanced'` but API returns `active`/`completed`. Fixed: on 200 OK with `active`, reload to render next stage.
|
||||
|
||||
**Deferred test coverage (carried from v0.7.6)**
|
||||
|
||||
- 17 new SQLite store tests: workflow CRUD, stages, instances, lifecycle (advance/complete/cancel/stale), team scope, API tokens, users, groups
|
||||
- `InstallPackage` decomposed from 400-line monolith into 7 private methods: `receiveUpload`, `parseAndValidateArchive`, `extractPackageAssets`, `registerPackage`, `applySchemaAndPermissions`, `resolveDependencies`, `checkCapabilities`
|
||||
- `ci/e2e-workflow-nochat.sh` — E2E test for workflow lifecycle without chat
|
||||
|
||||
**Discovered issues (deferred to v0.7.10)**
|
||||
|
||||
- Public→authenticated stage handoff: visitor sees auth-gated stage form instead of "submitted" screen
|
||||
- Team member pickup UI: no surface for claiming workflow instances
|
||||
- Assignment flow: no admin UI for manual instance assignment
|
||||
|
||||
**Tests:** 17 new store tests, 1 new E2E script
|
||||
|
||||
---
|
||||
|
||||
## v0.7.8 — Bug Fixes & Admin Gaps
|
||||
|
||||
- `StartBySlug` handler + `/api/v1/workflow-entry/:scope/:slug` route for landing page Start button
|
||||
- Workflow delete guard: admin endpoint rejects team-scoped workflows (403)
|
||||
- Package button cleanup: Delete hidden for bundled packages
|
||||
- Package export: `fetch()` with auth token instead of `window.open()`
|
||||
- Settings CSS: bottom padding fix for save button cutoff
|
||||
- Shared `StageForm` component between admin and team-admin; public entry URL with copy button
|
||||
|
||||
---
|
||||
|
||||
## v0.7.7 — API Tokens + Extension Permissions
|
||||
|
||||
Personal access tokens (PATs) for programmatic API access, plus extension-declared
|
||||
|
||||
Reference in New Issue
Block a user