mirror of
https://github.com/vicliu624/trail-mate.git
synced 2026-11-11 22:57:41 +00:00
251 lines
122 KiB
HTML
251 lines
122 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>Module Boundaries: apps/linux_cardputer_zero</title>
|
|
</head>
|
|
<body>
|
|
<main class="praxis-engineering-map" data-praxis-anchor="engineering:package:apps-linux_cardputer_zero" data-praxis-kind="engineering_package_diagram" data-praxis-status="candidate" data-praxis-confidence="high" data-praxis-document-path="docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.html" data-praxis-drilldowns="[{"id":"engineering:diagram:component:apps-linux_cardputer_zero-main","kind":"component","title":"Function node: main","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L49, which coordinates multiple external objects or capabilities and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.html","anchor":"engineering:component:function:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49","relation":"contains","reason":"Open the function node: main to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-contains","kind":"component","title":"Function node: contains","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L19. It is reused or relied on by multiple objects and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.html","anchor":"engineering:component:function:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19","relation":"contains","reason":"Open the function node: contains to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-not_contains","kind":"component","title":"Function node: not_contains","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L24. It is reused or relied on by multiple objects and is used to explain technical collaboration and the impact of changes.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.html","anchor":"engineering:component:function:not_contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:24","relation":"contains","reason":"Open the function node: not_contains to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-read_file","kind":"component","title":"Function node: read_file","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L10. It is reused or relied on by multiple objects and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.html","anchor":"engineering:component:function:read_file:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:10","relation":"contains","reason":"Open the function node: read_file to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:technical-hotspot:collaboration-pressure--main","kind":"technical_hotspot","title":"Candidates for external collaboration: main technology hotspot","summary":"This symbol connects multiple external objects or capabilities and may bear orchestration, aggregation, or overreach responsibilities.","docPath":"docs/engineering/technical-hotspots/collaboration-pressure--main/technical-hotspot.md","htmlPath":"docs/engineering/technical-hotspots/collaboration-pressure--main/technical-hotspot.html","anchor":"engineering:hotspot:external-collaboration-pressure:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49","relation":"risk_detail","reason":"View Candidates for External Collaboration: main Technology Hotspot Whether this complexity signal will increase the cost of reading, modifying, testing or regression of apps/linux_cardputer_zero."},{"id":"engineering:diagram:technical-hotspot:reuse-pressure--contains","kind":"technical_hotspot","title":"Candidates for widespread reuse: contains technical hot spots","summary":"This symbol is referenced or called by multiple codes, which may be a shared core, implicit interface or change diffusion point.","docPath":"docs/engineering/technical-hotspots/reuse-pressure--contains/technical-hotspot.md","htmlPath":"docs/engineering/technical-hotspots/reuse-pressure--contains/technical-hotspot.html","anchor":"engineering:hotspot:reuse-pressure:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19","relation":"risk_detail","reason":"View widely reused candidates: contains Technical Hotspots Whether this complexity signal will increase the cost of reading, modifying, testing or regression of apps/linux_cardputer_zero."}]">
|
|
<header class="praxis-design-map-header">
|
|
<p>Praxis Software Structure Model</p>
|
|
<h1>Module Boundaries: apps/linux_cardputer_zero</h1>
|
|
<p>Explain the package/module boundaries, number of files, number of symbols and cross-module dependencies of apps/linux_cardputer_zero.</p>
|
|
<div class="meta-row">
|
|
<span>Package Diagrams</span>
|
|
<span>candidate / high</span>
|
|
<span>0.1.0 · 34aad0bffa2f / main</span>
|
|
</div>
|
|
</header>
|
|
<section class="semantic-layer" data-praxis-anchor="engineering:reading-guide" data-praxis-kind="engineering_document_section">
|
|
<h2>How to read pictures</h2>
|
|
<ul>
|
|
<li>This Package Diagram is centered on apps/linux_cardputer_zero, showing the file size, symbol size, and cross-module dependencies observed when it serves as a project module boundary.</li>
|
|
<li>The arrows in the figure represent the cross-module relationships observed by the local warehouse evidence, which are mainly used to understand the direction of technical dependencies; it is not the business process sequence, nor the runtime message timing.</li>
|
|
<li>The main external dependencies currently observed include: apps/esp32_lvgl, boards.</li>
|
|
</ul>
|
|
</section>
|
|
<section class="semantic-layer" data-praxis-anchor="engineering:technical-analysis" data-praxis-kind="engineering_document_section">
|
|
<h2>Technical complexity analysis</h2>
|
|
<ul>
|
|
<li>apps/linux_cardputer_zero currently contains 24 files and 230 symbols belonging to technical organizational boundaries identified by the software architecture model.</li>
|
|
<li>The cross-module relationship is as follows: it is referenced or called 40 times by other modules, and it actively depends on or calls external modules 11 times, so it is more dependent on other modules.</li>
|
|
<li>Currently there is no obvious abnormality in external dependence, but specific business entrances should still be used to determine whether the direction of dependence is stable.</li>
|
|
</ul>
|
|
</section>
|
|
<section class="semantic-layer" data-praxis-anchor="engineering:business-relation" data-praxis-kind="engineering_document_section">
|
|
<h2>Relationship with business complexity</h2>
|
|
<ul>
|
|
<li>apps/linux_cardputer_zero is not the business story itself, but the technical boundaries that may pass when business capabilities are implemented.</li>
|
|
<li>If the evidence, entry or drill-down diagram of a Use Case in the organization/process model falls in apps/linux_cardputer_zero, the Use Case should be linked back to this Package Diagram to indicate which engineering module the business story is hosted by.</li>
|
|
<li>The current association is still CANDIDATE: The technical boundaries can only be explained here based on warehouse evidence and cannot replace the confirmation of the business story, actors and business goals of the organizational/process model.</li>
|
|
</ul>
|
|
</section>
|
|
<section class="semantic-layer" data-praxis-anchor="engineering:governance-notes" data-praxis-kind="engineering_document_section">
|
|
<h2>Governance suggestions</h2>
|
|
<ul>
|
|
<li>When adding a new function, give priority to confirming that it belongs to the stable responsibilities of the module, rather than falling into this module because of the convenience of calling.</li>
|
|
<li>Keep the module's dependency direction explainable to avoid forming an implicit public toolbox.</li>
|
|
<li>When the business Use Case document references this module, the specific entry, call chain or configuration evidence should be recorded in the Use Case drill-down document.</li>
|
|
</ul>
|
|
</section>
|
|
<section class="semantic-layer diagram-section" data-praxis-anchor="engineering:diagram-body" data-praxis-kind="engineering_diagram_body">
|
|
<h2>UML/Technical Diagram</h2>
|
|
<pre class="mermaid" data-praxis-anchor="engineering:package:apps-linux_cardputer_zero:uml" data-praxis-kind="engineering_package_uml" data-praxis-drilldowns="[{"id":"engineering:diagram:component:apps-linux_cardputer_zero-main","kind":"component","title":"Function node: main","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L49, which coordinates multiple external objects or capabilities and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.html","anchor":"engineering:component:function:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49","relation":"contains","reason":"Open the function node: main to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-contains","kind":"component","title":"Function node: contains","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L19. It is reused or relied on by multiple objects and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.html","anchor":"engineering:component:function:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19","relation":"contains","reason":"Open the function node: contains to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-not_contains","kind":"component","title":"Function node: not_contains","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L24. It is reused or relied on by multiple objects and is used to explain technical collaboration and the impact of changes.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.html","anchor":"engineering:component:function:not_contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:24","relation":"contains","reason":"Open the function node: not_contains to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-read_file","kind":"component","title":"Function node: read_file","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L10. It is reused or relied on by multiple objects and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.html","anchor":"engineering:component:function:read_file:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:10","relation":"contains","reason":"Open the function node: read_file to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:technical-hotspot:collaboration-pressure--main","kind":"technical_hotspot","title":"Candidates for external collaboration: main technology hotspot","summary":"This symbol connects multiple external objects or capabilities and may bear orchestration, aggregation, or overreach responsibilities.","docPath":"docs/engineering/technical-hotspots/collaboration-pressure--main/technical-hotspot.md","htmlPath":"docs/engineering/technical-hotspots/collaboration-pressure--main/technical-hotspot.html","anchor":"engineering:hotspot:external-collaboration-pressure:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49","relation":"risk_detail","reason":"View Candidates for External Collaboration: main Technology Hotspot Whether this complexity signal will increase the cost of reading, modifying, testing or regression of apps/linux_cardputer_zero."},{"id":"engineering:diagram:technical-hotspot:reuse-pressure--contains","kind":"technical_hotspot","title":"Candidates for widespread reuse: contains technical hot spots","summary":"This symbol is referenced or called by multiple codes, which may be a shared core, implicit interface or change diffusion point.","docPath":"docs/engineering/technical-hotspots/reuse-pressure--contains/technical-hotspot.md","htmlPath":"docs/engineering/technical-hotspots/reuse-pressure--contains/technical-hotspot.html","anchor":"engineering:hotspot:reuse-pressure:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19","relation":"risk_detail","reason":"View widely reused candidates: contains Technical Hotspots Whether this complexity signal will increase the cost of reading, modifying, testing or regression of apps/linux_cardputer_zero."}]">flowchart LR
|
|
package_node["apps/linux_cardputer_zero"]
|
|
dependency_1["apps/esp32_lvgl"]
|
|
package_node --> dependency_1
|
|
dependency_2["boards"]
|
|
package_node --> dependency_2</pre>
|
|
</section>
|
|
<section class="semantic-layer" data-praxis-anchor="engineering:coverage" data-praxis-kind="engineering_document_section">
|
|
<h2>Coverage</h2>
|
|
<ul>
|
|
<li>Module path: apps/linux_cardputer_zero</li>
|
|
<li>Number of files: 24</li>
|
|
<li>Number of symbols: 230</li>
|
|
<li>Depends on or called by other modules: 40</li>
|
|
<li>Depends on or calls external modules: 11</li>
|
|
</ul>
|
|
</section>
|
|
<section class="semantic-layer engineering-element-drilldowns" data-praxis-anchor="engineering:package:apps-linux_cardputer_zero:element-drilldowns" data-praxis-kind="engineering_element_drilldown_index">
|
|
<h2>Drill down on semantic elements in the diagram</h2>
|
|
<ol>
|
|
<li data-praxis-anchor="engineering:package:apps-linux_cardputer_zero" data-praxis-kind="engineering_uml_element" data-praxis-mermaid-id="package_node" data-praxis-drilldowns="[{"id":"engineering:diagram:component:apps-linux_cardputer_zero-main","kind":"component","title":"Function node: main","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L49, which coordinates multiple external objects or capabilities and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.html","anchor":"engineering:component:function:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49","relation":"contains","reason":"Open the function node: main to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-contains","kind":"component","title":"Function node: contains","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L19. It is reused or relied on by multiple objects and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.html","anchor":"engineering:component:function:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19","relation":"contains","reason":"Open the function node: contains to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-not_contains","kind":"component","title":"Function node: not_contains","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L24. It is reused or relied on by multiple objects and is used to explain technical collaboration and the impact of changes.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.html","anchor":"engineering:component:function:not_contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:24","relation":"contains","reason":"Open the function node: not_contains to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-read_file","kind":"component","title":"Function node: read_file","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L10. It is reused or relied on by multiple objects and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.html","anchor":"engineering:component:function:read_file:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:10","relation":"contains","reason":"Open the function node: read_file to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:technical-hotspot:collaboration-pressure--main","kind":"technical_hotspot","title":"Candidates for external collaboration: main technology hotspot","summary":"This symbol connects multiple external objects or capabilities and may bear orchestration, aggregation, or overreach responsibilities.","docPath":"docs/engineering/technical-hotspots/collaboration-pressure--main/technical-hotspot.md","htmlPath":"docs/engineering/technical-hotspots/collaboration-pressure--main/technical-hotspot.html","anchor":"engineering:hotspot:external-collaboration-pressure:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49","relation":"risk_detail","reason":"View Candidates for External Collaboration: main Technology Hotspot Whether this complexity signal will increase the cost of reading, modifying, testing or regression of apps/linux_cardputer_zero."},{"id":"engineering:diagram:technical-hotspot:reuse-pressure--contains","kind":"technical_hotspot","title":"Candidates for widespread reuse: contains technical hot spots","summary":"This symbol is referenced or called by multiple codes, which may be a shared core, implicit interface or change diffusion point.","docPath":"docs/engineering/technical-hotspots/reuse-pressure--contains/technical-hotspot.md","htmlPath":"docs/engineering/technical-hotspots/reuse-pressure--contains/technical-hotspot.html","anchor":"engineering:hotspot:reuse-pressure:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19","relation":"risk_detail","reason":"View widely reused candidates: contains Technical Hotspots Whether this complexity signal will increase the cost of reading, modifying, testing or regression of apps/linux_cardputer_zero."}]">
|
|
<strong>apps/linux_cardputer_zero</strong>
|
|
<span>package</span>
|
|
<p>apps/linux_cardputer_zero is the central project boundary of the current Package Diagram, used to observe its own scale, dependency direction, and drill-down technical complexity.</p>
|
|
<dl>
|
|
<div><dt>Technical roles</dt><dd>Technical organization boundary: It aggregates the files, symbols and cross-module relationships under apps/linux_cardputer_zero into a discussable engineering unit.</dd></div>
|
|
<div><dt>Why it appears</dt><dd>The local repository evidence observes enough files, symbols, or cross-module relationships under apps/linux_cardputer_zero that it deserves to be promoted to a package-level entry in the software structure model.</dd></div>
|
|
<div><dt>Relationship meaning</dt><dd>The arrows pointing from apps/linux_cardputer_zero to other nodes in the figure indicate that the current boundary relies on external packages/modules; it is dependent or called 40 times by other modules and depends on or called external modules 11 times, which is used to determine whether it is more like a stable reuse boundary or an orchestration/bridging boundary.</dd></div>
|
|
<div><dt>Drill-down intention</dt><dd>Drilling down on this node can continue to view the key components, structural collaboration slices, running links, deployment nodes and complexity hotspots within apps/linux_cardputer_zero to understand how this project boundary carries functional changes.</dd></div>
|
|
<div><dt>Business correlation</dt><dd>This node is not the business story itself, but the Use Case that falls into apps/linux_cardputer_zero in the organization/process model can refer to this as the technology bearing boundary. The current association is still CANDIDATE.</dd></div>
|
|
<div><dt>Change impact</dt><dd>Modifying the public entry, dependency direction or directory boundary of apps/linux_cardputer_zero may affect the verification paths of component diagrams, sequence fragments, deployment configurations and related business stories that reference it.</dd></div>
|
|
<div><dt>Confidence</dt><dd>high</dd></div>
|
|
</dl>
|
|
<section><h3>Evidence</h3>
|
|
<ul>
|
|
<li>package scope: apps/linux_cardputer_zero</li>
|
|
<li>Module path: apps/linux_cardputer_zero</li>
|
|
<li>Number of files: 24</li>
|
|
<li>Number of symbols: 230</li>
|
|
<li>Depends on or called by other modules: 40</li>
|
|
<li>Depends on or calls external modules: 11</li>
|
|
<li>apps/linux_cardputer_zero/APP_SHELL_MANIFEST.md</li>
|
|
<li>apps/linux_cardputer_zero/CMakeLists.txt</li>
|
|
</ul>
|
|
</section>
|
|
<section><h3>Risk</h3>
|
|
<ul>
|
|
<li>If you only regard this node as a directory name, you will miss its responsibility as a stable project boundary.</li>
|
|
<li>If signs of dependence on external modules continue to increase, it may be a sign that the boundary is taking on too much orchestration or bridging responsibility.</li>
|
|
</ul>
|
|
</section>
|
|
<section><h3>Problem</h3>
|
|
<ul>
|
|
<li>The current warehouse evidence has not yet explicitly traced the package to a Use Case; therefore, the business association remains a candidate.</li>
|
|
</ul>
|
|
</section>
|
|
</li>
|
|
<li data-praxis-anchor="engineering:package:apps-esp32_lvgl" data-praxis-kind="engineering_uml_element" data-praxis-mermaid-id="dependency_1" data-praxis-drilldowns="[{"id":"engineering:diagram:package:apps-esp32_lvgl","kind":"package","title":"Module boundaries: apps/esp32_lvgl","summary":"Explain the package/module boundaries, number of files, number of symbols and cross-module dependencies of apps/esp32_lvgl.","docPath":"docs/engineering/package-diagrams/apps-esp32_lvgl/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/apps-esp32_lvgl/package-diagram.html","anchor":"engineering:package:apps-esp32_lvgl","relation":"parent_boundary","reason":"Open apps/esp32_lvgl's own package-level boundary and check whether apps/linux_cardputer_zero depends on it by borrowing run commands, shared capabilities, governance tools, model adaptation, or infrastructure responsibilities."},{"id":"engineering:diagram:component:apps-esp32_lvgl-main","kind":"component","title":"Function node: main","summary":"The function is located in apps/esp32_lvgl/tests/esp32_lvgl_sd_coredump_contract_smoke.cpp#L33, which coordinates multiple external objects or capabilities and is used to explain technical collaboration and change impact areas.","docPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-main/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-main/component-diagram.html","anchor":"engineering:component:function:main:apps-esp32_lvgl-tests-esp32_lvgl_sd_coredump_contract_smoke.cpp:33","relation":"contains","reason":"Open the function node: main to confirm which specific object within apps/esp32_lvgl is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/esp32_lvgl/tests/esp32_lvgl_sd_coredump_contract_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-esp32_lvgl-contains","kind":"component","title":"Function node: contains","summary":"function is located in apps/esp32_lvgl/tests/esp32_lvgl_sd_coredump_contract_smoke.cpp#L19, which is reused or relied upon by multiple objects and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-contains/component-diagram.html","anchor":"engineering:component:function:contains:apps-esp32_lvgl-tests-esp32_lvgl_sd_coredump_contract_smoke.cpp:19","relation":"contains","reason":"Open the function node: contains to confirm which specific object within apps/esp32_lvgl is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/esp32_lvgl/tests/esp32_lvgl_sd_coredump_contract_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-esp32_lvgl-companion_enter","kind":"component","title":"Function node: companion_enter","summary":"function is located in apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp#L72, which coordinates multiple external objects or capabilities and is used to explain technical collaboration and change impact areas.","docPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-companion_enter/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-companion_enter/component-diagram.html","anchor":"engineering:component:function:companion_enter:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:72","relation":"contains","reason":"Open the function node: companion_enter to confirm which specific object within apps/esp32_lvgl is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:sequence:tick-calls-log_loop_interval","kind":"sequence","title":"Dynamic collaboration: tick calls log_loop_interval","summary":"tick calls log_loop_interval in apps/esp32_lvgl/src/esp32_lvgl_arduino_loop_runtime.cpp.","docPath":"docs/engineering/sequence-diagrams/tick-calls-log_loop_interval/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/tick-calls-log_loop_interval/sequence-diagram.html","anchor":"engineering:runtime-flow:tick:log_loop_interval:apps-esp32_lvgl-src-esp32_lvgl_arduino_loop_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_arduino_loop_runtime.cpp","relation":"dynamic_flow","reason":"Opening this sequence is to restore the static dependency of apps/esp32_lvgl into a readable collaboration: tick -> log_loop_interval. Focus on determining whether this is an import, call, reference or message direction, and whether it really affects the running path."},{"id":"engineering:diagram:sequence:add_status_line-calls-add_label","kind":"sequence","title":"Dynamic collaboration: add_status_line calls add_label","summary":"add_status_line calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp in apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp add_label.","docPath":"docs/engineering/sequence-diagrams/add_status_line-calls-add_label/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/add_status_line-calls-add_label/sequence-diagram.html","anchor":"engineering:runtime-flow:add_status_line:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","relation":"dynamic_flow","reason":"Opening this sequence is to restore the static dependency of apps/esp32_lvgl into a readable collaboration: add_status_line -> add_label. Focus on determining whether this is an import, call, reference or message direction, and whether it really affects the running path."},{"id":"engineering:diagram:sequence:add_u32_line-calls-add_label","kind":"sequence","title":"Dynamic collaboration: add_u32_line calls add_label","summary":"add_u32_line in apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp calls add_label in apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp.","docPath":"docs/engineering/sequence-diagrams/add_u32_line-calls-add_label/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/add_u32_line-calls-add_label/sequence-diagram.html","anchor":"engineering:runtime-flow:add_u32_line:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","relation":"dynamic_flow","reason":"Opening this sequence is to restore the static dependency of apps/esp32_lvgl into a readable collaboration: add_u32_line -> add_label. Focus on determining whether this is an import, call, reference or message direction, and whether it really affects the running path."},{"id":"engineering:diagram:sequence:add_hex_line-calls-add_status_line","kind":"sequence","title":"Dynamic collaboration: add_hex_line calls add_status_line","summary":"add_hex_line in apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp calls add_status_line in apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp.","docPath":"docs/engineering/sequence-diagrams/add_hex_line-calls-add_status_line/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/add_hex_line-calls-add_status_line/sequence-diagram.html","anchor":"engineering:runtime-flow:add_hex_line:add_status_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","relation":"dynamic_flow","reason":"Opening this sequence is to restore the static dependency of apps/esp32_lvgl into a readable collaboration: add_hex_line -> add_status_line. Focus on determining whether this is an import, call, reference or message direction, and whether it really affects the running path."},{"id":"engineering:diagram:sequence:companion_enter-calls-add_label","kind":"sequence","title":"Dynamic collaboration: companion_enter calls add_label","summary":"companion_enter in apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp calls add_label in apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp.","docPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_label/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_label/sequence-diagram.html","anchor":"engineering:runtime-flow:companion_enter:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","relation":"dynamic_flow","reason":"Opening this sequence is to restore the static dependency of apps/esp32_lvgl into a readable collaboration: companion_enter -> add_label. Focus on determining whether this is an import, call, reference or message direction, and whether it really affects the running path."}]">
|
|
<strong>apps/esp32_lvgl</strong>
|
|
<span>package</span>
|
|
<p>apps/esp32_lvgl is the currently observed external technology boundary dependency of apps/linux_cardputer_zero; it indicates that the current module is not implemented in isolation, but requires the help of another set of engineering capabilities to complete its responsibilities.</p>
|
|
<dl>
|
|
<div><dt>Technical roles</dt><dd>Cross-module technology dependency boundary: The current package requires another package/module to provide capabilities, contracts, configuration or operation support.</dd></div>
|
|
<div><dt>Why it appears</dt><dd>Local repository evidence observed a cross-module factual relationship between apps/linux_cardputer_zero and apps/esp32_lvgl, so the dependency was put into the Package Diagram instead of just hidden in the code import/call.</dd></div>
|
|
<div><dt>Relationship meaning</dt><dd>apps/linux_cardputer_zero -> apps/esp32_lvgl indicates that local repository evidence observes cross-module relationships; it explains the technical dependency direction, but does not directly prove the business process.</dd></div>
|
|
<div><dt>Drill-down intention</dt><dd>Drilling down into apps/esp32_lvgl, you can view its own Package Diagram, and then continue to enter its components, structures, sequences or hotspots to determine whether the current dependency falls on the entry, runtime, tool registration, model adaptation or infrastructure boundary.</dd></div>
|
|
<div><dt>Business correlation</dt><dd>apps/linux_cardputer_zero If hosting a user-visible capability, the dependency on apps/esp32_lvgl may be a runtime mechanism, an extension point, or a governance constraint for that capability. This business association needs to be confirmed by the Use Case evidence of the organization/process model.</dd></div>
|
|
<div><dt>Change impact</dt><dd>Modifying the public interface, path or running mode of apps/esp32_lvgl may cause chain changes in the call chain, packaging entry, agent workflow or UI behavior of apps/linux_cardputer_zero.</dd></div>
|
|
<div><dt>Confidence</dt><dd>high</dd></div>
|
|
</dl>
|
|
<section><h3>Evidence</h3>
|
|
<ul>
|
|
<li>dependency edge: apps/linux_cardputer_zero -> apps/esp32_lvgl</li>
|
|
<li>apps/esp32_lvgl/APP_SHELL_MANIFEST.md</li>
|
|
<li>apps/esp32_lvgl/CMakeLists.txt</li>
|
|
<li>apps/esp32_lvgl/library.json</li>
|
|
<li>apps/esp32_lvgl/README.md</li>
|
|
<li>apps/esp32_lvgl/src/esp32_lvgl_app_shell.cpp</li>
|
|
<li>apps/esp32_lvgl/src/esp32_lvgl_app_shell.h</li>
|
|
<li>apps/esp32_lvgl/src/esp32_lvgl_arduino_app_registry.cpp</li>
|
|
</ul>
|
|
</section>
|
|
<section><h3>Risk</h3>
|
|
<ul>
|
|
<li>Cross-module dependencies can only prove technical relationships, but cannot directly prove business relationships.</li>
|
|
<li>If this dependency exists only for implementation convenience, future changes may cause boundary drift or implicit public toolboxes.</li>
|
|
</ul>
|
|
</section>
|
|
<section><h3>Problem</h3>
|
|
<ul>
|
|
<li>Current evidence does not prove that apps/linux_cardputer_zero's dependence on apps/esp32_lvgl is directly related to a Use Case, runtime command, or configuration decision.</li>
|
|
<li>The current dependency direction is a candidate according to the warehouse fact record, and no architectural decision document has been found to prove that it is a stable boundary.</li>
|
|
</ul>
|
|
</section>
|
|
</li>
|
|
<li data-praxis-anchor="engineering:package:boards" data-praxis-kind="engineering_uml_element" data-praxis-mermaid-id="dependency_2" data-praxis-drilldowns="[{"id":"engineering:diagram:package:boards","kind":"package","title":"Module boundaries: boards","summary":"Explain the package/module boundaries, number of files, number of symbols and cross-module dependencies of boards.","docPath":"docs/engineering/package-diagrams/boards/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/boards/package-diagram.html","anchor":"engineering:package:boards","relation":"parent_boundary","reason":"Open boards' own package-level boundaries and check whether apps/linux_cardputer_zero depends on it by borrowing run commands, shared capabilities, governance tools, model adaptation, or infrastructure responsibilities."},{"id":"engineering:diagram:component:boards-makeboardprofile","kind":"component","title":"Function node: makeBoardProfile","summary":"The function is located in boards/t_echo_lite/include/boards/t_echo_lite/board_profile.h#L188, which coordinates multiple external objects or capabilities and is used to explain technical collaboration and change impact areas.","docPath":"docs/engineering/component-diagrams/boards-makeboardprofile/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/boards-makeboardprofile/component-diagram.html","anchor":"engineering:component:function:makeboardprofile:boards-t_echo_lite-include-boards-t_echo_lite-board_profile.h:188","relation":"contains","reason":"Open the function node: makeBoardProfile to confirm which specific object within the boards is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor boards/t_echo_lite/include/boards/t_echo_lite/board_profile.h, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will spread."},{"id":"engineering:diagram:component:boards-pinnum","kind":"component","title":"Function node: pinNum","summary":"function is located in boards/t_echo_lite/include/boards/t_echo_lite/board_profile.h#L8. It is reused or relied on by multiple objects and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/boards-pinnum/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/boards-pinnum/component-diagram.html","anchor":"engineering:component:function:pinnum:boards-t_echo_lite-include-boards-t_echo_lite-board_profile.h:8","relation":"contains","reason":"Open the function node: pinNum to confirm which specific object within the boards is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor boards/t_echo_lite/include/boards/t_echo_lite/board_profile.h, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will spread."},{"id":"engineering:diagram:class-structural:boards-gat562_mesh_evb_pro-include-boards","kind":"class_structural","title":"Structure collaboration: Structural slicing boards · gat562_mesh_evb_pro/include/boards","summary":"Explanation boards/gat562_mesh_evb_pro/include/boards How classes, interfaces, components or value objects in this structural slice share structural responsibilities in structural slice boards; candidates include Gat562Board, SX1262, Sx1262RadioPacketIo, Gat562Board::I2cGuard, GpsRuntime.","docPath":"docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-gat562_mesh_evb_pro-include-boards","relation":"structural_context","reason":"Open structural collaboration: structural slicing boards · gat562_mesh_evb_pro/include/boards is to explain boards from the perspective of object collaboration: which objects are like entrances, which are like orchestration cores, which are like adaptation/sharing boundaries; it helps to judge that the complexity comes from the distribution of responsibilities, not just the number of files."},{"id":"engineering:diagram:class-structural:boards-t_echo_lite-include-boards","kind":"class_structural","title":"Structural collaboration: structural slice boards · t_echo_lite/include/boards","summary":"Explain how the classes, interfaces, components or value objects in this structural slice boards/t_echo_lite/include/boards share structural responsibilities in structural slice boards; candidates include TEchoLiteBoard, Sx1262RadioPacketIo, TEchoLiteBoard::I2cGuard, GpsRuntime, Module.","docPath":"docs/engineering/class-structural-diagrams/boards-t_echo_lite-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-t_echo_lite-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-t_echo_lite-include-boards","relation":"structural_context","reason":"Open Structural Collaboration: Structural Slicing boards · t_echo_lite/include/boards is to explain boards from the perspective of object collaboration: which objects are like entrances, which are like orchestration cores, and which are like adaptation/sharing boundaries; it helps to judge that complexity comes from the distribution of responsibilities, not just the number of files."},{"id":"engineering:diagram:class-structural:boards-tab5-include-boards","kind":"class_structural","title":"Structural collaboration: structural slice boards · tab5/include/boards","summary":"Explain how the classes, interfaces, components or value objects in the structural slice boards/tab5/include/boards share the structural responsibilities in the structural slice boards; candidates include Tab5Board, Tab5Board::ManagedSystemI2cGuard, Tab5Board::SysI2cGuard, CodecCompat.","docPath":"docs/engineering/class-structural-diagrams/boards-tab5-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-tab5-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-tab5-include-boards","relation":"structural_context","reason":"Open structural collaboration: structural slicing boards · tab5/include/boards is to explain boards from the perspective of object collaboration: which objects are like entrances, which are like orchestration cores, and which are like adaptation/sharing boundaries; it helps to judge that the complexity comes from the distribution of responsibilities, not just the number of files."},{"id":"engineering:diagram:class-structural:boards-t_display_p4-include-boards","kind":"class_structural","title":"Structural collaboration: structural slice boards · t_display_p4/include/boards","summary":"Explain how the classes, interfaces, components or value objects in this structural slice boards/t_display_p4/include/boards share structural responsibilities in structural slice boards; candidates include TDisplayP4Board, TDisplayP4Board::ManagedSystemI2cGuard.","docPath":"docs/engineering/class-structural-diagrams/boards-t_display_p4-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-t_display_p4-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-t_display_p4-include-boards","relation":"structural_context","reason":"Open structural collaboration: structural slicing boards · t_display_p4/include/boards is to explain boards from the perspective of object collaboration: which objects are like entrances, which are like orchestration cores, and which are like adaptation/sharing boundaries; it helps to judge that complexity comes from responsibility distribution, not just the number of files."},{"id":"engineering:diagram:class-structural:boards-tlora_pager-include-boards","kind":"class_structural","title":"Structural collaboration: structural slice boards · tlora_pager/include/boards","summary":"Explain how the classes, interfaces, components or value objects in this structural slice boards/tlora_pager/include/boards share structural responsibilities in structural slice boards; candidates include TLoRaPagerBoard, SX1262Access, AppContext.","docPath":"docs/engineering/class-structural-diagrams/boards-tlora_pager-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-tlora_pager-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-tlora_pager-include-boards","relation":"structural_context","reason":"Open structural collaboration: structural slicing boards · tlora_pager/include/boards is to explain boards from the perspective of object collaboration: which objects are like entrances, which are like orchestration cores, and which are like adaptation/sharing boundaries; it helps to judge that complexity comes from the distribution of responsibilities, not just the number of files."},{"id":"engineering:diagram:technical-hotspot:dependency-cluster--boards","kind":"technical_hotspot","title":"Dependency cluster: boards technology hotspots","summary":"This module depends on multiple external boundaries and is currently processed as a candidate technology coupling center; only the dependency directions and boundaries that have been observed by warehouse evidence are retained in the figure.","docPath":"docs/engineering/technical-hotspots/dependency-cluster--boards/technical-hotspot.md","htmlPath":"docs/engineering/technical-hotspots/dependency-cluster--boards/technical-hotspot.html","anchor":"engineering:hotspot:dependency-cluster:boards","relation":"risk_detail","reason":"Check the dependency cluster: boards technology hot spots. Whether this complexity signal will increase the cost of reading, modifying, testing or regression of boards."}]">
|
|
<strong>boards</strong>
|
|
<span>package</span>
|
|
<p>boards is the currently observed external technology boundary dependency of apps/linux_cardputer_zero; it indicates that the current module is not implemented in isolation, but requires the help of another set of engineering capabilities to complete its responsibilities.</p>
|
|
<dl>
|
|
<div><dt>Technical roles</dt><dd>Cross-module technology dependency boundary: The current package requires another package/module to provide capabilities, contracts, configuration or operation support.</dd></div>
|
|
<div><dt>Why it appears</dt><dd>Local repository evidence observed a cross-module factual relationship between apps/linux_cardputer_zero and boards, so the dependency was put into the Package Diagram instead of just hidden in the code import/call.</dd></div>
|
|
<div><dt>Relationship meaning</dt><dd>apps/linux_cardputer_zero -> boards represents local repository evidence of observed cross-module relationships; it explains technical dependency direction, but does not directly prove business processes.</dd></div>
|
|
<div><dt>Drill-down intention</dt><dd>Drill down into boards to view its own Package Diagram, and then continue to enter its components, structures, sequences or hotspots to determine whether the current dependency falls on the entry, runtime, tool registration, model adaptation or infrastructure boundary.</dd></div>
|
|
<div><dt>Business correlation</dt><dd>apps/linux_cardputer_zero If hosting a user-visible capability, the dependency on boards may be the operating mechanism, extension point, or governance constraint of the capability. This business association needs to be confirmed by the Use Case evidence of the organization/process model.</dd></div>
|
|
<div><dt>Change impact</dt><dd>Modifying the public interface, path or operation mode of boards may cause chain changes in the call chain, packaging entry, agent workflow or UI behavior of apps/linux_cardputer_zero.</dd></div>
|
|
<div><dt>Confidence</dt><dd>high</dd></div>
|
|
</dl>
|
|
<section><h3>Evidence</h3>
|
|
<ul>
|
|
<li>dependency edge: apps/linux_cardputer_zero -> boards</li>
|
|
<li>boards/cardputerzero/board_facts.h</li>
|
|
<li>boards/cardputerzero/BOARD.md</li>
|
|
<li>boards/gat562_mesh_evb_pro.json</li>
|
|
<li>boards/gat562_mesh_evb_pro/board_facts.h</li>
|
|
<li>boards/gat562_mesh_evb_pro/BOARD.md</li>
|
|
<li>boards/gat562_mesh_evb_pro/include/boards/gat562_mesh_evb_pro/board_profile.h</li>
|
|
<li>boards/gat562_mesh_evb_pro/include/boards/gat562_mesh_evb_pro/gat562_board.h</li>
|
|
</ul>
|
|
</section>
|
|
<section><h3>Risk</h3>
|
|
<ul>
|
|
<li>Cross-module dependencies can only prove technical relationships, but cannot directly prove business relationships.</li>
|
|
<li>If this dependency exists only for implementation convenience, future changes may cause boundary drift or implicit public toolboxes.</li>
|
|
</ul>
|
|
</section>
|
|
<section><h3>Problem</h3>
|
|
<ul>
|
|
<li>Current evidence does not demonstrate that apps/linux_cardputer_zero dependency boards are directly related to a Use Case, runtime command, or configuration decision.</li>
|
|
<li>The current dependency direction is a candidate according to the warehouse fact record, and no architectural decision document has been found to prove that it is a stable boundary.</li>
|
|
</ul>
|
|
</section>
|
|
</li>
|
|
</ol>
|
|
</section>
|
|
<section class="semantic-layer engineering-drilldowns" data-praxis-anchor="engineering:package:apps-linux_cardputer_zero:drilldowns" data-praxis-kind="engineering_drilldown_options" data-praxis-drilldowns="[{"id":"engineering:diagram:component:apps-linux_cardputer_zero-main","kind":"component","title":"Function node: main","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L49, which coordinates multiple external objects or capabilities and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.html","anchor":"engineering:component:function:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49","relation":"contains","reason":"Open the function node: main to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-contains","kind":"component","title":"Function node: contains","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L19. It is reused or relied on by multiple objects and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.html","anchor":"engineering:component:function:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19","relation":"contains","reason":"Open the function node: contains to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-not_contains","kind":"component","title":"Function node: not_contains","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L24. It is reused or relied on by multiple objects and is used to explain technical collaboration and the impact of changes.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.html","anchor":"engineering:component:function:not_contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:24","relation":"contains","reason":"Open the function node: not_contains to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-read_file","kind":"component","title":"Function node: read_file","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L10. It is reused or relied on by multiple objects and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.html","anchor":"engineering:component:function:read_file:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:10","relation":"contains","reason":"Open the function node: read_file to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:technical-hotspot:collaboration-pressure--main","kind":"technical_hotspot","title":"Candidates for external collaboration: main technology hotspot","summary":"This symbol connects multiple external objects or capabilities and may bear orchestration, aggregation, or overreach responsibilities.","docPath":"docs/engineering/technical-hotspots/collaboration-pressure--main/technical-hotspot.md","htmlPath":"docs/engineering/technical-hotspots/collaboration-pressure--main/technical-hotspot.html","anchor":"engineering:hotspot:external-collaboration-pressure:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49","relation":"risk_detail","reason":"View Candidates for External Collaboration: main Technology Hotspot Whether this complexity signal will increase the cost of reading, modifying, testing or regression of apps/linux_cardputer_zero."},{"id":"engineering:diagram:technical-hotspot:reuse-pressure--contains","kind":"technical_hotspot","title":"Candidates for widespread reuse: contains technical hot spots","summary":"This symbol is referenced or called by multiple codes, which may be a shared core, implicit interface or change diffusion point.","docPath":"docs/engineering/technical-hotspots/reuse-pressure--contains/technical-hotspot.md","htmlPath":"docs/engineering/technical-hotspots/reuse-pressure--contains/technical-hotspot.html","anchor":"engineering:hotspot:reuse-pressure:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19","relation":"risk_detail","reason":"View widely reused candidates: contains Technical Hotspots Whether this complexity signal will increase the cost of reading, modifying, testing or regression of apps/linux_cardputer_zero."}]">
|
|
<h2>Drill-down UML</h2>
|
|
<div class="layer-grid">
|
|
<article role="link" tabindex="0" class="layer-card document-entry-card" data-praxis-anchor="engineering:component:function:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49" data-praxis-kind="engineering_drilldown_link" data-praxis-document-title="Function node: main" data-praxis-document-summary="Open the function node: main to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate." data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.md" data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.html">
|
|
<strong>Function node: main</strong>
|
|
<span>component · contains</span>
|
|
<p>Open the function node: main to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate.</p>
|
|
<small>function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L49, which coordinates multiple external objects or capabilities and is used to explain technical collaboration and change impact.</small>
|
|
</article>
|
|
<article role="link" tabindex="0" class="layer-card document-entry-card" data-praxis-anchor="engineering:component:function:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19" data-praxis-kind="engineering_drilldown_link" data-praxis-document-title="Function node: contains" data-praxis-document-summary="Open the function node: contains to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate." data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.md" data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.html">
|
|
<strong>Function node: contains</strong>
|
|
<span>component · contains</span>
|
|
<p>Open the function node: contains to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate.</p>
|
|
<small>function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L19. It is reused or relied on by multiple objects and is used to explain technical collaboration and change impact.</small>
|
|
</article>
|
|
<article role="link" tabindex="0" class="layer-card document-entry-card" data-praxis-anchor="engineering:component:function:not_contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:24" data-praxis-kind="engineering_drilldown_link" data-praxis-document-title="Function node: not_contains" data-praxis-document-summary="Open the function node: not_contains to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate." data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.md" data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.html">
|
|
<strong>Function node: not_contains</strong>
|
|
<span>component · contains</span>
|
|
<p>Open the function node: not_contains to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate.</p>
|
|
<small>function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L24. It is reused or relied on by multiple objects and is used to explain technical collaboration and the impact of changes.</small>
|
|
</article>
|
|
<article role="link" tabindex="0" class="layer-card document-entry-card" data-praxis-anchor="engineering:component:function:read_file:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:10" data-praxis-kind="engineering_drilldown_link" data-praxis-document-title="Function node: read_file" data-praxis-document-summary="Open the function node: read_file to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate." data-praxis-document-md="docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.md" data-praxis-document-html="docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.html">
|
|
<strong>Function node: read_file</strong>
|
|
<span>component · contains</span>
|
|
<p>Open the function node: read_file to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate.</p>
|
|
<small>function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L10. It is reused or relied on by multiple objects and is used to explain technical collaboration and change impact.</small>
|
|
</article>
|
|
<article role="link" tabindex="0" class="layer-card document-entry-card" data-praxis-anchor="engineering:hotspot:external-collaboration-pressure:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49" data-praxis-kind="engineering_drilldown_link" data-praxis-document-title="Candidates for external collaboration: main technology hotspot" data-praxis-document-summary="View Candidates for External Collaboration: main Technology Hotspot Whether this complexity signal will increase the cost of reading, modifying, testing or regression of apps/linux_cardputer_zero." data-praxis-document-md="docs/engineering/technical-hotspots/collaboration-pressure--main/technical-hotspot.md" data-praxis-document-html="docs/engineering/technical-hotspots/collaboration-pressure--main/technical-hotspot.html">
|
|
<strong>Candidates for external collaboration: main technology hotspot</strong>
|
|
<span>technical_hotspot · risk_detail</span>
|
|
<p>View Candidates for External Collaboration: main Technology Hotspot Whether this complexity signal will increase the cost of reading, modifying, testing or regression of apps/linux_cardputer_zero.</p>
|
|
<small>This symbol connects multiple external objects or capabilities and may bear orchestration, aggregation, or overreach responsibilities.</small>
|
|
</article>
|
|
<article role="link" tabindex="0" class="layer-card document-entry-card" data-praxis-anchor="engineering:hotspot:reuse-pressure:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19" data-praxis-kind="engineering_drilldown_link" data-praxis-document-title="Candidates for widespread reuse: contains technical hot spots" data-praxis-document-summary="View widely reused candidates: contains Technical Hotspots Whether this complexity signal will increase the cost of reading, modifying, testing or regression of apps/linux_cardputer_zero." data-praxis-document-md="docs/engineering/technical-hotspots/reuse-pressure--contains/technical-hotspot.md" data-praxis-document-html="docs/engineering/technical-hotspots/reuse-pressure--contains/technical-hotspot.html">
|
|
<strong>Candidates for widespread reuse: contains technical hot spots</strong>
|
|
<span>technical_hotspot · risk_detail</span>
|
|
<p>View widely reused candidates: contains Technical Hotspots Whether this complexity signal will increase the cost of reading, modifying, testing or regression of apps/linux_cardputer_zero.</p>
|
|
<small>This symbol is referenced or called by multiple codes, which may be a shared core, implicit interface or change diffusion point.</small>
|
|
</article>
|
|
</div>
|
|
</section>
|
|
<section class="semantic-layer" data-praxis-anchor="engineering:evidence" data-praxis-kind="engineering_document_section">
|
|
<h2>Evidence</h2>
|
|
<ul>
|
|
<li>apps/linux_cardputer_zero/APP_SHELL_MANIFEST.md</li>
|
|
<li>apps/linux_cardputer_zero/CMakeLists.txt</li>
|
|
<li>apps/linux_cardputer_zero/packaging/trailmate-cardputer-zero-applaunch</li>
|
|
<li>apps/linux_cardputer_zero/packaging/trailmate-cardputer-zero.desktop</li>
|
|
<li>apps/linux_cardputer_zero/packaging/trailmate-cardputer-zero.png</li>
|
|
<li>apps/linux_cardputer_zero/README.md</li>
|
|
<li>apps/linux_cardputer_zero/src/cardputer_zero_input_method_port.cpp</li>
|
|
<li>apps/linux_cardputer_zero/src/cardputer_zero_input_method_port.h</li>
|
|
</ul>
|
|
</section>
|
|
<section class="semantic-layer" data-praxis-anchor="engineering:questions" data-praxis-kind="engineering_document_section">
|
|
<h2>Problem</h2>
|
|
<ul>
|
|
<li>There are no open issues yet.</li>
|
|
</ul>
|
|
</section>
|
|
<script type="application/json" id="praxis-engineering-diagram-document">{"id":"engineering:diagram:package:apps-linux_cardputer_zero","kind":"package","title":"Module Boundaries: apps/linux_cardputer_zero","summary":"Explain the package/module boundaries, number of files, number of symbols and cross-module dependencies of apps/linux_cardputer_zero.","docPath":"docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/apps-linux_cardputer_zero/package-diagram.html","anchor":"engineering:package:apps-linux_cardputer_zero","status":"candidate","confidence":"high","mermaidKind":"flowchart","mermaid":"flowchart LR\n package_node[\"apps/linux_cardputer_zero\"]\n dependency_1[\"apps/esp32_lvgl\"]\n package_node --> dependency_1\n dependency_2[\"boards\"]\n package_node --> dependency_2","readingGuide":["This Package Diagram is centered on apps/linux_cardputer_zero, showing the file size, symbol size, and cross-module dependencies observed when it serves as a project module boundary.","The arrows in the figure represent the cross-module relationships observed by the local warehouse evidence, which are mainly used to understand the direction of technical dependencies; it is not the business process sequence, nor the runtime message timing.","The main external dependencies currently observed include: apps/esp32_lvgl, boards."],"technicalAnalysis":["apps/linux_cardputer_zero currently contains 24 files and 230 symbols belonging to technical organizational boundaries identified by the software architecture model.","The cross-module relationship is as follows: it is referenced or called 40 times by other modules, and it actively depends on or calls external modules 11 times, so it is more dependent on other modules.","Currently there is no obvious abnormality in external dependence, but specific business entrances should still be used to determine whether the direction of dependence is stable."],"businessRelation":["apps/linux_cardputer_zero is not the business story itself, but the technical boundaries that may pass when business capabilities are implemented.","If the evidence, entry or drill-down diagram of a Use Case in the organization/process model falls in apps/linux_cardputer_zero, the Use Case should be linked back to this Package Diagram to indicate which engineering module the business story is hosted by.","The current association is still CANDIDATE: The technical boundaries can only be explained here based on warehouse evidence and cannot replace the confirmation of the business story, actors and business goals of the organizational/process model."],"governanceNotes":["When adding a new function, give priority to confirming that it belongs to the stable responsibilities of the module, rather than falling into this module because of the convenience of calling.","Keep the module's dependency direction explainable to avoid forming an implicit public toolbox.","When the business Use Case document references this module, the specific entry, call chain or configuration evidence should be recorded in the Use Case drill-down document."],"coverage":["Module path: apps/linux_cardputer_zero","Number of files: 24","Number of symbols: 230","Depends on or called by other modules: 40","Depends on or calls external modules: 11"],"evidencePaths":["apps/linux_cardputer_zero/APP_SHELL_MANIFEST.md","apps/linux_cardputer_zero/CMakeLists.txt","apps/linux_cardputer_zero/packaging/trailmate-cardputer-zero-applaunch","apps/linux_cardputer_zero/packaging/trailmate-cardputer-zero.desktop","apps/linux_cardputer_zero/packaging/trailmate-cardputer-zero.png","apps/linux_cardputer_zero/README.md","apps/linux_cardputer_zero/src/cardputer_zero_input_method_port.cpp","apps/linux_cardputer_zero/src/cardputer_zero_input_method_port.h"],"questions":[],"scope":{"packageId":"apps/linux_cardputer_zero","filePath":"apps/linux_cardputer_zero"},"drilldowns":[{"id":"engineering:diagram:component:apps-linux_cardputer_zero-main","kind":"component","title":"Function node: main","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L49, which coordinates multiple external objects or capabilities and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.html","anchor":"engineering:component:function:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49","relation":"contains","reason":"Open the function node: main to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-contains","kind":"component","title":"Function node: contains","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L19. It is reused or relied on by multiple objects and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.html","anchor":"engineering:component:function:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19","relation":"contains","reason":"Open the function node: contains to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-not_contains","kind":"component","title":"Function node: not_contains","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L24. It is reused or relied on by multiple objects and is used to explain technical collaboration and the impact of changes.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.html","anchor":"engineering:component:function:not_contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:24","relation":"contains","reason":"Open the function node: not_contains to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-read_file","kind":"component","title":"Function node: read_file","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L10. It is reused or relied on by multiple objects and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.html","anchor":"engineering:component:function:read_file:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:10","relation":"contains","reason":"Open the function node: read_file to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:technical-hotspot:collaboration-pressure--main","kind":"technical_hotspot","title":"Candidates for external collaboration: main technology hotspot","summary":"This symbol connects multiple external objects or capabilities and may bear orchestration, aggregation, or overreach responsibilities.","docPath":"docs/engineering/technical-hotspots/collaboration-pressure--main/technical-hotspot.md","htmlPath":"docs/engineering/technical-hotspots/collaboration-pressure--main/technical-hotspot.html","anchor":"engineering:hotspot:external-collaboration-pressure:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49","relation":"risk_detail","reason":"View Candidates for External Collaboration: main Technology Hotspot Whether this complexity signal will increase the cost of reading, modifying, testing or regression of apps/linux_cardputer_zero."},{"id":"engineering:diagram:technical-hotspot:reuse-pressure--contains","kind":"technical_hotspot","title":"Candidates for widespread reuse: contains technical hot spots","summary":"This symbol is referenced or called by multiple codes, which may be a shared core, implicit interface or change diffusion point.","docPath":"docs/engineering/technical-hotspots/reuse-pressure--contains/technical-hotspot.md","htmlPath":"docs/engineering/technical-hotspots/reuse-pressure--contains/technical-hotspot.html","anchor":"engineering:hotspot:reuse-pressure:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19","relation":"risk_detail","reason":"View widely reused candidates: contains Technical Hotspots Whether this complexity signal will increase the cost of reading, modifying, testing or regression of apps/linux_cardputer_zero."}],"elements":[{"id":"engineering:diagram:package:apps-linux_cardputer_zero:element:apps-linux_cardputer_zero","mermaidId":"package_node","label":"apps/linux_cardputer_zero","kind":"package","anchor":"engineering:package:apps-linux_cardputer_zero","summary":"apps/linux_cardputer_zero is the central project boundary of the current Package Diagram, used to observe its own scale, dependency direction, and drill-down technical complexity.","role":"Technical organization boundary: It aggregates the files, symbols and cross-module relationships under apps/linux_cardputer_zero into a discussable engineering unit.","whyItExists":"The local repository evidence observes enough files, symbols, or cross-module relationships under apps/linux_cardputer_zero that it deserves to be promoted to a package-level entry in the software structure model.","relationshipMeaning":"The arrows pointing from apps/linux_cardputer_zero to other nodes in the figure indicate that the current boundary relies on external packages/modules; it is dependent or called 40 times by other modules and depends on or called external modules 11 times, which is used to determine whether it is more like a stable reuse boundary or an orchestration/bridging boundary.","drilldownIntent":"Drilling down on this node can continue to view the key components, structural collaboration slices, running links, deployment nodes and complexity hotspots within apps/linux_cardputer_zero to understand how this project boundary carries functional changes.","businessRelevance":"This node is not the business story itself, but the Use Case that falls into apps/linux_cardputer_zero in the organization/process model can refer to this as the technology bearing boundary. The current association is still CANDIDATE.","changeImpact":"Modifying the public entry, dependency direction or directory boundary of apps/linux_cardputer_zero may affect the verification paths of component diagrams, sequence fragments, deployment configurations and related business stories that reference it.","evidence":["package scope: apps/linux_cardputer_zero","Module path: apps/linux_cardputer_zero","Number of files: 24","Number of symbols: 230","Depends on or called by other modules: 40","Depends on or calls external modules: 11","apps/linux_cardputer_zero/APP_SHELL_MANIFEST.md","apps/linux_cardputer_zero/CMakeLists.txt"],"risks":["If you only regard this node as a directory name, you will miss its responsibility as a stable project boundary.","If signs of dependence on external modules continue to increase, it may be a sign that the boundary is taking on too much orchestration or bridging responsibility."],"questions":["The current warehouse evidence has not yet explicitly traced the package to a Use Case; therefore, the business association remains a candidate."],"confidence":"high","drilldowns":[{"id":"engineering:diagram:component:apps-linux_cardputer_zero-main","kind":"component","title":"Function node: main","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L49, which coordinates multiple external objects or capabilities and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-main/component-diagram.html","anchor":"engineering:component:function:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49","relation":"contains","reason":"Open the function node: main to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-contains","kind":"component","title":"Function node: contains","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L19. It is reused or relied on by multiple objects and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-contains/component-diagram.html","anchor":"engineering:component:function:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19","relation":"contains","reason":"Open the function node: contains to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-not_contains","kind":"component","title":"Function node: not_contains","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L24. It is reused or relied on by multiple objects and is used to explain technical collaboration and the impact of changes.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-not_contains/component-diagram.html","anchor":"engineering:component:function:not_contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:24","relation":"contains","reason":"Open the function node: not_contains to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-linux_cardputer_zero-read_file","kind":"component","title":"Function node: read_file","summary":"function is located in apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp#L10. It is reused or relied on by multiple objects and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-linux_cardputer_zero-read_file/component-diagram.html","anchor":"engineering:component:function:read_file:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:10","relation":"contains","reason":"Open the function node: read_file to confirm which specific object within apps/linux_cardputer_zero is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/linux_cardputer_zero/tests/linux_cardputer_zero_business_wiring_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:technical-hotspot:collaboration-pressure--main","kind":"technical_hotspot","title":"Candidates for external collaboration: main technology hotspot","summary":"This symbol connects multiple external objects or capabilities and may bear orchestration, aggregation, or overreach responsibilities.","docPath":"docs/engineering/technical-hotspots/collaboration-pressure--main/technical-hotspot.md","htmlPath":"docs/engineering/technical-hotspots/collaboration-pressure--main/technical-hotspot.html","anchor":"engineering:hotspot:external-collaboration-pressure:main:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:49","relation":"risk_detail","reason":"View Candidates for External Collaboration: main Technology Hotspot Whether this complexity signal will increase the cost of reading, modifying, testing or regression of apps/linux_cardputer_zero."},{"id":"engineering:diagram:technical-hotspot:reuse-pressure--contains","kind":"technical_hotspot","title":"Candidates for widespread reuse: contains technical hot spots","summary":"This symbol is referenced or called by multiple codes, which may be a shared core, implicit interface or change diffusion point.","docPath":"docs/engineering/technical-hotspots/reuse-pressure--contains/technical-hotspot.md","htmlPath":"docs/engineering/technical-hotspots/reuse-pressure--contains/technical-hotspot.html","anchor":"engineering:hotspot:reuse-pressure:contains:apps-linux_cardputer_zero-tests-linux_cardputer_zero_business_wiring_smoke.cpp:19","relation":"risk_detail","reason":"View widely reused candidates: contains Technical Hotspots Whether this complexity signal will increase the cost of reading, modifying, testing or regression of apps/linux_cardputer_zero."}]},{"id":"engineering:diagram:package:apps-linux_cardputer_zero:element:apps-esp32_lvgl","mermaidId":"dependency_1","label":"apps/esp32_lvgl","kind":"package","anchor":"engineering:package:apps-esp32_lvgl","summary":"apps/esp32_lvgl is the currently observed external technology boundary dependency of apps/linux_cardputer_zero; it indicates that the current module is not implemented in isolation, but requires the help of another set of engineering capabilities to complete its responsibilities.","role":"Cross-module technology dependency boundary: The current package requires another package/module to provide capabilities, contracts, configuration or operation support.","whyItExists":"Local repository evidence observed a cross-module factual relationship between apps/linux_cardputer_zero and apps/esp32_lvgl, so the dependency was put into the Package Diagram instead of just hidden in the code import/call.","relationshipMeaning":"apps/linux_cardputer_zero -> apps/esp32_lvgl indicates that local warehouse evidence observes cross-module relationships; it explains the technical dependency direction, but does not directly prove the business process.","drilldownIntent":"Drilling down into apps/esp32_lvgl, you can view its own Package Diagram, and then continue to enter its components, structures, sequences or hotspots to determine whether the current dependency falls on the entry, runtime, tool registration, model adaptation or infrastructure boundary.","businessRelevance":"apps/linux_cardputer_zero If hosting a user-visible capability, the dependency on apps/esp32_lvgl may be a runtime mechanism, an extension point, or a governance constraint for that capability. This business association needs to be confirmed by the Use Case evidence of the organization/process model.","changeImpact":"Modifying the public interface, path or running mode of apps/esp32_lvgl may cause chain changes in the call chain, packaging entry, agent workflow or UI behavior of apps/linux_cardputer_zero.","evidence":["dependency edge: apps/linux_cardputer_zero -> apps/esp32_lvgl","apps/esp32_lvgl/APP_SHELL_MANIFEST.md","apps/esp32_lvgl/CMakeLists.txt","apps/esp32_lvgl/library.json","apps/esp32_lvgl/README.md","apps/esp32_lvgl/src/esp32_lvgl_app_shell.cpp","apps/esp32_lvgl/src/esp32_lvgl_app_shell.h","apps/esp32_lvgl/src/esp32_lvgl_arduino_app_registry.cpp"],"risks":["Cross-module dependencies can only prove technical relationships, but cannot directly prove business relationships.","If this dependency exists only for implementation convenience, future changes may cause boundary drift or implicit public toolboxes."],"questions":["Current evidence does not prove that apps/linux_cardputer_zero's dependence on apps/esp32_lvgl is directly related to a Use Case, runtime command, or configuration decision.","The current dependency direction is a candidate according to the warehouse fact record, and no architectural decision document has been found to prove that it is a stable boundary."],"confidence":"high","drilldowns":[{"id":"engineering:diagram:package:apps-esp32_lvgl","kind":"package","title":"Module boundaries: apps/esp32_lvgl","summary":"Explain the package/module boundaries, number of files, number of symbols and cross-module dependencies of apps/esp32_lvgl.","docPath":"docs/engineering/package-diagrams/apps-esp32_lvgl/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/apps-esp32_lvgl/package-diagram.html","anchor":"engineering:package:apps-esp32_lvgl","relation":"parent_boundary","reason":"Open apps/esp32_lvgl's own package-level boundary and check whether apps/linux_cardputer_zero depends on it by borrowing run commands, shared capabilities, governance tools, model adaptation, or infrastructure responsibilities."},{"id":"engineering:diagram:component:apps-esp32_lvgl-main","kind":"component","title":"Function node: main","summary":"The function is located in apps/esp32_lvgl/tests/esp32_lvgl_sd_coredump_contract_smoke.cpp#L33, which coordinates multiple external objects or capabilities and is used to explain technical collaboration and change impact areas.","docPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-main/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-main/component-diagram.html","anchor":"engineering:component:function:main:apps-esp32_lvgl-tests-esp32_lvgl_sd_coredump_contract_smoke.cpp:33","relation":"contains","reason":"Open the function node: main to confirm which specific object within apps/esp32_lvgl is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/esp32_lvgl/tests/esp32_lvgl_sd_coredump_contract_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-esp32_lvgl-contains","kind":"component","title":"Function node: contains","summary":"function is located in apps/esp32_lvgl/tests/esp32_lvgl_sd_coredump_contract_smoke.cpp#L19, which is reused or relied upon by multiple objects and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-contains/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-contains/component-diagram.html","anchor":"engineering:component:function:contains:apps-esp32_lvgl-tests-esp32_lvgl_sd_coredump_contract_smoke.cpp:19","relation":"contains","reason":"Open the function node: contains to confirm which specific object within apps/esp32_lvgl is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/esp32_lvgl/tests/esp32_lvgl_sd_coredump_contract_smoke.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:component:apps-esp32_lvgl-companion_enter","kind":"component","title":"Function node: companion_enter","summary":"function is located in apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp#L72, which coordinates multiple external objects or capabilities and is used to explain technical collaboration and change impact areas.","docPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-companion_enter/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/apps-esp32_lvgl-companion_enter/component-diagram.html","anchor":"engineering:component:function:companion_enter:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:72","relation":"contains","reason":"Open the function node: companion_enter to confirm which specific object within apps/esp32_lvgl is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will propagate."},{"id":"engineering:diagram:sequence:tick-calls-log_loop_interval","kind":"sequence","title":"Dynamic collaboration: tick calls log_loop_interval","summary":"tick calls log_loop_interval in apps/esp32_lvgl/src/esp32_lvgl_arduino_loop_runtime.cpp.","docPath":"docs/engineering/sequence-diagrams/tick-calls-log_loop_interval/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/tick-calls-log_loop_interval/sequence-diagram.html","anchor":"engineering:runtime-flow:tick:log_loop_interval:apps-esp32_lvgl-src-esp32_lvgl_arduino_loop_runtime.cpp:apps-esp32_lvgl-src-esp32_lvgl_arduino_loop_runtime.cpp","relation":"dynamic_flow","reason":"Opening this sequence is to restore the static dependency of apps/esp32_lvgl into a readable collaboration: tick -> log_loop_interval. Focus on determining whether this is an import, call, reference or message direction, and whether it really affects the running path."},{"id":"engineering:diagram:sequence:add_status_line-calls-add_label","kind":"sequence","title":"Dynamic collaboration: add_status_line calls add_label","summary":"add_status_line calls apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp in apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp add_label.","docPath":"docs/engineering/sequence-diagrams/add_status_line-calls-add_label/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/add_status_line-calls-add_label/sequence-diagram.html","anchor":"engineering:runtime-flow:add_status_line:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","relation":"dynamic_flow","reason":"Opening this sequence is to restore the static dependency of apps/esp32_lvgl into a readable collaboration: add_status_line -> add_label. Focus on determining whether this is an import, call, reference or message direction, and whether it really affects the running path."},{"id":"engineering:diagram:sequence:add_u32_line-calls-add_label","kind":"sequence","title":"Dynamic collaboration: add_u32_line calls add_label","summary":"add_u32_line in apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp calls add_label in apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp.","docPath":"docs/engineering/sequence-diagrams/add_u32_line-calls-add_label/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/add_u32_line-calls-add_label/sequence-diagram.html","anchor":"engineering:runtime-flow:add_u32_line:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","relation":"dynamic_flow","reason":"Opening this sequence is to restore the static dependency of apps/esp32_lvgl into a readable collaboration: add_u32_line -> add_label. Focus on determining whether this is an import, call, reference or message direction, and whether it really affects the running path."},{"id":"engineering:diagram:sequence:add_hex_line-calls-add_status_line","kind":"sequence","title":"Dynamic collaboration: add_hex_line calls add_status_line","summary":"add_hex_line in apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp calls add_status_line in apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp.","docPath":"docs/engineering/sequence-diagrams/add_hex_line-calls-add_status_line/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/add_hex_line-calls-add_status_line/sequence-diagram.html","anchor":"engineering:runtime-flow:add_hex_line:add_status_line:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","relation":"dynamic_flow","reason":"Opening this sequence is to restore the static dependency of apps/esp32_lvgl into a readable collaboration: add_hex_line -> add_status_line. Focus on determining whether this is an import, call, reference or message direction, and whether it really affects the running path."},{"id":"engineering:diagram:sequence:companion_enter-calls-add_label","kind":"sequence","title":"Dynamic collaboration: companion_enter calls add_label","summary":"companion_enter in apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp calls add_label in apps/esp32_lvgl/src/esp32_lvgl_idf_app_registry.cpp.","docPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_label/sequence-diagram.md","htmlPath":"docs/engineering/sequence-diagrams/companion_enter-calls-add_label/sequence-diagram.html","anchor":"engineering:runtime-flow:companion_enter:add_label:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp:apps-esp32_lvgl-src-esp32_lvgl_idf_app_registry.cpp","relation":"dynamic_flow","reason":"Opening this sequence is to restore the static dependency of apps/esp32_lvgl into a readable collaboration: companion_enter -> add_label. Focus on determining whether this is an import, call, reference or message direction, and whether it really affects the running path."}]},{"id":"engineering:diagram:package:apps-linux_cardputer_zero:element:boards","mermaidId":"dependency_2","label":"boards","kind":"package","anchor":"engineering:package:boards","summary":"boards is the currently observed external technology boundary dependency of apps/linux_cardputer_zero; it indicates that the current module is not implemented in isolation, but requires the help of another set of engineering capabilities to complete its responsibilities.","role":"Cross-module technology dependency boundary: The current package requires another package/module to provide capabilities, contracts, configuration or operation support.","whyItExists":"Local repository evidence observed a cross-module factual relationship between apps/linux_cardputer_zero and boards, so the dependency was put into the Package Diagram instead of just hidden in the code import/call.","relationshipMeaning":"apps/linux_cardputer_zero -> boards represents local repository evidence of observed cross-module relationships; it explains technical dependency direction, but does not directly prove business processes.","drilldownIntent":"Drill down into boards to view its own Package Diagram, and then continue to enter its components, structures, sequences or hotspots to determine whether the current dependency falls on the entry, runtime, tool registration, model adaptation or infrastructure boundary.","businessRelevance":"apps/linux_cardputer_zero If hosting a user-visible capability, the dependency on boards may be the operating mechanism, extension point, or governance constraint of the capability. This business association needs to be confirmed by the Use Case evidence of the organization/process model.","changeImpact":"Modifying the public interface, path or operation mode of boards may cause chain changes in the call chain, packaging entry, agent workflow or UI behavior of apps/linux_cardputer_zero.","evidence":["dependency edge: apps/linux_cardputer_zero -> boards","boards/cardputerzero/board_facts.h","boards/cardputerzero/BOARD.md","boards/gat562_mesh_evb_pro.json","boards/gat562_mesh_evb_pro/board_facts.h","boards/gat562_mesh_evb_pro/BOARD.md","boards/gat562_mesh_evb_pro/include/boards/gat562_mesh_evb_pro/board_profile.h","boards/gat562_mesh_evb_pro/include/boards/gat562_mesh_evb_pro/gat562_board.h"],"risks":["Cross-module dependencies can only prove technical relationships, but cannot directly prove business relationships.","If this dependency exists only for implementation convenience, future changes may cause boundary drift or implicit public toolboxes."],"questions":["Current evidence does not demonstrate that apps/linux_cardputer_zero dependency boards are directly related to a Use Case, runtime command, or configuration decision.","The current dependency direction is a candidate according to the warehouse fact record, and no architectural decision document has been found to prove that it is a stable boundary."],"confidence":"high","drilldowns":[{"id":"engineering:diagram:package:boards","kind":"package","title":"Module boundaries: boards","summary":"Explain the package/module boundaries, number of files, number of symbols and cross-module dependencies of boards.","docPath":"docs/engineering/package-diagrams/boards/package-diagram.md","htmlPath":"docs/engineering/package-diagrams/boards/package-diagram.html","anchor":"engineering:package:boards","relation":"parent_boundary","reason":"Open boards' own package-level boundaries and check whether apps/linux_cardputer_zero depends on it by borrowing run commands, shared capabilities, governance tools, model adaptation, or infrastructure responsibilities."},{"id":"engineering:diagram:component:boards-makeboardprofile","kind":"component","title":"Function node: makeBoardProfile","summary":"The function is located in boards/t_echo_lite/include/boards/t_echo_lite/board_profile.h#L188, which coordinates multiple external objects or capabilities and is used to explain technical collaboration and change impact areas.","docPath":"docs/engineering/component-diagrams/boards-makeboardprofile/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/boards-makeboardprofile/component-diagram.html","anchor":"engineering:component:function:makeboardprofile:boards-t_echo_lite-include-boards-t_echo_lite-board_profile.h:188","relation":"contains","reason":"Open the function node: makeBoardProfile to confirm which specific object within the boards is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor boards/t_echo_lite/include/boards/t_echo_lite/board_profile.h, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will spread."},{"id":"engineering:diagram:component:boards-pinnum","kind":"component","title":"Function node: pinNum","summary":"function is located in boards/t_echo_lite/include/boards/t_echo_lite/board_profile.h#L8. It is reused or relied on by multiple objects and is used to explain technical collaboration and change impact.","docPath":"docs/engineering/component-diagrams/boards-pinnum/component-diagram.md","htmlPath":"docs/engineering/component-diagrams/boards-pinnum/component-diagram.html","anchor":"engineering:component:function:pinnum:boards-t_echo_lite-include-boards-t_echo_lite-board_profile.h:8","relation":"contains","reason":"Open the function node: pinNum to confirm which specific object within the boards is responsible for entry, orchestration, adaptation, contract or sharing responsibilities. Focus on checking the code anchor boards/t_echo_lite/include/boards/t_echo_lite/board_profile.h, and whether its referenced/calling relationship and external dependency/calling relationship mean that changes will spread."},{"id":"engineering:diagram:class-structural:boards-gat562_mesh_evb_pro-include-boards","kind":"class_structural","title":"Structure collaboration: Structural slicing boards · gat562_mesh_evb_pro/include/boards","summary":"Explanation boards/gat562_mesh_evb_pro/include/boards How classes, interfaces, components or value objects in this structural slice share structural responsibilities in structural slice boards; candidates include Gat562Board, SX1262, Sx1262RadioPacketIo, Gat562Board::I2cGuard, GpsRuntime.","docPath":"docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-gat562_mesh_evb_pro-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-gat562_mesh_evb_pro-include-boards","relation":"structural_context","reason":"Open structural collaboration: structural slicing boards · gat562_mesh_evb_pro/include/boards is to explain boards from the perspective of object collaboration: which objects are like entrances, which are like orchestration cores, which are like adaptation/sharing boundaries; it helps to judge that the complexity comes from the distribution of responsibilities, not just the number of files."},{"id":"engineering:diagram:class-structural:boards-t_echo_lite-include-boards","kind":"class_structural","title":"Structural collaboration: structural slice boards · t_echo_lite/include/boards","summary":"Explain how the classes, interfaces, components or value objects in this structural slice boards/t_echo_lite/include/boards share structural responsibilities in structural slice boards; candidates include TEchoLiteBoard, Sx1262RadioPacketIo, TEchoLiteBoard::I2cGuard, GpsRuntime, Module.","docPath":"docs/engineering/class-structural-diagrams/boards-t_echo_lite-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-t_echo_lite-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-t_echo_lite-include-boards","relation":"structural_context","reason":"Open Structural Collaboration: Structural Slicing boards · t_echo_lite/include/boards is to explain boards from the perspective of object collaboration: which objects are like entrances, which are like orchestration cores, and which are like adaptation/sharing boundaries; it helps to judge that complexity comes from the distribution of responsibilities, not just the number of files."},{"id":"engineering:diagram:class-structural:boards-tab5-include-boards","kind":"class_structural","title":"Structural collaboration: structural slice boards · tab5/include/boards","summary":"Explain how the classes, interfaces, components or value objects in the structural slice boards/tab5/include/boards share the structural responsibilities in the structural slice boards; candidates include Tab5Board, Tab5Board::ManagedSystemI2cGuard, Tab5Board::SysI2cGuard, CodecCompat.","docPath":"docs/engineering/class-structural-diagrams/boards-tab5-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-tab5-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-tab5-include-boards","relation":"structural_context","reason":"Open structural collaboration: structural slicing boards · tab5/include/boards is to explain boards from the perspective of object collaboration: which objects are like entrances, which are like orchestration cores, and which are like adaptation/sharing boundaries; it helps to judge that the complexity comes from the distribution of responsibilities, not just the number of files."},{"id":"engineering:diagram:class-structural:boards-t_display_p4-include-boards","kind":"class_structural","title":"Structural collaboration: structural slice boards · t_display_p4/include/boards","summary":"Explain how the classes, interfaces, components or value objects in this structural slice boards/t_display_p4/include/boards share structural responsibilities in structural slice boards; candidates include TDisplayP4Board, TDisplayP4Board::ManagedSystemI2cGuard.","docPath":"docs/engineering/class-structural-diagrams/boards-t_display_p4-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-t_display_p4-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-t_display_p4-include-boards","relation":"structural_context","reason":"Open structural collaboration: structural slicing boards · t_display_p4/include/boards is to explain boards from the perspective of object collaboration: which objects are like entrances, which are like orchestration cores, and which are like adaptation/sharing boundaries; it helps to judge that complexity comes from responsibility distribution, not just the number of files."},{"id":"engineering:diagram:class-structural:boards-tlora_pager-include-boards","kind":"class_structural","title":"Structural collaboration: structural slice boards · tlora_pager/include/boards","summary":"Explain how the classes, interfaces, components or value objects in this structural slice boards/tlora_pager/include/boards share structural responsibilities in structural slice boards; candidates include TLoRaPagerBoard, SX1262Access, AppContext.","docPath":"docs/engineering/class-structural-diagrams/boards-tlora_pager-include-boards/class-structural-diagram.md","htmlPath":"docs/engineering/class-structural-diagrams/boards-tlora_pager-include-boards/class-structural-diagram.html","anchor":"engineering:class-structural:boards-tlora_pager-include-boards","relation":"structural_context","reason":"Open structural collaboration: structural slicing boards · tlora_pager/include/boards is to explain boards from the perspective of object collaboration: which objects are like entrances, which are like orchestration cores, and which are like adaptation/sharing boundaries; it helps to judge that complexity comes from the distribution of responsibilities, not just the number of files."},{"id":"engineering:diagram:technical-hotspot:dependency-cluster--boards","kind":"technical_hotspot","title":"Dependency cluster: boards technology hotspots","summary":"This module depends on multiple external boundaries and is currently processed as a candidate technology coupling center; only the dependency directions and boundaries that have been observed by warehouse evidence are retained in the figure.","docPath":"docs/engineering/technical-hotspots/dependency-cluster--boards/technical-hotspot.md","htmlPath":"docs/engineering/technical-hotspots/dependency-cluster--boards/technical-hotspot.html","anchor":"engineering:hotspot:dependency-cluster:boards","relation":"risk_detail","reason":"Check the dependency cluster: boards technology hot spots. Whether this complexity signal will increase the cost of reading, modifying, testing or regression of boards."}]}]}</script>
|
|
</main>
|
|
</body>
|
|
</html> |