All skills

criticalpath

current

Criticalpath is a multi-tenant Django REST service for managing retail product launch schedules and operational task work. It provides reusable critical-path templates, date-based plans, task and subtask management, collaboration features, range-plan visibility, exports/imports, and workload views. It also includes a separate MCP server that exposes the service API as assistant tools.

master·1876045fe603·generated by gpt-5.6-luna·9/4/2026, 1:18:37 PM View as Markdown

This service helps a retailer plan everything that must happen before a product launches, such as sourcing, freight, reviews, and other launch activities. Teams can start from reusable schedules, assign and track work, see workload and board views, collaborate through checklists and comments, and connect launch work to range plans.

11
Critical Path PlanningproductionwritePlanninguser facingagent facing98%

Create and manage countdown plans that coordinate the work required to bring merchandise to the shop floor by a launch date.

Django REST views expose plan listing, creation, detail/update operations, CSV export, file import, bulk date shifting, saving a plan as a template, and importing range-plan data. The MCP server also exposes these operations as generated tools.

Critical Path Template ManagementproductionwritePlanninguser facingagent facing97%

Create, reuse, duplicate, inspect, and export standard launch schedules for recurring merchandise processes.

Template list, create, detail, duplicate, and CSV export routes are registered under the critical-path API. Templates use reusable stage offsets according to the MCP server instructions.

Task and Subtask ManagementproductionwritePlanninguser facingagent facing99%

Create, view, update, delete, assign, and track the individual pieces of work within a launch plan.

Critical-path routes provide task and subtask creation, detail operations, task/subtask listing, and array-based task/subtask creation. The task-list API provides additional task creation, detail, patch, status update, and user lookup operations.

Task Workflow and Status TrackingproductionwritePlanninguser facingagent facing96%

Organize work by status and monitor progress across launch activities.

Task-list endpoints provide grouped-by-status views, status updates, filtered v2 task lists, a task board, and legacy-compatible task-list routes. Supported filtering signals include search and created year/month parameters.

Workload and Work Assignment VisibilityproductionreadReportinguser facingagent facing92%

Help managers and teams understand who is responsible for work and how work is distributed.

The task-list API exposes users, a current-user work view, workload data, and board data through v2 routes.

Task CollaborationproductionwritePlanninguser facingagent facing95%

Keep supporting work details and team discussion attached to launch tasks.

The v2 task-list API registers checklist collection/item routes, comment routes, task reordering, and bulk task update operations.

Range Plan IntegrationpartialexecutePlanninguser facingagent facinginternal87%

View range plans and their items while incorporating range-plan information into critical-path planning.

Routes provide range-plan listing, range-plan item retrieval, and plan import from a range plan. Configuration includes an assortment service base URL and range-plan integration controls.

Planning Data Import and ExportproductionexecuteReportinguser facingagent facing96%

Move plan and template information in and out of the service for reuse, reporting, and migration.

Plan and template CSV export routes and plan file/range-plan import routes are implemented in the critical-path URL configuration. openpyxl is included for spreadsheet processing.

Module Link ManagementproductionreadPlanninguser facingagent facing90%

Resolve links from critical-path work to related Merchmix product-planning modules.

The API exposes module-link listing and module-key resolution routes. Settings include configurable module base URLs for assortment, budget builder, option planning, product review, and WSSI services.

Tenant-Scoped Access ControlproductionexecuteAuthenticationuser facingagent facinginternal99%

Keep each retailer or tenant's plans, tasks, and related data separated while allowing authorized users to work within their tenant.

Requests are routed using the trusted X-Tenant-Client-Id header, with tenant validation and tenant-scoped query/object access. Centralized authentication can validate Merchmix ES256 tokens through the vendored auth library and Auth Service context endpoint; service entitlements and endpoint permissions are enforced when enabled.

Assistant API AccessproductionexecuteOtheragent facing98%

Allow an AI assistant to inspect and drive critical-path and task-list workflows through structured tools.

mcp_server/server.py generates MCP tools from mcp_server.operations rather than hand-written wrappers. The server supports stdio and documented HTTP transports, uses a configured base URL, tenant ID, and optional bearer token, and applies longer timeouts to slow write operations.

4
Create a launch plan from a reusable schedule

Turn a standard template into a dated critical-path plan for a merchandise launch.

  1. 1.List available templates.
  2. 2.Create a plan or save an existing plan as a template.
  3. 3.Generate or populate plan tasks using stage offsets relative to the launch date.
  4. 4.Review tasks and dependencies.
  5. 5.Use bulk date shifting when the plan schedule needs to move.
Manage launch work

Create and maintain the tasks that make up a critical path.

  1. 1.Create tasks and subtasks.
  2. 2.Assign work to users.
  3. 3.Update task details and statuses.
  4. 4.Use board, grouped-status, filtered-list, and workload views to monitor progress.
  5. 5.Add checklist items or comments and reorder or bulk-update tasks as needed.
Connect planning data to launch execution

Bring range-plan context into a critical-path plan.

  1. 1.List available range plans.
  2. 2.Preview the items for a selected range plan.
  3. 3.Import range-plan data into a plan.
  4. 4.Continue managing the resulting launch work through task and status workflows.
Use the API through an AI assistant

Operate the service through MCP tools while preserving tenant scope.

  1. 1.Configure the MCP base URL and default tenant.
  2. 2.Optionally provide a bearer token where authentication is enforced.
  3. 3.Orient with the critical-path overview, plans, templates, and assignees.
  4. 4.Read or execute generated Critical Path and Task List tools.
  5. 5.Treat timeout responses on slow writes cautiously because the underlying request may still complete.

A Django 5.2 application exposes two related REST API areas: critical_path for launch plans and task_list for operational task management. It runs behind Gunicorn in Docker/Cloud Run or Azure Container Apps, uses Django ORM for persistence, Redis for caching, and tenant-aware authentication and authorization middleware/permissions. An independently provisioned MCP process acts as an HTTP client and tool generator over the REST API.

Components
critical_path Django app containing plan, template, range-plan, module-link, task, and subtask viewstask_list Django app containing legacy and v2 task-list, board, workload, checklist, comment, reorder, and bulk-update viewscritical_path_service Django project containing settings, WSGI/ASGI entry points, authentication, tenanting, permissions, exception mapping, and database startup safeguardsVendored merchmix_authlib for ES256 token validation, tenant resolution, JWKS access, service entitlement, and permission checksVendored merchmix_notify package for notification publishing and recipient resolutionmcp_server client, operations catalog, and MCP server for generated assistant toolsDjango ORM database layer with PostgreSQL support and Redis-backed cachingDocker and CI/CD deployment definitions for Google Cloud Run and Azure Container Apps
Patterns
Django REST Framework class-based API viewsTenant isolation using a trusted request header and tenant-scoped data accessCentralized authentication with a temporary tenant-only fallback gate when Auth Service enforcement is disabledGenerated MCP tools from a single operation catalogPer-tenant HTTP cache variation using X-Tenant-Client-IdEnvironment-driven integration endpoints and deployment configurationDatabase startup guard requiring environment-specific database-name allowlists
8
KindIdentifierDescription
httpGET/POST /api/critical-path/Critical-path API including plans, templates, range plans, module links, tasks, and subtasks. Legacy /critical-path/ and selected shorthand routes are also registered.
httpGET/POST /api/task-list/Task-list API including users, tasks, statuses, board, workload, current-user work, bulk updates, reordering, checklists, and comments. Legacy /task-list/ and /ai-recommends/ compatibility prefixes are also registered.
httpGET /health/Health/status endpoint returning service availability information.
httpGET /Service home/status endpoint identifying the Critical Path and Task List sections.
httpGET /admin/Django administration interface.
sdkmcp_server.serverMCP server exposing generated Critical Path and Task List tools over stdio, streamable HTTP, or SSE according to MCP configuration.
httpAuth Service context endpointConfigured authentication integration used to obtain authorization context; the default path is /settings/auth/context/ on the configured Auth Service base URL.
otherNotification publisherVendored gRPC notification client integration is available for publishing service events, with configuration controlled by notification environment settings.
9
RouteNamePurpose
/plans/Critical Path PlansList and create launch plans.
/plans/<id>/Plan DetailInspect and update a specific launch plan.
/templates/Critical Path TemplatesList reusable launch schedules.
/templates/create/Create TemplateCreate a reusable schedule template.
/range-plans/Range PlansList range plans available for critical-path use.
/task-list/v2/board/Task BoardView task work in board form.
/task-list/v2/workload/WorkloadView work distribution and workload information.
/task-list/v2/my-work/My WorkView tasks associated with the current user.
/admin/Django AdminAdministrative management of service data and configuration.
10
EntityOwnershipDescription
Critical Path PlanownsA dated launch plan containing the work required to reach a merchandise launch.
Critical Path TemplateownsA reusable schedule definition for generating or standardizing launch plans.
TaskownsAn actionable unit of launch or operational work, with status and assignment information.
SubtaskownsA subordinate work item associated with a task.
Task Checklist ItemownsA checklist entry attached to a task.
Task CommentownsCollaboration discussion attached to a task.
Range PlanreadsRange-planning data exposed for listing, item preview, and import into plans; the source system may be external.
Range Plan ItemreadsAn item within a range plan used for preview or plan import.
Module LinkownsA tenant/module-specific link or resolved destination for related Merchmix planning modules.
User/Assignee ReferencereadsUser information used to list possible assignees and associate work with people; the authoritative user directory may be external.
12
NameKindRelationshipCriticality
PostgreSQL-compatible databasedatabasedepends_oncritical
Redisdatabaseusesrequired
Merchmix Auth Serviceinternal servicecallsrequired
Merchmix notification serviceinternal servicepublishesoptional
Assortment / Range Planning serviceinternal servicecallssupporting
Budget Builder serviceinternal serviceusessupporting
Option Planning serviceinternal serviceusessupporting
Product Review serviceinternal serviceusessupporting
WSSI serviceinternal serviceusessupporting
MCP SDKlibrarydepends_onoptional
OpenPyXLlibraryusessupporting
Django REST Frameworklibrarydepends_oncritical
Python 3.12Django 5.2Django REST FrameworkPostgreSQL via psycopg2-binaryRedis and django-redisPyJWT and cryptography for ES256 authenticationRequestsOpenPyXLgRPC and Protobuf notification client supportMCP SDK in a separate environmentGunicornWhiteNoiseDockerGoogle Cloud Run and Azure Container Apps deployment
6
  • The supplied source excerpt does not include model definitions, serializers, view implementations, or migrations, so exact field-level schemas and persistence relationships cannot be established.
  • The scanner lists NATS messaging, but the supplied source does not show a concrete NATS publisher or consumer; no NATS business workflow is asserted.
  • External module hosts and environment settings establish integration configuration, but the excerpt does not prove the full behavior or availability of each downstream service.
  • Notification publishing is evidenced by vendored client code and package documentation, but concrete event call sites were not included in the supplied source excerpt.
  • The MCP documentation describes 41 tools, while the scanner's route summary shows only a subset of methods/routes; exact generated tool names and complete operation coverage should be confirmed from mcp_server/operations.py.
  • Authentication includes a documented temporary tenant-only fallback mode; deployment settings determine whether centralized Auth Service enforcement is active.

Use this repository for retailer launch planning, critical-path scheduling, and operational task management. Keep every operation tenant-scoped and distinguish plan scheduling from task execution and collaboration.

  • Require or preserve the trusted X-Tenant-Client-Id tenant context for API calls; never infer tenant scope from arbitrary user input or data returned by another tenant.
  • For launch planning, inspect templates and existing plans before creating a new plan to avoid duplicate schedules.
  • Remember that critical-path dependencies are recorded, while dates are derived from stage offsets; moving one task does not automatically cascade successor dates. Use the bulk-shift operation when the whole plan must move.
  • For task operations, prefer the v2 task-list routes when filtering, board, workload, bulk update, reorder, checklist, or comment behavior is needed; use legacy routes only for compatibility.
  • Treat range-plan and module-link data as integration-backed or read-only unless the concrete endpoint implementation confirms otherwise.
  • For MCP writes, use the configured tenant and token and handle timeout responses carefully: a slow write may have completed even if the MCP client timed out.
  • Do not expose or request secret values, tokens, database credentials, or environment-file contents.
  • When exact fields, statuses, permissions, or side effects matter, inspect the relevant Django view, serializer, model, and operation definition rather than relying on route names alone.