@futdevpro/fsm-dynamo
Advanced tools
| # BACKLOG.md | ||
| > STRICT PATTERN (MUST FOLLOW EXACTLY) | ||
| > - Entry header: "- [TYPE] (BL-YYYYMMDD-###) TITLE" | ||
| > - Immediately followed by (exact keys, colon-space, indented 2 spaces): | ||
| > - " status: <EMOJI status-key>" | ||
| > - " priority: <low|medium|high|urgent>" | ||
| > - " source: <user|system|assistant>" | ||
| > - " area: <ui|backend|infra|docs|tests|ux|general>" | ||
| > - " details: <single-line summary>" | ||
| > - NO blank line between header and fields (parser reads i+1..i+5). | ||
| > - One blank line between entries (readability). | ||
| > - TYPE values: FEATURE, BUG, IMPROVEMENT, QUESTION, RESEARCH, TASK | ||
| > - STATUS EMOJI: ❌ ⏳ 🔄 ✅ ⚠️ ❓ | ||
| > - IDs: unique, format BL-YYYYMMDD-### (increment ###). | ||
| - [IMPROVEMENT] (BL-20260518-001) DyFM_StateMachine: explicit `_FailureResult` return type a `_failure()` helper-en (TS narrowing) | ||
| status: ⏳ pending | ||
| priority: low | ||
| source: assistant | ||
| area: backend | ||
| details: A `DyFM_StateMachine._failure()` jelenleg `DyFM_StateMachineTransition_Result<TState>` union-t ad vissza. A TS inference emiatt nem narrow-ol az `if (!r.ok) {...}` blokkban (a private helper visszatérése a union mind két ágát beilleszti, és a `_failure()` belső object literal `{ ok: false, ... }` típusa nem narrow-ódik le `false` literal-re). Konzumens kódban `as DyFM_StateMachineTransition_FailureResult<TState>` cast szükséges. Fix: `_failure()` return type-ja explicit `DyFM_StateMachineTransition_FailureResult<TState>` (NEM union). 1-line type-annotation change, 0 viselkedés-változás. | ||
| - [IMPROVEMENT] (BL-20260518-002) DyFM_StateMachine: `DyFM_Error` wrapping a result.error mezőben | ||
| status: ⏳ pending | ||
| priority: low | ||
| source: assistant | ||
| area: backend | ||
| details: A jelenlegi `DyFM_StateMachineTransition_FailureResult.error` `DyFM_Error | Error` típusú, de a `_failure()` raw `Error`-t propagál (callback throw-jából). Konzisztencia a többi `DyFM_*` modullal: `DyFM_Error({ status: 422, errorCode: 'DyFM-SM-<subcode>', message, error: originalError, issuerService: 'DyFM_StateMachine' })` wrappingot adni a 4 throw-elhető helyen (guard/onLeave/onEnter/persist). Subcode-ok pl. 'DyFM-SM-GR' (guard-rejected throw), 'DyFM-SM-OL' (on-leave), 'DyFM-SM-OE' (on-enter), 'DyFM-SM-PE' (persist). Spec: minden 4 error-path-on `DyFM_Error.getErrorCode(f.error)` assertion. | ||
| - [TASK] (BL-20260518-003) DyFM_StateMachine: guard-throw + self-loop spec coverage | ||
| status: ⏳ pending | ||
| priority: low | ||
| source: assistant | ||
| area: tests | ||
| details: Két explicit spec hiányzik a FR-006 (52354ba) 22-spec szettjéből: (1) guard callback throw esetén `transition()` `guard-rejected` reason-t ad-e, és a `canTransition()` `false`-t (mindkét helyen catch-eli a impl, de NEM bizonyított teszttel); (2) self-loop transition (`from === to`) explicit spec — a `_findTransition` matchel rá, de nincs lefedve. ~30 LOC spec, no impl change. | ||
| - [FEATURE] (BL-20260518-004) DyFM_StateMachine: Mongoose persist adapter | ||
| status: ⏳ pending | ||
| priority: medium | ||
| source: assistant | ||
| area: backend | ||
| details: Az MVP-ben (FR-006 / 52354ba) a `persist` callback caller-supplied (CCAP MP1-D maga írja a Mongo updateOne logikát stateVersion optimistic-lock-kal). Egy genericikus adapter ami `DyFM_dataModel`-kötött (Mongoose ControlModel) state-document-et frissít automatikusan, kevesebb boilerplate-tel. API: `createMongoosePersistAdapter({ collection: Model<T>, docFilter: { _id: 'rag-status' } }): DyFM_StateMachineConfig['persist']`. Optimistic-lock: `findOneAndUpdate({ ...filter, stateVersion: prev }, { $set: { state, stateVersion: next, lastTransitionAt: timestamp } })` — match nélkül `'persist-failed'`. Tervek szerint a consumer real-world tapasztalat (MP1-D landolása) után írandó, hogy a tényleges minta visszahatáson alapuljon. |
+1
-1
| { | ||
| "name": "@futdevpro/fsm-dynamo", | ||
| "version": "01.15.12", | ||
| "version": "01.15.13", | ||
| "description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.", | ||
@@ -5,0 +5,0 @@ "DyBu_settings": { |
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
Manifest confusion
Supply chain riskThis package has inconsistent metadata. This could be malicious or caused by an error when publishing the package.
Found 1 instance in 1 package
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
3659750
0.1%1381
0.07%