You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<tr><td><code>efootprint/core/usage/usage_journey.py</code><br><code>usage_journey_step.py</code></td><td>modified</td><td>Apply the pattern-specific journey weight; cache step occupancy by the actual <code>(pattern, journey)</code> path when a step is reused within one pattern.</td></tr>
113
-
<tr><td><code>efootprint/core/usage/edge/edge_usage_pattern.py</code><br><code>edge_usage_journey.py</code></td><td>modified</td><td>Move span/concurrency to the deployment pattern; add the non-empty journey list; expose one typed, non-serialized containment inventory of server-need and component-need paths.</td></tr>
119
+
<tr><td><code>efootprint/core/usage/edge/edge_usage_pattern.py</code><br><code>edge_usage_journey.py</code></td><td>modified</td><td>Move span/concurrency to the deployment pattern; enforce the non-empty, duplicate-free journey list; expose one typed, non-serialized containment inventory of server-need and component-need paths.</td></tr>
114
120
<tr><td><code>efootprint/core/usage/job.py</code></td><td>modified</td><td>Add journey to web occurrence coordinates; keep the edge base coordinate at <code>(pattern, recurrent server need)</code> and carry bundle identity plus scalar path share on attribution cells.</td></tr>
115
121
<tr><td><code>efootprint/core/usage/edge/recurrent_*.py</code></td><td>modified</td><td>Expand one recurring series per <code>(pattern, need)</code> over the calendar covered by the deployment series, multiply it by <code>nb_of_occurrences_of_self_within_usage_pattern</code> obtained from the inventory, then apply active deployments in downstream physical aggregation.</td></tr>
116
122
<tr><td><code>efootprint/core/hardware/device.py</code></td><td>modified</td><td>Sum weighted journey occupancy per pattern and emit one device atom per journey/step path.</td></tr>
117
123
<tr><td><code>efootprint/core/hardware/edge/edge_component.py</code><br><code>edge_device.py</code></td><td>modified</td><td>Use pattern-level active deployments for fixed hardware; combine aggregate need demand before component energy and allocation; split the resulting need atoms across inventory paths while retaining existing transient source helpers.</td></tr>
124
+
<tr><td><code>efootprint/core/hardware/server_base.py</code><br><code>storage.py</code><br><code>network.py</code><br><code>efootprint/builders/external_apis/external_api_base_class.py</code></td><td>modified</td><td>Propagate the explicit journey carried by every Job attribution cell into the atoms emitted by all server-side impact sources.</td></tr>
118
125
<tr><td><code>efootprint/core/system.py</code></td><td>modified</td><td>Flatten journeys from all pattern collections and preserve stable deduplication for system traversal.</td></tr>
119
126
<tr><td><code>efootprint/core/attribution/__init__.py</code></td><td>modified</td><td>Store explicit journey identity in atom coordinates and serialized matrix rows instead of deriving a singular journey from the pattern.</td></tr>
127
+
<tr><td><code>efootprint/comparison/</code></td><td>verified / modified as needed</td><td>Expose weighted web journey membership and weight changes with the “Journeys per pattern occurrence” relationship label through the existing input-diff machinery.</td></tr>
120
128
<tr><td><code>efootprint/api_utils/version_upgrade_handlers.py</code><br><code>efootprint/version.py</code><br><code>pyproject.toml</code></td><td>modified</td><td>Introduce the next schema major and transform singular relationships, edge span ownership, occurrence field names, and incompatible calculated state.</td></tr>
121
129
<tr><td><code>efootprint/modeling_templates/</code><br><code>efootprint/builders/</code><br><code>docs_sources/</code></td><td>modified as applicable</td><td>Update constructors, examples, template authoring sources, generated descriptions, and public reference wording.</td></tr>
122
130
<tr><td><code>tests/</code></td><td>modified / expanded</td><td>Update fixtures and API callers; add multi-journey computation, mutation, persistence, migration, attribution, and reuse coverage.</td></tr>
131
+
<tr><td><code>performance/memory/</code><br><code>tests/performance_tests/</code></td><td>new / modified</td><td>Move model-engine memory scenarios close to e-footprint: native hydration, totals, cold/warm attribution matrix, direct attribution, shared-child topology generation, cache/slot counts, and fresh-process evidence. Permit measured library refinements before interface adaptation.</td></tr>
123
132
<tr><td><code>../e-footprint-interface/model_builder/domain/entities/web_core/usage/</code></td><td>modified</td><td>Expose web weights, edge bundle selection, pattern-owned span/defaults, non-empty creation defaults, and plural volume terminology.</td></tr>
124
133
<tr><td><code>../e-footprint-interface/model_builder/adapters/forms/</code><br><code>adapters/ui_config/</code></td><td>modified</td><td>Use the existing weighted-dict and multi-select patterns; preselect the first journey, preserve weight sources, prevent last removal, and update labels/tooltips.</td></tr>
125
134
<tr><td><code>../e-footprint-interface/model_builder/domain/entities/web_core/usage/usage_pattern_web_base_class.py</code></td><td>modified</td><td>Emit canvas links to every selected journey while retaining top-level journey cards rather than rendering them as nested accordion children.</td></tr>
126
135
<tr><td><code>../e-footprint-interface/model_builder/domain/services/system_validation_service.py</code></td><td>modified</td><td>Keep computation-readiness messages aligned with the new cardinality and bundle semantics as a user-facing safeguard.</td></tr>
127
136
<tr><td><code>../e-footprint-interface/scripts/intro_template_scenarios/</code><br><code>tests/</code></td><td>modified / expanded</td><td>Update scenario builders, form snapshots, integration workflows, results smoke cases, and one critical Playwright flow for each paradigm.</td></tr>
137
+
<tr><td><code>../e-footprint-interface/performance/memory/</code></td><td>refined</td><td>Keep the production adapter concerns: Django/application imports, <code>ModelWeb</code> and session hydration, rendered Sankey payloads, computation-memory monitor modes, cgroup enforcement, and container calibration. Preserve historical evidence and point model-engine benchmarking to the library.</td></tr>
128
138
</tbody>
129
139
</table>
130
140
</section>
@@ -193,14 +203,24 @@ <h2>3. Calculation and relationship details</h2>
193
203
<li>Do not add transient semantics to <code>computed_dict</code> in this feature unless profiling first
194
204
demonstrates a material retained-memory regression and a separately reviewed lifetime design covers
195
205
all shared consumers and dependent structures.</li>
206
+
<li>Run model-engine memory work from the library immediately after the core implementation. Native
207
+
scenarios load through e-footprint, compute totals, cold/warm attribution matrices, and direct attributed
208
+
footprints while varying patterns, journeys, shared children, and modeled hours. Findings may drive a
209
+
focused library refinement before the interface task begins.</li>
210
+
<li>Do not relocate historical interface measurements: they describe production-container and middleware
211
+
behavior. Slim future interface profiling to runtime/adapter overhead and keep calculation/cache physics in
0 commit comments