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).
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.
Adds docs/methodology.md — the prose deliverable that ties the
vk-gramatvediba workspace together for the AI regulatory sandbox.
Describes the two-pass transcription pipeline (mechanical transcoder ->
curated refinement), the concrete delta between the transcoder skeletons
and the curated FG3-4/FG3-5 executables (gateways, DMN extraction, link
reconciliation, resource/metadata authoring), the final validation pass
(all .bpmn/.dmn well-formed, all 3 L4 packages pass uapf-cli, transcoder
samples byte-deterministic), and the implications and limitations for the
sandbox. Workspace now closes the 8-step build plan: skeleton, six FG L2
stubs, FG3 L2 + six FG3-x sub-process stubs, FG3-1/FG3-4/FG3-5 executables,
register-to-BPMN transcoder, methodology note.
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.
Upgrades the FG3-5 sub-process from a composition stub to a Level 4 atomic
executable: BPMN process Process_KomandejumaNorekina (trip-request processing,
cancellation branch, expense-report submission and approval, VPC processing,
reconciliation and outcome handling across the Nodarbinatais/Iestade/VPC
lanes), DMN decision Decision_KomandejumaNorekins (FIRST hit policy,
advance-vs-expense reconciliation with carry-forward to a next approved trip),
resource roles/agents/mappings and policies metadata. Transcribed from the
Valsts Kase FG3 register section 3.5.3. Validates against the UAPF 2.2.0
schemas and the uapf-cli validator.
Upgrades the FG3-4 sub-process from a composition stub to a Level 4 atomic
executable: BPMN process Process_SaimnieciskaNorekina (advance request,
settlement submission/approval, VPC processing, reconciliation and outcome
handling across the Nodarbinatais/Iestade/VPC lanes), DMN decision
Decision_AvansaNorekins (FIRST hit policy, advance-vs-expense reconciliation),
resource roles/agents/mappings and policies metadata. Transcribed from the
Valsts Kase FG3 register sections 3.5.2 and 3.5.4. Validates against the
UAPF 2.2.0 schemas and the uapf-cli validator.
Adds the six FG3 sub-process packages (processes/fg3-1 .. fg3-6) and wires
them into the FG3 (L2) package via `includes`; FG3 version 0.1.0 -> 0.2.0.
FG3-1 (Rēķina/kredītrēķina saņemšana par precēm/pakalpojumiem) is built out
as an executable L4 package:
- bpmn/rekina-sanemsana.bpmn - 3-lane process (Nodarbinātais / VPC / Iestāde)
- dmn/rekina-parbaude.dmn - FIRST hit-policy routing decision table
- resources/ - roles, agent and mappings binding every user
task and the decision to a target
- metadata/ - ownership, lifecycle, policies
FG3-2..FG3-6 are draft composition placeholders (L4) pending executable
build-out.
Validated against the UAPF 2.2.0 schemas (manifest, ownership, lifecycle,
policies, resource-mapping, enterprise index): all includes resolve, no
duplicated executable artifacts, BPMN/DMN well-formed, and all resource
mapping references resolve to real BPMN/DMN element ids.
Step 2 of the vk-gramatvediba build (absorbs the planned Step 3 — the
enterprise index now references the domain, since the two are one
coherent unit).
- domains/gramatvediba/ — L1 domain package; includes the six FG packages
- processes/fg1..fg6/ — six L2 function-group packages (composition stubs;
FG3 carries its sub-process inventory and is taken to executable depth
in later steps)
- each package: uapf.yaml + metadata/ownership.yaml + metadata/lifecycle.yaml
+ README
- enterprise/enterprise.yaml now references the L1 domain
All 22 manifests and metadata files validate against the UAPF 2.2.0
schemas; all seven includes / enterprise references resolve.