{"at": "2026-11-01T14:16:40Z", "transport": "isolated localhost Analyser REST action socket", "action": "open", "params": {"project": "<isolated-capture>/library-project/.analyser/project.fluxtion-settings"}, "result": {"ok": true, "action": "open", "opened": {"project": "library-project", "settings": "<isolated-capture>/library-project/.analyser/project.fluxtion-settings", "replaced": {"sourceRoots": {"before": 1, "after": 1}, "mavenRepos": {"before": 1, "after": 1}, "eventProcessors": {"before": 1, "after": 1}, "selectedEventProcessor": {"before": null, "after": "com.example.reuse.generated.OrderReleaseProcessor"}, "namedGraphs": {"before": 1, "after": 0}, "namedFocuses": {"before": 0, "after": 0}, "reports": {"before": 2, "after": 0}, "hiddenColumns": {"before": 4, "after": 0}}, "closed": {}, "closedWhy": "nothing was open", "previous": "your own settings", "reversible": "open {close: \"project\"} puts your own settings back"}}}
{"at": "2026-11-01T14:16:41Z", "transport": "isolated localhost Analyser REST action socket", "action": "open", "params": {"log": "<checkout>/examples/library-workflow/evidence/events.audit", "graphml": "<checkout>/examples/library-workflow/generated/OrderReleaseProcessor.graphml"}, "result": {"ok": true, "action": "open", "opened": {"log": "<checkout>/examples/library-workflow/evidence/events.audit", "logLoading": true, "graphml": {"path": "<checkout>/examples/library-workflow/generated/OrderReleaseProcessor.graphml", "graphNodes": 18, "authoredNodes": 8, "authorshipBasis": "declared", "copyComparison": {"roots": ["<checkout>/examples/library-workflow/source", "<checkout>/examples/library-workflow/generated"], "state": "pending"}, "loading": true, "pairing": "pending — the log is still loading; the graph is judged against it when the load lands. Read context.graphPairing for the verdict."}}}}
{"at": "2026-11-01T14:16:42Z", "transport": "isolated localhost Analyser REST action socket", "action": "context", "params": {"sections": ["log", "pairing", "processors"]}, "result": {"ok": true, "action": "context", "context": {"log": {"path": "<checkout>/examples/library-workflow/evidence/events.audit", "openedFrom": "<checkout>/examples/library-workflow/evidence/events.audit", "records": 12, "sizeBytes": 7303, "from": 1000, "to": 1793541006389, "openedBy": "action socket", "freshness": {"basis": "size, modification time and file identity; unchanged metadata does not prove identical bytes", "state": "unchanged-metadata", "members": [{"state": "unchanged-metadata", "onDisk": {"path": "<checkout>/examples/library-workflow/evidence/events.audit", "sizeBytes": 7303, "modified": "2026-11-01T13:50:06.39287839Z", "fileKey": "(dev=1000010,ino=199198708)", "directory": false}, "loaded": {"path": "<checkout>/examples/library-workflow/evidence/events.audit", "sizeBytes": 7303, "modified": "2026-11-01T13:50:06.39287839Z", "fileKey": "(dev=1000010,ino=199198708)", "directory": false}}], "reload": "explicitly reopen the same path; no automatic replacement"}, "generation": 1, "following": false, "supportsFollow": true, "trailingRecordsIncluded": 1, "tailNote": "EOF record included without a closing separator (legal Format 1); completeness unknown. Follow reopens as a live read.", "trailingRecordsPending": 0, "streamEnd": {"state": "unknown", "recordsRead": 12}}, "graphPairing": {"graph": "OrderReleaseProcessor.graphml", "graphSource": "OPENED", "freshness": {"basis": "size, modification time and file identity; unchanged metadata does not prove identical bytes", "state": "unchanged-metadata", "members": [{"state": "unchanged-metadata", "onDisk": {"path": "<checkout>/examples/library-workflow/generated/OrderReleaseProcessor.graphml", "sizeBytes": 26243, "modified": "2026-11-01T13:12:38.557067554Z", "fileKey": "(dev=1000010,ino=199181021)", "directory": false}, "loaded": {"path": "<checkout>/examples/library-workflow/generated/OrderReleaseProcessor.graphml", "sizeBytes": 26243, "modified": "2026-11-01T13:12:38.557067554Z", "fileKey": "(dev=1000010,ino=199181021)", "directory": false}}], "reload": "explicitly reopen the same path; no automatic replacement"}, "graphPath": "<checkout>/examples/library-workflow/generated/OrderReleaseProcessor.graphml", "applies": true, "loggedNodes": 7, "declaredByGraph": 7, "appliesMeans": "retention policy: keep this graph open against this log — not proof of fit", "membershipEstablished": true, "everyObservedIdDeclared": true, "pairingScope": "all 12 records", "pairingSampled": false, "verdict": "the graph declares all 7 node(s) this log writes", "auditLogging": "enabled", "auditLoggingNote": "Audit logging is installed on this processor (EventLogManager is on the graph), so a run can produce a log. Whether a given NODE appears in it is a separate question — a node logs only if it has an audit logger and calls it, which is why 'did not log' is never by itself 'did not run'.", "copyComparison": {"state": "complete", "groups": [], "roots": ["<checkout>/examples/library-workflow/source", "<checkout>/examples/library-workflow/generated"], "warnings": [], "truncated": false}}, "processors": [{"class": "com.example.reuse.generated.OrderReleaseProcessor", "selected": true, "source": "not found", "from": "project"}], "dispatchOrder": "total — position in nodeLogs IS dispatch order (derived); safe to read as causality", "timeOrder": ["10 record(s) out of time order within this log, first at record 2 — time-anchored features may be approximate; records are never re-sorted"], "scope": {"sections": ["log", "pairing", "processors"], "available": ["log", "project", "pairing", "processors", "source", "topology", "view", "charts", "menus", "design", "handoff"], "note": "a projection of the full context: each key here equals the same key of an unprojected call on the same state; absent sections were not read. Omit 'sections' for everything"}}}}
{"at": "2026-11-01T14:16:43Z", "transport": "isolated localhost Analyser REST action socket", "action": "read", "params": {"recordIndex": 3, "before": 0, "after": 6}, "result": {"ok": true, "action": "read", "result": {"total": 12, "anchor": 3, "from": 3, "to": 9, "records": [{"recordIndex": 3, "byteOffset": 665, "logTime": 1000, "text": "eventLogRecord: \n    eventTime: 1000\n    logTime: 1000\n    groupingId: null\n    event: OrderRequest\n    eventToString: normal quantity=5 price=1200 limit=10000 stock=5 riskUnavailable=false\n    thread: main\n    nodeLogs: \n        - input: { thread: main, method: onOrder, annotation: OnEventHandler, id: normal, quantity: 5}\n        - risk: { thread: main, method: check, annotation: OnTrigger, riskStatus: CLEARED}\n        - stock: { thread: main, method: check, annotation: OnTrigger, stockAvailable: true, stock: 5}\n        - value: { thread: main, method: calculate, annotation: OnTrigger, valuePence: 6000}\n        - limit: { thread: main, method: check, annotation: OnTrigger, withinLimit: true, limitPence: 10000}\n        - decision: { thread: main, method: decide, annotation: OnTrigger, outcome: ACCEPTED}\n        - recorder: { thread: main, method: record, annotation: OnTrigger, recordedOutcome: ACCEPTED, outputCount: 1}\n    endTime: 1000"}, {"recordIndex": 4, "byteOffset": 1620, "logTime": 1000, "text": "eventLogRecord: \n    eventTime: 1000\n    logTime: 1000\n    groupingId: null\n    event: OrderRequest\n    eventToString: over_limit quantity=10 price=1200 limit=10000 stock=10 riskUnavailable=false\n    thread: main\n    nodeLogs: \n        - input: { thread: main, method: onOrder, annotation: OnEventHandler, id: over_limit, quantity: 10}\n        - risk: { thread: main, method: check, annotation: OnTrigger, riskStatus: CLEARED}\n        - stock: { thread: main, method: check, annotation: OnTrigger, stockAvailable: true, stock: 10}\n        - value: { thread: main, method: calculate, annotation: OnTrigger, valuePence: 12000}\n        - limit: { thread: main, method: check, annotation: OnTrigger, withinLimit: false, limitPence: 10000}\n        - decision: { thread: main, method: decide, annotation: OnTrigger, outcome: REJECTED_LIMIT}\n        - recorder: { thread: main, method: record, annotation: OnTrigger, recordedOutcome: REJECTED_LIMIT, outputCount: 2}\n    endTime: 1000"}, {"recordIndex": 5, "byteOffset": 2601, "logTime": 1000, "text": "eventLogRecord: \n    eventTime: 1000\n    logTime: 1000\n    groupingId: null\n    event: OrderRequest\n    eventToString: out_of_stock quantity=4 price=1200 limit=10000 stock=3 riskUnavailable=false\n    thread: main\n    nodeLogs: \n        - input: { thread: main, method: onOrder, annotation: OnEventHandler, id: out_of_stock, quantity: 4}\n        - risk: { thread: main, method: check, annotation: OnTrigger, riskStatus: CLEARED}\n        - stock: { thread: main, method: check, annotation: OnTrigger, stockAvailable: false, stock: 3}\n        - value: { thread: main, method: calculate, annotation: OnTrigger, valuePence: 4800}\n        - limit: { thread: main, method: check, annotation: OnTrigger, withinLimit: true, limitPence: 10000}\n        - decision: { thread: main, method: decide, annotation: OnTrigger, outcome: REJECTED_STOCK}\n        - recorder: { thread: main, method: record, annotation: OnTrigger, recordedOutcome: REJECTED_STOCK, outputCount: 3}\n    endTime: 1000"}, {"recordIndex": 6, "byteOffset": 3581, "logTime": 1000, "text": "eventLogRecord: \n    eventTime: 1000\n    logTime: 1000\n    groupingId: null\n    event: OrderRequest\n    eventToString: both_reject quantity=10 price=1200 limit=10000 stock=3 riskUnavailable=false\n    thread: main\n    nodeLogs: \n        - input: { thread: main, method: onOrder, annotation: OnEventHandler, id: both_reject, quantity: 10}\n        - risk: { thread: main, method: check, annotation: OnTrigger, riskStatus: CLEARED}\n        - stock: { thread: main, method: check, annotation: OnTrigger, stockAvailable: false, stock: 3}\n        - value: { thread: main, method: calculate, annotation: OnTrigger, valuePence: 12000}\n        - limit: { thread: main, method: check, annotation: OnTrigger, withinLimit: false, limitPence: 10000}\n        - decision: { thread: main, method: decide, annotation: OnTrigger, outcome: REJECTED_LIMIT}\n        - recorder: { thread: main, method: record, annotation: OnTrigger, recordedOutcome: REJECTED_LIMIT, outputCount: 4}\n    endTime: 1000"}, {"recordIndex": 7, "byteOffset": 4563, "logTime": 1000, "text": "eventLogRecord: \n    eventTime: 1000\n    logTime: 1000\n    groupingId: null\n    event: OrderRequest\n    eventToString: at_limit quantity=5 price=2000 limit=10000 stock=5 riskUnavailable=false\n    thread: main\n    nodeLogs: \n        - input: { thread: main, method: onOrder, annotation: OnEventHandler, id: at_limit, quantity: 5}\n        - risk: { thread: main, method: check, annotation: OnTrigger, riskStatus: CLEARED}\n        - stock: { thread: main, method: check, annotation: OnTrigger, stockAvailable: true, stock: 5}\n        - value: { thread: main, method: calculate, annotation: OnTrigger, valuePence: 10000}\n        - limit: { thread: main, method: check, annotation: OnTrigger, withinLimit: true, limitPence: 10000}\n        - decision: { thread: main, method: decide, annotation: OnTrigger, outcome: ACCEPTED}\n        - recorder: { thread: main, method: record, annotation: OnTrigger, recordedOutcome: ACCEPTED, outputCount: 5}\n    endTime: 1000"}, {"recordIndex": 8, "byteOffset": 5523, "logTime": 1000, "text": "eventLogRecord: \n    eventTime: 1000\n    logTime: 1000\n    groupingId: null\n    event: OrderRequest\n    eventToString: risk_unavailable quantity=5 price=1200 limit=10000 stock=5 riskUnavailable=true\n    thread: main\n    nodeLogs: \n        - input: { thread: main, method: onOrder, annotation: OnEventHandler, id: risk_unavailable, quantity: 5}\n        - risk: { thread: main, method: check, annotation: OnTrigger, riskStatus: UNAVAILABLE}\n    endTime: 1000"}, {"recordIndex": 9, "byteOffset": 5984, "logTime": 1000, "text": "eventLogRecord: \n    eventTime: 1000\n    logTime: 1000\n    groupingId: null\n    event: OrderRequest\n    eventToString: recovery quantity=5 price=1200 limit=10000 stock=5 riskUnavailable=false\n    thread: main\n    nodeLogs: \n        - input: { thread: main, method: onOrder, annotation: OnEventHandler, id: recovery, quantity: 5}\n        - risk: { thread: main, method: check, annotation: OnTrigger, riskStatus: CLEARED}\n        - stock: { thread: main, method: check, annotation: OnTrigger, stockAvailable: true, stock: 5}\n        - value: { thread: main, method: calculate, annotation: OnTrigger, valuePence: 6000}\n        - limit: { thread: main, method: check, annotation: OnTrigger, withinLimit: true, limitPence: 10000}\n        - decision: { thread: main, method: decide, annotation: OnTrigger, outcome: ACCEPTED}\n        - recorder: { thread: main, method: record, annotation: OnTrigger, recordedOutcome: ACCEPTED, outputCount: 6}\n    endTime: 1000"}]}}}
{"at": "2026-11-01T14:17:19Z", "transport": "isolated localhost Analyser REST action socket", "action": "topology", "params": {"showAll": true, "source": false, "scaffolding": false, "orientation": "top_down", "fit": true, "recordIndex": 3}, "result": {"ok": true, "action": "topology", "topology": {"recordIndex": 3, "rowIndex": -1, "orderMeaningful": true, "graphSource": "OPENED", "atEntry": true, "rowCount": 7, "recordsOpen": 12, "position": "entry · 7 invocation(s)", "currentNode": null, "selected": [], "scope": "node", "routeBound": true, "focus": false, "context": "All (18)", "contextDepth": 0, "scaffolding": false, "syncSource": true, "visibleNodes": 8, "totalNodes": 18, "dispatchHierarchy": "unknown", "dispatchNote": "Dispatch hierarchy unknown: this graph does not declare complete supertype routes. Named entry points are not a complete dispatch path; unlogged nodes are not ruled out by missing edges.", "callout": true}}}
{"at": "2026-11-01T14:17:22Z", "transport": "isolated localhost Analyser REST action socket", "action": "spotlight", "params": {"target": "topology:node:decision", "caption": "Reusable checks feed one release decision"}, "result": {"ok": true, "action": "spotlight", "spotlight": {"lit": [{"n": 1, "target": "topology:node:decision", "caption": "Reusable checks feed one release decision", "bounds": {"width": 145, "height": 53, "x": 1167, "y": 709}}], "note": "lit in the window; bounds are in the coordinates of a default `screenshot` — take one to check each is where you meant. They go out on any click, Escape, {clear: true}, or a verb that changes the view."}}}
{"at": "2026-11-01T14:17:23Z", "transport": "isolated localhost Analyser REST action socket", "action": "screenshot", "params": {"path": "01-new-topology.png"}, "result": {"ok": true, "action": "screenshot", "wrote": {"path": "<checkout>/examples/library-workflow/investigation/01-new-topology.png", "width": 1500, "height": 948, "windowBounds": {"width": 1500, "height": 1000, "x": 20, "y": 40}}}}
{"at": "2026-11-01T14:17:35Z", "transport": "isolated localhost Analyser REST action socket", "action": "flag", "params": {"recordIndexes": [3], "kind": "confirmation", "note": "Normal order: value6000p, limit10000p, stock available and risk cleared; ACCEPTED, outputCount1.", "fix": "Observed fixture agrees with the required result. Seven processing nodes coordinate two synthetic component libraries."}, "result": {"ok": true, "action": "flag", "applied": {"flagged": 1, "recordIndexes": [3], "note": "Normal order: value6000p, limit10000p, stock available and risk cleared; ACCEPTED, outputCount1.", "fix": "Observed fixture agrees with the required result. Seven processing nodes coordinate two synthetic component libraries.", "kind": "confirmation"}}}
{"at": "2026-11-01T14:17:36Z", "transport": "isolated localhost Analyser REST action socket", "action": "flag", "params": {"recordIndexes": [4], "kind": "confirmation", "note": "Over-limit order: value12000p exceeds limit10000p; REJECTED_LIMIT, outputCount2.", "fix": "The limit policy blocks release even though stock and risk checks pass."}, "result": {"ok": true, "action": "flag", "applied": {"flagged": 1, "recordIndexes": [4], "note": "Over-limit order: value12000p exceeds limit10000p; REJECTED_LIMIT, outputCount2.", "fix": "The limit policy blocks release even though stock and risk checks pass.", "kind": "confirmation"}}}
{"at": "2026-11-01T14:17:36Z", "transport": "isolated localhost Analyser REST action socket", "action": "flag", "params": {"recordIndexes": [8], "kind": "confirmation", "note": "Synthetic risk failure records riskStatus=UNAVAILABLE. No decision/recorder output is present in this record.", "fix": "The native harness separately catches the deliberate exception and asserts output count stays5. Missing audit output alone is not proof that no operation occurred."}, "result": {"ok": true, "action": "flag", "applied": {"flagged": 1, "recordIndexes": [8], "note": "Synthetic risk failure records riskStatus=UNAVAILABLE. No decision/recorder output is present in this record.", "fix": "The native harness separately catches the deliberate exception and asserts output count stays5. Missing audit output alone is not proof that no operation occurred.", "kind": "confirmation"}}}
{"at": "2026-11-01T14:17:37Z", "transport": "isolated localhost Analyser REST action socket", "action": "flag", "params": {"recordIndexes": [9], "kind": "confirmation", "note": "The next valid request records riskStatus=CLEARED and ACCEPTED; outputCount increases to6.", "fix": "The native harness verifies recovery for this one synchronous fixture. No transaction rollback or general outage recovery claim."}, "result": {"ok": true, "action": "flag", "applied": {"flagged": 1, "recordIndexes": [9], "note": "The next valid request records riskStatus=CLEARED and ACCEPTED; outputCount increases to6.", "fix": "The native harness verifies recovery for this one synchronous fixture. No transaction rollback or general outage recovery claim.", "kind": "confirmation"}}}
{"at": "2026-11-01T14:17:37Z", "transport": "isolated localhost Analyser REST action socket", "action": "walk", "params": {"name": "Reusable libraries checked together", "title": "One workflow - accepted, refused and recovered", "steps": [{"caption": "What you see: separate value, stock and risk checks feed one decision. This normal £60 order is accepted within its £100 limit.", "view": {"tab": "topology", "record": 3}, "targets": [{"target": "topology:node:decision", "caption": "All required checks agree; ACCEPTED"}]}, {"caption": "What changes: a £120 order exceeds the same £100 limit. The recorded result is REJECTED_LIMIT even when stock and risk pass.", "view": {"tab": "topology", "record": 4}, "targets": [{"target": "topology:node:limit", "caption": "Value12000p exceeds limit10000p"}, {"target": "topology:node:recorder", "caption": "The refusal is recorded as output2"}]}, {"caption": "A different reason: four units requested, only three available. The value passes its limit, but stock refuses release.", "view": {"tab": "topology", "record": 5}, "targets": [{"target": "topology:node:stock", "caption": "stockAvailable=false"}, {"target": "topology:node:decision", "caption": "REJECTED_STOCK"}]}, {"caption": "A deliberate dependency failure: riskStatus is UNAVAILABLE. The native test separately verifies the exception and unchanged output count; silence alone is not proof.", "view": {"tab": "topology", "record": 8}, "targets": [{"target": "topology:node:risk", "caption": "Synthetic risk check is unavailable"}]}, {"caption": "Verify the next request: the check clears and the workflow accepts it. Output count reaches6 after seven scenarios, one of which threw.", "view": {"tab": "topology", "record": 9}, "targets": [{"target": "topology:node:risk", "caption": "The next risk check clears"}, {"target": "topology:node:recorder", "caption": "ACCEPTED; outputCount6"}]}]}, "result": {"ok": true, "action": "walk", "walk": {"saved": "Reusable libraries checked together", "replaced": false, "steps": 5, "author": "assistant", "next": "walk {name: \"Reusable libraries checked together\", play: true} presents it to the person"}}}
{"at": "2026-11-01T14:17:38Z", "transport": "isolated localhost Analyser REST action socket", "action": "walk", "params": {"name": "Reusable libraries checked together", "play": true, "step": 5}, "result": {"ok": true, "action": "walk", "playing": {"walk": "Reusable libraries checked together", "step": 5, "of": 5, "phase": "PREPARING", "targets": [], "note": "the person steps through it with the strip's ◀ ▶ (or ← →); context.walks.showing says what each step's targets resolved to"}}}
{"at": "2026-11-01T14:17:39Z", "transport": "isolated localhost Analyser REST action socket", "action": "screenshot", "params": {"path": "02-checked-recovery.png"}, "result": {"ok": true, "action": "screenshot", "wrote": {"path": "<checkout>/examples/library-workflow/investigation/02-checked-recovery.png", "width": 1500, "height": 948, "windowBounds": {"width": 1500, "height": 1000, "x": 20, "y": 40}}}}
{"at": "2026-11-01T14:18:24Z", "transport": "isolated localhost Analyser REST action socket", "action": "walk", "params": {"end": true}, "result": {"ok": true, "action": "walk", "ended": {"ended": true, "walk": "Reusable libraries checked together"}}}
{"at": "2026-11-01T14:18:24Z", "transport": "isolated localhost Analyser REST action socket", "action": "topology", "params": {"callout": false}, "result": {"ok": true, "action": "topology", "topology": {"recordIndex": 9, "rowIndex": -1, "orderMeaningful": true, "graphSource": "OPENED", "atEntry": true, "rowCount": 7, "recordsOpen": 12, "position": "entry · 7 invocation(s)", "currentNode": null, "selected": [], "scope": "node", "routeBound": true, "focus": false, "context": "All (18)", "contextDepth": 0, "scaffolding": false, "syncSource": true, "visibleNodes": 8, "totalNodes": 18, "dispatchHierarchy": "unknown", "dispatchNote": "Dispatch hierarchy unknown: this graph does not declare complete supertype routes. Named entry points are not a complete dispatch path; unlogged nodes are not ruled out by missing edges.", "callout": false, "finding": {"note": "The next valid request records riskStatus=CLEARED and ACCEPTED; outputCount increases to6.", "fix": "The native harness verifies recovery for this one synchronous fixture. No transaction rollback or general outage recovery claim."}}}}
{"at": "2026-11-01T14:18:25Z", "transport": "isolated localhost Analyser REST action socket", "action": "report", "params": {"name": "Reusable libraries current results", "title": "Two libraries, one checked order-release workflow", "notes": "Current synthetic workflow, not a customer integration or before/after bug fix. Codex inspected actual captured records through an isolated Analyser REST socket. Native run.py/WorkflowCheck executed the application; Analyser does not replay it.", "sections": [{"kind": "narrative", "text": "Seven processing nodes coordinate value, stock, limit and risk checks from two separately packaged synthetic libraries. The graph additionally shows the OrderRequest event vertex. Seven native scenarios pass: normal and equality accepted; over-limit, stock shortage and combined refusal rejected with defined limit-first priority; one deliberate risk exception emits no output; the next valid request succeeds. Six outputs total. No prior defect or corrected revision is claimed."}, {"kind": "record", "recordIndex": 4}, {"kind": "narrative", "text": "Record4 shows12000p value against10000p limit, withinLimit=false, REJECTED_LIMIT, outputCount2. Record5 independently shows stockAvailable=false and REJECTED_STOCK. Record6 tests defined limit-first priority when both checks fail."}, {"kind": "record", "recordIndex": 8}, {"kind": "narrative", "text": "Record8 logs riskStatus=UNAVAILABLE and no decision/recorder entry. The native harness separately catches the intentional exception and asserts outputCount remains5; silence alone does not prove non-execution. Record9 shows riskStatus=CLEARED, ACCEPTED and outputCount6. No transaction rollback or arbitrary network recovery is established."}, {"kind": "record", "recordIndex": 9}, {"kind": "narrative", "text": "Ordinary unsigned audit, stream completeness unknown. Clock is changed to1000ms after init: time-order warnings are expected; inspect by record index. Source/run relationship is unverified. Bundle carries no source/replay; download source separately and rerun native harness. No vendor compatibility, measured authoring saving, human approval or general correctness claim."}], "path": "library-workflow-observations.pdf"}, "result": {"ok": true, "action": "report", "applied": {"name": "Reusable libraries current results", "title": "Two libraries, one checked order-release workflow", "created": true, "sections": 7, "writtenAgainst": "events.audit · 12 record(s) · 13:50:06.389→00:00:01.000", "path": "<checkout>/examples/library-workflow/investigation/library-workflow-observations.pdf"}}}
{"at": "2026-11-01T14:18:26Z", "transport": "isolated localhost Analyser REST action socket", "action": "report", "params": {"bundle": {"path": "library-workflow-investigation.fexp", "notes": "# Reusable libraries checked together\n\nActual current synthetic workflow: two separately packaged libraries, seven processing nodes plus the event vertex. No invented earlier defect or corrected revision. Native harness passed7scenarios:6decisions and1deliberate dependency exception with no output, followed by recovery.\n\nRecord3accepts normal;4refuses value12000p against10000p;5refuses stock;6checks priority;7accepts equality;8logs riskUNAVAILABLE;9accepts nextvalid request with outputCount6. Absence of log output alone is not non-execution proof; native harness asserts the exception/count.\n\nCodex used isolated local REST action verbs; inference was OpenAI-hosted. Analyser inspects but does not execute replay. Sources supplied separately; source/run identity unverified. Ordinary unsigned audit, completenessunknown,clockresetafterinit causes time-orderwarning. Use record indexes. Bundle includes a saved five-step walk. No arbitrary vendorcompatibility, transactionrollback, productionreadiness or measuredsavings claim."}}, "result": {"ok": true, "action": "report", "bundle": {"phase": "WRITING", "path": "<checkout>/examples/library-workflow/investigation/library-workflow-investigation.fexp", "note": "the bundle is written off the event thread; context.capture says when it is written, its identity, and anything left out, redacted or excerpted"}}}
{"at": "2026-11-01T14:18:26Z", "transport": "isolated localhost Analyser REST action socket", "action": "context", "params": {"sections": ["project"]}, "result": {"ok": true, "action": "context", "context": {"project": {"active": true, "name": "library-project", "label": "library-project", "settings": "<isolated-capture>/library-project/.analyser/project.fluxtion-settings", "root": "<isolated-capture>/library-project", "unsavedEdits": true}, "reports": [{"name": "Reusable libraries current results", "title": "Two libraries, one checked order-release workflow", "sections": 7, "createdAt": "2026-11-01T14:18:25.689892Z", "from": "project"}], "walks": {"saved": [{"name": "Reusable libraries checked together", "title": "One workflow - accepted, refused and recovered", "author": "assistant", "steps": 5, "from": "project"}]}, "capture": {"phase": "WRITTEN", "path": "<checkout>/examples/library-workflow/investigation/library-workflow-investigation.fexp", "identity": "sha256:252f7c5fad7e7049f59aa3cb244a20c44ae4528c0039659e151649640cd64180"}, "scope": {"sections": ["project"], "available": ["log", "project", "pairing", "processors", "source", "topology", "view", "charts", "menus", "design", "handoff"], "note": "a projection of the full context: each key here equals the same key of an unprojected call on the same state; absent sections were not read. Omit 'sections' for everything"}}}}
{"at": "2026-11-01T14:18:43Z", "transport": "isolated localhost Analyser REST action socket", "action": "open", "params": {"bundle": "<checkout>/examples/library-workflow/investigation/library-workflow-investigation.fexp"}, "result": {"ok": true, "action": "open", "bundle": {"bundle": "<checkout>/examples/library-workflow/investigation/library-workflow-investigation.fexp", "verifying": true, "next": "read context {sections:[\"project\"]} for project.bundle once it lands"}}}
{"at": "2026-11-01T14:18:45Z", "transport": "isolated localhost Analyser REST action socket", "action": "context", "params": {"sections": ["log", "pairing", "project"]}, "result": {"ok": true, "action": "context", "context": {"log": {"path": "<isolated-capture>/home/.fluxtion-analyser/bundles/bundle-252f7c5fad7e-8669767568294111208/log/events.audit", "openedFrom": "<isolated-capture>/home/.fluxtion-analyser/bundles/bundle-252f7c5fad7e-8669767568294111208/log/events.audit", "records": 12, "sizeBytes": 7303, "from": 1000, "to": 1793541006389, "openedBy": "you", "freshness": {"basis": "size, modification time and file identity; unchanged metadata does not prove identical bytes", "state": "unchanged-metadata", "members": [{"state": "unchanged-metadata", "onDisk": {"path": "<isolated-capture>/home/.fluxtion-analyser/bundles/bundle-252f7c5fad7e-8669767568294111208/log/events.audit", "sizeBytes": 7303, "modified": "2026-11-01T14:18:43.868815372Z", "fileKey": "(dev=1000010,ino=199207926)", "directory": false}, "loaded": {"path": "<isolated-capture>/home/.fluxtion-analyser/bundles/bundle-252f7c5fad7e-8669767568294111208/log/events.audit", "sizeBytes": 7303, "modified": "2026-11-01T14:18:43.868815372Z", "fileKey": "(dev=1000010,ino=199207926)", "directory": false}}], "reload": "explicitly reopen the same path; no automatic replacement"}, "generation": 2, "following": false, "supportsFollow": true, "trailingRecordsIncluded": 1, "tailNote": "EOF record included without a closing separator (legal Format 1); completeness unknown. Follow reopens as a live read.", "trailingRecordsPending": 0, "streamEnd": {"state": "unknown", "recordsRead": 12}}, "project": {"active": true, "name": "bundle-252f7c5fad7e-8669767568294111208", "label": "bundle-252f7c5fad7e-8669767568294111208", "settings": "<isolated-capture>/home/.fluxtion-analyser/bundles/bundle-252f7c5fad7e-8669767568294111208/profile/project.fluxtion-settings", "root": "<isolated-capture>/home/.fluxtion-analyser/bundles/bundle-252f7c5fad7e-8669767568294111208/profile", "unsavedEdits": false, "bundle": {"identity": "sha256:252f7c5fad7e7049f59aa3cb244a20c44ae4528c0039659e151649640cd64180", "source": "<checkout>/examples/library-workflow/investigation/library-workflow-investigation.fexp", "workingCopy": "<isolated-capture>/home/.fluxtion-analyser/bundles/bundle-252f7c5fad7e-8669767568294111208", "verified": true, "processorClaimed": "com.example.reuse.generated.OrderReleaseProcessor", "processorClaimedRelationship": "the sender's selection at capture; not paired against this log", "notes": "Actual current synthetic workflow: two separately packaged libraries, seven processing nodes plus the event vertex. No invented earlier defect or corrected revision. Native harness passed7scenarios:6d…", "sourceAnchor": "none", "sourceAnchorNote": "the bundle carries no source; add a root to read the code behind these records", "limits": "unsigned: verification detects a changed member; it does not authenticate the sender\nno replay: this bundle shows an investigation; it does not reproduce or fix it"}}, "graphPairing": {"graph": "OrderReleaseProcessor.graphml", "graphSource": "OPENED", "freshness": {"basis": "size, modification time and file identity; unchanged metadata does not prove identical bytes", "state": "unchanged-metadata", "members": [{"state": "unchanged-metadata", "onDisk": {"path": "<isolated-capture>/home/.fluxtion-analyser/bundles/bundle-252f7c5fad7e-8669767568294111208/graph/OrderReleaseProcessor.graphml", "sizeBytes": 26243, "modified": "2026-11-01T14:18:43.868596871Z", "fileKey": "(dev=1000010,ino=199207924)", "directory": false}, "loaded": {"path": "<isolated-capture>/home/.fluxtion-analyser/bundles/bundle-252f7c5fad7e-8669767568294111208/graph/OrderReleaseProcessor.graphml", "sizeBytes": 26243, "modified": "2026-11-01T14:18:43.868596871Z", "fileKey": "(dev=1000010,ino=199207924)", "directory": false}}], "reload": "explicitly reopen the same path; no automatic replacement"}, "graphPath": "<isolated-capture>/home/.fluxtion-analyser/bundles/bundle-252f7c5fad7e-8669767568294111208/graph/OrderReleaseProcessor.graphml", "applies": true, "loggedNodes": 7, "declaredByGraph": 7, "appliesMeans": "retention policy: keep this graph open against this log — not proof of fit", "membershipEstablished": true, "everyObservedIdDeclared": true, "pairingScope": "all 12 records", "pairingSampled": false, "verdict": "the graph declares all 7 node(s) this log writes", "auditLogging": "enabled", "auditLoggingNote": "Audit logging is installed on this processor (EventLogManager is on the graph), so a run can produce a log. Whether a given NODE appears in it is a separate question — a node logs only if it has an audit logger and calls it, which is why 'did not log' is never by itself 'did not run'.", "copyComparison": {"state": "complete", "groups": [], "roots": ["<isolated-capture>/home/.fluxtion-analyser/bundles/bundle-252f7c5fad7e-8669767568294111208/graph"], "warnings": [], "truncated": false}}, "reports": [{"name": "Reusable libraries current results", "title": "Two libraries, one checked order-release workflow", "sections": 7, "createdAt": "2026-11-01T14:18:25.689892Z", "from": "project"}], "walks": {"saved": [{"name": "Reusable libraries checked together", "title": "One workflow - accepted, refused and recovered", "author": "assistant", "steps": 5, "from": "project"}]}, "capture": {"phase": "WRITTEN", "path": "<checkout>/examples/library-workflow/investigation/library-workflow-investigation.fexp", "identity": "sha256:252f7c5fad7e7049f59aa3cb244a20c44ae4528c0039659e151649640cd64180"}, "dispatchOrder": "total — position in nodeLogs IS dispatch order (derived); safe to read as causality", "timeOrder": ["10 record(s) out of time order within this log, first at record 2 — time-anchored features may be approximate; records are never re-sorted"], "scope": {"sections": ["log", "pairing", "project"], "available": ["log", "project", "pairing", "processors", "source", "topology", "view", "charts", "menus", "design", "handoff"], "note": "a projection of the full context: each key here equals the same key of an unprojected call on the same state; absent sections were not read. Omit 'sections' for everything"}}}}
{"at": "2026-11-01T14:18:46Z", "transport": "isolated localhost Analyser REST action socket", "action": "topology", "params": {"source": false, "scaffolding": false, "callout": false, "fit": true}, "result": {"ok": true, "action": "topology", "topology": {"recordIndex": 0, "rowIndex": -1, "orderMeaningful": true, "graphSource": "OPENED", "atEntry": true, "rowCount": 0, "recordsOpen": 12, "position": "no record selected — 12 open; goto {recordIndex} to step through one", "currentNode": null, "selected": [], "scope": "node", "routeBound": true, "focus": false, "context": "All (18)", "contextDepth": 0, "scaffolding": false, "syncSource": true, "visibleNodes": 8, "totalNodes": 18, "dispatchHierarchy": "unknown", "dispatchNote": "Dispatch hierarchy unknown: this graph does not declare complete supertype routes. Named entry points are not a complete dispatch path; unlogged nodes are not ruled out by missing edges.", "callout": false}}}
{"at": "2026-11-01T14:18:49Z", "transport": "isolated localhost Analyser REST action socket", "action": "walk", "params": {"name": "Reusable libraries checked together", "reel": "library-workflow-reel.html"}, "result": {"ok": true, "action": "walk", "reel": {"path": "<checkout>/examples/library-workflow/investigation/library-workflow-reel.html", "steps": 5, "bundle": "sha256:252f7c5fad7e7049f59aa3cb244a20c44ae4528c0039659e151649640cd64180", "redacted": [], "frames": "not redacted — screenshots may show local file paths; the title page says so", "evidence": "the finish page names the bundle, its identity and its limits"}}}
{"at": "2026-11-01T14:18:50Z", "transport": "isolated localhost Analyser REST action socket", "action": "walk", "params": {"name": "Reusable libraries checked together", "play": true, "step": 5}, "result": {"ok": true, "action": "walk", "playing": {"walk": "Reusable libraries checked together", "step": 5, "of": 5, "phase": "PREPARING", "targets": [], "note": "the person steps through it with the strip's ◀ ▶ (or ← →); context.walks.showing says what each step's targets resolved to"}}}
{"at": "2026-11-01T14:18:50Z", "transport": "isolated localhost Analyser REST action socket", "action": "context", "params": {"sections": ["project"]}, "result": {"ok": true, "action": "context", "context": {"project": {"active": true, "name": "bundle-252f7c5fad7e-8669767568294111208", "label": "bundle-252f7c5fad7e-8669767568294111208", "settings": "<isolated-capture>/home/.fluxtion-analyser/bundles/bundle-252f7c5fad7e-8669767568294111208/profile/project.fluxtion-settings", "root": "<isolated-capture>/home/.fluxtion-analyser/bundles/bundle-252f7c5fad7e-8669767568294111208/profile", "unsavedEdits": false, "bundle": {"identity": "sha256:252f7c5fad7e7049f59aa3cb244a20c44ae4528c0039659e151649640cd64180", "source": "<checkout>/examples/library-workflow/investigation/library-workflow-investigation.fexp", "workingCopy": "<isolated-capture>/home/.fluxtion-analyser/bundles/bundle-252f7c5fad7e-8669767568294111208", "verified": true, "processorClaimed": "com.example.reuse.generated.OrderReleaseProcessor", "processorClaimedRelationship": "the sender's selection at capture; not paired against this log", "notes": "Actual current synthetic workflow: two separately packaged libraries, seven processing nodes plus the event vertex. No invented earlier defect or corrected revision. Native harness passed7scenarios:6d…", "sourceAnchor": "none", "sourceAnchorNote": "the bundle carries no source; add a root to read the code behind these records", "limits": "unsigned: verification detects a changed member; it does not authenticate the sender\nno replay: this bundle shows an investigation; it does not reproduce or fix it"}}, "reports": [{"name": "Reusable libraries current results", "title": "Two libraries, one checked order-release workflow", "sections": 7, "createdAt": "2026-11-01T14:18:25.689892Z", "from": "project"}], "walks": {"saved": [{"name": "Reusable libraries checked together", "title": "One workflow - accepted, refused and recovered", "author": "assistant", "steps": 5, "from": "project"}], "showing": {"walk": "Reusable libraries checked together", "step": 5, "of": 5, "phase": "SHOWN", "targets": [{"n": 1, "target": "topology:node:risk", "state": "CURRENT", "available": true}, {"n": 2, "target": "topology:node:recorder", "state": "CURRENT", "available": true}]}}, "capture": {"phase": "WRITTEN", "path": "<checkout>/examples/library-workflow/investigation/library-workflow-investigation.fexp", "identity": "sha256:252f7c5fad7e7049f59aa3cb244a20c44ae4528c0039659e151649640cd64180"}, "scope": {"sections": ["project"], "available": ["log", "project", "pairing", "processors", "source", "topology", "view", "charts", "menus", "design", "handoff"], "note": "a projection of the full context: each key here equals the same key of an unprojected call on the same state; absent sections were not read. Omit 'sections' for everything"}}}}
{"at": "2026-11-01T14:18:51Z", "transport": "isolated localhost Analyser REST action socket", "action": "screenshot", "params": {"path": "03-reopened-recovery.png"}, "result": {"ok": true, "action": "screenshot", "wrote": {"path": "<checkout>/examples/library-workflow/investigation/03-reopened-recovery.png", "width": 1500, "height": 948, "windowBounds": {"width": 1500, "height": 1000, "x": 20, "y": 40}}}}
