8.0 KiB
markitect-main → Successor Repos: Gap Assessment
Date: 2026-05-23 Author: Claude (custodian session) Status: Draft — awaiting Bernd's decisions on items A/B/C below
Purpose
Bernd is retiring markitect-main and has transferred most functionality to
sibling repos. This document identifies what was provided by markitect-main
that is not addressed in those successors, and flags candidates that may
not fit any successor's intent.
Successor Ecosystem (5 repos, not 3)
| Repo | Role |
|---|---|
markitect-tool |
Markdown syntax layer + structured-document primitives; defines source-adapter and render-adapter contracts. CLI: mkt. |
kontextual-engine |
Headless knowledge operations engine: artifacts, collections, persistence, relationships, workflow runs/manifests, query, quality/assessment, API. |
infospace-bench |
Application layer — concrete infospaces, evaluation methodology, reference pilots. |
markitect-filter |
Source-format ingestion adapters (source.epub3, source.pdf) implementing the markitect-tool source-adapter contract. |
markitect-quarkdown |
Render/export adapter — implements the markitect-tool render-adapter contract via Quarkdown. |
Method
Analysis is grounded in each successor's own assessment docs (recent, May 2026):
markitect-tool/docs/markitect-main-scope-assessment.mdkontextual-engine/docs/markitect-main-scope-assessment.mdkontextual-engine/docs/system-layer-extraction-inventory.mdkontextual-engine/docs/system-layer-migration-backlog.mdinfospace-bench/docs/markitect-main-scope-assessment.mdinfospace-bench/docs/legacy-infospace-feature-inventory.mdinfospace-bench/docs/replacement-acceptance-matrix.md
Cross-checked against actual markitect-main module sizing (Python LOC) and
__init__.py docstrings.
Confidence: These successor docs are authoritative on intent. They have not been line-verified to confirm every "reimplement"-classified item actually landed in the successor. Where verification matters, it's flagged.
A. Doesn't fit any successor's intent — needs a new home or explicit retirement
These are explicitly pushed away by tool/engine/bench and are unrelated to filter/quarkdown.
| markitect-main area | LOC | What it is | Status |
|---|---|---|---|
markitect/finance/ |
~8,100 | Cost-tracking system: cost items, period allocation to issues, financial reports, audit trails | Orphan. markitect-main's own SCOPE.md lists "financial transactions" as out-of-scope. Belongs with issue/project-ops, not knowledge tooling. |
issue_tracker/ + _issue-tracking/ + .issues/ |
~1,200 | Issue tracking (finance allocates costs to these issues) | Orphan to the five — but likely already superseded by the issue-facade capability / use-issues skill. Verify before retiring. |
markitect/profile/ |
~1,600 | User-profile CRUD, multi-profile, DB-backed | Orphan. Unrelated to all five. (Distinct from quarkdown's render "profile".) |
markitect/production/ |
~3,800 | Deployment-readiness validation, cross-platform checks, perf benchmarking | Engine keeps only "structured error/audit ideas". Deployment-validation bulk is orphan. |
tools/, services/, gitea/tddai glue |
~5,500 | Project-ops tooling | Out-of-scope everywhere. |
markitect/legacy/ + legacy_compat.py |
~2,700 | Backward-compat shims | Retire by definition. |
B. Rendering / asset / plugin layer — only partially covered, real residual gap
This is the most consequential gap. SCOPE.md lists "Rendering: markdown
→ interactive HTML via plugin system (testdrive-jsui)" as an in-scope
capability of markitect-main.
| Area | LOC | Covered? |
|---|---|---|
markitect/plugins/ (generic processor/formatter/validator/exporter plugin system) |
~8,000 | No. tool defines a render-adapter contract and an extension point, but the general plugin runtime isn't carried. |
markitect/assets/ (content-addressable asset store, dedup, .mdpkg ZIP packaging, symlink handling) + asset_registry.json (277 KB) |
~6,000 | No. Bench says "leave behind unless a concrete export needs assets." |
Interactive-HTML / testdrive-jsui rendering, static/, themes/, templates/document.html, JS UI |
— | Partial only. quarkdown covers a Quarkdown export path; the interactive-HTML / JS-UI path has no home. |
Decision needed: spin these into a dedicated render/asset repo (sibling to quarkdown), fold the asset store into one of the existing repos, or retire the interactive-HTML path.
C. The other "Information Space" lineage — markitect/spaces/ (~11,000 LOC)
Distinct from markitect/infospace/ (which infospace-bench inherited).
spaces/ is an older/parallel abstraction with features bench did not take:
- event-driven change tracking & notifications
- persistent transclusion context with cross-space references
- bidirectional directory synchronization
- HTML rendering of spaces with caching/themes
Engine takes generic persistence concepts and bench takes infospace semantics,
but these specific spaces/ behaviors (bidirectional sync, event
notifications, cross-space transclusion context) aren't mapped anywhere.
Likely intended as dead/superseded — but 11k LOC warrants an explicit "retire vs salvage" call.
D. Declined-by-design (confirm retirement, don't re-extract)
| Area | LOC | Disposition |
|---|---|---|
markitect/graphql/ |
~4,000 | All three explicitly declined GraphQL ("evidence of API need, not a commitment"). |
markitect/query_paradigms/ |
~3,500 | Engine/tool keep the QueryResult envelope concept but say "do not port the registry wholesale." |
markitect/proxy/ |
~870 | Non-markdown→md proxy with checksum/freshness tracking. Overlaps markitect-filter. Freshness/staleness-tracking mechanism may be worth checking against bench's deferred "stale-mappings." |
capabilities/ (top-level) |
~8,300 | Capability-packaging architecture; partially maps to tool (schema generation) but the packaging approach itself isn't carried. |
What this means
The successors are, by their own assessments, near complete for the
in-scope core (parsing/schema → tool; persistence/workflow → engine;
infospace lifecycle → bench; ingestion → filter; one render path →
quarkdown). The truly unaddressed functionality is almost entirely the stuff
markitect-main accreted beyond its stated scope: finance, issue tracking,
user profiles, production/deployment validation, the asset/plugin/interactive-HTML
rendering stack, and the older spaces/ abstraction.
Decisions for Bernd
Three live decisions, not a long extraction backlog:
Decision 1 — Render/asset stack (Section B)
The one with genuine product value left.
- Option 1a: new repo (sibling to quarkdown) for plugin runtime + asset store + interactive-HTML
- Option 1b: fold the asset store into an existing repo (most likely markitect-tool, behind a flag); retire interactive-HTML
- Option 1c: retire the interactive-HTML path entirely; trust quarkdown export as the single render story
Decision 2 — markitect/spaces/ (Section C)
- Option 2a: salvage bidirectional-sync / event-tracking / cross-space transclusion into engine (engine has the persistence story to support it)
- Option 2b: retire wholesale as superseded by infospace
Decision 3 — Project-ops cluster (Section A: finance + issues + profile)
- Option 3a: confirm
issue-facadealready replacesissue_tracker/+finance/; retire both - Option 3b: identify a home for any pieces worth keeping
Suggested verification before deciding
If verification matters before committing:
- For Decision 1: grep the five repos for any render/asset adapter that already covers the HTML path beyond Quarkdown.
- For Decision 2: check whether engine's
OperationRun+ collection model can express bidirectional-sync semantics, or whether new primitives would be needed. - For Decision 3: confirm whether
issue-facadetruly replacesissue_tracker/+finance/end-to-end.
Happy to do any of these focused passes when you're ready to decide.