id: 6c6d12f9d6af4efbbdcf16b1a07df6f7
parent_id: 9f33f92b85304768b2c70fe0643fe33a
item_type: 1
item_id: a6768b6c7d2d4dbb855399468b9db6fa
item_updated_time: 1787924787104
title_diff: "[]"
body_diff: "[{\"diffs\":[[0,\"ommit: `\"],[-1,\"c3e5f5b\"],[1,\"eb51e9f\"],[0,\"` on `ma\"]],\"start1\":211,\"start2\":211,\"length1\":23,\"length2\":23},{\"diffs\":[[0,\"  **\"],[-1,\"Decision — no per-UC activity diagrams**: structured scenarios already carry\\\n  basic/alt/exception flows; flows are sequential-with-aborts, not\\\n  branch/parallel-heavy; sequence diagrams planned for the Architecture Notebook\\\n  instead (component interaction is what scenarios don't show\"],[1,\"Architecture Notebook DONE (eb51e9f)**: analysis model via\\\n  `scripts/generate-analysis-model.ps1` (22 B/C/E classes — RUP tailoring\\\n  import, 5 UC realizations UC-02/05/06/07/08 with Realization connectors,\\\n  class diagrams); design model via `scripts/generate-design-model.ps1`\\\n  (11 crate components, runtime deps from Cargo.toml — dev-deps excluded,\\\n  verified 36 edges); `generate-arch-notebook-doc.py` → notebook docx\\\n  (10 EPF sections, 8 decisions D1-D8, 6 mechanisms, layer table, 11 figures;\\\n  generation-time cross-check model deps == Cargo runtime deps). Diagrams\\\n  exported as EA PDFs + pymupdf-rendered PNGs. **Decisions**: no per-UC\\\n  activity diagrams (scenarios carry the flows); interaction views use the\\\n  reviewed PlantUML diagrams (EA GenerateDiagramFromScenario unusable via COM\\\n  — undocumented signature\"],[0,\"). P\"]],\"start1\":2930,\"start2\":2930,\"length1\":294,\"length2\":835},{\"diffs\":[[0,\")\\\n- \"],[-1,\"D\"],[1,\"**Headless d\"],[0,\"iagram \"],[-1,\"PNG\"],[1,\"raster\"],[0,\" export\"],[-1,\": `GetProjectInterface().PutDiagramImageToFile(id, file, 1)`\\\n  AFTER `repo.OpenDiagram(id)` — otherwise blank render\"],[1,\" is broken** (`PutDiagramImageToFile` renders\\\n  degenerate ~220x227 regardless of OpenDiagram/SaveDiagram/LayoutDiagram);\\\n  use `diagram.SaveAsPDF()` (renders correctly) + pymupdf for PNG\"],[0,\"\\\n- S\"]],\"start1\":4035,\"start2\":4035,\"length1\":142,\"length2\":227},{\"diffs\":[[0,\"st read\\\n\"],[1,\"- Dependency connectors appear in BOTH ends' collections — export only from the\\\n  client side (ClientID == element) or you get self-loops/duplicates\\\n- `GenerateDiagramFromScenario` unusable via COM (undocumented signature)\\\n\"],[0,\"- `$app.\"]],\"start1\":4494,\"start2\":4494,\"length1\":16,\"length2\":239},{\"diffs\":[[0,\"**: \"],[-1,\"Architecture Notebook next — Analysis & Design package\\\n   with component model (Rust crates) + sequence diagrams for the enforced KLMS\\\n   chain / SCP03 / HSM backup (native UML from docs/diagrams PlantUML sources),\\\n   architecturally significant requirements traced; then test cases,\\\n   Project Plan/tailoring, i\"],[1,\"remaining work products: HW/manual Test Cases (test/\\\n   folder, traced to UCs), Project Plan + **Process Tailoring note** (as-executed\\\n   order + RUP analysis-model import), Iteration Plans + Work Items List + Risk\\\n   List from git history/audit note, I\"],[0,\"tera\"]],\"start1\":5895,\"start2\":5895,\"length1\":320,\"length2\":261},{\"diffs\":[[0,\"ion \"],[-1,\"plans/work items/risks from git history\"],[1,\"Assessment. Then done with the set.\"],[0,\"\\\n2. \"]],\"start1\":6157,\"start2\":6157,\"length1\":47,\"length2\":43},{\"diffs\":[[0,\"el.ps1`;\"],[1,\" analysis\\\n  `scripts\\\\generate-analysis-model.ps1`; design\\\n  `scripts\\\\generate-design-model.ps1`;\"],[0,\" model J\"]],\"start1\":7314,\"start2\":7314,\"length1\":16,\"length2\":112},{\"diffs\":[[0,\"ary \"],[1,\"+ architecture \"],[0,\"JSONs);\"],[1,\"\\\n \"],[0,\" doc\"]],\"start1\":7487,\"start2\":7487,\"length1\":15,\"length2\":32},{\"diffs\":[[0,\"docs via\"],[-1,\"\\\n \"],[0,\" `genera\"]],\"start1\":7516,\"start2\":7516,\"length1\":18,\"length2\":16},{\"diffs\":[[0,\"-doc.py`\"],[1,\" /\\\n  `generate-arch-notebook-doc.py` (requires pymupdf)\"],[0,\"; model\\\n\"]],\"start1\":7571,\"start2\":7571,\"length1\":16,\"length2\":71},{\"diffs\":[[0,\"}\\\\` (SVG\"],[1,\"+PNG\"],[0,\" for sli\"]],\"start1\":7839,\"start2\":7839,\"length1\":16,\"length2\":20},{\"diffs\":[[0,\"slides);\"],[1,\"\\\n \"],[0,\" re-rend\"]],\"start1\":7856,\"start2\":7856,\"length1\":16,\"length2\":18},{\"diffs\":[[0,\"-render:\"],[-1,\"\\\n \"],[0,\" `python\"]],\"start1\":7869,\"start2\":7869,\"length1\":18,\"length2\":16},{\"diffs\":[[0,\" scripts\"],[-1,\"\\\\\"],[1,\"/\"],[0,\"render-p\"]],\"start1\":7885,\"start2\":7885,\"length1\":17,\"length2\":17},{\"diffs\":[[0,\"folder>`\"],[1,\" (needs internet — PlantUML server)\"],[0,\"\\\n- **Con\"]],\"start1\":7910,\"start2\":7910,\"length1\":16,\"length2\":51}]"
metadata_diff: {"new":{},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2026-08-28T13:48:33.826Z
created_time: 2026-08-28T13:48:33.826Z
is_locked: 0
type_: 13