generated from coulomb/repo-seed
Add source attachment manifest workplan
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
---
|
||||
id: MKTF-WP-0003
|
||||
type: workplan
|
||||
title: "Source Attachment Manifest Compatibility"
|
||||
domain: markitect
|
||||
status: todo
|
||||
owner: markitect-filter
|
||||
topic_slug: markitect
|
||||
planning_priority: P2
|
||||
planning_order: 30
|
||||
depends_on_workplans:
|
||||
- MKTF-WP-0001
|
||||
- MKTF-WP-0002
|
||||
related_workplans:
|
||||
- MKTT-WP-0018
|
||||
- MKTT-WP-0021
|
||||
- MKTT-WP-0020
|
||||
created: "2026-05-15"
|
||||
updated: "2026-05-15"
|
||||
state_hub_workstream_id: "16e5c830-31e3-4070-9e27-65d28ed06595"
|
||||
---
|
||||
|
||||
# MKTF-WP-0003: Source Attachment Manifest Compatibility
|
||||
|
||||
## Purpose
|
||||
|
||||
Provide the read-side source attachment and asset metadata needed by the
|
||||
Markitect render reference and asset manifest contract without making
|
||||
`markitect-filter` a renderer or export pipeline.
|
||||
|
||||
`markitect-filter` owns concrete source-format normalization. It should expose
|
||||
attachments, embedded media, package resources, and related provenance as
|
||||
normalized source metadata that `markitect-tool` can consume when building a
|
||||
render asset manifest.
|
||||
|
||||
## Boundary
|
||||
|
||||
`markitect-filter` owns:
|
||||
|
||||
- source-format-specific attachment discovery
|
||||
- read-side source asset metadata
|
||||
- media type, extension, size, and digest capture where available
|
||||
- provenance back to package paths, pages, anchors, or source members
|
||||
- diagnostics for skipped or unsupported embedded resources
|
||||
- fixtures proving EPUB3 and PDF adapters preserve read-side asset metadata
|
||||
|
||||
`markitect-filter` does not own:
|
||||
|
||||
- write/export adapters
|
||||
- renderer execution
|
||||
- output asset copying
|
||||
- final render artifact paths
|
||||
- publication lifecycle or durable artifact storage
|
||||
- Quarkdown invocation
|
||||
|
||||
Those responsibilities belong to `markitect-tool` contracts,
|
||||
`markitect-quarkdown` render integration, or later runtime/publication systems.
|
||||
|
||||
## P3.1 - Align attachment metadata with Markitect source contracts
|
||||
|
||||
```task
|
||||
id: MKTF-WP-0003-T001
|
||||
status: todo
|
||||
priority: high
|
||||
state_hub_task_id: "d119daca-8141-4662-8ad7-ce43ccd79044"
|
||||
```
|
||||
|
||||
Confirm how existing `markitect_tool.source.SourceAsset` and
|
||||
`NormalizedMarkdownDocument.attachments` should be populated by concrete read
|
||||
adapters.
|
||||
|
||||
Output: compatibility note, adapter metadata conventions, and tests that can be
|
||||
run with `markitect-tool` on `PYTHONPATH`.
|
||||
|
||||
## P3.2 - Add EPUB3 embedded resource metadata
|
||||
|
||||
```task
|
||||
id: MKTF-WP-0003-T002
|
||||
status: todo
|
||||
priority: medium
|
||||
state_hub_task_id: "ebcbf480-210d-46e7-a4e4-fbe7e9baa39a"
|
||||
```
|
||||
|
||||
Extend the EPUB3 adapter to report package resources that are relevant to
|
||||
future render manifests, such as images, stylesheets, fonts, and media where
|
||||
safe and cheap to inspect.
|
||||
|
||||
Output: EPUB3 attachment metadata, provenance, diagnostics, and fixtures.
|
||||
|
||||
## P3.3 - Add PDF attachment and image-signal metadata
|
||||
|
||||
```task
|
||||
id: MKTF-WP-0003-T003
|
||||
status: todo
|
||||
priority: medium
|
||||
state_hub_task_id: "d8b7b820-387f-4d45-bf22-296b227f917a"
|
||||
```
|
||||
|
||||
Extend the PDF adapter with read-side metadata for attachments or embedded
|
||||
resource signals where the current dependency profile can expose them
|
||||
reliably.
|
||||
|
||||
Do not add OCR, layout reconstruction, or renderer behavior.
|
||||
|
||||
Output: PDF metadata conventions, diagnostics, and tests.
|
||||
|
||||
## P3.4 - Preserve checksums and provenance
|
||||
|
||||
```task
|
||||
id: MKTF-WP-0003-T004
|
||||
status: todo
|
||||
priority: high
|
||||
state_hub_task_id: "ca539c01-c272-4635-8f60-86f870bbef0c"
|
||||
```
|
||||
|
||||
For each attachment or source asset, preserve stable identity fields:
|
||||
|
||||
- source URI or package member path
|
||||
- media type and extension
|
||||
- byte size where available
|
||||
- digest/checksum where feasible
|
||||
- page, anchor, section, or package path provenance
|
||||
- extraction diagnostics and quality notes
|
||||
|
||||
Output: deterministic digest/provenance tests.
|
||||
|
||||
## P3.5 - Provide handoff fixtures for render manifests
|
||||
|
||||
```task
|
||||
id: MKTF-WP-0003-T005
|
||||
status: todo
|
||||
priority: medium
|
||||
state_hub_task_id: "f2213a20-ce6f-4e16-9b9b-557b99f8b4d1"
|
||||
```
|
||||
|
||||
Add fixtures that `MKTT-WP-0021` can use to prove source attachments flow into
|
||||
render asset manifests without renderer execution.
|
||||
|
||||
Output: fixture files, README/docs update, and cross-repo validation command.
|
||||
|
||||
## Exit Criteria
|
||||
|
||||
- EPUB3 and PDF read adapters can expose read-side asset metadata when present.
|
||||
- Unsupported or skipped resources produce structured diagnostics.
|
||||
- `markitect-filter` remains read-only and does not implement export/render
|
||||
behavior.
|
||||
- `markitect-tool` can consume the metadata for passive render asset manifests.
|
||||
Reference in New Issue
Block a user