- Move Identity/, Workday/, Intune/ to archive/ (superseded by nexus-mcp shards) - Move 'Local Setup.md' to archive/ (superseded by nexus-mcp/Local-Setup.md) - Add archive/README.md explaining migration and preserved content - Clean repository structure: only nexus-mcp, documentation, and .github remain active All legacy functionality migrated to nexus-mcp sharded architecture. Archived folders preserved for reference and historical context. Refs: SESSION_SNAPSHOT_2026-04-13.md
2.7 KiB
Here is a prioritized list of high-value tasks you can complete right now in your local workday-mcp environment:
- 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.
- 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.
- 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"}.
- 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.
- 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.
- 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.