{
  "schemaVersion": 1,
  "description": "Executable v1 lifecycle outline. Mutable outputs are written under the configured state root.",
  "phases": [
    {
      "id": "d0-demand-profile",
      "enabled": true,
      "command": "discover demand-profile",
      "inputs": ["."],
      "outputs": ["discover/output/demand-profile.json"]
    },
    {
      "id": "d1-source-index",
      "enabled": true,
      "command": "discover sources",
      "inputs": [
        "discover/sources.json",
        "discover/selections.json",
        "discover/official-skills-indexes.json",
        "discover/official-upstreams.json",
        "discover/source-packs/"
      ],
      "outputs": ["discover/output/source-index.json"]
    },
    {
      "id": "d1b-source-sync",
      "enabled": true,
      "command": "discover sync",
      "inputs": [
        "discover/output/demand-profile.json",
        "discover/output/source-index.json",
        "discover/sources.json",
        "discover/source-packs/"
      ],
      "outputs": [
        "discover/output/source-sync.json",
        "state/discover/source-sync.json",
        "state/discover/source-sync.entries.jsonl"
      ]
    },
    {
      "id": "d2-catalog-harvest",
      "enabled": true,
      "command": "discover catalog",
      "inputs": [
        "discover/output/demand-profile.json",
        "discover/output/source-index.json",
        "discover/output/source-sync.json",
        "discover/sources.json",
        "discover/source-packs/",
        "discover/official-skills-indexes.json",
        "discover/official-upstreams.json"
      ],
      "outputs": [
        "discover/catalog.assets.jsonl",
        "discover/output/source-utilization.json",
        "state/remote-cache/"
      ]
    },
    {
      "id": "d3-selection",
      "enabled": true,
      "command": "discover select",
      "inputs": ["discover/catalog.assets.jsonl", "discover/selections.json"],
      "outputs": [
        "discover/output/catalog.selected.jsonl",
        "discover/output/catalog.rejected.jsonl",
        "discover/output/selection-report.json"
      ]
    },
    {
      "id": "d4-optional-ai-enrichment",
      "enabled": false,
      "command": "discover enrich",
      "inputs": [
        "discover/output/demand-profile.json",
        "discover/output/catalog.selected.jsonl"
      ],
      "outputs": [
        "discover/output/ai-enrichment-input.json",
        "discover/output/ai-enrichment.json"
      ],
      "requiresEnvironment": [
        "AGENT_HARNESS_AI_ENRICHMENT_URL",
        "AGENT_HARNESS_AI_ENRICHMENT_API_KEY"
      ]
    },
    {
      "id": "r0-recommendations",
      "enabled": true,
      "command": "recommend report",
      "inputs": [
        "discover/output/demand-profile.json",
        "discover/output/catalog.selected.jsonl",
        "discover/recommendation-policy/"
      ],
      "outputs": ["state/recommendations.json"]
    },
    {
      "id": "m0-mirror-plan-locks-acquire",
      "enabled": true,
      "commands": ["mirror plan", "mirror locks", "mirror acquire"],
      "inputs": [
        "discover/output/catalog.selected.jsonl",
        "mirror/policy.json"
      ],
      "outputs": [
        "mirror/audit/mirror-plan.json",
        "mirror/bundles/*.lock.json",
        "mirror/index.jsonl",
        "mirror/index.previous.jsonl",
        "mirror/raw/",
        "mirror/quarantine/",
        "state/mirror/acquire-state.json"
      ]
    },
    {
      "id": "i0-install-reconcile",
      "enabled": true,
      "commands": ["install bundle", "install reconcile"],
      "inputs": ["mirror/index.jsonl", "mirror/bundles/*.lock.json"],
      "outputs": [
        "install/<host>/packages/",
        "install/<host>/bundles/",
        "install/generations/",
        "state/install/progress.json"
      ]
    },
    {
      "id": "a0-activation",
      "enabled": true,
      "command": "activate host",
      "inputs": ["install/", "state/recommendations.json"],
      "outputs": ["activate/<host>/"]
    },
    {
      "id": "w0-wire",
      "enabled": true,
      "command": "wire <host> --preview|--apply|--reset",
      "inputs": ["activate/<host>/"],
      "outputs": [
        "activate/<host>/wire-preview-<host>.json",
        "activate/<host>/wire-plan.json",
        "host-specific managed workspace files"
      ]
    }
  ]
}
