generated from coulomb/repo-seed
chore: workplan MRKD-WP-0001 + improved CLAUDE.md; document next steps
- workplans/MRKD-WP-0001-foundation-level1.md: 8-task workplan for Foundation & LEVEL1 Core (T01 scaffolding through T08 e2e harness) - CLAUDE.md: added Planned Architecture section (interface table, FR domain map, key concepts, round-trip data flow) and Development Commands stubs derived from FRS v0.2 - problems/next-steps-2026-03-14.md: implementation guide for next session — task order, dep list, state-hub task UUIDs, quality gates No code implemented yet; workstream registered in State Hub. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
88
CLAUDE.md
88
CLAUDE.md
@@ -1,6 +1,6 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code when working in this repository.
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## What This Repo Is
|
||||
|
||||
@@ -18,6 +18,92 @@ Key artefacts already in this repo:
|
||||
|
||||
---
|
||||
|
||||
## Planned Architecture
|
||||
|
||||
markidocx is a **conversion pipeline** with three delivery interfaces over a shared functional core.
|
||||
|
||||
### Interfaces
|
||||
| Interface | Purpose |
|
||||
|-----------|---------|
|
||||
| CLI | Local document workflows (`markidocx build`, `import`, `validate`, `compare`) |
|
||||
| REST service | Automation / pipeline integration |
|
||||
| MCP tools | Agent-accessible operations (same functional surface as CLI/REST) |
|
||||
|
||||
All three interfaces expose the same functional model — no interface-specific logic should live outside its adapter layer.
|
||||
|
||||
### Core Functional Domains (from FRS)
|
||||
| FR group | Domain |
|
||||
|----------|--------|
|
||||
| FR-100 | Project & manifest management |
|
||||
| FR-200 | Build / export (Markdown → DOCX) |
|
||||
| FR-300 | Import / round-trip (DOCX → Markdown) |
|
||||
| FR-400 | Multi-file composition & redistribution |
|
||||
| FR-500 | Feature-level enforcement (LEVEL1 / LEVEL3) |
|
||||
| FR-600 | Template & style family management |
|
||||
| FR-700 | Validation & drift analysis |
|
||||
| FR-1100 | Test & regression |
|
||||
| FR-1300 | Composite workflow orchestration |
|
||||
| FR-1400 | Evidence & report assembly |
|
||||
|
||||
### Key Concepts
|
||||
- **Project manifest** — declares source files, feature level, and template/style family; drives all operations
|
||||
- **Feature levels** — LEVEL1 (headings, lists, tables, footnotes, images, links); LEVEL3 adds cross-refs, numbered figures, auto-diagrams, bibliography
|
||||
- **Document families** — three built-in: `article`, `book`, `website`; extensible via registration
|
||||
- **Source mapping** — multi-file imports must redistribute content back to origin files; fallback produces a merged single file
|
||||
- **Drift detection** — structural diff between original Markdown and re-imported result; reported as inspectable evidence
|
||||
|
||||
### Round-trip data flow
|
||||
```
|
||||
manifest + Markdown sources
|
||||
↓ FR-100 (resolve project)
|
||||
↓ FR-200 (compose + export → DOCX)
|
||||
[Word editorial review]
|
||||
↓ FR-300 (import DOCX → Markdown)
|
||||
↓ FR-400 (redistribute to source files)
|
||||
↓ FR-700 (validate + drift report)
|
||||
evidence artefacts
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Development Commands
|
||||
|
||||
> **Pre-implementation note:** No code exists yet. Commands below describe the intended interface; update this section as the package takes shape.
|
||||
|
||||
```bash
|
||||
# Install in editable mode (once pyproject.toml exists)
|
||||
pip install -e ".[dev]"
|
||||
|
||||
# Run tests
|
||||
pytest
|
||||
|
||||
# Run a single test file
|
||||
pytest tests/path/to/test_file.py
|
||||
|
||||
# Lint
|
||||
ruff check .
|
||||
|
||||
# Type-check
|
||||
mypy src/
|
||||
|
||||
# Start REST service (dev mode)
|
||||
markidocx serve --dev
|
||||
|
||||
# CLI: build a document project
|
||||
markidocx build <manifest.yaml>
|
||||
|
||||
# CLI: import an edited DOCX
|
||||
markidocx import <manifest.yaml> <edited.docx>
|
||||
|
||||
# CLI: compare baseline vs re-import
|
||||
markidocx compare <manifest.yaml> <edited.docx>
|
||||
|
||||
# CLI: run end-to-end regression
|
||||
markidocx test
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Custodian State Hub Integration
|
||||
|
||||
This project is tracked as the **markitect** domain in the Custodian State Hub.
|
||||
|
||||
Reference in New Issue
Block a user