Gant Protocol

Формальная спецификация для машиночитаемого представления иерархических проектных структур

Современные системы управления проектами (PMS) страдают от фундаментальной проблемы vendor lock-in на уровне представления данных. Gant Protocol предлагает решение через унифицированное формальное представление проектных артефактов с сохранением полной семантической информации.

Теоретические основы

Gant Protocol базируется на направленном ациклическом графе (DAG) с типизированными рёбрами, где узлы представляют проектные сущности (phases, tasks, subtasks), а рёбра кодируют отношения зависимости, иерархии и семантические связи.

G = (V, E, T, S)
где:
V = {v₁, v₂, ..., vₙ} — множество вершин (проектные сущности)
E ⊆ V × V × R — множество типизированных рёбер
R = {hierarchy, dependency, semantic} — типы отношений
T: V → {planned, in-progress, done, blocked} — функция состояния
S: V → [0, 1] — функция прогресса

Онтология briefing

Каждая вершина графа аннотируется триадой (What, How, Why), формируя самодокументируемую онтологию:

What
Что

Декларативное описание цели задачи без привязки к деталям реализации

How
Как

Методология выполнения: инструменты, подходы, последовательность шагов

Why
Зачем

Бизнес-обоснование: метрики успеха, ценность для проекта, приоритет

Технологический стек

Формат данных

  • • YAML для человекочитаемости
  • • JSON для API
  • • Markdown для документации

Хранение

  • • Файловая система (Git-friendly)
  • • CRDT для конфликт-резолюции
  • • Снапшоты с автоочисткой

Валидация

  • • JSON Schema
  • • Pydantic (Python)
  • • TypeScript типизация

API

  • • FastAPI (async)
  • • RESTful endpoints
  • • WebSocket для real-time

Безопасность

  • • Encryption at Rest (AES-256)
  • • Audit Log (append-only)
  • • JWT авторизация
  • • Field-level encryption

Analytics

  • • Dashboard с метриками
  • • Real-time статистика задач
  • • Top contributors tracking
  • • Completion rate analytics

Обоснование выбора технологий

Vendor lock-in устранение

YAML/JSON как lingua franca — портируемость между любыми системами без привязки к конкретным инструментам

Git-совместимость

Текстовые форматы позволяют версионирование, diff, merge и code review через стандартные Git-процессы

Человеко-машинная дуальность

YAML читаем людьми для ревью и правок, JSON эффективен для машинной обработки через API

Распределённость

CRDT-семантика гарантирует корректное слияние параллельных изменений без центрального сервера

Type safety

JSON Schema + Pydantic + TypeScript обеспечивают строгую типизацию на всех уровнях стека

Performance

FastAPI (async) + файловое хранилище + снапшоты обеспечивают <50ms latency для типичных операций

Архитектурные принципы

Декларативность

Протокол описывает что должно быть достигнуто, а не как система должна это исполнить

Идемпотентность

Повторное применение спецификации даёт идентичный результат через CRDT-подобную семантику

Композиционность

Сложные проекты формируются композицией атомарных единиц через оператор вложенности

MVC Pattern

Разделение представления и визуализации. Модель независима от UI

Формальная спецификация (YAML Schema)

plan_id: string
timeline:
  start_date: date-time
  due_date: date-time
phases:
  - status: planned | in-progress | done | blocked
    progress: 0.0 - 1.0
    briefing: "Что/Как/Зачем"
    depends_on: [task_ids]

Конечный автомат состояний

Допустимые переходы между состояниями задач строго определены:

Семантические расширения

Temporal Logic для валидации зависимостей

Используя Linear Temporal Logic (LTL), можно формализовать корректность последовательности выполнения:

□(task_A.status = done → ◊task_B.status ≠ blocked)

(Всегда: если задача A завершена, то в будущем задача B не будет заблокирована)

Constraint Satisfaction Problem (CSP)

Расписание проекта представимо как CSP, где:

Решение CSP даёт оптимальное расписание при заданных ограничениях.

Интероперабельность и экосистема

Адаптеры для существующих форматов:

Референсная имплементация (Presynth)

Клиент-серверная архитектура с FastAPI backend и React frontend:

Теоретические гарантии

Безопасность типов. Статическая валидация через JSON Schema

Детерминированность. Идентичная спецификация → изоморфные графы

Монотонность прогресса. ∀t₁ < t₂: S(v, t₁) ≤ S(v, t₂)

API контракт

@dataclass
class GantPlan:
    plan_id: str
    phases: List[Phase]
    timeline: Timeline

    def validate(self) -> ValidationResult:
        """Проверка инвариантов графа и временных ограничений"""

    def compute_critical_path(self) -> List[Task]:
        """Алгоритм поиска критического пути (O(V + E))"""

    def serialize(self, format: Format) -> bytes:
        """Сериализация в YAML | JSON | MessagePack"""

Области применения

Техническая документация

API Документация: Интерактивная спецификация доступна на /docs
Автогенерируется FastAPI с полным описанием endpoints

Валидация данных: Pydantic models обеспечивают type safety
Автоматическая проверка на стороне сервера

Для вопросов по интеграции: contact@gorizont.ai