generated from coulomb/repo-seed
context loading, path resolution, form state, dynamic rules, and provider-neutral assessment runner/cache boundary
This commit is contained in:
@@ -14,6 +14,9 @@ def builtin_extension_registry() -> ExtensionRegistry:
|
||||
for descriptor in _processor_descriptors() + [
|
||||
_local_sqlite_backend_descriptor(),
|
||||
_workflow_engine_descriptor(),
|
||||
_runtime_context_descriptor(),
|
||||
_runtime_form_state_descriptor(),
|
||||
_runtime_assessment_descriptor(),
|
||||
]:
|
||||
registry.register(descriptor)
|
||||
return registry
|
||||
@@ -120,3 +123,68 @@ def _workflow_engine_descriptor() -> ExtensionDescriptor:
|
||||
docs=["docs/workflow-definition-standard.md"],
|
||||
examples=["examples/workflows/adr-release-notes.workflow.md"],
|
||||
)
|
||||
|
||||
|
||||
def _runtime_context_descriptor() -> ExtensionDescriptor:
|
||||
return ExtensionDescriptor(
|
||||
id="runtime.context",
|
||||
kind="runtime",
|
||||
summary="YAML/JSON runtime context loader for document contracts.",
|
||||
capabilities=[
|
||||
ProcessingCapability(id="context", kind="read"),
|
||||
ProcessingCapability(id="json-schema", kind="validate"),
|
||||
ProcessingCapability(id="diagnostics", kind="emit"),
|
||||
],
|
||||
safety={"reads_files": True, "network": False},
|
||||
input_contract="YAML/JSON runtime context file",
|
||||
output_contract="RuntimeContext",
|
||||
diagnostics_namespace="runtime.context",
|
||||
provenance_prefix="runtime.context",
|
||||
cli={"commands": ["mkt contract check --context", "mkt contract form-state"]},
|
||||
docs=["docs/runtime-context-forms-assessments.md"],
|
||||
examples=["examples/runtime/business-letter.context.yaml"],
|
||||
)
|
||||
|
||||
|
||||
def _runtime_form_state_descriptor() -> ExtensionDescriptor:
|
||||
return ExtensionDescriptor(
|
||||
id="runtime.form-state",
|
||||
kind="runtime",
|
||||
summary="UI-neutral field prefill, validation, and dynamic rule engine.",
|
||||
capabilities=[
|
||||
ProcessingCapability(id="forms", kind="evaluate"),
|
||||
ProcessingCapability(id="rules", kind="evaluate"),
|
||||
ProcessingCapability(id="contracts", kind="validate"),
|
||||
ProcessingCapability(id="diagnostics", kind="emit"),
|
||||
],
|
||||
safety={"reads_files": False, "network": False},
|
||||
input_contract="Document + DocumentContract + RuntimeContext",
|
||||
output_contract="FormState",
|
||||
diagnostics_namespace="runtime",
|
||||
provenance_prefix="runtime.form_state",
|
||||
cli={"commands": ["mkt contract form-state"]},
|
||||
docs=["docs/runtime-context-forms-assessments.md"],
|
||||
examples=["examples/runtime/workplan-dynamic.contract.md"],
|
||||
)
|
||||
|
||||
|
||||
def _runtime_assessment_descriptor() -> ExtensionDescriptor:
|
||||
return ExtensionDescriptor(
|
||||
id="runtime.assessment",
|
||||
kind="assessment-runner",
|
||||
summary="Provider-neutral rubric assessment request, result, and cache boundary.",
|
||||
capabilities=[
|
||||
ProcessingCapability(id="assessment", kind="execute"),
|
||||
ProcessingCapability(id="rubrics", kind="read"),
|
||||
ProcessingCapability(id="cache-key", kind="compute"),
|
||||
ProcessingCapability(id="diagnostics", kind="emit"),
|
||||
],
|
||||
safety={"network": "adapter-only", "provider_calls": "adapter-only"},
|
||||
input_contract="AssessmentRequest",
|
||||
output_contract="AssessmentResult",
|
||||
diagnostics_namespace="runtime.assessment",
|
||||
provenance_prefix="runtime.assessment",
|
||||
docs=["docs/runtime-context-forms-assessments.md"],
|
||||
examples=["examples/runtime/concept-note-assessment.contract.md"],
|
||||
metadata={"provider_implementation": "external adapter required"},
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user