Commit Graph
30 Commits
Author SHA1 Message Date
nathan 076484d775 feat(report): add comprehensive code health report with actionable improvements and resilience recommendations 2026-04-13 10:28:06 -04:00
nathan fe77b0f69f feat(nexus): implement canonical pydantic schemas for cross-system data transformation
Addresses technical debt where data objects (User, Worker, Device) were using
fragile dict access patterns instead of validated pydantic models.

- Add nexus-mcp/lib/schemas.py: Canonical domain models (CanonicalUser, CanonicalDevice,
  FieldDrift) with automatic field normalization and validation
- Add nexus-mcp/lib/adapters.py: System-specific adapters (ADUserAdapter, EntraUserAdapter,
  WorkdayWorkerAdapter) to transform native API responses into canonical format
- Update identity.py: ad_get_user, ad_search_users, entra_list_users now return
  normalized CanonicalUser objects with consistent field names
- Update workday.py: workday_list_workers, workday_get_worker return canonical format
  for seamless cross-system comparison
- Update audit.py: Refactor audit_user_drift to use type-safe _compare_users() helper
  with FieldDrift schema instead of manual dict comparisons

Benefits:
  • Type safety: IDE autocomplete, runtime validation, eliminates fragile _pick() calls
  • Consistent field names: user.job_title works across AD/Entra/Workday (was 3 different paths)
  • Automatic validation: Email normalization, status enum enforcement
  • Drift detection: Validated Bob Martinez title mismatch (AD "Sr. Software Engineer"
    vs Workday "Software Engineer")

Ref: Session goal "implement atomic, piece-at-a-time shard deployment capability"
requiring robust data contracts between systems.
2026-04-13 10:04:20 -04:00
nathan f83ab597f0 feat(config): refactor configuration classes to use pydantic-settings for better validation and management 2026-04-13 09:54:25 -04:00
nathan 479df6bd8a chore: archive legacy Identity, Workday, and Intune folders
- 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
2026-04-13 09:38:42 -04:00
nathan 0c9aebf97a feat(nexus): implement sharded architecture
- Create nexus-mcp/ with 6-shard plugin model (identity, workday, audit, itsm, assets, logistics)
- Migrate 31 tools from legacy Identity + Workday servers into unified orchestrator
- Add feature flag control (ENABLE_*) for atomic shard deployment per Gemini design
- Implement SOC 2 audit logging with automatic PII redaction (CC7.2 / CC6.1)
- Create stub shards for ITSM, Assets, Logistics (Red status awaiting credentials)
- Add comprehensive mock data library with drift scenarios for credential-free testing
- Update README.md: reposition from Workday-MCP to Nexus-MCP as primary server
- Document installation, configuration, and shard toggling in Local-Setup.md

Architecture: Orchestrator (main.py) + Shards (src/shards/*.py) + Adapters (lib/)
enables piece-at-a-time deployment. Mock mode (USE_MOCK=true) supports full 53-tool
testing without credentials. Smoke test verified: 33 tools registered successfully.

BREAKING CHANGE: Legacy Identity/ and Workday/ servers deprecated. Users must update
Claude Desktop config to point to nexus-mcp/src/main.py. Legacy folders preserved
for reference pending verification.

Refs: WIS-006, WIS-009, WIS-014-018, Gemini conversation 2026-04-06
2026-04-13 09:20:35 -04:00
nathan 475888ad01 BREADCRUMBS 2026-04-03 15:03:26 -04:00
nathan 4ad78b57b1 Tested local setup instructions. 2026-04-03 14:24:28 -04:00
nathan 145711e3ca Refactor markdown syntax warning 2026-04-03 14:14:30 -04:00
nathan 90f83af500 Elevated 'Local Setup' from README to dedicated file with Reference bullet 2026-04-03 14:13:43 -04:00
nathan 36a34876d7 feat(Workday): add cross-team access request draft and conversation playbook for AD sync initiative 2026-04-03 12:39:45 -04:00
nathan 7fbb6d6a41 Updated 'update-readme' prompt and used it to update the readme 2026-04-03 12:24:33 -04:00
nathan a999ec0c77 Added Local Development Quick-Start 2026-04-03 12:15:31 -04:00
nathan 1ecc7bc76f Added formalized LLM prompt for consistant README updates. 2026-04-03 12:02:17 -04:00
nathan 66666efa5e docs(README): update status page with program summary and traffic-light legend 2026-04-03 12:01:00 -04:00
nathan aa7238889e refactor(workday): finalize modular structure and verify triple-tool suite (WIS-011, WIS-020) 2026-04-03 11:54:40 -04:00
nathan 2d96e0fc89 Refactor to address Type Hint from Pylance 2026-04-03 10:53:00 -04:00
nathan e0001bed16 feat(workday): implement global manager mismatch scanner (WIS-017, WIS-020) 2026-04-03 10:51:17 -04:00
nathan 829d8fcfff feat(workday): enhance worker status retrieval and add manager resolution tool 2026-04-03 10:48:41 -04:00
nathan 7e00f3026c Refactored to resolve type-hints from Pylance 2026-04-03 10:28:30 -04:00
nathan b35499e195 refactor: update session snapshot to enhance workflow documentation and coding standards 2026-04-03 10:12:42 -04:00
nathan 330338cbb8 feat(workday): implement structured worker status tool (WIS-007, WIS-009) 2026-04-03 09:58:08 -04:00
nathan 20d9cfd23c chore: add .gitignore to exclude environment files and logs 2026-04-03 09:47:02 -04:00
nathan 926532a464 Merge branch 'main' of https://github.com/Castn1_Wheels/mcp_servers 2026-04-03 09:42:37 -04:00
nathan 2a62e51347 Updated folder structure 2026-04-03 09:32:41 -04:00
nathan ef4dcaafa7 docs(history): add session snapshot for 2026-04-03
- Add SESSION_SNAPSHOT_2026-04-03 with goals, accomplishments, and pending work

- Document next-session startup steps for Workday-to-AD sync delivery continuity
2026-04-03 09:18:21 -04:00
nathan 30fbcf7fe8 docs(readme): document workflow intent and progress
Expand README with repository intent, active Workday-to-AD sync workflow goals, and key document links.
Capture current session context as a dated progress snapshot (completed, in-progress, and next milestones); no SESSION_SNAPSHOT file was found in documentation/project-history.
2026-04-03 09:15:38 -04:00
nathan 9eaa13b923 docs(workday): add sync backlog and sprint board
- Add execution planning artifacts in workday-ad-identity-sync-next-steps.md and workday-ad-identity-sync-sprint-board.md.
- Capture the why from current staged context by turning identified Workday sync blockers and delivery sequencing into a prioritized backlog and sprint-ready board; no SESSION_SNAPSHOT file was found in documentation/project-history for additional session intent.
2026-04-03 09:07:55 -04:00
nathan bb1a2e3954 feat(copilot): add FrankGPT instruction framework
- Add [FrankGPT consolidated instructions](.github/agents/FrankGPT.consolidated-instructions.md) and supporting standards in [.github/instructions/core.instructions.md](.github/instructions/core.instructions.md) to define agent modes, commands, and workflows.
- Expand prompt and knowledge assets, including [.github/prompts/create-commit.msg.prompt.md](.github/prompts/create-commit.msg.prompt.md), to standardize ITIL-aligned reasoning and improve session-aware commit/message generation.
2026-04-03 09:06:09 -04:00
nathan 96a04e6535 Added current MCP working files 2026-03-27 15:26:14 -04:00
nathan a1397c7bcd readme 2026-03-27 15:21:05 -04:00