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).
This commit is contained in:
@@ -114,10 +114,14 @@ one `bpmn:startEvent` per *entry step* (no in-group predecessor) and one
|
||||
`bpmn:endEvent` per *exit step* (no in-group successor), so the fragment's
|
||||
real boundary is visible rather than hidden behind synthesised gateways.
|
||||
The output then has BPMN Diagram Interchange (`bpmndi:BPMNDiagram` with
|
||||
`BPMNShape` and `BPMNEdge` elements) appended by `bpmn_di.py` using a
|
||||
`BPMNShape` and `BPMNEdge` elements) appended by `bpmn_di.py` via a
|
||||
swim-lane left-to-right auto-layout, so the resulting file previews in
|
||||
bpmn.io, Camunda Modeler and the ProcessGit web view without manual
|
||||
positioning.
|
||||
bpmn.io, Camunda Modeler and the ProcessGit web view. **This DI is
|
||||
auto-generated, not authored** — §07 of the UAPF specification requires
|
||||
authored DI produced by a conforming OMG modeler and explicitly forbids
|
||||
automatic layout generation as a substitute. The auto-layout output is
|
||||
kept as a known deliberate non-conformance pending re-authoring of each
|
||||
`.bpmn` in a modeler. See *Known non-conformances* below.
|
||||
|
||||
The output is `isExecutable="false"` and deliberately unembellished: no
|
||||
inferred gateways, no synthesised decision logic, no compensation for
|
||||
@@ -218,8 +222,9 @@ correction (next section):
|
||||
`sourceRef`/`targetRef` nodes; every `flowNodeRef` resolves to a defined
|
||||
node; every `incoming`/`outgoing` reference is consistent with the
|
||||
corresponding flow's source/target.
|
||||
- All `.bpmn` files now carry BPMN Diagram Interchange — they preview
|
||||
cleanly in bpmn.io, Camunda Modeler and ProcessGit's web view.
|
||||
- All `.bpmn` files carry BPMN Diagram Interchange (auto-generated; see
|
||||
*Known non-conformances* below) — sufficient for preview in bpmn.io,
|
||||
Camunda Modeler and ProcessGit's web view.
|
||||
- The transcoder is byte-deterministic: re-running it on the FG3 register
|
||||
for 3.5.2 and 3.5.3 reproduces the committed `sample-output/` files
|
||||
exactly.
|
||||
@@ -249,6 +254,31 @@ packages may reference L4 directly when no intermediate composition is
|
||||
needed (`fg3` `includes` references the three L4s and the three L3 stubs
|
||||
in parallel, which is conformant).
|
||||
|
||||
## Known non-conformances
|
||||
|
||||
This POC ships with one documented non-conformance against the UAPF
|
||||
specification, retained deliberately for the POC and tracked here.
|
||||
|
||||
**Authored Diagram Interchange (§07-package-format.md).** §07 makes DI a
|
||||
MUST for cornerstone BPMN/DMN/CMMN files and explicitly forbids automatic
|
||||
layout generation as a substitute:
|
||||
|
||||
> "An implementation MUST NOT rely on automatic layout generation as a
|
||||
> substitute for authored DI: a generated layout is not the authored
|
||||
> layout and is not deterministic across tools."
|
||||
|
||||
The DI in the five `.bpmn` files (`fg3-1`, `fg3-4`, `fg3-5`, and the two
|
||||
transcoder samples under `tools/register-transcoder/sample-output/`) is
|
||||
produced by `tools/register-transcoder/bpmn_di.py` using a swim-lane
|
||||
left-to-right auto-layout. It renders the diagrams in bpmn.io, Camunda
|
||||
Modeler and ProcessGit's web view, but it is not authored DI and
|
||||
therefore non-conformant under §07. The auto-layout is kept so the POC
|
||||
artefacts are reviewable visually; the conformant path is to open each
|
||||
`.bpmn` in a conforming OMG modeler (Camunda Modeler, bpmn-js Studio) and
|
||||
re-save, which emits authored DI. The DMN files are unaffected — §07
|
||||
exempts DMNs whose only logic is decision tables, and all three workspace
|
||||
DMNs are exactly that.
|
||||
|
||||
## Implications for the AI regulatory sandbox
|
||||
|
||||
The pipeline has four properties that bear on the sandbox's evaluation.
|
||||
|
||||
Reference in New Issue
Block a user