**Test Group Member Management:** - Refactor member data structure from simple ID array to object array with sequence numbers - Update member objects to include both TestSiteID and Member (sequence) fields - Fix addMember() to assign sequential Member numbers automatically - Fix removeMember() to re-sequence remaining members after removal - Fix moveMember() to properly swap and re-sequence members - Add sorting by sequence number in members list display - Update payload builder in tests.js to use proper object structure for API - Update TestFormModal.svelte member mapping for edit mode **Documentation:** - Add TypeScript Types section to AGENTS.md with TestType and TestSummary examples - Reorganize TODO.md with new test type categories and backend notes **Cleanup:** - Remove deprecated OpenSpec skills from .opencode/ directory: - opsx-apply.md, opsx-archive.md, opsx-explore.md, opsx-propose.md - openspec-apply-change/SKILL.md, openspec-archive-change/SKILL.md - openspec-explore/SKILL.md, openspec-propose/SKILL.md **New Files:** - Add .serena/memories/ for code style conventions and task tracking
2.8 KiB
2.8 KiB
CLQMS Frontend - Post-Task Checklist
When a Task is Completed
Verification Steps
-
Build Check (if changes are significant)
- Run
pnpm run buildto ensure the application builds successfully - Check for build errors or warnings
- Run
-
Manual Testing
- Start dev server:
pnpm run dev - Test the feature/fix in the browser
- Verify no console errors
- Check that existing functionality is not broken
- Start dev server:
-
Code Review Checklist
- Follow code style conventions (see
code_style_conventions.md) - Imports are in correct order
- Components use Svelte 5 runes (
$props,$state,$derived,$effect,$bindable) - Event handlers prefixed with
handle - JSDoc comments on exported functions
- Proper error handling with try-catch
- Toast notifications for user feedback
- Follow code style conventions (see
Code Style Verification
- ✅ Single quotes for strings
- ✅ Semicolons used consistently
- ✅ 2-space indentation
- ✅ Trailing commas in multi-line objects/arrays
- ✅ PascalCase for components
- ✅ camelCase for variables and functions
- ✅ Descriptive naming
Svelte 5 Runes Verification
- ✅ Using
$props()for component props - ✅ Using
$state()for reactive state - ✅ Using
$derived()for computed values - ✅ Using
$effect()for side effects - ✅ Using
$bindable()for two-way binding props - ✅ Using
{@render snippet()}for slots/content
API Integration Verification
- ✅ Proper error handling with try-catch
- ✅ Toast notifications for success/error
- ✅ Loading states during async operations
- ✅ Form validation before submission
- ✅ API calls follow established patterns (get, post, put, patch, del from client.js)
Accessibility Verification
- ✅ Semantic HTML elements
- ✅ ARIA labels where needed
- ✅ Keyboard navigation support
- ✅ Proper form labels and focus management
Performance Considerations
- ✅ No unnecessary re-renders
- ✅ Proper use of
$derivedfor computed values - ✅ Efficient event handling (avoid inline functions in templates when possible)
Browser Compatibility
- ✅ Check browser console for errors
- ✅ Test in Chrome/Firefox/Edge if possible
- ✅ Verify responsive design on different screen sizes
NO Auto-Commit Policy
IMPORTANT: Do NOT commit changes automatically. Only commit when explicitly requested by the user.
If user asks to commit:
- Run
git statusto see all untracked files - Run
git diffto see changes - Run
git logto see commit message style - Stage relevant files
- Create commit with descriptive message
- Run
git statusto verify
Before Marking Task as Complete
- Ensure all verification steps are completed
- Confirm the application runs without errors
- If applicable, verify the feature works as expected
- Only confirm completion if you have tested the changes