Files
markitect-tool/workplans/MKTT-WP-0003-core-toolkit-implementation.md

128 lines
3.2 KiB
Markdown

---
id: MKTT-WP-0003
type: workplan
title: "Core Markdown Toolkit Implementation"
domain: markitect
status: active
owner: markitect-tool
topic_slug: markitect
created: "2026-05-03"
updated: "2026-05-03"
state_hub_workstream_id: "9fefb57d-985e-4125-8daf-03554844f45e"
---
# MKTT-WP-0003: Core Markdown Toolkit Implementation
## Purpose
Build the first usable `markitect-tool` implementation around the PRD/FRS
contract and the `mkt` CLI.
## P3.1 - Bootstrap package and tests
```task
id: MKTT-WP-0003-T001
status: done
priority: high
state_hub_task_id: "9d9501fe-6809-4b4f-bda6-ec5e5952ddc7"
```
Create project metadata, package layout, test structure, and a minimal CLI
entry point that can be installed or run locally.
Output: `pyproject.toml`, `src/markitect_tool/`, `tests/`.
## P3.2 - Implement structured markdown parse contract
```task
id: MKTT-WP-0003-T002
status: done
priority: high
state_hub_task_id: "7dead033-e249-46b0-9eb3-908ae231a987"
```
Implement FR-001 and FR-002: parse markdown files, preserve headings,
frontmatter, sections, and content blocks, and expose structured output via
API and CLI.
Initial implementation complete for Markdown files, YAML frontmatter, headings,
sections, content blocks, parser tokens, API access, and `mkt parse`.
## P3.3 - Implement schema load and validation
```task
id: MKTT-WP-0003-T003
status: done
priority: high
state_hub_task_id: "36a22def-d415-4c08-a793-836ee52e4308"
```
Implement FR-010 through FR-012: define/derive schemas, validate documents,
and report structured violations with file/location context.
Initial implementation complete for Markdown schema loading, JSON Schema
validation, structured violations, `mkt validate`, and `mkt schema validate`.
## P3.4 - Implement query and extraction
```task
id: MKTT-WP-0003-T004
status: todo
priority: medium
state_hub_task_id: "e4f72218-601e-488f-a5df-171b91a747d2"
```
Implement FR-030 and FR-031 over the structured representation. Start with a
small query language or JSONPath-like adapter only if it remains simple.
## P3.5 - Implement transform, compose, and include primitives
```task
id: MKTT-WP-0003-T005
status: todo
priority: medium
state_hub_task_id: "205d69eb-dd34-46a5-af0b-cc2de9d213d0"
```
Implement FR-020 through FR-022 as deterministic document operations. Keep
transclusion syntax and resolution rules explicit and testable.
## P3.6 - Implement templating and generation hooks
```task
id: MKTT-WP-0003-T006
status: todo
priority: medium
state_hub_task_id: "307fa072-b1ce-42e8-9309-e2a92e130ae1"
```
Implement FR-040 through FR-042 with deterministic templates first and optional
LLM-assisted hooks supplied by external providers.
Extension point: `EP-MKTT-001`.
## P3.7 - Add caching and incremental processing
```task
id: MKTT-WP-0003-T007
status: todo
priority: low
state_hub_task_id: "236f90e3-1d79-473f-8c57-bcbbde9ece02"
```
Implement FR-070 and FR-071 after the parse/schema contracts are stable.
## Known Technical Debt
```task
id: MKTT-WP-0003-T008
status: done
priority: medium
state_hub_task_id: "94067c7e-e68b-45be-a1d6-90547eb15422"
```
Resolve `TD-MKTT-001` by adding the implementation scaffold: package metadata,
module layout, test runner, and `mkt` CLI entry point.
Resolved by the initial package scaffold.