mustflow 2.112.10 → 2.112.14

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 (36) hide show
  1. package/dist/cli/commands/contract-lint.js +3 -13
  2. package/dist/cli/commands/impact.js +2 -12
  3. package/dist/cli/commands/init.js +1 -13
  4. package/dist/cli/commands/onboard.js +3 -13
  5. package/dist/cli/commands/version-sources.js +2 -12
  6. package/dist/cli/lib/agent-context.js +2 -1
  7. package/dist/core/preferences.js +79 -0
  8. package/dist/core/repo-version-source.js +9 -18
  9. package/package.json +1 -1
  10. package/templates/default/i18n.toml +24 -24
  11. package/templates/default/locales/en/.mustflow/docs/agent-workflow.md +10 -4
  12. package/templates/default/locales/en/.mustflow/skills/INDEX.md +20 -17
  13. package/templates/default/locales/en/.mustflow/skills/async-timing-boundary-review/SKILL.md +19 -5
  14. package/templates/default/locales/en/.mustflow/skills/backend-log-evidence-review/SKILL.md +10 -3
  15. package/templates/default/locales/en/.mustflow/skills/cache-integrity-review/SKILL.md +63 -21
  16. package/templates/default/locales/en/.mustflow/skills/concurrency-invariant-review/SKILL.md +13 -3
  17. package/templates/default/locales/en/.mustflow/skills/cross-platform-filesystem-safety/SKILL.md +10 -9
  18. package/templates/default/locales/en/.mustflow/skills/dependency-upgrade-review/SKILL.md +8 -3
  19. package/templates/default/locales/en/.mustflow/skills/llm-token-cost-control-review/SKILL.md +62 -24
  20. package/templates/default/locales/en/.mustflow/skills/memory-lifetime-review/SKILL.md +19 -3
  21. package/templates/default/locales/en/.mustflow/skills/observability-debuggability-review/SKILL.md +31 -21
  22. package/templates/default/locales/en/.mustflow/skills/race-condition-review/SKILL.md +38 -25
  23. package/templates/default/locales/en/.mustflow/skills/rag-pipeline-triage/SKILL.md +77 -23
  24. package/templates/default/locales/en/.mustflow/skills/repro-first-debug/SKILL.md +43 -10
  25. package/templates/default/locales/en/.mustflow/skills/routes.toml +4 -4
  26. package/templates/default/locales/en/.mustflow/skills/search-index-integrity-review/SKILL.md +64 -14
  27. package/templates/default/locales/en/.mustflow/skills/security-flow-review/SKILL.md +19 -4
  28. package/templates/default/locales/en/.mustflow/skills/security-privacy-review/SKILL.md +8 -3
  29. package/templates/default/locales/en/.mustflow/skills/vector-search-integrity-review/SKILL.md +59 -32
  30. package/templates/default/locales/en/AGENTS.md +9 -1
  31. package/templates/default/locales/es/AGENTS.md +2 -0
  32. package/templates/default/locales/fr/AGENTS.md +2 -0
  33. package/templates/default/locales/hi/AGENTS.md +2 -0
  34. package/templates/default/locales/ko/AGENTS.md +3 -1
  35. package/templates/default/locales/zh/AGENTS.md +2 -0
  36. package/templates/default/manifest.toml +1 -1
@@ -2,7 +2,7 @@
2
2
  mustflow_doc: skills.index
3
3
  locale: en
4
4
  canonical: true
5
- revision: 224
5
+ revision: 226
6
6
  authority: router
7
7
  lifecycle: mustflow-owned
8
8
  ---
@@ -76,7 +76,8 @@ refer to `AGENTS.md` and `.mustflow/config/commands.toml` to implement the most
76
76
  citations, claim maps, evidence IDs, answerability states, retrieval thresholds, validators,
77
77
  abstain behavior, or hallucination metrics need product-controlled grounding review.
78
78
  - Use `llm-token-cost-control-review` as a primary route when LLM request assembly, token budgets,
79
- prompt caching, chat history, RAG context size, tool or schema payloads, model routing, reasoning
79
+ prompt caching, chat history, RAG context size, prompt packing, document metadata, source maps,
80
+ question-scoped compression, evidence cards, tool or schema payloads, model routing, reasoning
80
81
  budget, retries, Batch, Flex, predicted outputs, or cost-per-success telemetry need token spend
81
82
  review.
82
83
  - Use `llm-response-latency-review` as a primary route when LLM response speed, time to first
@@ -424,16 +425,18 @@ refer to `AGENTS.md` and `.mustflow/config/commands.toml` to implement the most
424
425
  index-defeating predicates, plan skew, or long transaction scope before live plan evidence.
425
426
  - Use `search-index-integrity-review` as a primary route when keyword search, full-text search,
426
427
  Elasticsearch, OpenSearch, Lucene-style indexing, aliases, bulk ingestion, refresh visibility,
427
- analyzer, synonym, autocomplete, pagination, shard failure, search quality, or search
428
- performance needs source-to-search and query-contract evidence.
428
+ analyzer, metadata taxonomy, negative metadata, exact keyword fields, source maps, synonym,
429
+ autocomplete, pagination, shard failure, search quality, or search performance needs
430
+ source-to-search and query-contract evidence.
429
431
  - Use `vector-search-integrity-review` as a primary route when vector search, semantic search, RAG
430
- retrieval, embeddings, ANN indexes, exact-versus-approximate search, filters, metadata,
431
- namespaces, tenants, hybrid search, reranking, recall, latency, or golden-set behavior needs
432
- retrieval-contract review.
432
+ retrieval, embeddings, contextual headers, synthetic questions, chunk text variants, ANN indexes,
433
+ exact-versus-approximate search, filters, metadata, namespaces, tenants, hybrid search, reranking,
434
+ recall, latency, or golden-set behavior needs retrieval-contract review.
433
435
  - Use `rag-pipeline-triage` as a primary route when a RAG, knowledge-base answer, grounded chat,
434
436
  citation answer, document QA, or support bot failure is not yet localized to ingestion, parsing,
435
- chunking, retrieval, filtering, reranking, context assembly, prompt construction, generation,
436
- citation validation, answerability, access control, latency, or cost.
437
+ document metadata, frontmatter schema, source maps, heading paths, chunking, retrieval, filtering,
438
+ reranking, context assembly, prompt construction, generation, citation validation, answerability,
439
+ access control, latency, or cost.
437
440
  - Use `database-json-modeling-review` as an adjunct when database review needs to decide whether
438
441
  JSON, jsonb, metadata, settings, raw payload, or dynamic keys should become typed columns,
439
442
  child tables, generated/computed columns, JSON indexes, schema versions, or key registries
@@ -533,8 +536,8 @@ routes. Event routes stay inactive until their event occurs.
533
536
  | AI product features, AI Gateways, provider/model integrations, prompt/RAG/tool paths, AI caches, fallback paths, streaming paths, evaluation gates, user-data flows, model registries, AI observability, incident runbooks, or model portability plans are created, changed, reviewed, or reported before the risk is narrow enough for one specialist LLM skill | `.mustflow/skills/ai-product-readiness-review/SKILL.md` | Product role ledger, harm model, gateway ledger, authority and action ledger, data ledger, cost and cache ledger, eval ledger, fallback and streaming ledger, model portability ledger, observability ledger, changed files, and command contract entries | AI Gateway boundaries, provider adapters, model registries, prompt registries, policy engines, tool proposal gates, quota guards, token budgets, cache keys, redaction, retry and fallback states, streaming validators, eval fixtures, observability fields, incident runbooks, tests, docs, route metadata, and directly synchronized templates | model-as-product shortcut, automatic high-risk decision, direct client provider call, prompt-only security, RAG permission leak, unvalidated model output, missing policy engine, cost budget gap, app cache tenant leak, eval theater, fallback-as-second-model, partial streaming disclosure, raw AI log retention, scattered model names, stale provider assumption, or missing kill switch | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `prompt_cache_audit`, `docs_validate_fast`, `test_release`, `mustflow_check` | AI product-readiness surface reviewed, AI role and harm model, gateway and policy boundaries, prompt-injection/data/output/permission/side-effect controls, cost/cache/eval/fallback/streaming/observability/model-portability decisions, specialist skills applied or deferred, verification, and remaining AI product-readiness risk |
534
537
  | Prompts, prompt builders, system or developer messages, RAG prompt assembly, few-shot examples, structured outputs, tool-use instructions, model selection, reasoning-effort settings, eval sets, refusal or fallback handling, prompt versioning, or AI feature completion criteria are created, changed, reviewed, or reported | `.mustflow/skills/prompt-contract-quality-review/SKILL.md` | Prompt contract ledger, input ledger, authority ledger, output schema, tool policy, model/runtime ledger, RAG evidence ledger, eval ledger, changed files, and command contract entries | Prompt builders, prompt templates, schemas, validators, eval fixtures, boundary examples, tool policies, fallback states, completion definitions, docs, tests, and directly synchronized templates | prompt-as-function gap, user input treated as authority, buried RAG evidence, happy-path-only examples, JSON-parse theater, unpinned production model, hidden prompt storage, raw chain-of-thought request, guessed tool parameters, missing failure state, unbounded reasoning/token cost, or vibe-based prompt improvement claim | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Prompt contract reviewed, function boundary, authority and source separation, eval and semantic validation status, model/runtime policy, RAG/tool/failure/completion states, verification, and remaining prompt-contract risk |
535
538
  | LLM answers, RAG responses, citations, source grounding, claim extraction, evidence IDs, answerability states, abstain behavior, retrieval thresholds, tool-backed facts, output validators, LLM judges, or hallucination-control metrics are created, changed, reviewed, or reported | `.mustflow/skills/llm-hallucination-control-review/SKILL.md` | Answer contract ledger, evidence ledger, claim ledger, tool ledger, validator ledger, eval ledger, observability ledger, changed files, and command contract entries | Answerability states, abstain states, missing-information states, source-coverage gates, claim maps, evidence-ID requirements, citation validators, retrieval thresholds, chunk metadata, tool-parameter ownership, deterministic calculators, domain validators, eval fixtures, tests, docs, route metadata, and directly synchronized templates | unsupported factual claim, fabricated citation, source ID invention, weak retrieval gate, noisy semantic-only retrieval, chunk context loss, summary-on-summary hallucination, guessed tool parameter, model arithmetic, source-priority conflict, LLM judge overtrust, low-temperature theater, missing abstain path, missing dirty eval, false citation metric gap, or unobservable grounding drift | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Hallucination-control surface reviewed, answerability and abstain states, evidence IDs, claim map, citations, source coverage, validators, retrieval thresholds, tool ownership, evals, metrics, verification, and remaining hallucination-control risk |
536
- | RAG, knowledge-base answer, grounded chat, citation answer, retrieval-augmented support bot, or document QA flow is wrong, stale, unsupported, slow, leaking data, over-refusing, or not yet localized to ingestion, parsing, chunking, retrieval, filtering, reranking, context assembly, prompt construction, generation, citation validation, or answerability boundaries | `.mustflow/skills/rag-pipeline-triage/SKILL.md` | Symptom classification, trace ledger, source ledger, comparison ledger, eval ledger, privacy ledger, changed files, and command contract entries | End-to-end trace preservation, source availability and parsed-text checks, chunk metadata, duplicate and stale source checks, no-retrieval/current-context/gold-context comparison, keyword/vector/hybrid/retriever/reranker/context/prompt/generation/citation/answerability localization, safe synthetic fixtures, metrics, docs, and directly synchronized templates | model scapegoating, tuning top-k before source proof, original-document theater while parsed text is broken, stale source mixing, filter blamed as vector failure, reranker candidate starvation, critical evidence truncated or buried, retrieved text treated as instruction, citation decoration, answerability missing state, private corpus dump, access filter bypass, or single satisfaction score hiding layer failure | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | RAG pipeline triaged, localized boundary, trace/source/comparison/eval/metric/privacy ledgers, layer findings, fix or recommendation, evidence level, verification, and remaining RAG pipeline risk |
537
- | LLM API calls, prompt assembly, chat history, RAG context, tool schemas, structured output schemas, model routing, reasoning settings, token budgets, provider prompt caching, app-level response caching, retries, batch or flex processing, predicted outputs, image or file inputs, or LLM cost metrics are created, changed, reviewed, or reported | `.mustflow/skills/llm-token-cost-control-review/SKILL.md` | Cost surface ledger, request ledger, cache ledger, context ledger, output ledger, routing ledger, observability ledger, changed files, and command contract entries | Request builders, prompt prefix ordering, canonical serialization, prompt hashes, cache keys, token counters, budget guards, model routers, context trimming, RAG packing, tool and schema payloads, output patch formats, retry repair paths, metrics, logs, tests, docs, route metadata, and directly synchronized templates | prompt-cache prefix drift, volatile field before stable prefix, unmeasured token count, full transcript replay, RAG chunk bloat, oversized tool or JSON schema payload, expensive model default, unbounded reasoning, no visible output after token cap, full-output regeneration, full-context retry replay, app cache key leak, predicted-output cost confusion, image or file token surprise, or per-call cost hiding cost-per-success regression | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `prompt_cache_audit`, `docs_validate_fast`, `test_release`, `mustflow_check` | LLM token-cost surface reviewed, cost unit and measurement source, stable prefix and cache behavior, app cache/history/RAG/tool/schema/input choices, routing/reasoning/output/retry/Batch/Flex/prediction choices, observability, verification, and remaining token-cost risk |
539
+ | RAG, knowledge-base answer, grounded chat, citation answer, retrieval-augmented support bot, or document QA flow is wrong, stale, unsupported, slow, leaking data, over-refusing, or not yet localized to ingestion, parsing, document metadata, frontmatter schema, source maps, heading paths, chunking, retrieval, filtering, reranking, context assembly, prompt construction, generation, citation validation, or answerability boundaries | `.mustflow/skills/rag-pipeline-triage/SKILL.md` | Symptom classification, trace ledger, source ledger with original/index/prompt text, stable source/doc/chunk ids, document type/status/authority, routing summaries, document graph links, comparison ledger, eval ledger, privacy ledger, changed files, and command contract entries | End-to-end trace preservation, source availability and parsed-text checks, metadata, source maps, ACL prefilters, heading paths, semantic code chunks, table record shape, chunk graph, source-of-truth and supersession checks, duplicate and stale source checks, no-retrieval/current-context/gold-context comparison, keyword/vector/hybrid/retriever/reranker/context/prompt/generation/citation/answerability localization, safe synthetic fixtures, metrics, docs, and directly synchronized templates | model scapegoating, tuning top-k before source proof, original-document theater while parsed text is broken, generic heading coordinates, generated summary cited as source, missing source map, source/doc/chunk id collapse, stale source mixing, draft or meeting-note evidence outranking canonical documents, ACL inherited after retrieval, filter blamed as vector failure, fixed line-count code slicing, table number without row or column meaning, reranker candidate starvation, critical evidence truncated or buried, retrieved text treated as instruction, citation decoration, answerability missing state, private corpus dump, access filter bypass, or single satisfaction score hiding layer failure | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | RAG pipeline triaged, localized boundary, trace/source/comparison/eval/metric/privacy ledgers, metadata/frontmatter/source-map/ACL/chunk-graph/document-graph findings, fix or recommendation, evidence level, verification, and remaining RAG pipeline risk |
540
+ | LLM API calls, prompt assembly, chat history, RAG context, document metadata, chunk summaries, prompt packing, question-scoped compression, evidence cards, tool schemas, structured output schemas, model routing, reasoning settings, token budgets, provider prompt caching, app-level response caching, retries, batch or flex processing, predicted outputs, image or file inputs, or LLM cost metrics are created, changed, reviewed, or reported | `.mustflow/skills/llm-token-cost-control-review/SKILL.md` | Cost surface ledger, request ledger with authority lanes, cache ledger, context ledger with inclusion tests, block role tags, filter-only versus LLM-visible metadata, source maps, state cards, and evidence cards, output ledger, routing ledger, observability ledger, changed files, and command contract entries | Request builders, prompt prefix ordering, canonical serialization, prompt hashes, cache keys, token counters, budget guards, model routers, context trimming, RAG packing, question-scoped compression, slot records, state snapshots, original/index/prompt text separation, source-map references, tool and schema payloads, output patch formats, retry repair paths, metrics, logs, tests, docs, route metadata, and directly synchronized templates | prompt-cache prefix drift, volatile field before stable prefix, unmeasured token count, full transcript replay, state delta without baseline, answer-irrelevant context hoarding, RAG chunk bloat, generated summary treated as original evidence, search-only metadata treated as answer text, missing source coordinate, missing token_count, compression not evaluated, oversized tool or JSON schema payload, expensive model default, unbounded reasoning, no visible output after token cap, full-output regeneration, full-context retry replay, app cache key leak, predicted-output cost confusion, image or file token surprise, or per-call cost hiding cost-per-success regression | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `prompt_cache_audit`, `docs_validate_fast`, `test_release`, `mustflow_check` | LLM token-cost surface reviewed, cost unit and measurement source, stable prefix and cache behavior, authority lanes, app cache/history/RAG/metadata/source-map/prompt-packing/evidence-card/tool/schema/input choices, routing/reasoning/output/retry/Batch/Flex/prediction choices, observability, verification, and remaining token-cost risk |
538
541
  | LLM response latency, time to first token, first useful output, streaming, output length, LLM round trips, tool-call wait, prompt-cache latency, model routing, speculative or parallel execution, realtime continuation, priority tiers, predicted outputs, or user-perceived AI speed are created, changed, reviewed, or reported | `.mustflow/skills/llm-response-latency-review/SKILL.md` | Latency target ledger, request timeline ledger, call graph ledger, output ledger, cache ledger, routing ledger, observability ledger, changed files, and command contract entries | Streaming paths, first-useful-output contracts, request timeline metrics, call graph simplification, parallel or speculative work, model routers, fallback cascades, output caps, schema shortening, prompt-cache prefix ordering, cache keys, realtime continuation, priority-tier routing, timeout and cancellation behavior, tests, docs, route metadata, and directly synchronized templates | slow first token, useless streamed preamble, extra sequential LLM round trip, tool wait blocking first output, cache-prefix drift, unmeasured cache miss, verbose output drift, long JSON key or enum overhead, RAG chunk bloat, router escalation loop, prediction-token mismatch, priority-tier misuse, unsafe speculative work, missing cancellation, or raw prompt telemetry leak | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | LLM response-latency surface reviewed, latency unit and request timeline, round trips, parallel/tool/stream/cancel behavior, output/schema/cache/history/RAG/routing/fallback/prediction/realtime/priority choices, observability, verification, and remaining response-latency risk |
539
542
  | Autonomous or semi-autonomous LLM agents, agentic workflows, planners, executors, verifiers, tool contracts, tool-call gates, human approval or interrupt flows, durable agent state, handoffs, guardrails, loop budgets, retry policies, trace evaluation, or agent outcome metrics are created, changed, reviewed, or reported | `.mustflow/skills/agent-execution-control-review/SKILL.md` | Autonomy ledger, stage gate ledger, role separation ledger, tool contract ledger, effect ledger, state and resume ledger, memory and context ledger, handoff and guardrail ledger, loop, retry, and budget ledger, trace and eval outcome ledger, changed files, and command contract entries | Workflow-versus-agent routing, stage gates, planner/executor/verifier boundaries, tool contracts, tool argument ownership, draft/execute separation, idempotency keys, approval records, durable checkpoints, state schema versions, memory partitions, handoff filters, guardrails, loop budgets, retry classification, trace spans, eval fixtures, tests, docs, route metadata, and directly synchronized templates | unnecessary autonomous agent, one model self-certifying success, ungated bad plan, ambiguous tool contract, guessed tool argument, relative-path trap, external effect before approval, missing idempotency key, interrupt replay side effect, stale state schema, over-shared handoff, misplaced guardrail, repeated tool loop, blind retry, final-answer-only eval, or unsafe trace data | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Agent execution-control surface reviewed, workflow-versus-agent decision, autonomy envelope, stage gates, role separation, tool contracts, approval and side-effect replay safety, state/resume/memory/handoff/guardrail/loop/retry/trace/eval checks, verification, and remaining agent execution-control risk |
540
543
  | Browser automation, UI automation, Playwright, Selenium, Puppeteer, WebDriver, computer-use or browser-driving agents, visual browser verification, flaky selectors, page readiness, authentication state, CAPTCHA or anti-bot handling, rate limits, screenshot checks, retry, timeout, human approval, or browser automation observability is created, changed, reviewed, triaged, or reported | `.mustflow/skills/browser-automation-reliability-review/SKILL.md` | Automation intent ledger, state ledger, readiness ledger, selector and action ledger, auth and identity ledger, external pressure ledger, verification ledger, agent and approval ledger, changed files, and command contract entries | Browser automation state machines, locator contracts, test IDs, accessible names, readiness assertions, frame and popup handlers, input verification, auth fixtures, per-worker account isolation, retry classification, timeout hierarchy, idempotency checks, rate-limit handling, approval gates, manual fallback states, traces, screenshots, redaction, cleanup, tests, docs, route metadata, and directly synchronized templates | sleep-as-readiness, `networkidle` faith, flaky selector string patch, hidden duplicate DOM, skeleton-as-content, stale element handle, force-click default, shared mutable account, CAPTCHA bypass, anti-bot evasion, retry storm, non-idempotent replay, timeout layer mismatch, screenshot-as-business-proof, unredacted trace data, page prompt injection, stale approval resume, coordinate click drift, or unverified browser success claim | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Browser automation surface reviewed, browser-versus-API boundary, automation owner, state/readiness/locator/actionability/auth/rate-limit/retry/timeout/idempotency decisions, screenshot and business-success evidence, agent page-content trust, approval and resume checks, verification, and remaining browser automation reliability risk |
@@ -639,8 +642,8 @@ routes. Event routes stay inactive until their event occurs.
639
642
  | API security review needs api-access-control triage for BOLA or IDOR, effective permission decisions, broken authentication, object-level authorization, object-property authorization, function-level authorization, request-supplied user, tenant, role, or owner identifiers, tenant isolation, scoped admin, list/detail mismatch, write permissions, mass assignment, DTO exposure, client-only admin, temporary public holes, router order, GraphQL resolvers, batch APIs, exports, downloads, previews, signed storage URLs, cache keys, async job revalidation, webhook ownership mapping, OAuth or OIDC confusion, JWT verification, stale token claims, session rotation, cookie flags, reauthentication, reset tokens, account enumeration, automation defense, internal identity planes, or denial-case matrices | `.mustflow/skills/api-access-control-review/SKILL.md` | User goal, current diff or target files, subject-object-action-context ledger, decision explanation ledger, object authorization ledger, property authorization ledger, function authorization ledger, authentication proof ledger, denial evidence, and configured command intents | Server-side object checks, tenant-scoped lookups, relationship checks, function-level checks, property allowlists, DTO mappers, signed URL scoping, cache-key dimensions, worker revalidation, webhook ownership mapping, token/session/cookie hardening, reauthentication gates, enumeration-safe responses, rate limits, audit logs, focused denial tests, and directly synchronized docs or templates | login-as-authorization, request-owned identity trust, findById before owner check, role-only admin, unexplainable allow/deny decision, list/detail authorization drift, read/write permission confusion, mass assignment, entity DTO leak, client-only admin, permitAll leak, route shadowing, resolver bypass, batch item bypass, export/download bypass, signed URL bypass, tenantless query or cache, stale queue permission, webhook ownership confusion, OAuth/OIDC token confusion, decoded-but-unverified JWT, stale token claim, session fixation, weak cookie, missing reauth, reusable reset token, account enumeration, automation abuse, internal account exposure, or happy-path-only auth tests | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `test_audit`, `docs_validate_fast`, `test_release`, `mustflow_check` | API access control reviewed, subject/object/action/field/tenant map, effective permission and decision-explanation findings, object/property/function/auth findings, fixes or recommendation, denial evidence, verification, and remaining API access-control risk |
640
643
  | Admin panel, backoffice tool, support console, operator dashboard, staff API, internal dashboard, admin RBAC or ABAC, scoped operator role, audit log, object change history, impersonation, dangerous action, approval flow, export, import, bulk operation, admin search or filter, production guardrail, PII masking, admin session, MFA, or operational-evidence work needs admin-control-plane safety triage | `.mustflow/skills/admin-control-plane-safety-review/SKILL.md` | User goal, current diff or target files, admin actor and session ledger, permission ledger, resource and field ledger, dangerous action ledger, audit and change-history ledger, impersonation ledger, search/filter/export/import/bulk ledger, role matrix, admin docs, runbooks, existing tests, and configured command intents | Scoped admin permission checks, trusted-layer enforcement, server-side field allowlists, tenant-scoped lookups, step-up authentication, dangerous-action previews and confirmations, approval gates, audit records, change-history records, impersonation controls, export/import controls, bulk dry-run and job controls, search and filter limits, production guardrails, focused hostile-path tests, and directly synchronized docs or templates | single `is_admin` shortcut, UI-only admin gate, hidden button trusted as security, support bypass, role-only operator permission, missing explicit deny, missing admin MFA or step-up, audit log confused with change history, editable audit trail, impersonation without actor and subject, export-as-harmless-read, unlimited PII CSV, import mass assignment, bulk click without dry run, preview payload trusted at execution, missing idempotency, no cancel or partial-failure report, production/staging confusion, unmasked sensitive search, unaudited PII read, or happy-path-only admin tests | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `test_audit`, `docs_validate_fast`, `test_release`, `mustflow_check` | Admin control plane reviewed, operator persona and environment scope, effective permission and trusted enforcement findings, admin session and production guardrails, audit versus change-history findings, impersonation/dangerous-action/export/import/bulk/search/filter findings, hostile-path evidence, verification, and remaining admin-control-plane risk |
641
644
  | File upload, import, attachment, direct-to-storage upload, remote file fetch, archive extraction, thumbnail, preview, image resize, OCR, media transcode, document conversion, antivirus scan, CDR, file metadata, storage key, public file URL, signed upload URL, signed download URL, CDN delivery, file download, uploaded filename display, or file lifecycle test needs file-upload-security triage across validation, storage, processing, serving, and cleanup | `.mustflow/skills/file-upload-security-review/SKILL.md` | User goal, current diff or target files, upload entrypoint ledger, file identity ledger, validation ledger, processing ledger, serving ledger, existing tests or abuse cases, storage policy evidence, and configured command intents | Server-side type allowlists, decoded and normalized filename checks, generated storage keys, path containment checks, overwrite protection, upload size and count limits, quota checks, quarantine states, scanner gates, parser sandboxing, archive extraction guards, CSV formula neutralization, metadata stripping, image rewriting, signed URL constraints, download authorization, response headers, filename encoding, audit logs, cleanup rules, focused denial tests, and directly synchronized docs or templates | client-only file restriction, trusted MIME label, extension check before normalization, blocklist-only type policy, original-name-only validation, user-controlled storage key, path traversal, long-name exception leak, overwrite or key guessing, executable web-root storage, web-server handler execution, magic-byte theater, polyglot file, metadata payload, active SVG or HTML, unsafe PDF or Office preview, Zip Slip, decompression bomb, CSV formula injection, remote fetch SSRF, scan-after-publication gap, unsandboxed parser, weak presigned URL policy, direct-to-storage pre-scan publication, tenant key collision, missing download authorization, unsafe response header, filename XSS or header injection, chunk assembly bypass, quota bypass, orphan file leak, or happy-path-only upload tests | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `test_audit`, `docs_validate_fast`, `test_release`, `mustflow_check` | File upload security reviewed, upload/file identity/storage/validation/processing/serving/cleanup map, findings, fixes or recommendation, denial evidence, verification, and remaining file-upload security risk |
642
- | Code review or implementation needs security-flow triage by tracing values from source to sink across authorization, object ownership, tenant scoping, IDOR or BOLA risk, list/detail/export scope, state-changing permissions, mass assignment, admin-only surfaces, cache keys, sort/filter/field injection inputs, ORM raw paths, shell wrappers, SSRF, file upload and extraction, path traversal, XSS, CSRF, OAuth, reset tokens, JWTs, cookies, cryptography, logs, fail-open error handling, queued work, race conditions, or supply-chain and CI/CD paths | `.mustflow/skills/security-flow-review/SKILL.md` | User goal, current diff or target files, security claim, source-to-sink map, actor and resource map, read and write surfaces, framework escape hatches, existing tests or scanner findings, and configured command intents | Server-side ownership checks, tenant-scoped queries, allowlisted updates, cache-key dimensions, URL and path validation, parser or renderer boundaries, upload and extraction limits, token validation, cookie flags, fail-closed error handling, queue revalidation, idempotency, focused tests, and directly synchronized docs or templates | dangerous-keyword theater, authentication treated as authorization, UUID-as-lock assumption, list/detail scope drift, export over-disclosure, state change via raw body status, mass assignment, frontend-only admin gate, cache viewer leak, ORDER BY injection, ORM raw escape hatch, shell wrapper injection, SSRF, unsafe upload preview, Zip Slip, decompression bomb, path traversal, XSS, CSRF, weak OAuth state, reset-token reuse, stale JWT claims, broad cookie domain, custom crypto, token or PII logging, missing security logs, fail-open permission, stale queued permission, duplicate money or entitlement effect, postinstall or CI secret exposure | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Security flow reviewed, source/sink/actor/resource/tenant map, authorization and ownership notes, input/file/network/browser/token/cookie/crypto/log/fail-open/async/race/cache/supply-chain findings, fixes or recommendation, tests or invariant evidence, verification, and remaining security-flow risk |
643
- | Code, configuration, docs, templates, logs, telemetry, traces, baggage, behavior analytics, credentials, data flows, data residency policy, region or processing-location claims, AI-generated code, authentication, authorization, client-only permission checks, admin operations, audit logs, cache policy, cache-as-authority decisions, claim or policy data, comparison or affiliate data, user-generated content, sessions, tokens, uploads, downloads, signed URLs, API responses, webhooks, job queues, external API call records, external requests, third-party data-use terms, runtime security patch policy, deployment settings, dependencies, cryptography, secure transport, scanner gates, security invariants, or agent configuration affect secrets, personal data, retention, access control, vendor disclosure, or external disclosure | `.mustflow/skills/security-privacy-review/SKILL.md` | Changed files, sensitive surfaces, actor and resource owner, data-owner boundary, data residency and processing-location boundary, runtime patch boundary, AI gateway or budget boundary, server-side authorization rule, file upload/download boundary, API response field boundary, behavior analytics surface, trace or baggage surface, webhook or external-call record surface, admin operation surface, audit-log surface, cache visibility and authority policy, claim or affiliate policy surface, session or token surface, external target, dependency source, third-party data-use or terms surface, cryptography or transport surface, scanner evidence, agent-tool permission, deployment setting, project secret and privacy rules, public or packaged surfaces, and command contract entries | Sensitive data handling, authorization, admin operations, data residency, runtime patchability, AI budget records, behavior analytics, observability identifiers, webhook receipts, external-call records, dead-letter records, audit logs, shared-cache behavior, cache-authority behavior, claim and affiliate disclosure, sessions, tokens, inputs, files, signed URLs, API responses, logs, receipts, generated state, docs, templates, package metadata, deployment settings, and reports | secret leak, personal-data exposure, access-control bypass, client-trusted role or owner value, unsafe admin action, private file exposure, over-broad API response, shared-cache leak, unsafe cache authority, unprovable data location, unpatchable runtime, privacy-heavy telemetry, unsafe baggage propagation, unsafe webhook payload retention, unsafe external request, supply-chain drift, weak cryptography, insecure transport, over-privileged agent, risky third-party terms, or misleading privacy claim | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | Sensitive surfaces reviewed, data residency, runtime patchability, AI hard-limit, behavior analytics, observability, and audit boundaries, webhook, external-call, and dead-letter boundaries, cache authority and disclosure boundaries, assumptions checked, disclosure and retention paths, authorization, file, API response, third-party terms, and external-boundary notes, verification, and remaining security or privacy risk |
645
+ | Code review or implementation needs security-flow triage by tracing values from source to sink across authorization, object ownership, tenant scoping, IDOR or BOLA risk, list/detail/export scope, state-changing permissions, mass assignment, admin-only surfaces, cache keys, sort/filter/field injection inputs, ORM raw paths, shell wrappers, SSRF, file upload and extraction, path traversal, development server file serving, privileged test or browser UI APIs, XSS, CSRF, OAuth, reset tokens, JWTs, cookies, cryptography, logs, fail-open error handling, queued work, race conditions, or supply-chain and CI/CD paths | `.mustflow/skills/security-flow-review/SKILL.md` | User goal, current diff or target files, security claim, source-to-sink map, actor and resource map, read and write surfaces, framework escape hatches, dev-server host and filesystem policy, privileged test UI APIs, existing tests or scanner findings, and configured command intents | Server-side ownership checks, tenant-scoped queries, allowlisted updates, cache-key dimensions, URL and path validation, parser or renderer boundaries, dev-server read-only/write/execute gates, upload and extraction limits, token validation, cookie flags, fail-closed error handling, queue revalidation, idempotency, focused tests, and directly synchronized docs or templates | dangerous-keyword theater, authentication treated as authorization, UUID-as-lock assumption, list/detail scope drift, export over-disclosure, state change via raw body status, mass assignment, frontend-only admin gate, cache viewer leak, ORDER BY injection, ORM raw escape hatch, shell wrapper injection, SSRF, unsafe upload preview, Zip Slip, decompression bomb, path traversal, Windows ADS or 8.3 alias bypass, exposed dev-server file read, exposed test UI write or rerun API, XSS, CSRF, weak OAuth state, reset-token reuse, stale JWT claims, broad cookie domain, custom crypto, token or PII logging, missing security logs, fail-open permission, stale queued permission, duplicate money or entitlement effect, postinstall or CI secret exposure | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Security flow reviewed, source/sink/actor/resource/tenant map, authorization and ownership notes, input/file/network/browser/token/cookie/crypto/log/fail-open/async/race/cache/dev-server/test-UI/supply-chain findings, fixes or recommendation, tests or invariant evidence, verification, and remaining security-flow risk |
646
+ | Code, configuration, docs, templates, logs, telemetry, traces, baggage, behavior analytics, credentials, data flows, data residency policy, region or processing-location claims, AI-generated code, authentication, authorization, client-only permission checks, admin operations, audit logs, cache policy, cache-as-authority decisions, claim or policy data, comparison or affiliate data, user-generated content, sessions, tokens, uploads, downloads, signed URLs, API responses, webhooks, job queues, external API call records, external requests, third-party data-use terms, runtime security patch policy, vulnerability scanner advisories, development servers, test UI servers, deployment settings, dependencies, cryptography, secure transport, scanner gates, security invariants, or agent configuration affect secrets, personal data, retention, access control, vendor disclosure, or external disclosure | `.mustflow/skills/security-privacy-review/SKILL.md` | Changed files, sensitive surfaces, actor and resource owner, data-owner boundary, data residency and processing-location boundary, runtime patch boundary, dev-server host or privileged API boundary, AI gateway or budget boundary, server-side authorization rule, file upload/download boundary, API response field boundary, behavior analytics surface, trace or baggage surface, webhook or external-call record surface, admin operation surface, audit-log surface, cache visibility and authority policy, claim or affiliate policy surface, session or token surface, external target, dependency source, advisory exploit preconditions, third-party data-use or terms surface, cryptography or transport surface, scanner evidence, agent-tool permission, deployment setting, project secret and privacy rules, public or packaged surfaces, and command contract entries | Sensitive data handling, authorization, admin operations, data residency, runtime patchability, dev-server file-serving and privileged API gates, AI budget records, behavior analytics, observability identifiers, webhook receipts, external-call records, dead-letter records, audit logs, shared-cache behavior, cache-authority behavior, claim and affiliate disclosure, sessions, tokens, inputs, files, signed URLs, API responses, logs, receipts, generated state, docs, templates, package metadata, deployment settings, and reports | secret leak, personal-data exposure, access-control bypass, client-trusted role or owner value, unsafe admin action, private file exposure, exposed local tool API, over-broad API response, shared-cache leak, unsafe cache authority, unprovable data location, unpatchable runtime, devDependency alert dismissed despite network exposure, privacy-heavy telemetry, unsafe baggage propagation, unsafe webhook payload retention, unsafe external request, supply-chain drift, weak cryptography, insecure transport, protocol parser DoS, over-privileged agent, risky third-party terms, or misleading privacy claim | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | Sensitive surfaces reviewed, data residency, runtime patchability, dev-server/test-UI exposure, AI hard-limit, behavior analytics, observability, and audit boundaries, webhook, external-call, and dead-letter boundaries, cache authority and disclosure boundaries, assumptions checked, disclosure and retention paths, authorization, file, API response, third-party terms, and external-boundary notes, verification, and remaining security or privacy risk |
644
647
  | Real or plausible secrets, tokens, credentials, private keys, passwords, session values, service-account values, connection strings, signing secrets, webhook secrets, certificate keys, recovery codes, or production-like credential material appear in files, artifacts, logs, command output, screenshots, fixtures, docs, templates, package output, caches, run receipts, or final reports | `.mustflow/skills/secret-exposure-response/SKILL.md` | Exposure surface, secret type without value, tracked/generated/public/package status, allowed remediation scope, rotation or revocation boundary, and command contract entries | Redaction, omission, placeholder replacement, docs, fixtures, templates, examples, package inputs, generated artifacts, and final report wording | repeated exposure, false fake-value claim, redaction mistaken for revocation, package leak, screenshot leak, history exposure, or secret printed in reports | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | Exposure surfaces reviewed, secret value omitted, remediation made, remaining rotation/revocation/history/external risks, verification, and remaining exposure risk |
645
648
  | Security-sensitive behavior changes need abuse-case regression tests | `.mustflow/skills/security-regression-tests/SKILL.md` | Changed boundary, actors, resource ownership, state-changing route, token, file, cryptography, transport, scanner, or invariant behavior, business rule, and expected deny behavior | Test files and related security boundary source | false confidence, happy-path-only coverage, unsafe authorization, token, file, business-rule, cryptography, transport, deployment, or invariant coverage | `test`, `test_related`, `test_audit`, `lint`, `build` | Security boundary, abuse case, defensive test data, tests added or reused, and remaining risks |
646
649
  | Outside text, generated content, logs, issues, webpages, pasted prompts, agent rules, MCP/tool configuration, or AI context sources include instructions that could override repository rules, broaden tool access, leak data, or change scope | `.mustflow/skills/external-prompt-injection-defense/SKILL.md` | External text source, direct user request, repository instruction files, conflicting instruction, context sources, tool permission surface, hidden content evidence, and command contract entries | Prompts, fixtures, docs, tests, skills, templates, agent configs, tool configs, and reports that handle untrusted text | prompt injection, context leakage, scope drift, unsafe command authority, or over-broad tool permission | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | External sources reviewed, unsafe instructions neutralized, context and permission boundaries checked, safe requirements adapted, verification, and remaining prompt-injection risk |
@@ -660,9 +663,9 @@ routes. Event routes stay inactive until their event occurs.
660
663
  | PostgreSQL-specific schema, query, transaction, migration, indexing, extension, role, row-level security, connection pooling, replication, backup, restore, managed Postgres, or Postgres runtime behavior is created, changed, reviewed, or reported | `.mustflow/skills/postgresql-code-change/SKILL.md` | PostgreSQL role, version, provider, extension inventory, topology, pooler, schema/type rules, query-plan evidence, transaction/retry rules, migration and recovery needs, changed files, and command contract entries | PostgreSQL schema, queries, migrations, generated SQL, connection setup, pool settings, roles, RLS policies, extensions, tests, docs, and directly synchronized templates | version drift, provider constraint miss, connection storm, lock or rewrite surprise, unsafe online DDL claim, bad pooler assumption, RLS bypass, search-path risk, extension drift, stale replica read, query-plan overclaim, or unverified restore | `changes_status`, `changes_diff_summary`, `test_related`, `test`, `lint`, `build`, `docs_validate_fast`, `test_release`, `mustflow_check` | PostgreSQL version/topology, pooling, lock/transaction, schema/type/RLS/role, query/index/statistics, backup/restore, verification, and remaining PostgreSQL risk |
661
664
  | ClickHouse-specific schema, MergeTree engine configuration, partition or sorting keys, primary keys, projections, materialized views, dictionaries, ingest, async inserts, deduplication, mutations, joins, CTEs, aggregate states, arrays, maps, window functions, distributed queries, or query performance behavior is created, changed, reviewed, or reported | `.mustflow/skills/clickhouse-code-change/SKILL.md` | ClickHouse role, version or Cloud track, topology, engine, table shape, ingest shape, query shape, operational evidence, changed files, and command contract entries | ClickHouse DDL, SQL, query builders, ingest code, backfill code, materialized views, projections, dictionaries, settings, fixtures, tests, docs, and synchronized templates | OLTP-shaped table design, high-cardinality partition part explosion, primary-key uniqueness myth, bad sorting locality, tiny insert parts, async insert durability overclaim, block dedup retry drift, MV trigger misunderstanding, stale dictionary lookup, aggregate-state merge bug, `arrayJoin` row explosion, default window-frame bug, `FINAL` cost patch, `OPTIMIZE FINAL` routine, mutation write amplification, JOIN fan-out, CTE rerun surprise, projection backfill miss, skip-index cargo cult, or unverified query-plan claim | `changes_status`, `changes_diff_summary`, `test_related`, `test`, `lint`, `build`, `docs_validate_fast`, `test_release`, `mustflow_check` | ClickHouse role/version/topology, engine/storage, ingest/dedup/MV/backfill, aggregate/query/JOIN/distributed findings, evidence level, verification, and remaining ClickHouse risk |
662
665
  | DuckDB-specific embedded OLAP database use, `.duckdb` file ownership, concurrency, language bindings, Appender usage, CSV/Parquet/JSON ingestion, query determinism, timestamp behavior, memory and temp spill settings, profiling, indexes, CTEs, macros, or DuckDB runtime behavior is created, changed, reviewed, or reported | `.mustflow/skills/duckdb-code-change/SKILL.md` | DuckDB role, version or track, binding, extension inventory, file and process ownership, ingest/export shape, query shape, memory and temp spill settings, profiling evidence, changed files, and command contract entries | DuckDB SQL, schemas, query builders, connection setup, binding-specific code, ingest/export code, Appender code, settings, fixtures, tests, docs, and synchronized templates | SQLite-like OLTP assumption, native file multi-process write bug, hidden global connection, thread/process confusion, Appender visibility overclaim, CSV sampling loss, `ignore_errors` data loss, schema-drift memory spike, `SELECT *` Parquet scan, partition file explosion, missing `ORDER BY`, order-sensitive aggregate drift, TIMESTAMPTZ timezone surprise, memory-limit overclaim, temp spill disk-full, overwritten profiling output, ART-index theater, CTE materialization surprise, window memory spike, unsafe macro input, or unverified query-plan claim | `changes_status`, `changes_diff_summary`, `test_related`, `test`, `lint`, `build`, `docs_validate_fast`, `test_release`, `mustflow_check` | DuckDB role/version/binding, file/process ownership, concurrency/Appender/import/export, deterministic SQL, memory/temp/profiling, query-plan evidence, verification, and remaining DuckDB risk |
663
- | Keyword search, full-text search, Elasticsearch, OpenSearch, Lucene-style indexing, search APIs, indexing pipelines, aliases, bulk indexing, refresh visibility, analyzers, mappings, synonyms, autocomplete, pagination, shard failures, search quality, or search performance are created, changed, reviewed, or failing | `.mustflow/skills/search-index-integrity-review/SKILL.md` | Symptom classification, source-to-search ledger, query contract ledger, index contract ledger, quality ledger, performance ledger, privacy ledger, changed files, and command contract entries | Search canaries, indexing ledgers, bulk item error handling, alias checks, mapping and analyzer fixtures, exact-versus-full-text tests, tenant and permission filters, golden-set tests, synonym regression tests, pagination guards, query metrics, docs, and directly synchronized templates | cluster-green theater, batch-level bulk success, source/index count illusion, write alias drift, partial shard result, direct/API/UI mismatch, wrong keyword/text field, analyzer drift, synonym regression, rank eyeballing, profile misuse, query fingerprint leak, shard fan-out, cache-only benchmark, refresh overuse, segment merge backlog, disk watermark write block, deep pagination, oversized fetch, or private query/document leak | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Search index integrity reviewed, source-to-search/query/index/quality/performance/privacy ledgers, search findings, fix or recommendation, evidence level, verification, and remaining search-index risk |
664
- | Vector search, semantic search, RAG retrieval, embedding generation, preprocessing, chunking, vector schema, collection, namespace, tenant, named vector, metadata payload, filter, ANN index, exact-versus-approximate search, hybrid search, reranking, recall, latency, quantization, HNSW, IVF, pgvector, Qdrant, Milvus, Weaviate, OpenSearch kNN, or retrieval golden-set behavior is created, changed, reviewed, or failing | `.mustflow/skills/vector-search-integrity-review/SKILL.md` | Retrieval symptom, query contract ledger, ingestion ledger, quality ledger, performance ledger, privacy ledger, changed files, and command contract entries | Embedding and preprocessing versioning, vector validation, deterministic ids, namespace and tenant selection, metadata indexes, filter construction, exact-search checks, ANN parameters, reranker candidates, golden-set tests, synthetic fixtures, metrics, docs, and directly synchronized templates | vector-DB scapegoating, wrong embedding dimension, model revision drift, filter post-candidate loss, metadata type drift, tenant leak, duplicate chunk ids, stale deletes, metric or normalization mismatch, ANN tuning before exact-search proof, quantization recall loss, reranker candidate starvation, hybrid score misuse, deep ANN pagination, raw vector or document leak, or unmeasured p95 latency | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Vector search integrity reviewed, retrieval/query/ingestion/quality/performance/privacy ledgers, exact-versus-ANN and filter findings, fix or recommendation, evidence level, verification, and remaining vector-search risk |
665
- | Dependency versions, lockfiles, package-manager metadata, workspace constraints, runtime engines, peer dependencies, optional dependencies, security advisory fixes, generated dependency output, framework plugins, TypeScript compiler tracks, CI actions, Docker base images, package manager behavior, or toolchain versions are upgraded, downgraded, pinned, widened, regenerated, reviewed, or reported | `.mustflow/skills/dependency-upgrade-review/SKILL.md` | Dependency name, old and new versions or ranges, direct or transitive path, ecosystem and package manager, declaration files, lockfiles, runtime or toolchain files, advisory or release-note evidence, generated outputs, callers, docs, package output, Docker, CI, or TypeScript compiler-track surfaces, and command contract entries | Package declarations, lockfiles, generated outputs, compatibility code, tests, docs, package metadata, Docker or CI files, TypeScript compiler-track notes, and directly synchronized examples | lockfile churn, hidden transitive replacement, peer or engine break, module-format drift, native or optional package break, framework or generator output drift, unsafe broad security update, weakened tests, Docker or CI runtime drift, TS7 RC over-adoption, TS7 nightly over-adoption, or unreviewed supply-chain change | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Upgrade reason, ecosystem surface, direct and transitive graph changes, compatibility classification, runtime/peer/engine/module/feature/platform/generated-output/compiler-track risks, synchronized surfaces, verification, and remaining dependency-upgrade risk |
666
+ | Keyword search, full-text search, Elasticsearch, OpenSearch, Lucene-style indexing, search APIs, indexing pipelines, source maps, metadata taxonomy, negative metadata, exact keyword fields, aliases, bulk indexing, refresh visibility, analyzers, mappings, synonyms, autocomplete, pagination, shard failures, search quality, or search performance are created, changed, reviewed, or failing | `.mustflow/skills/search-index-integrity-review/SKILL.md` | Symptom classification, source-to-search ledger, query contract ledger, index contract ledger with taxonomy/source-map fields, metadata key budget, stable source/doc/chunk ids, lifecycle and effective-date fields, quality ledger, performance ledger, privacy ledger, changed files, and command contract entries | Search canaries, indexing ledgers, bulk item error handling, alias checks, mapping and analyzer fixtures, metadata taxonomy checks, frontmatter schema checks, controlled-vocabulary fixtures, exact-keyword fixtures, negative-metadata filters, filter-only versus LLM-visible metadata checks, exact-versus-full-text tests, tenant and permission filters, golden-set tests, synonym regression tests, pagination guards, query and miss-log metrics, docs, and directly synchronized templates | cluster-green theater, batch-level bulk success, source/index count illusion, write alias drift, partial shard result, direct/API/UI mismatch, wrong keyword/text field, analyzer drift, uncontrolled tag vocabulary, unbounded metadata keys, file path treated as status, synonym regression, negative metadata ignored, missing source map, stale index hash, rank eyeballing, profile misuse, query fingerprint leak, shard fan-out, cache-only benchmark, refresh overuse, segment merge backlog, disk watermark write block, deep pagination, oversized fetch, or private query/document leak | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Search index integrity reviewed, source-to-search/query/index/quality/performance/privacy ledgers, taxonomy/metadata-budget/exact-keyword/source-map/query-log findings, fix or recommendation, evidence level, verification, and remaining search-index risk |
667
+ | Vector search, semantic search, RAG retrieval, embedding generation, preprocessing, chunking, contextual headers, synthetic questions, chunk text variants, vector schema, collection, namespace, tenant, named vector, metadata payload, filter, ANN index, exact-versus-approximate search, hybrid search, reranking, recall, latency, quantization, HNSW, IVF, pgvector, Qdrant, Milvus, Weaviate, OpenSearch kNN, or retrieval golden-set behavior is created, changed, reviewed, or failing | `.mustflow/skills/vector-search-integrity-review/SKILL.md` | Retrieval symptom, query contract ledger, ingestion ledger with stable source/doc/chunk ids, parent document genealogy, text variants and hashes, quality ledger, performance ledger, privacy ledger, changed files, and command contract entries | Embedding, preprocessing, and chunker versioning, vector validation, deterministic ids, contextual retrieval headers, synthetic question fields, original/index/prompt/embedding text separation, namespace and tenant selection, metadata payload field typing, metadata indexes, ACL prefilters, filter construction, exact-search checks, ANN parameters, lexical safeguards for exact identifiers, hybrid score ledgers, RRF or MMR settings, reranker candidates, golden-set tests, synthetic fixtures, metrics, docs, and directly synchronized templates | vector-DB scapegoating, wrong embedding dimension, model revision drift, contextual retrieval text treated as source, synthetic question cited as evidence, unstable source/doc/chunk lineage, tiny chunk subject loss, huge chunk semantic averaging, overlap top-k duplication, filter post-candidate loss, metadata type drift, ACL applied after retrieval, tenant leak, duplicate chunk ids, stale deletes, content hash or embedding hash drift, metric or normalization mismatch, ANN tuning before exact-search proof, quantization recall loss, reranker candidate starvation, hybrid score misuse, exact identifiers smoothed into embedding-only text, deep ANN pagination, raw vector or document leak, or unmeasured p95 latency | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Vector search integrity reviewed, retrieval/query/ingestion/quality/performance/privacy ledgers, exact-versus-ANN/filter/text-variant/contextual-header/lineage/hybrid/rerank findings, fix or recommendation, evidence level, verification, and remaining vector-search risk |
668
+ | Dependency versions, lockfiles, package-manager metadata, workspace constraints, runtime engines, peer dependencies, optional dependencies, security advisory fixes, vulnerability scanner alerts, generated dependency output, framework plugins, dev servers, test runners, TypeScript compiler tracks, CI actions, Docker base images, package manager behavior, or toolchain versions are upgraded, downgraded, pinned, widened, regenerated, reviewed, or reported | `.mustflow/skills/dependency-upgrade-review/SKILL.md` | Dependency name, old and new versions or ranges, direct or transitive path, ecosystem and package manager, declaration files, lockfiles, runtime or toolchain files, advisory or release-note evidence, exploit preconditions, generated outputs, callers, docs, package output, Docker, CI, dev-server or test-UI exposure, protocol role, or TypeScript compiler-track surfaces, and command contract entries | Package declarations, lockfiles, generated outputs, compatibility code, tests, docs, package metadata, Docker or CI files, dev-server/test-runner config notes, TypeScript compiler-track notes, and directly synchronized examples | lockfile churn, hidden transitive replacement, peer or engine break, module-format drift, native or optional package break, framework or generator output drift, devDependency advisory dismissed despite exposure, unsafe broad security update, weakened tests, Docker or CI runtime drift, protocol DoS misclassified, TS7 RC over-adoption, TS7 nightly over-adoption, or unreviewed supply-chain change | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Upgrade reason, ecosystem surface, direct and transitive graph changes, compatibility classification, runtime/peer/engine/module/feature/platform/generated-output/compiler-track risks, advisory exploit preconditions, synchronized surfaces, verification, and remaining dependency-upgrade risk |
666
669
  | Dependency, package, runtime, framework, tool, command, plugin, service, platform capability, supported-version policy, security patch path, ecosystem maturity claim, maintainer-risk assumption, runtime portability claim, edge or serverless compatibility claim, critical-path library choice, package script, lifecycle hook, binary download, lockfile, audit result, or supply-chain-sensitive dependency surface is assumed, added, removed, imported, invoked, installed, audited, or documented | `.mustflow/skills/dependency-reality-check/SKILL.md` | Assumed dependency or capability, declaration files, version or feature expectation, role criticality, supported-version or end-of-life evidence, patchability expectation, runtime compatibility boundary, maintainer and ecosystem evidence when available, lockfile entry, package script or lifecycle hook, audit or provenance evidence, and relevant command intents | Package metadata, lockfiles, imports, scripts, command contracts, docs, tests, runtime policy notes, portability notes, and reports | unavailable dependency, hallucinated or lookalike package, fragile single-maintainer core dependency, experimental technology in a survival path, unsupported runtime, unclear security patch path, runtime-specific API leakage into core logic, stale version claim, lifecycle script risk, audit suppression, lockfile drift, or install guidance mismatch | `changes_status`, `changes_diff_summary`, `build`, `test_release`, `mustflow_check` | Dependency checked, ecosystem and maintainer-risk boundary reviewed, supported-version, patchability, and runtime-portability boundary reviewed, supply-chain surface reviewed, declarations synchronized, verification, and remaining dependency risk |
667
670
  | Generated or edited code, configuration, CI workflows, package metadata, install instructions, examples, Docker images, framework setup, runtime declarations, toolchain declarations, TypeScript compiler-track references, Go release or framework references, Java/JDK GA, LTS, JEP, JVM, GC, or toolchain references, Rust release or MSRV references, or migration-sensitive snippets introduce explicit external version references, action refs, package ranges, runtime versions, framework majors, Docker image tags, or scaffold commands that may be stale | `.mustflow/skills/version-freshness-check/SKILL.md` | Versioned reference, owning files, repository version policy, approved freshness source, compatibility context, migration risk, TypeScript compiler track, Go toolchain/framework track, Java JDK/toolchain/bytecode/JEP track, or Rust MSRV/toolchain track when relevant, and command contract entries | Package metadata, lockfiles, CI workflows, Dockerfiles, runtime files, framework config, docs, examples, templates, tests, and version-decision reports | stale default version, false latest claim, accidental major migration, repository policy mismatch, unsupported generated example, TypeScript RC/nightly/API-track confusion, Java latest-GA/LTS/runtime/JEP/preview/incubator confusion, Rust stable/nightly/MSRV confusion, floating-tag drift, or unverified security/support claim | `changes_status`, `changes_diff_summary`, `build`, `test_related`, `docs_validate_fast`, `test_release`, `mustflow_check` | Versioned surfaces checked, repository policy and freshness source, selected version track, compatibility classification, TypeScript stable/RC/nightly/API-track, Go runtime/framework, Java GA/LTS/runtime/JEP/toolchain, and Rust stable/nightly/MSRV split when relevant, approval need, synchronized surfaces, verification, and remaining version-freshness risk |
668
671
  | External systems, protocols, SDKs, databases, webhooks, queues, files, object storage, signed upload or download URLs, caches, API response models, framework requests or responses, server actions, route handlers, edge functions, worker handlers, AI models, browser storage, search engines, analytics tools, email platforms, no-code tools, observability backends, trace or request context, provider data, or volatile component implementations cross the core boundary or need stable port/adapter translation, change isolation, error mapping, timeout, retry, circuit-breaker, bulkhead, idempotency, reconciliation, security, core-state ownership, vendor portability, or observability handling | `.mustflow/skills/adapter-boundary/SKILL.md` | External system or protocol, inbound/outbound direction, delivery boundary, internal use case, local port/adapter patterns, provider risk, provider failure policy, core-state ownership risk, vendor portability risk, observability identifier policy, API contract risk, change-isolation ledger, preserved consumer contract, changed files, and command contract entries | Ports, adapters, mappers, controllers, workers, stores, gateways, response mappers, telemetry mappers, timeout and retry policies, circuit breakers, bulkhead boundaries, tests, fixtures, assembly wiring, and directly synchronized docs or templates | provider leakage, caller churn from adapter-only changes, framework business-rule leakage, telemetry backend leakage, storage-key leakage, screen-shaped API coupling, pass-through wrapper, SaaS dashboard as truth source, search or analytics policy leakage, queue contract leakage, unclassified external failure, duplicate side effect, unsafe retry, missing timeout, missing circuit breaker, missing bulkhead, unresolved unknown provider outcome, broken identifier propagation, secret or personal-data leak, or untested integration drift | `changes_status`, `changes_diff_summary`, `test_related`, `test`, `lint`, `build`, `docs_validate_fast`, `test_release`, `mustflow_check` | Boundary classification, change-isolation ledger, preserved consumer contract, delivery adapter responsibility, internal port, provider containment, core-state ownership, vendor portability, validation and mapping, API response mapping, observability identifier flow, timeout/retry/circuit-breaker/bulkhead/idempotency handling, reconciliation behavior, security notes, verification, and remaining provider risk |
@@ -670,7 +673,7 @@ routes. Event routes stay inactive until their event occurs.
670
673
  | Tauri frontend invokes, Rust commands, capabilities, permissions, scopes, plugins, filesystem, dialog, shell, opener, updater, sidecar, mobile native permissions, Tauri bundling targets, release package formats, or native desktop CI build matrices are created or changed | `.mustflow/skills/tauri-code-change/SKILL.md` | Frontend call sites, Tauri config, Rust commands, capability and permission files, plugin config, bundle targets, release matrix evidence, changed files, and command contract entries | Tauri frontend, Rust commands, capabilities, permissions, scopes, plugins, bundle target narrowing, package target notes, tests, and docs | broad native permission, untrusted IPC input, filesystem escape, shell or updater risk, WebView/native boundary drift, all-target bundling surprise, cold Cargo cache cost, duplicated macOS packaging jobs, or long-retention CI artifacts posing as release assets | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `mustflow_check` | IPC, permission, scope, filesystem, shell, updater, native boundary, bundle target, release matrix, artifact retention, verification, and remaining Tauri risk |
671
674
  | Wails v3 applications, Go services, generated bindings, TypeScript runtime calls, windows, menus, system tray, dialogs, events, frontend bridge payloads, WebView platform behavior, Taskfile or build config, signing, packaging, platform targets, native desktop CI build matrices, custom protocols, file associations, server builds, or Wails-related tests are created, changed, reviewed, or upgraded | `.mustflow/skills/wails-code-change/SKILL.md` | Wails version track, Go module and frontend package metadata, generated bindings, app entry point, service/window/event/menu/tray/dialog/build/package evidence, platform target and release matrix evidence, changed files, and command contract entries | Wails app assembly, Go services, frontend bridge calls, generated bindings, windows, events, menus, tray, dialogs, WebView platform behavior, platform packaging, target narrowing, tests, and docs | Electron or Wails v2 migration drift, accidental exported RPC, binding or runtime version drift, shared-service race, unsafe frontend input, oversized bridge payload, event leak or broadcast, WebView platform mismatch, packaging/signing drift, all-platform PR packaging, duplicated macOS packaging jobs, or long-retention CI artifacts posing as release assets | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `mustflow_check` | Wails version/app/service/bridge/binding/window/event/menu/tray/dialog/platform packaging, release matrix, artifact retention notes, verification, and remaining Wails risk |
672
675
  | File path handling, cross-platform path behavior, path helpers, safe filesystem wrappers, clone or checkout destinations, scaffold roots, temp or cache paths, atomic writes, locks, archive extraction, uploads, downloads, scanners, CLI/API/schema path contracts, snapshots, generated outputs, or package artifact paths are created, changed, reviewed, or reported | `.mustflow/skills/file-path-cross-platform-change/SKILL.md` | Path ledger, trust classes, accepted path representation, base root, path helpers, safe filesystem wrappers, clone/checkout/scaffold/install/extract outputs, staging and promotion policy, temp/cache helpers, lock policy, archive policy, upload/download policy, scanner policy, CLI/API/schema/snapshot/generated/package surfaces, platform expectations, failure taxonomy, and command contract entries | Path validators, helpers, wrappers, schemas, CLI/API parsing, snapshots, fixtures, docs, tests, generated-output paths, package artifact paths, clone or scaffold destinations, archive extraction, scanner bounds, temp/cache handling, locks, and cleanup code | path traversal, base containment bypass, drive-relative path bug, reserved-name bug, case-collision bug, Unicode-collision bug, Git checkout path-length failure misreported as network or auth, unsafe archive extraction, non-atomic write claim, stale lock, scanner loop, partial-output cleanup data loss, user-selected destination deletion, path contract drift, or package artifact path drift | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Path contract, path ledger, trust classes, root policy, preflight/staging/promotion decisions, Windows/macOS/Linux/archive/upload/download/scanner/lock/temp/cache/atomic/cleanup decisions, failure taxonomy, synchronized contract surfaces, verification, and remaining path risk |
673
- | File paths, directories, symlinks, real paths, traversal, atomic writes, file copies, generated outputs, temporary files, clone or checkout materialization, cleanup, or Windows/POSIX filesystem behavior are created, changed, reviewed, or reported | `.mustflow/skills/cross-platform-filesystem-safety/SKILL.md` | Path inputs, base directory, trust boundary, symlink policy, write or cleanup strategy, clone/checkout/scaffold/install/extract path budget, app-owned staging boundary, platform expectations, failure taxonomy, and command contract entries | Path validation, file helpers, copy/update/delete code, clone/scaffold/archive cleanup code, scan bounds, fixtures, tests, docs, and templates | path traversal, symlink escape, unsafe overwrite, platform-only behavior, stale output, path-length or filename-length misclassification, watcher/resource misclassification, or cleanup data loss | `changes_status`, `changes_diff_summary`, `test_related`, `docs_validate_fast`, `test_release`, `mustflow_check` | Path trust classes, root boundary, symlink/write/delete/scan decisions, preflight and staging boundaries, clone/scaffold/extract classification, platform assumptions, verification, and remaining filesystem risk |
676
+ | File paths, directories, symlinks, real paths, traversal, NTFS alternate data streams, Windows 8.3 short names, Windows namespace prefixes, atomic writes, file copies, generated outputs, temporary files, clone or checkout materialization, cleanup, or Windows/POSIX filesystem behavior are created, changed, reviewed, or reported | `.mustflow/skills/cross-platform-filesystem-safety/SKILL.md` | Path inputs, base directory, trust boundary, symlink policy, write or cleanup strategy, clone/checkout/scaffold/install/extract path budget, app-owned staging boundary, platform expectations, ADS and short-name behavior, failure taxonomy, and command contract entries | Path validation, file helpers, copy/update/delete code, clone/scaffold/archive cleanup code, scan bounds, dev-server or file-serving deny checks, fixtures, tests, docs, and templates | path traversal, symlink escape, unsafe overwrite, Windows ADS bypass, 8.3 short-name bypass, namespace-prefix bypass, platform-only behavior, stale output, path-length or filename-length misclassification, watcher/resource misclassification, or cleanup data loss | `changes_status`, `changes_diff_summary`, `test_related`, `docs_validate_fast`, `test_release`, `mustflow_check` | Path trust classes, root boundary, symlink/write/delete/scan decisions, ADS and short-name handling, preflight and staging boundaries, clone/scaffold/extract classification, platform assumptions, verification, and remaining filesystem risk |
674
677
  | Child processes, shell or argv execution, built-in command reruns, Git/package-manager/scaffolder failures, timeouts, process trees, output limits, streaming, environment policy, command eligibility, failure classification, command-line length limits, or execution receipts are created, changed, reviewed, or reported | `.mustflow/skills/process-execution-safety/SKILL.md` | Execution path, timeout, output limit, stdin, argv and shell command-length budget, environment, cwd, process tree behavior, failure taxonomy, receipt and write-tracking expectations, and command contract entries | Process execution code, process-tree helpers, output buffers, environment creation, eligibility checks, failure classifiers, receipts, tests, and docs | runaway process, unbounded output, leaked environment, argv-too-long failure, shell-command-too-long failure, inconsistent JSON/text execution, false cleanup claim, Git checkout path failure misreported as network or auth, blind retry, diagnostic loss, or unreliable receipt | `changes_status`, `changes_diff_summary`, `test_related`, `test_release`, `mustflow_check` | Execution surface, timeout/output/environment/process-tree boundaries, argv and shell length handling, failure classification, diagnostic preservation, receipt consistency, tests, verification, and remaining process risk |
675
678
  | Core or application logic creates, imports, resolves, or hides external dependencies such as databases, SDKs, clocks, random generators, configuration, loggers, framework objects, filesystems, queues, AI clients, or payment/email providers | `.mustflow/skills/dependency-injection/SKILL.md` | Target code area, hidden dependency, intended business capability, layer ownership, local port/adapter patterns, changed files, and command contract entries | Core logic signatures, ports, adapters, assembly roots, tests, and directly synchronized docs or templates | hidden global state, untestable business logic, provider leakage, lifecycle drift, or service-locator coupling | `changes_status`, `changes_diff_summary`, `test_related`, `test`, `lint`, `build`, `docs_validate_fast`, `test_release`, `mustflow_check` | Dependency boundary, direct dependencies found, injection style, ports/adapters, assembly boundary, tests or fakes, verification, and remaining dependency leakage |
676
679
  | Code, data, schema, configuration, file layout, template, content frontmatter, file-to-database, URL, slug, lifecycle, asset, claim or fact extraction, API projection compatibility, public identifier changes, provider id mappings, event-schema changes, observability identifier continuity, deployment-state reproduction, generated-state, backup or restore proof, semantic export, import, platform exit, or cache migrations are planned, edited, documented, or reported | `.mustflow/skills/migration-safety-check/SKILL.md` | Source state, target state, migration surface owner, identity, lifecycle, asset, claim, export/import reconstruction shape, URL continuity, API projection expectations, public id mapping, provider id mapping, event schema versioning, observability identifier continuity, deployment-state reproduction, cache key versioning, restore evidence, idempotency, rollback, dry-run, compatibility, and command contract entries | Migration plans, compatibility notes, lock metadata, docs, tests, templates, generated state, redirects, assets, exports, imports, deployment notes, observability continuity notes, caches, restore notes, and reports | irreversible migration, data loss, incomplete export, broken links, identity drift, provider-id lock-in, lost asset originals, API contract break, event-schema ambiguity, broken traceability, dashboard-only operating state, cache-key drift, untested restore, or false migration-success claim | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | Migration surface, source and target state, identity, lifecycle, asset, claim, URL, API, event, observability, deployment-state, cache, restore, and export/import continuity, idempotency, rollback, metadata updates, verification, and remaining migration risk |
@@ -2,11 +2,11 @@
2
2
  mustflow_doc: skill.async-timing-boundary-review
3
3
  locale: en
4
4
  canonical: true
5
- revision: 1
5
+ revision: 2
6
6
  lifecycle: mustflow-owned
7
7
  authority: procedure
8
8
  name: async-timing-boundary-review
9
- description: Apply this skill when code, tests, docs, or reports add, change, review, justify, or debug arbitrary sleeps, fixed delays, `setTimeout`, timer waits, event-loop yields, microtask or next-tick waits, render-frame or after-paint waits, CI waits, readiness polling, startup waits, file flush waits, worker readiness, Promise completion claims, async one-time side effects, or eventual-consistency waits across UI, Node, filesystems, workers, databases, queues, search indexes, external APIs, devices, or tests.
9
+ description: Apply this skill when code, tests, docs, or reports add, change, review, justify, or debug arbitrary sleeps, fixed delays, `setTimeout`, timer waits, event-loop yields, microtask or next-tick waits, render-frame or after-paint waits, CI waits, readiness polling, startup waits, file flush waits, worker readiness, Promise completion claims, async one-time side effects, response ordering, generation or version guards, duplicate or missing execution, cancellation state, outbox or inbox handoffs, or eventual-consistency waits across UI, Node, filesystems, workers, databases, queues, search indexes, external APIs, devices, or tests.
10
10
  metadata:
11
11
  mustflow_schema: "1"
12
12
  mustflow_kind: procedure
@@ -43,6 +43,7 @@ The review question is not "how many milliseconds are safe?" It is "is the code
43
43
  - Code waits for server readiness, health, listen callbacks, database commit visibility, replica lag, search indexing, queue ack, webhook delivery, external eventual consistency, container readiness, or hardware/device ready signals.
44
44
  - A test is flaky, slow, or CI-only because local hardware crosses a timing boundary that CI, background tabs, containers, low-end devices, or loaded runners do not.
45
45
  - A report says a side effect runs "only once" or that an async operation is "awaited" and the scope of once or the represented completion signal is unclear.
46
+ - A path relies on latest-request-wins, request cancellation, async job status, queue redelivery, event publication, or background refresh ordering and needs proof that late, duplicate, dropped, timed-out, or partially failed work cannot update current state incorrectly.
46
47
 
47
48
  <!-- mustflow-section: do-not-use-when -->
48
49
  ## Do Not Use When
@@ -61,6 +62,7 @@ The review question is not "how many milliseconds are safe?" It is "is the code
61
62
  - Boundary class: time contract, event-loop/task/microtask boundary, render/frame/paint boundary, framework lifecycle boundary, filesystem/stream boundary, process/worker boundary, database/transaction boundary, queue/index/external consistency boundary, or device/protocol boundary.
62
63
  - Completion signal available in the codebase: event, callback, listener, promise that resolves on real completion, `finish`, `close`, `fsync`, atomic rename, health check, listen callback, ack, status endpoint, observer, transition event, cancellation token, latch, barrier, fake clock, or deterministic scheduler.
63
64
  - Caller ownership: whether every caller awaits the returned Promise or whether the async work is fire-and-forget, debounced, event-handler-owned, framework-owned, or lifecycle-owned.
65
+ - Operation identity and ordering model: operation id, entity id, attempt, causation id, generation, version, sequence, cancellation reason, idempotency key, and whether the apply step checks that the result still belongs to the current state.
64
66
  - Test evidence: current tests, fake timers, controlled promises, barriers, polling utilities, readiness probes, stress tests, CI logs, or missing configured verification.
65
67
 
66
68
  <!-- mustflow-section: preconditions -->
@@ -110,15 +112,25 @@ The review question is not "how many milliseconds are safe?" It is "is the code
110
112
  6. Define "once" by scope.
111
113
  - Name the scope: call, component mount, route lifetime, tab, process, deployment, worker, queue message, transaction retry, cron tick, or durable resource.
112
114
  - Make side effects idempotent when retries, remounts, StrictMode, HMR, reconnects, queue redelivery, transaction retries, multiple tabs, serverless cold starts, or rolling deploys can repeat them.
113
- 7. Review tests.
115
+ 7. Guard stale async results before they apply.
116
+ - For latest-request-wins flows, compare generation, version, etag, sequence, or current operation owner immediately before mutating UI, cache, database, or external state.
117
+ - Treat cancellation as a result state such as user-cancelled, timeout-cancelled, superseded, parent-cancelled, or shutdown-cancelled. Do not collapse cancellation into generic failure that may trigger a wrong retry.
118
+ - Requests, jobs, and callbacks should carry operation identity such as operation id, attempt, causation id, entity id, and state version so late success, duplicate delivery, and stale callbacks can be ignored and explained.
119
+ 8. Model async work as transitions, not as a loose sequence of logs.
120
+ - Jobs should have explicit states such as scheduled, running, succeeded, failed, cancelled, and dead when those states drive behavior.
121
+ - Reject impossible transitions such as succeeded back to running, cancelled work updating current state, or running work with no owner heartbeat when those risks matter.
122
+ - When a DB write and event publish must move together, use outbox-style publication and inbox or dedupe handling on consumers instead of assuming the two effects are one atomic operation.
123
+ - Prefer per-key serialization for same entity, account, document, order, or user work instead of globally serializing unrelated work or leaving conflicting same-key work unordered.
124
+ 9. Review tests.
114
125
  - Prefer fake timers for timer contracts, controlled promises for async boundaries, barriers/latches for concurrency, readiness probes for services, and direct event simulation for UI or streams.
115
126
  - Treat fixed sleeps as weak stress evidence only. They may supplement deterministic proof, but they should not be the main assertion.
116
127
  - For local-fast/CI-slow differences, separate cold cache, disk, CPU throttling, memory, network, coverage, container, artifact, and shared-resource pressure before raising sleep durations.
117
- 8. Preserve timeout and failure semantics.
128
+ - Exercise response reorder, duplicate, drop, timeout, late success, partial failure, and cancellation-after-completion paths when the changed boundary claims ordering, freshness, or exactly-once behavior.
129
+ 10. Preserve timeout and failure semantics.
118
130
  - Replacing a fixed sleep with a wait must not create an unbounded hang.
119
131
  - Keep deadline ownership clear when nested timeouts exist.
120
132
  - Report missing cancellation, poor diagnostics, or unavailable one-shot verification instead of claiming the wait is proven.
121
- 9. Choose verification by changed boundary.
133
+ 11. Choose verification by changed boundary.
122
134
  - Use focused related tests for helper behavior, lint/build for type or API shape, docs validation for skill/docs changes, release tests for installed template or package surfaces, and `mustflow_check` for workflow documents.
123
135
  - Do not invent raw browser, server, DB, queue, device, or CI commands outside the command contract.
124
136
 
@@ -128,6 +140,7 @@ The review question is not "how many milliseconds are safe?" It is "is the code
128
140
  - Every fixed wait is classified as a true time contract, replaced with a completion signal, converted to bounded polling, or reported as residual risk.
129
141
  - The exact completion condition and boundary crossed by the old delay are named.
130
142
  - Promise, "once", event-loop, render, filesystem, process, worker, database, queue, external consistency, and test claims are checked where relevant.
143
+ - Latest-request-wins, generation or version guards, cancellation states, duplicate delivery, late success, outbox or inbox handoffs, and per-key ordering are checked where relevant.
131
144
  - Remaining waits have explicit reason, bound, cancellation, and diagnostic behavior when possible.
132
145
  - Verification covers the changed timing boundary or reports the missing configured intent.
133
146
 
@@ -164,6 +177,7 @@ Prefer the narrowest configured intent that proves the changed timing, readiness
164
177
  - Classification: time contract, state readiness, polling, or residual risk
165
178
  - Completion signal chosen or missing
166
179
  - Event-loop, render, I/O, worker, DB, queue, external, device, Promise, and once-scope checks where relevant
180
+ - Operation identity, generation or version apply guards, cancellation state, duplicate or late result handling, outbox or inbox handoff, and per-key ordering checks where relevant
167
181
  - Fixed waits removed, retained, or bounded
168
182
  - Tests or verification evidence
169
183
  - Command intents run
@@ -2,7 +2,7 @@
2
2
  mustflow_doc: skill.backend-log-evidence-review
3
3
  locale: en
4
4
  canonical: true
5
- revision: 3
5
+ revision: 4
6
6
  lifecycle: mustflow-owned
7
7
  authority: procedure
8
8
  name: backend-log-evidence-review
@@ -56,7 +56,7 @@ The review question is: "If this backend path fails, times out, retries, silentl
56
56
 
57
57
  - Backend path under review: request route, command handler, worker, scheduler, webhook, migration, script, repository method, or external adapter.
58
58
  - Event contract: stable `event_name`, event family, `message` as secondary prose, schema version, severity or level, event timestamp, observed timestamp when collection delay matters, service or resource identity, environment, region, service version, and release or git SHA already available.
59
- - Correlation model: request id, trace id, span id, correlation id, causation id, job id, message id, batch run id, tenant id, user or actor id, resource id, provider request id, and safe business identifiers already available.
59
+ - Correlation model: request id, trace id, span id, correlation id, causation id, job id, message id, batch run id, tenant id, user or actor id, resource id, provider request id, attempt, feature flag, deployment version, and safe business identifiers already available.
60
60
  - Request lifecycle evidence: start log, finish log, status code or result type, outcome, reason code, duration measured from a monotonic clock when possible, main operation name, important input identifiers, and final resource identifiers.
61
61
  - Error evidence: thrown errors, catches, wrappers, causes, stack preservation, error categories, public versus internal messages, and log boundary ownership.
62
62
  - Decision evidence: branches, early returns, validation failures, auth decisions, feature flags, state transitions, cache paths, retry decisions, timeout classes, and fallback decisions.
@@ -93,6 +93,7 @@ The review question is: "If this backend path fails, times out, retries, silentl
93
93
  - Treat logs as event records. Require a stable `event_name`; keep human prose in `message` as secondary, not as the alert or dashboard contract.
94
94
  - Keep event names stable and moderately broad: use `auth.login.failed` plus fields such as `failure_reason`, `client_type`, and `identity_provider` instead of encoding every attribute into the name.
95
95
  - Check schema version, severity or level, event timestamp, observed timestamp when useful, service name, service version, git SHA or release id, environment, region, and resource identity when local conventions expose them.
96
+ - For hard failures, prefer a diagnostic envelope that can be joined across logs, traces, profiler windows, queues, DB writes, cache keys, external dependency calls, feature flags, and deployment versions.
96
97
  2. Check request start logs.
97
98
  - A route-only log is weak evidence.
98
99
  - Require safe fields such as request id, trace id, span id, correlation id, tenant id, actor or user id when allowed, operation name, route template, route pattern instead of full URL, query key summary or query hash, and key resource identifiers.
@@ -170,7 +171,11 @@ The review question is: "If this backend path fails, times out, retries, silentl
170
171
  - Queue size alone is weak. Check queue utilization, oldest queued event age, enqueue failures, exporter failures, receiver refusals, DLQ size, and DLQ oldest age.
171
172
  - Parser failures, mapping conflicts, multiline splits, log rotation, container restart, pod deletion, disk buffer exhaustion, and retention or rollover drift can silently erase the evidence operators think they have.
172
173
  - If pipeline checks require live collectors, sinks, dashboards, or production search, report them as manual-only instead of claiming log evidence survived.
173
- 19. Require evidence.
174
+ 19. Compare normal and failing event trails when a path is hard to localize.
175
+ - Treat the final error log as the place the failure surfaced, not automatically as the cause.
176
+ - If a successful and failing execution are available, compare first divergence in event name, span order, cache hit or miss, DB row count, retry branch, queue shard, external latency, feature flag, release id, and actor or tenant slice.
177
+ - When trace data is sampled out, require fallback log evidence for major span boundaries, operation duration, outcome, reason code, and correlation ids.
178
+ 20. Require evidence.
174
179
  - Prefer focused tests, log fixtures, snapshot assertions, redaction tests, source-level guards, or local logger contract tests for stable event names and fields.
175
180
  - Prefer tests that pin `event_name`, schema version, required fields, redaction, bounded reason codes, and message-independent query fields rather than exact prose.
176
181
  - If logs depend on runtime middleware, production log routing, sink configuration, or manual log search outside the repository, report that evidence as manual-only.
@@ -183,6 +188,7 @@ The review question is: "If this backend path fails, times out, retries, silentl
183
188
  - Missing start or finish logs, message-only contracts, unstable event names, missing schema version, missing trace or span id, missing correlation or causation id, string-only errors, lost causes, missing external-call before and after logs, raw provider body logs, missing affected-row counts, invisible transaction or state transitions, silent early returns, attempt-free retries, duration-free timeouts, enqueue or consume gaps, broken async correlation, empty batch summaries, missing auth or validation reasons, ordinary logs for audit events, cache or lock blind spots, idempotency ambiguity, feature flag opacity, release or config opacity, secret-bearing config logs, migration `done` logs, swallowed async errors, all-info or all-error severity, duplicate error spam, prose-only messages, high-cardinality indexed fields, log injection exposure, unsafe sampling, and missing identifiers are fixed or reported.
184
189
  - Named review smells such as broken async request id, auth or validation failures, cache hits or misses, lock acquisition, idempotency outcomes, config startup summaries, release and migration event gaps, migration dry-run and apply logs, message-based dashboards, prose-only log, and sink-side-only masking are fixed or reported when present.
185
190
  - Log changes are backed by local logger conventions, tests, fixtures, source review evidence, or labeled as manual-only or missing.
191
+ - Hard-failure log evidence can be joined with trace, profiler, queue, DB, cache, dependency, feature flag, and deployment context when those surfaces exist.
186
192
 
187
193
  <!-- mustflow-section: verification -->
188
194
  ## Verification
@@ -215,6 +221,7 @@ Prefer the narrowest configured checks that cover the changed logging contract a
215
221
 
216
222
  - Backend log boundary reviewed
217
223
  - Reconstruction question, event contract, request lifecycle, correlation and causation, error and cause preservation, external API, database write, transaction, state transition, early return, retry, timeout, queue or async handoff, batch or migration, audit, auth, validation, cache, lock, idempotency, feature flag, release, config, pipeline survival, level ownership, structure, cardinality, sampling, log-injection safety, redaction, and test evidence findings
224
+ - Diagnostic envelope and normal-versus-failing event trail findings
218
225
  - Log fixes made or recommended
219
226
  - Evidence level: configured-test evidence, log fixture evidence, source review evidence, manual-only, missing, or not applicable
220
227
  - Command intents run
@@ -2,11 +2,11 @@
2
2
  mustflow_doc: skill.cache-integrity-review
3
3
  locale: en
4
4
  canonical: true
5
- revision: 2
5
+ revision: 3
6
6
  lifecycle: mustflow-owned
7
7
  authority: procedure
8
8
  name: cache-integrity-review
9
- description: Apply this skill when code is created, changed, reviewed, or reported and cache behavior can spread stale, wrong, private, overbroad, tenant-crossing, permission-wrong, version-incompatible, or source-overloading values through cache keys, query normalization, key versions, TTL and jitter, soft and hard TTL, stale-while-revalidate, stampede protection, request coalescing, negative caching, invalidation order, list or page caches, tag invalidation, L1/L2 cache layers, Redis fallback, cache-status ledgers such as hit, miss, bypass, stale, refresh, error, set-failed, evicted, or expired, origin-cost observability, value size, eviction policy, TTL-less keys, KEYS/SCAN use, hot keys, Redis Cluster hash tags, replica lag, Redis latency, HTTP Vary/no-cache/no-store semantics, permission caches, cache warming, or failure-path cache tests.
9
+ description: Apply this skill when code is created, changed, reviewed, or reported and cache or client state behavior can spread stale, wrong, private, overbroad, tenant-crossing, permission-wrong, version-incompatible, partial-entity, persisted-storage, hydration, optimistic-update, or source-overloading values through cache keys, query normalization, key versions, TTL and jitter, soft and hard TTL, stale-while-revalidate, stampede protection, request coalescing, negative caching, invalidation order, list or page caches, tag invalidation, L1/L2 cache layers, Redis fallback, browser storage, service workers, SSR hydration, cache-status ledgers such as hit, miss, bypass, stale, refresh, error, set-failed, evicted, or expired, origin-cost observability, value provenance, value size, eviction policy, TTL-less keys, KEYS/SCAN use, hot keys, Redis Cluster hash tags, replica lag, Redis latency, HTTP Vary/no-cache/no-store semantics, permission caches, cache warming, or failure-path cache tests.
10
10
  metadata:
11
11
  mustflow_schema: "1"
12
12
  mustflow_kind: procedure
@@ -48,6 +48,8 @@ and what happens to the source system when the cache misses or fails?"
48
48
  - Cache behavior can vary by tenant, actor, login state, membership tier, country, language, locale,
49
49
  A/B test, feature flag, adult verification, inventory policy, authorization, subscription, or
50
50
  request headers.
51
+ - State is mirrored between server data, framework state, form state, URL state, query cache, localStorage,
52
+ IndexedDB, service worker cache, SSR hydration, normalized entity cache, or optimistic update layers.
51
53
  - A review or final report claims that caching is safe, fast, resilient, correct, isolated, warmed,
52
54
  invalidated, observable, or harmless under deploy, rollback, source failure, Redis failure, or
53
55
  concurrent updates.
@@ -72,7 +74,11 @@ and what happens to the source system when the cache misses or fails?"
72
74
  - Source of truth: database, provider, file, auth service, entitlement system, inventory source,
73
75
  canonical event stream, generated artifact, or other owner.
74
76
  - Cached value shape: detail item, list, page, search result, permission decision, session, rate
75
- limit, inventory, feature flag, API response, rendered HTML, or derived aggregate.
77
+ limit, inventory, feature flag, API response, rendered HTML, partial entity, optimistic patch,
78
+ persisted browser value, hydrated state, or derived aggregate.
79
+ - Value provenance and completeness: whether the value is full or partial, who last wrote it, when it
80
+ was fetched, when it becomes stale, what version it represents, whether it is optimistic or hydrated,
81
+ and which mutation or invalidation produced it.
76
82
  - Key dimensions: tenant, actor, viewer context, login state, membership tier, country, language,
77
83
  locale, A/B test, feature flag, adult verification, inventory policy, authorization state, headers,
78
84
  query parameters, schema version, and value version.
@@ -107,7 +113,8 @@ and what happens to the source system when the cache misses or fails?"
107
113
  - Add or tighten cache key construction, query normalization, key versioning, TTL and jitter,
108
114
  soft/hard TTL handling, stale-while-revalidate, request coalescing, singleflight, bounded fallback,
109
115
  load shedding, negative-cache policy, invalidation ordering, version checks, tag invalidation,
110
- cache warming, cache observability, and focused tests tied to the changed cache surface.
116
+ cache warming, partial-entity merge policy, persisted-storage reset policy, optimistic rollback
117
+ lineage, cache observability, and focused tests tied to the changed cache surface.
111
118
  - Split cache policy by success, not-found, permission-denied, temporary failure, stale value, and
112
119
  unknown outcome when those outcomes need different behavior.
113
120
  - Add tests for tenant separation, permission changes, stale value bounds, concurrent misses, source
@@ -165,64 +172,92 @@ and what happens to the source system when the cache misses or fails?"
165
172
  a newer value.
166
173
  - Use updatedAt, monotonic version, CAS, conditional write, compare-and-set, or cache delete when
167
174
  ordering cannot be proven.
168
- 10. Check list, query, and page caches separately from detail caches.
175
+ 10. Check async state staleness and current-owner checks.
176
+ - State captured before `await`, background refresh, debounce, polling, or optimistic mutation may
177
+ be stale by the time the result applies.
178
+ - Re-read current state, use functional updates, or compare generation, version, etag, sequence,
179
+ mutation id, or operation owner before writing into cache or UI state.
180
+ - Request coalescing is not obsolete-request discard. Same-key requests may share work; different
181
+ keys or superseded views need apply-time freshness checks.
182
+ 11. Check partial entity overwrite.
183
+ - A summary response should not erase fields that only a detail response owns.
184
+ - Define merge policy for partial values, field completeness, null versus absent fields, and
185
+ entity variants such as summary, detail, admin, viewer-specific, or permission-filtered views.
186
+ - If a cache normalizes by id, the id alone is not proof that two responses have the same
187
+ information quality or visibility.
188
+ 12. Check optimistic update lineage.
189
+ - Optimistic state needs a before snapshot, temporary version or mutation id, success merge rule,
190
+ and failure rollback rule.
191
+ - Concurrent optimistic mutations should not roll back later successful writes by restoring a
192
+ whole old cache snapshot blindly.
193
+ - Prefer per-mutation rollback, server refetch, or versioned merge when more than one mutation can
194
+ overlap.
195
+ 13. Check list, query, and page caches separately from detail caches.
169
196
  - List caches are harder than detail caches because latest, popular, tag, author, search, filter,
170
197
  and page keys all change when one entity changes.
171
198
  - Page-number caches are vulnerable to insertions and deletions. Prefer cursor keys, baseline
172
199
  time, snapshot token, or explicit duplicate and gap behavior for feeds and infinite scroll.
173
200
  - If tag-based invalidation is missing for compound queries, expect global flush pressure and
174
201
  report the operational cost.
175
- 11. Check cache layers.
202
+ 14. Check persisted browser and hydration caches.
203
+ - localStorage, IndexedDB, service workers, browser HTTP cache, SSR hydration payloads, and
204
+ framework-persisted query caches can revive old private or schema-incompatible values after
205
+ reload, logout, tenant switch, deploy, or rollback.
206
+ - Persisted private caches should be partitioned or cleared by user id, tenant id, schema version,
207
+ permission context, locale where relevant, and app build or service-worker version when needed.
208
+ - Test or review multi-tab, multi-device, admin-versus-user, logout/login, tenant switch,
209
+ background refresh, and hydration-first-visible-state paths when those risks exist.
210
+ 15. Check cache layers.
176
211
  - Local in-memory cache splits truth per server. L1, L2, and DB each need TTL, invalidation,
177
212
  bypass, and failure behavior.
178
213
  - Deleting L2 while L1 survives can leave "sometimes stale" bugs that depend on load-balancer
179
214
  routing.
180
- 12. Check cache outage fallback.
215
+ 16. Check cache outage fallback.
181
216
  - Redis down plus unbounded DB fallback can kill the source. Fallback needs rate limit, load
182
217
  shedding, stale serve, circuit breaker, bulkhead, or another source-protection mechanism.
183
218
  - Decide whether cache failure is disposable or correctness-sensitive. Sessions, permissions,
184
219
  rate limits, inventory, idempotency, and dedupe caches are not ordinary performance caches.
185
220
  - Compare normal cached traffic with an allowed bypass path or known miss path when evidence is
186
221
  available. If bypass is faster, fresher, or more correct, the cache policy itself is suspect.
187
- 13. Check Redis keyspace and memory behavior.
222
+ 17. Check Redis keyspace and memory behavior.
188
223
  - Review value size, key size, key schema, bounded key cardinality, max memory, eviction policy,
189
224
  expired keys, evicted keys, and whether TTL-less keys are turning cache into state storage.
190
225
  - `noeviction` makes writes fail at memory limit. `volatile-*` policies only evict keys with TTL,
191
226
  so TTL-less keys can crowd out real cache behavior.
192
227
  - `KEYS *` in application code is a production bomb. Use `SCAN` only from bounded admin or
193
228
  maintenance paths with explicit limits.
194
- 14. Check Redis latency, replication, and distribution.
229
+ 18. Check Redis latency, replication, and distribution.
195
230
  - Redis Slow Log does not include client round-trip time, connection wait, serialization,
196
231
  application loop overhead, DNS, TLS, or network path time. Do not use it as the only latency
197
232
  proof.
198
233
  - Review replica lag, failover behavior, cold replica warmup, persistence spikes, memory
199
234
  fragmentation, client connection pools, shard imbalance, and command mix when a cache incident
200
235
  is operational rather than semantic.
201
- 15. Check hot keys and Redis Cluster distribution.
236
+ 19. Check hot keys and Redis Cluster distribution.
202
237
  - Sharding does not save one hot key. Use replicas, local L1, request coalescing, prewarm,
203
238
  chunking, or workload-specific splitting where semantics allow it.
204
239
  - Redis Cluster hash tags are useful for intentional multi-key locality, but overusing the same
205
240
  tag can force too many keys into one slot.
206
- 16. Check HTTP cache semantics.
241
+ 20. Check HTTP cache semantics.
207
242
  - If responses vary by `Authorization`, `Cookie`, `Accept-Language`, `Accept-Encoding`, content
208
243
  negotiation, or user context, verify `Vary` and cache-control behavior.
209
244
  - `no-cache` means revalidate before reuse. `no-store` means do not store. Do not use one when
210
245
  the other is required.
211
246
  - Check freshness, validation, private versus public cacheability, CDN behavior, browser behavior,
212
247
  and generated-client or proxy expectations.
213
- 17. Check permission and entitlement caches as security boundaries.
248
+ 21. Check permission and entitlement caches as security boundaries.
214
249
  - A permission cache, role cache, organization-membership cache, subscription cache, admin cache,
215
250
  or entitlement cache must be invalidated by revocation, role change, organization move,
216
251
  subscription expiry, ownership change, and emergency access changes.
217
252
  - Short TTL alone is not enough for decisions that should fail closed or revoke promptly.
218
- 18. Check cache warming and cold-start behavior.
253
+ 22. Check cache warming and cold-start behavior.
219
254
  - Deployment, autoscale, failover, and rollback can create synchronized cold caches that push
220
255
  traffic to the source.
221
256
  - Prewarm only keys with clear ownership and backpressure. Do not build an unbounded warming job
222
257
  that becomes the outage.
223
258
  - Load-test or smoke the cold, warm, failover, replica-lag, source-slow, and cache-down scenarios
224
259
  when the repository has configured evidence. Otherwise report those as manual operational gaps.
225
- 19. Check observability.
260
+ 23. Check observability.
226
261
  - Hit rate alone lies. Break down hits, misses, bypasses, stale serves, refreshes, negative hits,
227
262
  refresh failures, evictions, expirations, fallback serves, Redis errors, and set failures by
228
263
  endpoint, key-pattern, tenant, status-code, and cache layer where useful.
@@ -232,13 +267,17 @@ and what happens to the source system when the cache misses or fails?"
232
267
  cache write failures, and whether a high hit rate hides a small set of expensive miss paths.
233
268
  - Keep cache metrics labels bounded; put high-cardinality keys in logs or traces only when the
234
269
  repository privacy rules allow it.
235
- 20. Check tests beyond the happy path.
270
+ - For developer or support diagnostics, expose safe provenance such as cache key class, fetchedAt,
271
+ staleAt, dataVersion, source, lastInvalidatedAt, lastMutationId, writer, isOptimistic, and
272
+ isHydrated when local UI or tooling patterns allow it.
273
+ 24. Check tests beyond the happy path.
236
274
  - "Second call is faster" is not enough.
237
275
  - Cover concurrent misses, update during read, delete then recreate, source failure, Redis
238
- failure, synchronized TTL expiry, old-version cached value, permission change, tenant
239
- separation, list invalidation, negative-cache classification, deploy rollback, and cache-layer
240
- bypass when those risks exist.
241
- 21. Label evidence honestly. If the repository lacks deterministic cache, Redis, CDN, HTTP, browser,
276
+ failure, synchronized TTL expiry, old-version cached value, stale response after newer value,
277
+ partial response after detail response, permission change, tenant separation, list invalidation,
278
+ negative-cache classification, optimistic failure, persisted-storage reset, deploy rollback,
279
+ and cache-layer bypass when those risks exist.
280
+ 25. Label evidence honestly. If the repository lacks deterministic cache, Redis, CDN, HTTP, browser,
242
281
  or load tests, report the missing evidence instead of claiming the cache is safe.
243
282
 
244
283
  <!-- mustflow-section: postconditions -->
@@ -248,6 +287,8 @@ and what happens to the source system when the cache misses or fails?"
248
287
  and observability are explicit or reported as missing.
249
288
  - Tenant, viewer, permission, entitlement, feature-flag, locale, query, schema-version, and header
250
289
  variance cannot silently share the wrong value.
290
+ - Partial entity responses, stale async results, optimistic mutations, persisted browser storage, SSR
291
+ hydration, multi-tab state, and version conflicts cannot silently overwrite or revive the wrong value.
251
292
  - Stampede, synchronized expiry, negative cache, invalidation ordering, update race, list cache,
252
293
  page cache, tag invalidation, L1/L2 layering, Redis outage, hot key, Redis Cluster, and HTTP cache
253
294
  semantics are fixed or reported where relevant.
@@ -297,8 +338,9 @@ browser, server, benchmark, or load-test commands outside the command contract.
297
338
  decisions
298
339
  - Key normalization, key version, query normalization, viewer context, tenant and permission boundary
299
340
  checks
300
- - Stampede, negative-cache, invalidation-order, update-race, list/page/tag, L1/L2, Redis, hot-key,
301
- HTTP cache, permission-cache, warming, and observability checks where relevant
341
+ - Stampede, negative-cache, invalidation-order, update-race, stale async state, partial-entity,
342
+ optimistic-update, persisted-storage, hydration, list/page/tag, L1/L2, Redis, hot-key, HTTP cache,
343
+ permission-cache, warming, and observability checks where relevant
302
344
  - Cache-integrity fixes made or recommended
303
345
  - Evidence level: configured-test evidence, static review risk, manual-only, missing, or not applicable
304
346
  - Command intents run