Repository navigation
Added
-
ArchiMate parity in the generated Codex extension (gloryev EYW-345 incident, fix 1): running
python scripts/converter.pyregeneratedextensions/arckit-codex/so the ArchiMate command skills, the ADM ArchiMate templates, andskills/plantuml-syntax/references/archimate.mdare now present, matching the canonical Claude source tree. Guarded bytests/codex/test_archimate_codex_parity.py(7 checks). -
Post-build ArchiMate diagram consolidation (EYW-348 f):
arckit buildnow sweepsprojects/**/*.mdfor inline PlantUML blocks after a full build and materialises them under each project'sdiagrams/folder as.pumlsidecars plus self-contained.svgrenders (pinned jar search: explicit →PLANTUML_JAR→ newest~/.local/share/arckit/tools/plantuml-*.jar), with amanifest.jsonmaking re-runs idempotent. Missing jar/Java degrades gracefully (.pumlwritten, SVG recordedpending); rendered SVGs are audited and non-W3C external URLs are flagged as self-containment violations. Skippable with--no-diagrams.
Fixed
- Diagram sweep cross-linking + canonical consolidation (gloryev EYW-345 incident, fixes 2 and 3):
consolidate_project_diagrams()now recordssource_doc(the originating markdown for each rendered diagram),docs_without_blocks(artefacts with no PlantUML blocks),stale_folders(per-phase diagram folders superseded by the canonical{P_<ID>}-{NAME}layout), andorphaned(SVGs with no matching manifest block) in the build summary, and_render_puml()now passes-tsvgto the pinned jar (PlantUML's default output is PNG, so the sweep's.svgsuccess check silently failed before this fix). Guarded bytests/plugin/test_diagram_sweep_linking.py(3 checks),tests/plugin/test_diagram_render_svg_flag.py(1 check), andtests/plugin/test_diagram_canonical_consolidation.py(3 checks). - Local-LLM builds aborted mid-target by the hard tool-iteration cap of 20 (EYW-348 a): the cap is now configurable — default raised to 96, overridable via
llm.max_tool_iterationsin the ArcKit config and (highest precedence) theARCKIT_MAX_TOOL_ITERATIONSenv var; invalid values warn and fall back. - Targets declared
completeon model stop even without the declared output artifact (EYW-348 b): a target with a declared output now only completes when the expected artifact exists on disk; a stopped-but-quiet model fails the target (--resumere-runs it) instead of a phantom completion. Advisory targets (no declared output) still complete on a clean stop. - Empty
input_artifactson resume bloated context into degenerate re-read loops (EYW-348 c): dependency resolution now expands placeholders cumulatively, checks state paths raw and project-relative, falls back to recipe-disk resolution, and finally to aprojects/**/*.mdbasename sweep; an unresolvable required dependency now prints a loud warning instead of silently running the target without input context. - Resume re-derived
P_<ID>placeholders back to{P}-{ID}, clobbering build-config/state values so artifacts landed in per-phase folders (EYW-348 d): auto-derivation now only fills placeholder keys never explicitly supplied (persisted state, build config, or user override) and only when the{P}base value actually changed. - SIGTERM mid-wave killed piped builds (EYW-348 e):
arckit buildnow handles SIGTERM/SIGINT gracefully — the in-flight wave finishes, state is persisted (per-wave git commit already did), and the build exits 143 with a--resumehint; a second signal hard-exits. Log-file redirection still recommended for harnesses that kill the whole process group.