Files
infospace-bench/docs/workflow-generation-pipeline.md

2.7 KiB

Workflow Generation Pipeline

infospace-bench replaces the old markitect infospace process concept with explicit workflow declarations in infospace.yaml.

The boundary is intentionally narrow:

  • infospace-bench owns concrete workflow declarations, source artifact selection, generated artifact provenance, run records, and CLI behavior.
  • markitect-tool owns deterministic Markdown rendering and parsing. The workflow layer calls it only through infospace_bench.markdown_adapter.
  • Assisted generation is represented as provider-neutral requests. Actual model/provider calls must arrive through an explicit adapter, not through the workflow definition itself.

Declaration Shape

workflows:
  - id: source-summary
    description: Render deterministic summaries for source artifacts.
    inputs:
      source:
        kind: source
    static_macros:
      discipline: Viable System Model
    stages:
      - id: render-summary
        kind: template
        input: source
        template: workflows/templates/summary.md
        output:
          path: artifacts/generated/{{ input.slug }}-summary.md
          artifact_id: generated/{{ input.slug }}-summary.md
          kind: generated
          title: "{{ input.title }} Summary"
    expected_evaluations:
      - metrics

Workflow template files use the markitect-tool {{ variable.path }} template syntax. Current deterministic stage data includes:

  • input: selected artifact metadata and content
  • macros: workflow-level plus stage-level static macros
  • workflow: the workflow declaration
  • stage: the current stage declaration
  • stages: previous deterministic stage outputs, keyed by stage ID

Deterministic Runs

kind: template stages render Markdown and write generated artifacts. Each generated artifact is registered in artifacts/index.yaml with provenance:

  • workflow_id
  • stage_id
  • input_artifact_id

Runs write trace records under:

output/workflows/runs/<run-id>.yaml

These records are file-backed evidence for later kontextual-engine integration without making this repo a workflow engine.

Assisted Boundary

kind: assisted stages render a provider-neutral prompt request during planning. Running an assisted stage requires an explicit AssistedGenerationAdapter. Without one, the runner raises assisted_stage_requires_adapter, which keeps provider behavior optional, auditable, and outside the application workflow declaration.

CLI

python3 -m infospace_bench workflow inspect infospaces/bootstrap-pilot
python3 -m infospace_bench workflow plan infospaces/bootstrap-pilot source-summary
python3 -m infospace_bench workflow run infospaces/bootstrap-pilot source-summary

All commands emit JSON for scripted migration and parity checks.