Implementation Tracker
Progress tracker for the Frontend Implementation for Item Image Upload project. Updated as tasks complete.
Last updated: 2026-04-09 (Phase 3.6b added)
Phase 3.1 — API Proxy Publish
Section titled “Phase 3.1 — API Proxy Publish”Repository: api-proxy | Run: 1 | Status: Complete |
Artifact: @arda-cards/api-proxy@1.0.0 |
PR: Arda-cards/api-proxy#3 (merged)
- T-0:
RequestContextandRequestOptionstypes - T-1:
processUploadJob()method onItemProxy - T-2: Unit tests
- T-3: CHANGELOG update and publish
- T-4: Verify publication to GitHub Packages
Phase 3.2 — Lifecycle Framework
Section titled “Phase 3.2 — Lifecycle Framework”Repository: ux-prototype | Run: 2 | Status: Complete
- T-1: Edit Lifecycle architecture documentation (3 files in
edit-lifecycle/) - T-2: Lifecycle types (
edit-lifecycle.ts) — 6 types, 9 type-level tests - T-3:
setNestedFieldutility — 8 unit tests - T-4:
useDraft<T>hook — 35 unit tests - T-5: Export from canary barrel (
canary,types/canary,utilities/index) - T-6: Full checks (lint, typecheck, 1271 tests, Storybook build)
- T-7: Documentation checks and commit
Phase 3.3 — Component Updates
Section titled “Phase 3.3 — Component Updates”Repository: ux-prototype | Runs: 3a + 3b | Status: Complete
Run 3a (pre-infrastructure)
Section titled “Run 3a (pre-infrastructure)”- T-1 (changes 1-6):
ImageUploadDialog— indeterminate progress (FD-04),UploadErrorphase with retry/discard, direct async upload,EditLifecycleCallbackstype annotation - T-2:
ImageCellEditor— factory acceptsImageCellEditorConfigwith requireduseImageUploadanduseCheckReachabilityhooks (FD-15) - T-3:
ImageFormField—contextErrorsprop,initialValueas canonical prop,imageUrldeprecated - T-4:
ItemGridColumns—ItemGridLookupsexpanded to 9 fields,ItemGridEditorHooksinterface, image column editor wired via factory - T-5:
TypeaheadCellEditor— decision documented (keep promise callback, FD-01 compliant, no code change) - T-6: Full checks
- T-7: Documentation commit
Run 3b (CORS integration)
Section titled “Run 3b (CORS integration)”- T-1 (change 7):
ImagePreviewEditor—crossOrigin="use-credentials"viareact-easy-cropmediaPropsfor CDN URLs (FD-17) - T-2: Unit tests (CDN URL, non-CDN URL, blob URL)
- T-3: Full checks
Phase 3.4 — Design System Publish
Section titled “Phase 3.4 — Design System Publish”Repository: ux-prototype | Run: 4 | Status: Complete |
Artifact: @arda-cards/design-system@4.8.0 |
PR: Arda-cards/ux-prototype#86 (merged)
- T-1: Full library build (
make build-lib) - T-2: CHANGELOG update (Added, Fixed, Deprecated)
- T-3: Version bump (CI-managed via
clq-action) - T-4: Final checks (check, test, build, build-lib)
- T-5: Commit, push, create PR, CI pass, merge
- T-6: Verify publication (
v4.8.0on GitHub Packages) - T-7: Documentation commit (no new docs required)
Phase 3.5 — BFF Routes
Section titled “Phase 3.5 — BFF Routes”Repository: arda-frontend-app | Run: 5 | Status: Complete
- T-1: Directory scaffolding and
server-onlydependency - T-1b: AWS naming convention utility (
src/lib/shared/aws-naming.ts) - T-1c: Secrets utility (
src/server/lib/secrets.ts) with configurable TTL - T-2: SSRF validator (
src/server/lib/ssrf-validator.ts) - T-3: Rate limiter (
src/server/lib/rate-limiter.ts) - T-4: CloudFront signer (
src/server/lib/cloudfront-signer.ts) - T-5: Image upload route (
POST /api/image-upload) - T-6: Check URL route (
POST /api/storage/check-url) - T-7: Fetch URL route (
POST /api/storage/fetch-url) - T-8: CDN cookies route (
POST /api/storage/cdn-cookies)
Phase 3.6 — SPA Integration
Section titled “Phase 3.6 — SPA Integration”Repository: arda-frontend-app | Run: 6 | Status: Complete
- T-1: Dependencies and
QueryClientProvidersetup - T-2: SPA API functions (
src/api/image-upload.ts) - T-3: TanStack mutation hooks (
src/hooks/image-upload/) - T-4: CDN cookie query hook (
src/hooks/cdn/) - T-5: CDN cookie provider (
src/providers/cdn-cookie-provider.tsx) - T-6: Wiring hooks (
use-item-image-upload-dialog.ts) - T-7:
ITEM_IMAGE_CONFIGconstant - T-7b: Shared CDN image recovery hook (
useImageWithCdnRecovery) - T-8: Grid integration (ImageCellDisplay + createImageCellEditor)
- T-9: Form integration (ItemCardEditor replaces legacy ItemCard; management#861 for parity gap)
- T-10: Unit tests (11 API function tests)
- T-11: Documentation checks and commit
Phase 3.6b — Backend Strict Validation
Section titled “Phase 3.6b — Backend Strict Validation”Repository: operations | Run: 6b | Status: Not started |
Issue: Arda-cards/operations#164
- T-1: Restore
ItemValidatorstrict constructor and validation - T-2: Restore
ItemServicenon-nullable parameters - T-3: Restore
Module.ktrequired configuration - T-4: Restore Helm chart required values
- T-5: Restore CloudFormation export reads
- T-6: Restore tests
- T-7: Build verification
- T-8: CHANGELOG and commit
Phase 3.7 — Release
Section titled “Phase 3.7 — Release”Repositories: all | Run: 7 | Status: Not started
- T-1: Project closing documents (byproducts)
- T-2:
arda-frontend-appCHANGELOG - T-3:
arda-frontend-appPR - T-4:
operationsCHANGELOG - T-5:
operationsPR - T-6:
documentationCHANGELOG - T-7:
documentationPR - T-8: Move project docs to
completed/ - T-9: Merge ordering (documentation first, then operations, then arda-frontend-app)
- T-10: Worktree cleanup (user-initiated)
Copyright: (c) Arda Systems 2025-2026, All rights reserved
Copyright: © Arda Systems 2025-2026, All rights reserved