1
0

4 Commits

Author SHA1 Message Date
87bab46b0f Workspace INDEX.md + flag §07 DI non-conformance
Two changes:

1. INDEX.md (new, generated). Workspace-level index that lists every
   package grouped by UAPF level (L0/L1/L2/L3/L4) for navigation. Per
   UAPF specification §01-concepts.md, levels are an aggregation and
   governance scope only and MUST NOT be used to imply modeling
   semantics; per §04-folder-structure.md the SHOULD-recommended
   on-disk layout is enterprise/ + domains/ + processes/ regardless of
   level. INDEX.md is therefore a level-grouped *view* over the
   spec-conformant on-disk layout, not an alternative layout. Generated
   by tools/build-index/build_index.py (new), which walks the workspace
   manifests and emits INDEX.md from current state.

2. docs/methodology.md updated to document the §07 auto-layout DI as a
   known deliberate non-conformance. §07-package-format.md requires
   authored DI (from a conforming OMG modeler) and explicitly forbids
   automatic layout generation as a substitute. The DI in the five
   .bpmn files in this workspace is auto-generated by
   tools/register-transcoder/bpmn_di.py and is therefore non-conformant
   under §07. It is kept for the POC so artefacts preview visually;
   the conformant path is to re-author each .bpmn in Camunda Modeler
   or bpmn-js Studio and recommit, which emits authored DI. New
   *Known non-conformances* section in methodology.md cites §07
   verbatim and explains this rationale. The Pass-1 transcoder section
   and Final-validation-pass section are softened to call out that
   the DI is auto-generated.

uapf-cli validate green on all 13 packages (L1 domains/gramatvediba,
L2 fg1-fg6, L3 fg3-2/3/6, L4 fg3-1/4/5).
2026-05-21 11:12:45 +00:00
66ce42ea37 Spec-conformance fix: correct stub levels and add BPMN-DI
Three corrections grounded in the UAPF SSOT specification (UAPFormat/
UAPF-specification, specification/01-concepts.md, 04-folder-structure.md,
05-level-composition.md, 10-conformance-checklist.md), which had not been
read in full before the initial workspace build.

1. Level relabel. The FG3 sub-process stubs fg3-2, fg3-3 and fg3-6 had
   been marked level: 4 by template inheritance from fg3-1 at Step 4 of
   the build, despite carrying no BPMN and no resources. Per the spec
   conformance checklist this fails the L4 requirement. The three are
   composition placeholders, which the spec models as L3 (composed
   subprocess / variant). Their uapf.yaml is now level: 3 with
   cornerstones.bpmn: false — conformant: L1-L3 packages MUST NOT
   duplicate L4 content. The three real executables fg3-1, fg3-4 and
   fg3-5 remain L4.

2. BPMN Diagram Interchange. All five .bpmn files in the workspace now
   carry a bpmndi:BPMNDiagram with BPMNShape and BPMNEdge elements
   produced by a swim-lane left-to-right auto-layout, so the diagrams
   preview in bpmn.io, Camunda Modeler and ProcessGit's web view. The
   spec doesn't require DI (its own examples have none) but practical
   reviewability does.

3. Transcoder. tools/register-transcoder gains bpmn_di.py — also runnable
   standalone for retrofitting existing BPMN files. transcode.py now
   imports it and emits DI by default for newly generated skeletons.
   sample-output/3.5.2.skeleton.bpmn and 3.5.3.skeleton.bpmn regenerated
   with DI; the logical-model content is byte-identical to the previous
   commit, only DI is added.

docs/methodology.md updated: adds an explicit Workspace-structure section
grounding L0-L4 in the SSOT spec, a Conformance-correction section
documenting the Step-4 mislabel and its fix, and drops the now-untrue
'no DI' line from limitations.

Validation after the change, full L1-L4 sweep: uapf-cli validate green on
all 10 packages (domains/gramatvediba, fg1-fg6, fg3, fg3-1..fg3-6);
xmllint clean on all 8 .bpmn/.dmn; every .bpmn has BPMNDiagram present.
2026-05-20 06:44:14 +00:00
a608de41ad Step 7: register-to-BPMN transcoder tool
Adds tools/register-transcoder — a Python tool that reads a published Valsts
Kase accounting-process register (.xlsx/.xlsm) and emits BPMN process
skeletons. For a given sub-process it produces one userTask per register
step, swimlanes from the RACI columns (placing each step in its Responsible
actor's lane), sequence flows reconstructed from the register's own
predecessor/successor step references, and synthesised start/end events per
entry and exit step. Output is an isExecutable=false skeleton — the
deterministic first pass of the transcription pipeline; refinement into a
Level 4 executable package is the human/AI-assisted second pass that produced
the curated FG3-1/FG3-4/FG3-5 packages. Includes a README and sample-output
skeletons emitted from the FG3 register for sub-processes 3.5.2 and 3.5.3.
2026-05-19 21:38:45 +00:00
9d50061107 workspace skeleton: UAPF 2.2.0 layout + L0 enterprise index
Step 1 of the vk-gramatvediba build.

- normative folder structure: enterprise/ , domains/ , processes/
- enterprise/enterprise.yaml — L0 enterprise index (validates against
  the UAPF 2.2.0 enterprise-index schema; packages[] filled in later steps)
- README and docs/conventions.md — VK function-group to UAPF level
  mapping, composition rule, transcription-fidelity policy
- CODEOWNERS placeholder and .gitignore (built .uapf archives excluded)

Targets UAPF specification v2.2.0.
2026-05-19 16:45:24 +00:00