1.9 KiB
Markitect Quarkdown Adapter Boundary
markitect-quarkdown provides the concrete render.quarkdown adapter for the
Markitect render/export contract. Core markitect-tool owns the passive
request/result/artifact/provenance contracts; this repository owns Quarkdown
runtime behavior.
Adapter Contract
The adapter supports:
inspect-profileexport-sourcerender-artifact
inspect-profile and export-source do not invoke Quarkdown. render-artifact
requires a Quarkdown CLI plus runtime dependencies.
The adapter descriptor declares filesystem writes, external process execution, native renderer dependency, and permission-controlled network behavior. Callers can block render execution through Markitect request policy:
RenderExportRequest(
source="# Demo",
operation="render-artifact",
profile="pdf",
policy={"external_process": False},
)
Execution Plan
build_quarkdown_execution_plan produces an inspectable command plan with:
- Quarkdown command path
- source file path
- output directory
- expected artifact path
- Markitect profile
- Quarkdown document type
- output format
- permission flags
- runtime dependency notes
The default output directory is quarkdown-output. The default permission
allow-list is project-read, and network access is denied by default.
Structured Failure
The adapter returns RenderExportResult diagnostics instead of raising for
expected render failures:
render.quarkdown.runtime_missingrender.quarkdown.execution_failedrender.quarkdown.artifact_missingrender.quarkdown.artifact_extensionrender.quarkdown.artifact_emptyrender.quarkdown.capability_blocked
Artifact Validation
validate_quarkdown_artifact validates that the expected artifact exists, has
the expected extension, is non-empty, and receives a sha256 digest. The result
is a Markitect RenderArtifact with source-to-artifact provenance generated by
the adapter.