Metadata-Version: 2.4
Name: plm-skill-packages
Version: 1.0.0
Summary: TracePulse PLM Skill Packages product-line — 5-agent PLM PDF→BPMN chain, CSV→BPMN process_generator, output_format_controller, build_registry, plm_orchestrator (Wave 6.5 Conv A / PRD §3 #3). Full description in README.
Author: TracePulse
License: Proprietary
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: plm-shared
Requires-Dist: pydantic>=2.5.0
Requires-Dist: PyYAML>=6.0
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-asyncio; extra == "test"

# plm-skill-packages

PRD §3 #3 product-line carve — Wave 6.5 Conv A.

Hosts the **5-agent PLM PDF→BPMN chain** + **CSV→BPMN generator** + **BPMN format controller** + **build registry** + **5-agent orchestrator**, plus skill manifests (YAML + filesystem) and the 4-state lifecycle FSM aligned verbatim with PRD §8.11.3.

## Layout

```
plm_skill_packages/
├── plm_structural_analyst.py     # PLM PDF→BPMN agent #1
├── plm_process_scout.py          # PLM PDF→BPMN agent #2
├── plm_logic_modeler.py          # PLM PDF→BPMN agent #3
├── plm_bpmn_transpiler.py        # PLM PDF→BPMN agent #4
├── plm_quality_gate.py           # PLM PDF→BPMN agent #5
├── process_generator.py          # CSV→BPMN; only legitimate cascade fallback
├── output_format_controller.py   # BPMN format correction + hidden retries
├── build_registry.py             # File-handler dispatch
├── orchestrators/
│   └── plm_orchestrator.py       # 5-agent chain coordinator
├── lifecycle.py                  # 4-state FSM (PRD §8.11.3 verbatim)
├── manifests.py                  # YAML manifest loader
├── registry.py                   # Skill manifest registry
├── contracts.py                  # Wire-contract Pydantic v2 frozen models
└── manifests/                    # YAML skill manifests (one per skill)
    ├── plm.structural_analyst.yaml
    ├── plm.process_scout.yaml
    ├── plm.logic_modeler.yaml
    ├── plm.bpmn_transpiler.yaml
    ├── plm.quality_gate.yaml
    ├── plm.orchestrate_extraction.yaml
    ├── bpmn.generate_from_csv.yaml
    └── bpmn.fix_format.yaml
```

## Lifecycle FSM (Decision #167 — PRD §8.11.3 verbatim)

```
draft ──► released ──► deprecated ──► retired
              │              │
              └──────────────┴──► (terminal)
```

States are **strictly forward-flowing** (matching PRD §8.11.3 4-state capability lifecycle). No revivals, no skips. The FSM rejects any non-canonical transition.

## Manifest store (Decision #168 — YAML + filesystem)

Manifests live under `plm_skill_packages/manifests/*.yaml` and load at boot via `manifests.load_all()`, matching the `litellm_config/model_list.yaml` catalog-as-truth pattern. No SQL, no admin UI in V1.

## Re-export shims

Every monolith path that today references the lifted modules is preserved as a re-export shim — `from agents.plm_structural_analyst import ...` continues to work. Pattern matches Wave 1 W1.4 `services/run_task_tracker.py` (canonical decommission template).

## Transitional dependency note

The lifted PLM agent + process_generator code keeps its existing `from services.X` / `from models.X` / `from utils.X` / `from agents.base_agent` imports. These resolve at runtime in the backend process via PYTHONPATH; standalone sibling tests configure conftest.py to extend sys.path. **Wave 7 Extraction** physically separates the repos and refactors inbound deps to ports/Protocols.

## Wave 6.5 lineage

- **Wave 6.5 Conv A** (this) — `plm-skill-packages` carve.
- **Wave 6.5 Conv B** — `plm-knowledge` carve (PRD §3 #6).
- **Wave 6.5 Conv C** — closure audit + Wave 7 readiness re-author.
