be3555d7cd
docs(phase-6): add dual-deployment requirement - docker and standalone modes
...
- Both Docker and start_server.sh standalone modes required
- Shared config files between both modes (no duplication)
- Single config source of truth (inventory.env)
- Both modes available for development and production use
2026-04-22 18:21:12 +03:00
4e6f940b75
refactor(phase-6): remove scale testing plan, simplify to docker + runbook
...
- Delete PLAN-02-SCALE-TESTING.md (scale testing deferred to v3)
- Rename PLAN-03-BACKUP-RUNBOOK to PLAN-02-OPERATIONAL-RUNBOOK
- Phase 6 now has 2 executable plans instead of 3
2026-04-22 18:18:00 +03:00
4ea9625928
docs(phase-6): revise context - single-instance deployment, Docker only, no scale testing
...
- Lock decision: Single-instance Docker deployment (not multi-site)
- Remove scale testing from Phase 6 scope (defer to v3)
- Simplify to 2 plans: Docker deployment + operational runbook
- Update success criteria to focus on reliability, not performance testing
2026-04-22 18:17:45 +03:00
4b7621fcd1
feat(6): phase 6 planning complete - deployment, scale testing, backup/restore
...
Phase 6 comprehensive plans ready for execution:
Plan 1: Docker Containerization & Deployment Automation (6 tasks)
- Enhance backend/frontend Dockerfiles with health checks
- Create deploy.sh for single-command deployment
- Environment automation and validation
- Quick start guide and troubleshooting docs
Plan 2: Scale Testing & Performance Optimization (6 tasks)
- Locust-based load testing framework (5 concurrent users)
- Database seeding (10K items with realistic data)
- Metrics collection (CPU, memory, response times)
- Performance baseline establishment and SLO documentation
- Health check monitoring automation
- Load test execution guide
Plan 3: Backup/Restore & Operational Runbook (7 tasks)
- Automated backup script (daily/weekly with retention)
- Restore validation and disaster recovery procedures
- Cron job configuration for scheduled backups
- Comprehensive operational runbook (deployment, scaling, troubleshooting)
- Health monitoring checklist (daily/weekly/monthly)
- Disaster recovery plan (3+ scenarios, <10min RTO)
- Operations documentation index and integration guide
Context document summarizes:
- Phase goal: Production-ready multi-site deployment
- Key decisions: Docker strategy, automation scope, scale limits
- Upstream dependencies: Phase 5 complete
- Success criteria: Single-command deploy, 10K items + 5 users <2s latency
- Backup strategy: Daily incremental, weekly full (30/90 day retention)
All plans include:
- Detailed task breakdowns (5-7 per plan)
- Acceptance criteria and testing procedures
- Dependencies and blockers
- Effort estimates and risk assessment
- Success metrics and monitoring guidance
Ready for execution phase (estimated 4-5 weeks total).
2026-04-22 18:13:35 +03:00
d0c0f8a84c
docs(phase-5): verification review - all blocking issues resolved, ready to merge
2026-04-22 18:09:18 +03:00
43094c42d1
docs(phase-5): code review fixes complete - auth headers and validation
2026-04-22 18:05:24 +03:00
4ead83cfad
fix(5): validate part_number is non-empty before transformation
2026-04-22 18:04:54 +03:00
0c0c519274
fix(5): add authorization headers to search API calls
2026-04-22 18:04:47 +03:00
7bb92d3bd9
fix(5): add authorization headers to export API calls
2026-04-22 18:04:36 +03:00
62475ae0af
docs(phase-5): code review complete
2026-04-22 18:02:33 +03:00
61382d3f13
docs(phase-5): update tracking after wave 1 execution complete
...
- Mark Phase 5 complete in ROADMAP
- Update scope: Quick Quantity Adjustment replaces Batch Operations
- All 3 plans delivered: 18 tasks, 23+ test cases
- Update STATE.md with execution summary and next steps
2026-04-22 17:49:37 +03:00
a68d1bd23d
docs(5-plan-02): add summary - all 6 tasks completed, full test coverage
2026-04-22 17:44:55 +03:00
96befa3571
test(5-plan-02-t6): add comprehensive frontend tests for search functionality and hooks
2026-04-22 17:44:13 +03:00
b28eb49fe7
feat(5-plan-02-t3,t4): create useItemSearch hook and integrate search button into inventory page
2026-04-22 17:44:11 +03:00
0138f04f6e
feat(5-plan-02-t2,t5): create SearchModal and QuantityAdjustmentModal components for inventory search
2026-04-22 17:44:03 +03:00
42fb8a1d63
feat(5-plan-02-t1,t6): add backend search endpoint with comprehensive test coverage
2026-04-22 17:44:00 +03:00
fd13f63c28
test(5-03-07): add comprehensive export tests for CSV/Excel generation and endpoint authorization
2026-04-22 17:43:23 +03:00
798cf4bfd5
feat(5-03-06): add openpyxl to backend dependencies for Excel export support
2026-04-22 17:43:21 +03:00
a9a64b8d0c
feat(5-03-05): integrate ExportPanel into admin dashboard
2026-04-22 17:43:18 +03:00
767a7657b1
feat(5-03-04): create useExport hook for managing export API calls and file downloads
2026-04-22 17:43:16 +03:00
274e6f58e5
feat(5-03-03): create admin ExportPanel UI component with CSV and Excel buttons for both reports
2026-04-22 17:43:12 +03:00
b6eb284568
feat(5-03-02): create admin export endpoints for inventory snapshot and audit trail with authorization
2026-04-22 17:43:09 +03:00
9fc3de4798
feat(5-03-01): create export service with CSV and Excel generation for inventory and audit trails
2026-04-22 17:43:05 +03:00
7f3ed6c666
docs(5.1): complete Phase 5 Plan 01 execution summary and session handover
...
- Created 5-PLAN-01-SUMMARY.md with full implementation report
- Updated SESSION_STATE.md with Session 38 completion details
- Phase 5 Plan 01 status: COMPLETED (5/5 tasks, all tests written)
- Ready for inventory page integration and Phase 5 Plan 02 execution
2026-04-22 17:43:02 +03:00
a7746a14ea
test(5.1): add integration and unit tests for quick quantity adjustment
...
- Vitest hook tests for useQuantityAdjustment (optimistic updates, debouncing)
- Pytest backend tests for PATCH /items/{itemId} endpoint
- Tests cover success, failure, validation, and audit logging scenarios
2026-04-22 17:42:08 +03:00
9fd20fff7c
feat(5.1): implement quantity display component and adjustment hook
...
- Create QuantityDisplay component with tap-to-edit UI + +/- buttons
- Implement useQuantityAdjustment hook with optimistic updates, debouncing
- Add PATCH /items/{itemId} backend endpoint with audit logging
- Components support inline quantity adjustment without modal friction
2026-04-22 17:42:04 +03:00
d7dcd051fe
docs(session): Phase 5 planning complete - 3 plans ready for execution
2026-04-22 17:36:48 +03:00
ae3ca2cbee
feat(5): phase 5 planning complete - 3 plans, 18 tasks covering quick adjust, search, exports
2026-04-22 17:36:36 +03:00
bc890faa5d
docs(session): Phase 4.1 verification complete, Phase 5 discussion/context complete
2026-04-22 17:33:51 +03:00
6471f6c86f
docs(5): phase 5 context finalized - quick quantity adjust, search, exports locked
2026-04-22 17:33:44 +03:00
68d2ab9abd
docs(session): Phase 4.1 complete - all 3 waves executed, verification pass, ready for Phase 5
2026-04-22 17:03:01 +03:00
965c7631b2
docs(4.1): phase 4.1 UAT complete - all 14 tests pass, ready for next phase
2026-04-22 17:02:36 +03:00
b0d93e8be8
docs(4.1): wave 3 execution complete - frontend components for search integration
2026-04-22 16:47:24 +03:00
2647f0428c
feat(4.1-05-07): create frontend components for spare-parts search integration - useItemSearch hook, LoadingModal, ErrorModal with tests
2026-04-22 16:46:50 +03:00
54813067e2
docs(session): record phase 4.1 execution progress - waves 1-2 complete, wave 3 ready
2026-04-22 16:45:34 +03:00
42efe54265
docs(4.1): wave 2 execution complete - web scraping and spec extraction backend services
2026-04-22 16:38:21 +03:00
8dca073c50
feat(4.1-03,4.1-04): implement search orchestrator and integration tests
2026-04-22 16:37:38 +03:00
6e5642ff06
feat(4.1-02): implement web scraper and spec extractor services for spare-parts search
2026-04-22 16:37:01 +03:00
5ba488ea5e
docs(4.1): wave 1 execution complete - spare-parts classification foundation
2026-04-22 16:36:11 +03:00
f20c60169a
test(4.1-04): create comprehensive unit tests for spare-parts classification module
2026-04-22 16:35:41 +03:00
5fa1244004
feat(4.1-02,4.1-03): add spare-parts classification guide to AI extraction prompt for Gemini and Claude
2026-04-22 16:34:48 +03:00
2ecaa6b2e8
feat(4.1-01): create spare-parts classification whitelist module with fuzzy matching
2026-04-22 16:34:10 +03:00
ac87c4c06b
docs(4.1): planning complete - research + 3 executable plans
...
Phase 4.1: AI Prompt Enhancement — Spare Parts Deep Identification
Artifacts:
- 4.1-RESEARCH.md: Web scraping patterns, spare-parts classification, integration architecture
- 4.1-PLAN-01.md (Wave 1): Spare-parts whitelist + AI prompt enhancement (4 tasks)
- 4.1-PLAN-02.md (Wave 2): Web scraping service + backend integration (6 tasks)
- 4.1-PLAN-03.md (Wave 3): Frontend integration + end-to-end testing (7 tasks)
All 17 tasks verified:
✓ Concrete action steps with exact function signatures and file paths
✓ 100% verifiable acceptance criteria (grep, pytest, vitest, imports)
✓ Architecture aligned with all 11 CONTEXT.md decisions
✓ CLAUDE.md compliance: TypeScript strict, API tests, UI fidelity
✓ Wave dependencies correctly ordered
✓ Risk mitigation: rate limiting, timeout handling, offline graceful degradation
Ready for execution via /gsd-execute-phase 4.1
2026-04-22 16:28:26 +03:00
c378d1a1f4
docs(session): record phase 4.1 context gathering completion
2026-04-22 16:17:12 +03:00
b90085cce5
docs(4.1): capture phase context and discussion log for AI spare parts deep identification
...
- AI Prompt: Detailed categorization to distinguish spare parts from consumables
- Search: Web scraping (requests + BeautifulSoup) to extract Google results, no API key
- Trigger: Automatic background search after AI extraction if category matches whitelist
- UX: Block until search completes, user reviews and edits all fields before save
- Mapping: Extract product type/specs/manufacturer/description to Notes field
- Retry on failure, user can skip if needed
2026-04-22 16:16:51 +03:00
d3f8b6c4ff
Phase 4.1 inserted: AI spare parts deep identification (internet search enhancement)
2026-04-22 16:03:25 +03:00
5e7318c7f6
Planning reset: v2 roadmap and phase 4-7 structure
2026-04-22 15:56:47 +03:00
4c4eb91a96
docs: record decision to simplify image handling
2026-04-22 14:44:18 +03:00
51c2a5a4bb
simplify: remove image rotation modal, save original image as-is
...
Removed the rotation/zoom adjustment modal feature. Approach was too complex and
time-consuming without delivering stable results.
New simplified flow:
1. User extracts item with AI
2. Item saved with original image (resized/compressed by backend)
3. No rotation adjustments in frontend
4. Image editing can be implemented as a future feature
This unblocks the workflow and gets users to a working state.
Backend still applies compression/resizing, just no rotation processing.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-04-22 14:44:00 +03:00
285c3f17d4
fix: CRITICAL - remove double rotation (frontend + backend)
...
Root cause: Image was being rotated TWICE:
1. Frontend rotated it in the modal and sent processed blob
2. Backend rotated it AGAIN based on rotation_degrees
This double rotation made the image appear unrotated or distorted.
Solution: Remove frontend image processing entirely.
- Modal now sends ONLY the rotation value
- No imageBlob from modal (uses original)
- Backend receives original image + rotation value
- Backend applies rotation ONCE
Now image is rotated correctly by backend without duplication.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-04-22 14:23:20 +03:00