mustflow 2.116.4 → 2.117.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/package.json +1 -1
  2. package/templates/default/i18n.toml +152 -8
  3. package/templates/default/locales/en/.mustflow/skills/INDEX.md +131 -13
  4. package/templates/default/locales/en/.mustflow/skills/agent-eval-integrity-review/SKILL.md +62 -34
  5. package/templates/default/locales/en/.mustflow/skills/agent-execution-control-review/SKILL.md +102 -31
  6. package/templates/default/locales/en/.mustflow/skills/agent-memory-context-governance-review/SKILL.md +163 -0
  7. package/templates/default/locales/en/.mustflow/skills/agent-planning-recovery-review/SKILL.md +180 -0
  8. package/templates/default/locales/en/.mustflow/skills/agent-release-bundle-rollout-review/SKILL.md +181 -0
  9. package/templates/default/locales/en/.mustflow/skills/agent-runtime-isolation-review/SKILL.md +196 -0
  10. package/templates/default/locales/en/.mustflow/skills/agent-runtime-multi-worker-review/SKILL.md +180 -0
  11. package/templates/default/locales/en/.mustflow/skills/automation-investment-case-review/SKILL.md +173 -0
  12. package/templates/default/locales/en/.mustflow/skills/client-platform-strategy-review/SKILL.md +236 -0
  13. package/templates/default/locales/en/.mustflow/skills/connection-lifecycle-integrity-review/SKILL.md +302 -0
  14. package/templates/default/locales/en/.mustflow/skills/connection-lifecycle-integrity-review/references/connection-fault-injection-resource-lifetime-validation.md +277 -0
  15. package/templates/default/locales/en/.mustflow/skills/connection-lifecycle-integrity-review/references/node-stream-transport-lifecycle-checklist.md +381 -0
  16. package/templates/default/locales/en/.mustflow/skills/credit-ledger-integrity-review/SKILL.md +8 -4
  17. package/templates/default/locales/en/.mustflow/skills/credit-monetization-integrity-review/SKILL.md +283 -0
  18. package/templates/default/locales/en/.mustflow/skills/desktop-commercial-distribution-review/SKILL.md +225 -0
  19. package/templates/default/locales/en/.mustflow/skills/external-prompt-injection-defense/SKILL.md +49 -3
  20. package/templates/default/locales/en/.mustflow/skills/freemium-ad-monetization-review/SKILL.md +196 -0
  21. package/templates/default/locales/en/.mustflow/skills/game-economy-monetization-review/SKILL.md +208 -0
  22. package/templates/default/locales/en/.mustflow/skills/game-liveops-commerce-integrity-review/SKILL.md +237 -0
  23. package/templates/default/locales/en/.mustflow/skills/growth-distribution-integrity-review/SKILL.md +247 -0
  24. package/templates/default/locales/en/.mustflow/skills/idempotency-integrity-review/SKILL.md +20 -2
  25. package/templates/default/locales/en/.mustflow/skills/llm-model-routing-integrity-review/SKILL.md +183 -0
  26. package/templates/default/locales/en/.mustflow/skills/llm-product-monetization-review/SKILL.md +311 -0
  27. package/templates/default/locales/en/.mustflow/skills/llm-token-cost-control-review/SKILL.md +15 -1
  28. package/templates/default/locales/en/.mustflow/skills/localization-market-expansion-review/SKILL.md +224 -0
  29. package/templates/default/locales/en/.mustflow/skills/memory-lifetime-review/SKILL.md +94 -2
  30. package/templates/default/locales/en/.mustflow/skills/memory-lifetime-review/references/cross-runtime-memory-stream-reproduction-harness.md +289 -0
  31. package/templates/default/locales/en/.mustflow/skills/memory-lifetime-review/references/node-memory-resource-backpressure-diagnostics.md +369 -0
  32. package/templates/default/locales/en/.mustflow/skills/multi-agent-work-coordination/SKILL.md +7 -2
  33. package/templates/default/locales/en/.mustflow/skills/pricing-model-integrity-review/SKILL.md +288 -0
  34. package/templates/default/locales/en/.mustflow/skills/product-engagement-retention-review/SKILL.md +234 -0
  35. package/templates/default/locales/en/.mustflow/skills/product-onboarding-activation-review/SKILL.md +269 -0
  36. package/templates/default/locales/en/.mustflow/skills/product-portfolio-integrity-review/SKILL.md +233 -0
  37. package/templates/default/locales/en/.mustflow/skills/prompt-contract-quality-review/SKILL.md +1 -0
  38. package/templates/default/locales/en/.mustflow/skills/referral-incentive-integrity-review/SKILL.md +206 -0
  39. package/templates/default/locales/en/.mustflow/skills/retry-policy-integrity-review/SKILL.md +45 -2
  40. package/templates/default/locales/en/.mustflow/skills/routes.toml +346 -7
  41. package/templates/default/locales/en/.mustflow/skills/service-portfolio-capital-allocation-review/SKILL.md +245 -0
  42. package/templates/default/locales/en/.mustflow/skills/subscription-retention-profit-review/SKILL.md +217 -0
  43. package/templates/default/manifest.toml +97 -1
@@ -0,0 +1,224 @@
1
+ ---
2
+ mustflow_doc: skill.localization-market-expansion-review
3
+ locale: en
4
+ canonical: true
5
+ revision: 1
6
+ lifecycle: mustflow-owned
7
+ authority: procedure
8
+ name: localization-market-expansion-review
9
+ description: Apply this skill when a product changes single-language versus simultaneous multilingual launch, first-market language selection, staged locale rollout, AI or machine translation followed by human review, exploration versus revenue versus fully supported locales, localized SEO demand, language-specific checkout and trust copy, translation maintenance cost, locale promotion gates, per-locale conversion refunds support or contribution, or claims that multilingual traffic creates profitable market expansion.
10
+ metadata:
11
+ mustflow_schema: "1"
12
+ mustflow_kind: procedure
13
+ pack_id: mustflow.core
14
+ skill_id: mustflow.core.localization-market-expansion-review
15
+ command_intents:
16
+ - changes_status
17
+ - changes_diff_summary
18
+ - lint
19
+ - build
20
+ - test_related
21
+ - test
22
+ - docs_validate_fast
23
+ - test_release
24
+ - mustflow_check
25
+ ---
26
+
27
+ # Localization Market Expansion Review
28
+
29
+ <!-- mustflow-section: purpose -->
30
+ ## Purpose
31
+
32
+ Choose which languages to operate, how deeply to support them, and when to promote them from demand
33
+ and retained contribution. Keep the product internationalization-ready without opening more
34
+ translation, support, legal, billing, SEO, and release obligations than the team can maintain.
35
+
36
+ <!-- mustflow-section: use-when -->
37
+ ## Use When
38
+
39
+ - A product compares launching in one language with launching in many languages simultaneously.
40
+ - A team chooses the first market language, locale rollout order, language count, or promotion gate.
41
+ - AI or machine translation is used for landing pages, SEO pages, product UI, onboarding, checkout,
42
+ help, email, support, policy, or store listings with selective human review.
43
+ - Languages are classified as exploratory, marketing-only, revenue-ready, fully supported,
44
+ deprecated, frozen, or removed.
45
+ - International SEO, localized queries, language URLs, `hreflang`, translated metadata, search
46
+ traffic, signup, payment, refund, support, retention, or per-locale contribution changes.
47
+ - A report claims translation volume, localized traffic, country reach, or supported-language count
48
+ creates revenue or efficient global expansion.
49
+
50
+ <!-- mustflow-section: do-not-use-when -->
51
+ ## Do Not Use When
52
+
53
+ - The task is implementation correctness for message catalogs, pluralization, formatting, RTL,
54
+ locale routing, SSR hydration, `hreflang`, exports, or translation keys without a market rollout
55
+ decision; use `frontend-localization-review`.
56
+ - The task only edits copy in one known language or translates user-provided prose with no product
57
+ support, SEO, checkout, or market-expansion decision.
58
+ - The task only changes regional prices, currencies, tax presentation, or purchasing-power policy;
59
+ use `pricing-model-integrity-review`.
60
+ - The task requests jurisdiction-specific legal, privacy, tax, medical, financial, consumer, or
61
+ advertising translation approval. Use qualified native-language reviewers and current authority.
62
+
63
+ <!-- mustflow-section: required-inputs -->
64
+ ## Required Inputs
65
+
66
+ - Market ledger: target job, buyer, purchase owner, current customer language, country and script,
67
+ local alternatives, search demand, paid demand, willingness evidence, product fit, support demand,
68
+ regulatory or trust risk, and acquisition channel.
69
+ - Locale-state ledger: locale, script, region, stage, supported surfaces, excluded surfaces, launch
70
+ date, owner, glossary, review level, fallback, deprecation, and user-facing disclosure.
71
+ - Surface ledger: landing, SEO, product UI, signup, onboarding, pricing, checkout, receipt, refund,
72
+ security, privacy, legal, error, email, notification, help, support, store listing, screenshots,
73
+ exports, and in-product content.
74
+ - Translation ledger: source version, locale version, model or vendor, prompt or glossary, machine
75
+ output, reviewer, review sample, risk class, placeholder parity, stale state, and correction path.
76
+ - SEO ledger: local query language, intent and terminology research, stable locale URL, translated
77
+ main content, canonical, reciprocal alternate mapping, `x-default`, sitemap or HTML method,
78
+ crawl and index state, and scaled-content risk.
79
+ - Economics ledger: incremental nonbrand traffic, qualified visit, download or signup, checkout,
80
+ payment, refund, chargeback, support time, translation and review cost, engineering maintenance,
81
+ content update cost, retained revenue, and contribution by eligible locale cohort.
82
+ - Experiment ledger: locale eligibility, assignment or rollout, source-language baseline, country
83
+ and language distinction, exposure, product-language disclosure, horizon, guardrails, and
84
+ promotion or retirement rule.
85
+
86
+ <!-- mustflow-section: preconditions -->
87
+ ## Preconditions
88
+
89
+ - Separate internationalization readiness from languages actively marketed, sold, supported, and
90
+ serviced. Code readiness does not create an operating-language commitment.
91
+ - Choose the first language from the fastest credible paying-customer path, not from an assumption
92
+ that English or the founder's language is universally correct.
93
+ - Define support depth and human-review requirements before publishing or accepting payment in a
94
+ locale.
95
+ - Treat copied language counts, rollout batches, review percentages, contribution multiples,
96
+ traffic lifts, and maintenance budgets as hypotheses, not defaults.
97
+ - Refresh current search-engine, store, payment, tax, privacy, accessibility, and jurisdiction
98
+ requirements before launching localized public or transactional surfaces.
99
+ - This skill does not authorize bulk translation, index submission, pricing, live campaigns,
100
+ checkout activation, messages, store publication, or production rollout.
101
+
102
+ <!-- mustflow-section: allowed-edits -->
103
+ ## Allowed Edits
104
+
105
+ - Add or refine locale stages, market qualification, surface support matrices, translation risk and
106
+ review policy, SEO demand tests, source and locale versioning, promotion and retirement gates,
107
+ economics, events, fixtures, tests, docs, route metadata, and synchronized templates.
108
+ - Add explicit handoffs to frontend localization, SEO, product copy, payment, pricing, support,
109
+ privacy, security, accessibility, legal, or native-language review owners.
110
+ - Replace language-count goals, traffic-only success, unreviewed transactional copy, silent English
111
+ fallback, or mass translated SEO pages with staged and observable support commitments.
112
+ - Do not label a locale fully supported when core UI, support, checkout, policies, or failure
113
+ recovery remain undisclosed in another language.
114
+
115
+ <!-- mustflow-section: procedure -->
116
+ ## Procedure
117
+
118
+ 1. Split three decisions: internationalization readiness, marketed or indexed locale, and operational
119
+ support depth. Do not launch every technically possible locale.
120
+ 2. Choose the first market language from buyer concentration, product fit, payment ability, search or
121
+ direct demand, support feasibility, trust, and speed to paid learning. English is a candidate, not
122
+ a universal first language.
123
+ 3. Make architecture ready for future locales early where proportionate. Externalize strings and
124
+ account for plural, format, time, currency, expansion, script, font, RTL, route, metadata, and
125
+ export boundaries without translating every surface immediately.
126
+ 4. Define explicit locale stages. A useful model can distinguish candidate, exploratory,
127
+ revenue-ready, fully supported, frozen, and retired locales, but names and counts are product
128
+ policy rather than universal law.
129
+ 5. For an exploratory locale, state what is translated and what remains in the source language.
130
+ Use it to measure real demand only when the page gives local users useful, accurate content and a
131
+ truthful path to the actual product.
132
+ 6. Before accepting payment, require native-capable review for price, CTA, checkout, renewal,
133
+ cancellation, refund, security, privacy, legal claims, onboarding, critical errors, and other
134
+ trust-bearing text according to product risk. Machine output alone is not proof of correct rights.
135
+ 7. Promote to full support only when product UI, high-frequency help, support ownership, incident
136
+ communication, billing recovery, policy updates, and release maintenance have declared owners.
137
+ 8. Classify translation by consequence, not only language. High-trust and rights-bearing surfaces
138
+ need stricter review in every public locale; lower-risk long-tail help or marketing drafts may use
139
+ sampled review when current evidence and policy permit it.
140
+ 9. Treat AI translation as a versioned draft producer. Preserve source version, model or vendor,
141
+ glossary, placeholder rules, reviewer evidence, correction feedback, stale detection, and
142
+ rollback or unpublish behavior.
143
+ 10. Do not translate keywords literally and call it localization. Research local category names,
144
+ jobs, search intent, alternatives, trust signals, and purchase language before choosing titles,
145
+ metadata, examples, and calls to action.
146
+ 11. Create stable crawler-visible locale URLs only when the localized main content and user path are
147
+ real. Keep canonical and alternate relationships accurate and route implementation through
148
+ `frontend-localization-review`.
149
+ 12. Maintain reciprocal locale relationships and one coherent alternate-marking method where the
150
+ current search owner requires it. A tag existing in source does not prove crawl, index, or
151
+ conversion success.
152
+ 13. Do not mass-publish translated or generated pages whose main purpose is ranking coverage.
153
+ Evaluate unique local usefulness, accuracy, relevance, product availability, and maintenance;
154
+ generation method alone neither guarantees safety nor proves spam.
155
+ 14. Disclose product-language gaps. Localized acquisition pages must show when the app, support,
156
+ checkout, documentation, or store binary remains available only in another language.
157
+ 15. Measure the full language funnel. Start with eligible nonbrand demand, then useful visit,
158
+ product start, first owned value, checkout, payment, retained use, refund, support, and
159
+ contribution. Traffic and indexed-page counts are diagnostic, not the headline result.
160
+ 16. Include recurring maintenance cost. Price source-copy changes, catalog and screenshot updates,
161
+ UI regressions, reviewer availability, customer support, policy changes, store assets, incident
162
+ messages, and stale translation cleanup across the planned horizon.
163
+ 17. Promote a locale only when expected retained contribution and learning value justify initial and
164
+ recurring obligations under declared uncertainty. Do not embed a universal payback multiple or
165
+ day horizon.
166
+ 18. Retire or freeze honestly. Preserve customer rights, access, receipts, support and incident
167
+ communication, and state what will stop changing; do not silently fall back after selling a
168
+ supported-language promise.
169
+ 19. Sequence locale launches so causes remain identifiable. When several locales launch together,
170
+ report aggregate evidence and do not claim which language, channel, or review depth caused the
171
+ result.
172
+ 20. Promote only a reversible rollout that improves per-eligible-locale contribution while
173
+ preserving accurate high-trust text, product-language disclosure, search value, support,
174
+ accessibility, current authority, and maintainable translation workflow.
175
+
176
+ <!-- mustflow-section: postconditions -->
177
+ ## Postconditions
178
+
179
+ - Internationalization readiness, public locale, revenue readiness, and full support are separate
180
+ observable states.
181
+ - The first language and later locale order follow customer and economics evidence rather than a
182
+ fixed English-first or many-language rule.
183
+ - AI translation has source, glossary, risk, review, correction, and stale-state controls.
184
+ - Localized SEO represents useful maintained content and an honest product path.
185
+ - High-trust surfaces receive the required native-capable review before payment or rights change.
186
+ - Headline expansion uses retained contribution rather than language count, page count, traffic, or
187
+ translation volume.
188
+
189
+ <!-- mustflow-section: verification -->
190
+ ## Verification
191
+
192
+ Use configured oneshot command intents when available: `changes_status`, `changes_diff_summary`,
193
+ `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, and
194
+ `mustflow_check`. Do not infer live translation, TMS, browser, crawler, index, payment, support,
195
+ campaign, store, analytics, deployment, or production commands.
196
+
197
+ <!-- mustflow-section: failure-handling -->
198
+ ## Failure Handling
199
+
200
+ - If local demand and purchase intent are unknown, keep the locale exploratory and do not claim
201
+ revenue readiness from translated traffic.
202
+ - If high-trust review is unavailable, do not accept payment or publish rights-bearing claims in that
203
+ locale; keep the surface clearly limited or unpublished.
204
+ - If the localized page promises a product experience that remains undisclosed in another language,
205
+ correct the promise before acquiring more traffic.
206
+ - If crawl or traffic evidence exists without checkout, refund, support, and retention evidence,
207
+ report acquisition reach rather than profitable market expansion.
208
+ - If translation maintenance ownership is missing, limit the supported surface instead of opening
209
+ another full locale.
210
+
211
+ <!-- mustflow-section: output-format -->
212
+ ## Output Format
213
+
214
+ - First-market language, buyer, job, demand, fit, support, trust, and current authority
215
+ - Locale stage, supported and excluded surfaces, product-language disclosure, owner, fallback, and
216
+ retirement
217
+ - Translation source, AI or vendor, glossary, consequence class, human review, stale handling, and
218
+ correction
219
+ - Local query intent, URL, canonical and alternate mapping, crawl, index, usefulness, and
220
+ scaled-content risk
221
+ - Eligible demand, activation, payment, refund, support, maintenance cost, retained contribution,
222
+ rollout decision, files changed, commands run and skipped checks
223
+ - Remaining localization-market-expansion risk
224
+
@@ -2,11 +2,11 @@
2
2
  mustflow_doc: skill.memory-lifetime-review
3
3
  locale: en
4
4
  canonical: true
5
- revision: 3
5
+ revision: 5
6
6
  lifecycle: mustflow-owned
7
7
  authority: procedure
8
8
  name: memory-lifetime-review
9
- description: Apply this skill when code is created, changed, reviewed, or reported and object lifetime, retained references, cleanup symmetry, event listeners, timers, subscriptions, goroutines, threads, workers, streams, native handles, caches, queues, or memory/resource leak risk may matter.
9
+ description: Apply this skill when code is created, changed, reviewed, diagnosed, validated, or reported and object lifetime, retained references, cleanup symmetry, event listeners, timers, subscriptions, goroutines, threads, workers, streams, native handles, caches, queues, RSS, heap, external memory, ArrayBuffer or Buffer retention, allocator fragmentation, unbounded buffering, cross-runtime reproduction, backpressure, or memory/resource leak risk may matter.
10
10
  metadata:
11
11
  mustflow_schema: "1"
12
12
  mustflow_kind: procedure
@@ -41,6 +41,11 @@ The question is not only "where was it allocated?" The stronger review question
41
41
  - Code adds lifecycle setup such as `new`, `open`, `connect`, `subscribe`, `observe`, `addEventListener`, `setInterval`, `setTimeout`, `context.WithCancel`, `ThreadLocal.set`, `malloc`, `retain`, `shared_ptr`, `Rc`, task spawning, stream creation, or cache insertion.
42
42
  - Code uses closures, callbacks, lambdas, async work, promises, channels, effects, refs, logging queues, metrics queues, debug arrays, maps, or registries that may capture or store large or short-lived objects.
43
43
  - A review or final report claims that a path is leak-free, bounded, cleaned up, disposable, safe for repeated mount/unmount, safe for long-running processes, safe under retries, or safe for repeated requests.
44
+ - A Node.js service or streaming pipeline needs to distinguish JavaScript heap retention, external
45
+ buffers, native allocations, cache growth, handle leakage, allocator residency, and live
46
+ backpressure backlog instead of naming all RSS growth a memory leak.
47
+ - A Node-compatible memory or stream symptom needs a same-source Node.js, Bun, adapter, runtime
48
+ version, or operating-system reproduction matrix without mixing application and runtime changes.
44
49
 
45
50
  <!-- mustflow-section: do-not-use-when -->
46
51
  ## Do Not Use When
@@ -60,7 +65,18 @@ The question is not only "where was it allocated?" The stronger review question
60
65
  - Repetition path: repeated requests, screen open/close, route changes, tab switches, reconnects, retries, scheduled runs, test cases, or long-running sessions that can accumulate retained state.
61
66
  - Error and success paths: normal completion, early return, partial read, cancellation, timeout, retry, exception, unmount, shutdown, and dependency failure behavior.
62
67
  - Diagnostic evidence for native or low-level memory faults: first sanitizer or memory-checker report, invalid write/read address, watchpoint condition, allocator or quarantine behavior, fuzzing input, core dump, symbols, build id, shared library list, and configured or manual diagnostic boundary.
68
+ - Measurement classification for memory diagnosis: storage location, retention owner, terminal
69
+ status, post-GC or post-quiescent slope, queue-byte ledgers, process and protocol resource counts,
70
+ workload phases, and the statistical tolerance used for a leak or fragmentation claim.
63
71
  - Relevant command-intent contract entries for tests, builds, docs, release checks, and mustflow validation.
72
+ - For Node.js RSS, heap, external-memory, Buffer, native-handle, cache, streaming, HTTP/2, HTTP/3,
73
+ or cross-layer backpressure diagnosis, read
74
+ `references/node-memory-resource-backpressure-diagnostics.md` before classifying cause or claiming
75
+ that a queue, leak, or allocator problem is resolved.
76
+ - For a Node.js or Bun cross-runtime memory, stream, socket, descriptor, handle, allocator, or
77
+ runtime-version reproducer, read
78
+ `references/cross-runtime-memory-stream-reproduction-harness.md` before designing the process
79
+ harness, comparator matrix, result manifest, or permanent-resolution gate.
64
80
 
65
81
  <!-- mustflow-section: preconditions -->
66
82
  ## Preconditions
@@ -71,6 +87,12 @@ The question is not only "where was it allocated?" The stronger review question
71
87
  - If authorization, secrets, personal data, telemetry, or audit records are retained, also use `security-privacy-review`.
72
88
  - If queue, cache, retry, worker, health, or operational behavior changes, also use `backend-reliability-change`.
73
89
  - If user-perceived latency, throughput, allocation churn, GC pressure, or memory budget is claimed, also use `performance-budget-check`.
90
+ - If counter, slope, denominator, benchmark, or regression-gate semantics dominate, also use
91
+ `performance-measurement-integrity-review`.
92
+ - If socket, session, request-body, FIN/RST, pool reuse, or transport shutdown semantics dominate,
93
+ also use `connection-lifecycle-integrity-review`.
94
+ - If the reported symptom does not yet have a deterministic reproduction, also use
95
+ `repro-first-debug` and keep exploratory runs separate from causal proof.
74
96
  - If UI lifecycle, rendering, or browser behavior changes, also use the matching UI or framework skill.
75
97
 
76
98
  <!-- mustflow-section: allowed-edits -->
@@ -79,6 +101,9 @@ The question is not only "where was it allocated?" The stronger review question
79
101
  - Add or tighten teardown, cancellation, ownership, weak-reference, eviction, queue-bound, stream-close, worker-shutdown, and lifecycle-symmetry code tied to the task.
80
102
  - Refactor setup and cleanup into a shared lifecycle boundary when it prevents duplicate registration or forgotten teardown.
81
103
  - Add focused tests, fixtures, probes, or docs that prove cleanup symmetry, bounded retention, repeated lifecycle behavior, or native-resource disposal when repository evidence supports them.
104
+ - Add bounded owner, byte-flow, queue, post-GC, post-quiescent, handle, cache, or backpressure
105
+ instrumentation when it proves the changed lifetime boundary without retaining payloads or
106
+ sensitive context.
82
107
  - Do not hide leak warnings by raising listener limits, disabling strict lifecycle checks, adding finalizers as primary cleanup, or weakening tests.
83
108
  - Do not add object pools as a default leak or GC fix. Pool only heavy buffers, large arrays, native handles, or repeatedly allocated expensive objects after allocation evidence shows churn; ordinary short-lived records are often cheaper to let the generational collector reclaim.
84
109
  - Do not use weak references as a design cover-up when the real owner and cleanup point should be explicit.
@@ -136,6 +161,53 @@ The question is not only "where was it allocated?" The stronger review question
136
161
  15. Reject finalizers as the main plan. Finalizers, destructors, drop hooks, or weak callbacks can be last-resort diagnostics or safety nets, but the review should still identify deterministic cleanup for resources and reference removal.
137
162
  16. Separate allocation churn from retained memory. High allocation rate, GC pauses, retained heap, external memory, and RSS growth point to different fixes. Prefer allocation timeline, heap snapshot, retaining-path, `--trace-gc`, sanitizer, or runtime memory evidence when configured; report unconfigured tools as manual evidence instead of guessing from RSS alone.
138
163
  17. Add a repeated-lifecycle proof when feasible. Prefer a focused test or probe that repeats the risky lifecycle, then asserts listener count, registry size, cache size, goroutine/task completion, handle closure, queue depth, or retained object count. If heap snapshots, leak profilers, sanitizer runs, memory-checker runs, fuzzers, core dump inspection, or platform-specific diagnostics are not configured intents, report them as manual evidence gaps instead of running raw commands.
164
+ 18. Classify memory growth on independent axes before choosing a fix.
165
+ - Name the storage location: managed heap, external or backing-store memory, other native
166
+ allocation, mapping, allocator residency, cache, application queue, or kernel buffer.
167
+ - Name the retaining owner: request, attempt, branch, stream, task, cache, pool, connection,
168
+ native operation, retry, or process service.
169
+ - Name the terminal state: legitimate in-flight work, bounded backlog, unbounded backlog,
170
+ terminal retained resource, or released allocation whose pages remain resident.
171
+ - Do not derive native memory by subtracting overlapping process and runtime totals.
172
+ 19. Compare floors and slopes under controlled lifecycle phases.
173
+ - Fix concurrency, payload and chunk size, compression, protocol, retries, cache, branch count,
174
+ consumer rate, runtime, and allocator before comparison.
175
+ - Separate idle baseline, warmup, normal consumer, slow consumer, stopped consumer, admission
176
+ stop and drain, pool idle expiry, and optional isolated-GC phases.
177
+ - Prefer post-major-GC and post-quiescent growth per completed lifecycle with a predeclared
178
+ statistical tolerance over one RSS peak or literal zero-noise assertions.
179
+ 20. Model shared and branched work as an ownership DAG.
180
+ - Separate process, pool, connection or session, logical request, retry or hedge attempt,
181
+ protocol stream, clone or tee branch, file, transform, and telemetry ownership.
182
+ - Require every request-owned lease and byte reservation to return once while allowing a healthy
183
+ shared connection, session, or bounded cache to outlive the request.
184
+ 21. Trace backpressure from final commitment toward transport.
185
+ - Distinguish admitted, accepted, committed, released, cancelled, and discarded bytes at every
186
+ edge, keeping compressed, decoded, transformed, and durable byte domains separate.
187
+ - Stop the sink and identify the first edge whose queue continues to grow instead of plateauing
188
+ within its byte envelope; then resume and require drain and upstream progress to recover.
189
+ - Treat high-water marks as thresholds, not total caps, and include maximum chunk, in-flight
190
+ operations, side queues, branches, retries, codec expansion, protocol windows, and transport
191
+ buffers in the envelope.
192
+ 22. Calibrate the diagnosis to available evidence.
193
+ - Call growth a terminal leak only when the owner should have ended and retained counts or bytes
194
+ grow with completed lifecycle repetitions.
195
+ - Call fragmentation only after live heap, external memory, cache, queues, handles, mappings,
196
+ and native allocation evidence no longer explains resident growth.
197
+ - Report heap snapshots, native profilers, platform handle inspection, packet capture, qlog, and
198
+ long-running load as manual-only or missing unless configured by the selected repository.
199
+ 23. Design cross-runtime reproduction without changing the application and runtime together.
200
+ - Keep one shared compatibility-source case, a fixed observer, isolated server and client target
201
+ processes, explicit baseline/load/admission-stop/drain/quiescence phases, and fresh target
202
+ processes per measured run.
203
+ - Compare one factor at a time across producer rate, consumer delay, backpressure obedience,
204
+ finite versus continuing work, cancellation, reconnect, peer loss, concurrency, adapter,
205
+ runtime build, and operating-system cell. Treat ramps and multi-factor runs as exploratory.
206
+ - Record a versioned allowlisted manifest with configuration hash, observer identity, target
207
+ binary digest and build identity, environment cell, raw samples, completed work, queue and
208
+ resource conservation, repetitions, dispersion, and unsupported diagnostic phases.
209
+ - Call a newer green runtime version-localized or a fix candidate until last-bad, first-good,
210
+ comparable work, narrowed change, and forward or reverse change evidence establish cause.
139
211
 
140
212
  <!-- mustflow-section: postconditions -->
141
213
  ## Postconditions
@@ -147,6 +219,13 @@ The question is not only "where was it allocated?" The stronger review question
147
219
  - Async, stream, worker, goroutine, thread, and native-resource paths have deterministic cancellation, close, shutdown, or release behavior where the platform supports it.
148
220
  - Native or low-level memory fault analysis names the first invalid access evidence or reports the missing diagnostic boundary instead of blaming the final crash line.
149
221
  - Tests or configured verification cover the highest-risk repeated lifecycle when feasible.
222
+ - Memory-growth conclusions identify storage location, retention owner, terminal status, controlled
223
+ workload phase, and evidence level; RSS alone does not establish leak or fragmentation.
224
+ - Streaming and queue claims include accepted-versus-committed byte ownership, bounded plateau,
225
+ resume behavior, and a calculated envelope, or name the missing evidence.
226
+ - Cross-runtime claims preserve shared source, fixed observer, single-factor comparators, target
227
+ binary and environment identity, completed-work normalization, repeated samples, and causal-fix
228
+ boundaries, or remain exploratory or version-localized.
150
229
 
151
230
  <!-- mustflow-section: verification -->
152
231
  ## Verification
@@ -173,6 +252,14 @@ Use the narrowest configured test, build, docs, release, or mustflow intent that
173
252
  - If setup and cleanup live in separate owners, make the ownership transfer explicit or report the split as a residual leak risk.
174
253
  - If repeated-lifecycle proof requires unconfigured heap, profiler, sanitizer, browser, device, or load-test access, report the missing manual evidence and complete the configured checks that are available.
175
254
  - If leak reduction conflicts with product semantics, authorization, durability, observability, or retry behavior, use the relevant stronger skill and report the tradeoff.
255
+ - If queues drain but their maximum is unbounded, report an OOM or admission-control defect rather
256
+ than clearing the path merely because it is not a terminal leak.
257
+ - If RSS remains high after live owners fall, do not jump directly to fragmentation; report the
258
+ missing allocator, mapping, native-allocation, or platform evidence.
259
+ - If a runtime comparison changes source behavior, adapter, workload, environment, and runtime
260
+ together, reject causal attribution and split it into single-factor cells.
261
+ - If an external or attachment-linked harness file was not supplied as repository source, do not
262
+ claim it was implemented or executed; adapt only the observable procedure contract.
176
263
 
177
264
  <!-- mustflow-section: output-format -->
178
265
  ## Output Format
@@ -183,6 +270,11 @@ Use the narrowest configured test, build, docs, release, or mustflow intent that
183
270
  - Long-lived owners and short-lived objects checked
184
271
  - Timers, listeners, subscriptions, streams, workers, goroutines, threads, native handles, caches, queues, registries, closures, and logs checked where relevant
185
272
  - Weak metadata, object pooling, allocation churn, and GC diagnostics checked where relevant
273
+ - Storage location, retention owner, terminal status, post-GC and post-quiescent slope classification
274
+ - Request, attempt, branch, stream, shared-pool, cache, file, and native-operation ownership DAG
275
+ - Backpressure edge ledger, stopped-consumer plateau, resume behavior, and memory envelope
276
+ - Cross-runtime observer and target isolation, lifecycle phases, comparator matrix, result identity,
277
+ environment cells, completed-work normalization, and causal-fix classification
186
278
  - First invalid access, diagnostic build axis, dangling ownership, fuzzing or core-dump evidence where relevant
187
279
  - Cleanup symmetry changes made or recommended
188
280
  - Repeated-lifecycle proof: configured, manual-only, missing, or not applicable