45 lines
2.7 KiB
Markdown
45 lines
2.7 KiB
Markdown
Here is a prioritized list of high-value tasks you can complete right now in your local workday-mcp environment:
|
||
|
||
1. Expand the "Mismatch" Logic (WIS-014 – WIS-018)
|
||
You’ve built the Manager scanner, but a true Identity Sync needs to detect several other types of drift.
|
||
|
||
Job Title Mismatch: Build a tool to compare "Workday Title" vs "AD Title".
|
||
|
||
Department Drift: Identify workers whose cost center in Workday doesn't match their AD Department string.
|
||
|
||
Legal Name vs. Preferred Name: Build logic to handle cases where AD uses a "Display Name" that differs from the Workday "Legal Name".
|
||
|
||
Status Reconciliation: Create a tool that specifically flags "Terminated" in Workday but "Enabled" in AD.
|
||
|
||
2. Implement Schema Validation (WIS-010)
|
||
Instead of just returning "any" dictionary, use a library like pydantic to enforce a strict contract.
|
||
|
||
The Build: Create a WorkerModel that defines exactly what fields are required (e.g., employee_id must be a string of a certain length).
|
||
|
||
The Test: Write a script that tries to "break" your tools by feeding them bad data to see if your error handling catches it gracefully.
|
||
|
||
3. Build a "Dry Run" Comparison Tool (WIS-019)
|
||
Before you ever automate a "Write" to Active Directory, you need a tool that simulates the change.
|
||
|
||
The Logic: Create a tool that takes a Workday record and an AD record (both mocked for now) and returns a "Diff" object.
|
||
|
||
Output Example: {"field": "department", "old": "Sales", "new": "Marketing", "action": "update"}.
|
||
|
||
4. Hardening & Security (WIS-027 & Priority 6)
|
||
Prepare for the "Production" environment requirements.
|
||
|
||
Log Redaction: Update your server to ensure that if an error occurs, it doesn't print sensitive data (like emails or IDs) to the console/logs.
|
||
|
||
Environment Configuration: Move your "Constants" (like port numbers or mock file paths) into a .env file and use the python-dotenv library to load them.
|
||
|
||
Rate Limiting Simulation: Workday APIs have limits. Build a "decorator" for your tools that simulates a delay or a "429 Too Many Requests" error to test how your server handles it.
|
||
|
||
5. Documentation & "Self-Service" (WIS-027)
|
||
Build an MCP Resource: MCP supports "Resources" (read-only files). Create a resource that serves a "Data Dictionary" explaining what every Workday field means.
|
||
|
||
Installation Script: Write a simple setup.sh or setup.bat that automates the creation of the .venv and installation of requirements for the next person who joins the project.
|
||
|
||
6. Unit Testing (The "Quality" Pillar)
|
||
Pytest Integration: Create a /tests folder and write tests that verify your get_worker_manager logic for all three scenarios (Found, Not Found, No Manager).
|
||
|
||
CI/CD Simulation: Set up a local Git Hook that prevents you from committing code if it has Pylance errors or failing tests. |