From 695ee3de91523d51e2684bae43604f7cc8b5c26d Mon Sep 17 00:00:00 2001 From: mahdahar <89adham@gmail.com> Date: Mon, 9 Mar 2026 16:50:35 +0700 Subject: [PATCH] feat(tests): implement proper group member sequencing and cleanup deprecated skills **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 --- .opencode/command/opsx-apply.md | 149 --------- .opencode/command/opsx-archive.md | 154 --------- .opencode/command/opsx-explore.md | 170 ---------- .opencode/command/opsx-propose.md | 103 ------ .../skills/openspec-apply-change/SKILL.md | 156 ---------- .../skills/openspec-archive-change/SKILL.md | 114 ------- .opencode/skills/openspec-explore/SKILL.md | 288 ----------------- .opencode/skills/openspec-propose/SKILL.md | 110 ------- .serena/memories/code_style_conventions.md | 189 +++++++++++ .serena/memories/plans/mvp-roadmap.md | 294 ++++++++++++++++++ .../memories/plans/testmap-dropdown-change.md | 52 ++++ .serena/memories/task_completion_checklist.md | 89 ++++++ AGENTS.md | 17 + TODO.md | 10 +- src/lib/api/tests.js | 5 +- .../tests/test-modal/TestFormModal.svelte | 5 +- .../test-modal/tabs/GroupMembersTab.svelte | 37 ++- 17 files changed, 686 insertions(+), 1256 deletions(-) delete mode 100644 .opencode/command/opsx-apply.md delete mode 100644 .opencode/command/opsx-archive.md delete mode 100644 .opencode/command/opsx-explore.md delete mode 100644 .opencode/command/opsx-propose.md delete mode 100644 .opencode/skills/openspec-apply-change/SKILL.md delete mode 100644 .opencode/skills/openspec-archive-change/SKILL.md delete mode 100644 .opencode/skills/openspec-explore/SKILL.md delete mode 100644 .opencode/skills/openspec-propose/SKILL.md create mode 100644 .serena/memories/code_style_conventions.md create mode 100644 .serena/memories/plans/mvp-roadmap.md create mode 100644 .serena/memories/plans/testmap-dropdown-change.md create mode 100644 .serena/memories/task_completion_checklist.md diff --git a/.opencode/command/opsx-apply.md b/.opencode/command/opsx-apply.md deleted file mode 100644 index 94b8c1e..0000000 --- a/.opencode/command/opsx-apply.md +++ /dev/null @@ -1,149 +0,0 @@ ---- -description: Implement tasks from an OpenSpec change (Experimental) ---- - -Implement tasks from an OpenSpec change. - -**Input**: Optionally specify a change name (e.g., `/opsx-apply add-auth`). If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes. - -**Steps** - -1. **Select the change** - - If a name is provided, use it. Otherwise: - - Infer from conversation context if the user mentioned a change - - Auto-select if only one active change exists - - If ambiguous, run `openspec list --json` to get available changes and use the **AskUserQuestion tool** to let the user select - - Always announce: "Using change: " and how to override (e.g., `/opsx-apply `). - -2. **Check status to understand the schema** - ```bash - openspec status --change "" --json - ``` - Parse the JSON to understand: - - `schemaName`: The workflow being used (e.g., "spec-driven") - - Which artifact contains the tasks (typically "tasks" for spec-driven, check status for others) - -3. **Get apply instructions** - - ```bash - openspec instructions apply --change "" --json - ``` - - This returns: - - Context file paths (varies by schema) - - Progress (total, complete, remaining) - - Task list with status - - Dynamic instruction based on current state - - **Handle states:** - - If `state: "blocked"` (missing artifacts): show message, suggest using `/opsx-continue` - - If `state: "all_done"`: congratulate, suggest archive - - Otherwise: proceed to implementation - -4. **Read context files** - - Read the files listed in `contextFiles` from the apply instructions output. - The files depend on the schema being used: - - **spec-driven**: proposal, specs, design, tasks - - Other schemas: follow the contextFiles from CLI output - -5. **Show current progress** - - Display: - - Schema being used - - Progress: "N/M tasks complete" - - Remaining tasks overview - - Dynamic instruction from CLI - -6. **Implement tasks (loop until done or blocked)** - - For each pending task: - - Show which task is being worked on - - Make the code changes required - - Keep changes minimal and focused - - Mark task complete in the tasks file: `- [ ]` → `- [x]` - - Continue to next task - - **Pause if:** - - Task is unclear → ask for clarification - - Implementation reveals a design issue → suggest updating artifacts - - Error or blocker encountered → report and wait for guidance - - User interrupts - -7. **On completion or pause, show status** - - Display: - - Tasks completed this session - - Overall progress: "N/M tasks complete" - - If all done: suggest archive - - If paused: explain why and wait for guidance - -**Output During Implementation** - -``` -## Implementing: (schema: ) - -Working on task 3/7: -[...implementation happening...] -✓ Task complete - -Working on task 4/7: -[...implementation happening...] -✓ Task complete -``` - -**Output On Completion** - -``` -## Implementation Complete - -**Change:** -**Schema:** -**Progress:** 7/7 tasks complete ✓ - -### Completed This Session -- [x] Task 1 -- [x] Task 2 -... - -All tasks complete! You can archive this change with `/opsx-archive`. -``` - -**Output On Pause (Issue Encountered)** - -``` -## Implementation Paused - -**Change:** -**Schema:** -**Progress:** 4/7 tasks complete - -### Issue Encountered - - -**Options:** -1.