97 lines
5.5 KiB
Markdown
97 lines
5.5 KiB
Markdown
---
|
|
## HANDOFF CONTEXT
|
|
GOAL
|
|
----
|
|
Continue implementation of IRT-Powered Adaptive Question Bank System after user configures GLM-5 model mapping for specific subagent categories.
|
|
WORK COMPLETED
|
|
--------------
|
|
- Created comprehensive PRD (v1.1) from project-brief.md
|
|
- Resolved 10 critical clarification questions with client:
|
|
1. Excel Import: Standardized across ALL tryouts
|
|
2. AI Generation: 1 request = 1 question, admin playground for testing, no approval workflow
|
|
3. Normalization: Optional manual/automatic control (system handles auto when sufficient data)
|
|
4. Rollback: Preserve IRT history, apply CTT to new sessions only
|
|
5. Admin Permissions: Not needed (WordPress handles per-site admins)
|
|
6. Dashboards: FastAPI Admin only
|
|
7. Rate Limiting: User-level reuse check + AI generation toggle
|
|
8. Student UX: Admin sees internal metrics, students only see primary score
|
|
9. Data Retention: Keep all data
|
|
10. Reporting: All 4 report types required
|
|
- Created detailed technical implementation plan with 10 parallel subagents:
|
|
- Deep Agent 1: Core API + CTT Scoring
|
|
- Deep Agent 2: IRT Calibration Engine (recommended for GLM-5)
|
|
- Deep Agent 3: CAT Selection Logic (recommended for GLM-5)
|
|
- Deep Agent 4: AI Generation + OpenRouter (recommended for GLM-5)
|
|
- Deep Agent 5: WordPress Integration
|
|
- Deep Agent 6: Reporting System (recommended for GLM-5)
|
|
- Unspecified-High Agents: Database Schema, Excel Import/Export, Admin Panel, Normalization
|
|
CURRENT STATE
|
|
-------------
|
|
- PRD.md file created (746 lines, v1.1)
|
|
- project-brief.md exists (reference document)
|
|
- No code implementation started yet
|
|
- No git repository initialized
|
|
- Working directory: /Users/dwindown/Applications/tryout-system
|
|
- Session ID: ses_2f1bf9e3cffes96exBxyheOiYT
|
|
PENDING TASKS
|
|
-------------
|
|
1. User configures GLM-5 model mapping for `deep` category (GLM-5 for algorithmic complexity)
|
|
2. User configures GLM-4.7 model mapping for `unspecified-high` category (general implementation)
|
|
3. Initialize git repository
|
|
4. Create project structure (app/, models/, routers/, services/, tests/)
|
|
5. Launch Unspecified-High Agent 1: Database Schema + ORM (BLOCKS all other agents)
|
|
6. After schema complete: Launch Deep Agents 1-3 in parallel (Core API, IRT Calibration, CAT Selection)
|
|
7. Launch Deep Agents 4-6 + Unspecified-High Agents 2-4 in parallel (AI Generation, WordPress, Reporting, Excel, Admin, Normalization)
|
|
8. Integration testing and validation
|
|
KEY FILES
|
|
---------
|
|
- PRD.md - Complete product requirements document (v1.1, 746 lines)
|
|
- project-brief.md - Original technical specification reference
|
|
IMPORTANT DECISIONS
|
|
-------------------
|
|
- 1 request = 1 question for AI generation (no batch)
|
|
- Admin playground for AI testing (no approval workflow for student tests)
|
|
- Normalization: Admin chooses manual/automatic; system handles auto when data sufficient
|
|
- Rollback: Keep IRT historical scores, apply CTT only to new sessions
|
|
- No admin permissions system (WordPress handles per-site admin access)
|
|
- FastAPI Admin only (no custom dashboards)
|
|
- Global AI generation toggle for cost control
|
|
- User-level question reuse check (prevent duplicate difficulty exposure)
|
|
- Admin sees internal metrics, students only see primary score
|
|
- Keep all data indefinitely
|
|
- All 4 report types required (Student, Item, Calibration, Tryout comparison)
|
|
EXPLICIT CONSTRAINTS
|
|
--------------------
|
|
- Excel format is standardized across ALL tryouts (strict parser)
|
|
- CTT formulas must match client Excel 100% (p = Σ Benar / Total Peserta)
|
|
- IRT 1PL Rasch model only (b parameter, no a/c initially)
|
|
- θ and b ∈ [-3, +3], NM and NN ∈ [0, 1000]
|
|
- Normalization target: Mean=500±5, SD=100±5
|
|
- Tech stack: FastAPI, PostgreSQL, SQLAlchemy, FastAPI Admin, OpenRouter (Qwen3 Coder 480B / Llama 3.3 70B)
|
|
- Deployment: aaPanel VPS with Python Manager
|
|
- No type error suppression (no `as any`, `@ts-ignore`)
|
|
- Zero disruption to existing operations (non-destructive, additive)
|
|
GLM-5 MODEL ALLOCATION RECOMMENDATION
|
|
-----------------------------------
|
|
Use GLM-5 for:
|
|
- Deep Agent 2: IRT Calibration Engine (mathematical algorithms, sparse data handling)
|
|
- Deep Agent 3: CAT Selection Logic (adaptive algorithms, termination conditions)
|
|
- Deep Agent 4: AI Generation + OpenRouter (prompt engineering, robust parsing)
|
|
- Deep Agent 6: Reporting System (complex aggregation, multi-dimensional analysis)
|
|
Use GLM-4.7 for:
|
|
- Deep Agent 1: Core API + CTT Scoring (straightforward formulas)
|
|
- Deep Agent 5: WordPress Integration (standard REST API)
|
|
- Unspecified-High Agents: Database Schema, Excel Import/Export, Admin Panel, Normalization (well-defined tasks)
|
|
NOTE: Model mapping is controlled by category configuration in system, not by direct model specification in task() function.
|
|
CONTEXT FOR CONTINUATION
|
|
------------------------
|
|
- User is currently configuring GLM-5 model mapping for specific categories
|
|
- After model mapping is configured, implementation should start with Database Schema (Unspecified-High Agent 1) as it blocks all other work
|
|
- Parallel execution strategy: Never run sequential when parallel is possible - all independent work units run simultaneously
|
|
- Use `task(category="...", load_skills=[], run_in_background=true)` pattern for parallel delegation
|
|
- All delegated work must include: TASK, EXPECTED OUTCOME, REQUIRED TOOLS, MUST DO, MUST NOT DO, CONTEXT (6-section prompt structure)
|
|
- Verify results after delegation: DOES IT WORK? DOES IT FOLLOW PATTERNS? EXPECTED RESULT ACHIEVED?
|
|
- Run `lsp_diagnostics` on changed files before marking tasks complete
|
|
- This is NOT a git repository yet - will need to initialize before any version control operations
|
|
---
|