context loading, path resolution, form state, dynamic rules, and provider-neutral assessment runner/cache boundary

This commit is contained in:
2026-05-04 13:52:29 +02:00
parent eccf1874fb
commit 8361f9ea45
29 changed files with 2809 additions and 65 deletions

View File

@@ -0,0 +1,23 @@
---
document_type: business-letter
---
# Follow-Up Letter
## Greeting
Dear Ada Lovelace,
## Body
Thank you for the thoughtful discussion about structured Markdown generation.
We reviewed the requirements and will send a concise proposal that separates
document contracts, field prefill, validation diagnostics, and optional semantic
assessment. This keeps the implementation practical while leaving room for
future automation.
## Closing
Kind regards,
Markitect Team

View File

@@ -0,0 +1,19 @@
metadata:
case_id: letter-ada-001
schema:
type: object
required: [recipient, sender]
properties:
recipient:
type: object
required: [name]
sender:
type: object
required: [name, email]
context:
recipient:
name: Ada Lovelace
relationship: research collaborator
sender:
name: Markitect Team
email: hello@example.com

View File

@@ -0,0 +1,27 @@
# Concept Note Assessment Contract
```yaml contract
id: concept-note-assessment-v1
document:
type: concept-note
fields:
status:
type: string
required: true
enum: [draft, review, accepted]
sections:
- id: concept
title: Concept
presence: required
level: 2
- id: utility
title: Utility
presence: required
level: 2
rubrics:
- id: utility-is-practical
scope: section.utility
criteria: The utility section should explain who benefits, what changes in practice, and how success can be recognized.
threshold: 0.75
severity: warning
```

View File

@@ -0,0 +1,13 @@
metadata:
release: runtime-context-alpha
context:
product:
name: Markitect Tool
owner: Platform Architecture
regulatory_tier: internal
project:
target_date: "2026-06-30"
stakeholders:
- Documentation
- Architecture
- Product Operations

View File

@@ -0,0 +1,25 @@
# Runtime Expected Diagnostics
These examples are meant for manual inspection and future snapshot fixtures.
```text
mkt contract check examples/runtime/workplan-done-missing-decision.md \
--contract examples/runtime/workplan-dynamic.contract.md \
--format text
```
Expected diagnostic:
- `runtime.section.missing`: status `done` requires a `Decision Point` section.
```text
mkt contract check examples/runtime/business-letter-prefill.md \
--contract examples/contracts/business-letter.contract.md \
--context examples/runtime/business-letter.context.yaml \
--format text
```
Expected runtime utility:
- `recipient_name` and `sender_name` are prefilled from context.
- No field-missing diagnostic is emitted for those fields.

View File

@@ -0,0 +1,18 @@
---
document_type: workplan
id: MKTT-WP-EXAMPLE
status: done
---
# Example Workplan
## Purpose
Show how a dynamic section rule reports missing completion context.
## Tasks
```task
id: MKTT-WP-EXAMPLE-T001
status: done
```

View File

@@ -0,0 +1,46 @@
# Dynamic Workplan Contract
```yaml contract
id: dynamic-workplan-contract-v1
document:
type: workplan
fields:
id:
type: string
required: true
status:
type: string
required: true
enum: [proposed, active, done, deferred]
owner:
type: string
source: context.workplan.owner
sections:
- id: purpose
title: Purpose
presence: required
level: 2
- id: tasks
title: Tasks
presence: required
level: 2
- id: decision-point
title: Decision Point
presence: optional
level: 2
rules:
- id: require-decision-point-when-done
if:
path: fields.status.value
equals: done
then:
sections:
decision-point:
presence: required
- id: owner-needed-for-active-work
if:
path: fields.status.value
equals: active
then:
required: [owner]
```