Orchestrata Ultimate › Sessions › Session 263
Session 263
| Field | Value |
|---|---|
| Session | 263 |
| Date | 2026-08-12 16:16 |
| Model | Claude Opus 4.6 |
| Length | auto-closed |
| Tag | — |
| Source | archive (context.history.md) |
‹ previous · next › · timeline
Prose pending.
Purpose
Fix pipeline_kernel driver attribution defect (producer-owned attribution resolved at serialization)
Work log
- Fixed pipeline_kernel driver-attribution defect (producer-owned attribution, resolved not mutated at serialization)
- PipelineKernelClient._emit_event (2nd production producer, direct-broadcast to VizInt UI) never resolved driver -> every payload it sent carried driver=empty forever (measured 2/2 unattributed)
- Corrected design (not the earlier rejected default-mutation plan): PipelineEvent.driver stays default empty (contract A1 intact, tests/kernel/test_pipeline_events.py L46/54/55 unchanged); PipelineEventBus and PipelineKernelClient each gained their own driver identity param (default inprocess)
- PipelineEventBus.emit() no longer mutates event.driver -- resolves payload[driver] = payload[driver] or self._driver on the OUTPUT dict only; _forward_to_ui reads the resolved dict instead of the mutated object
- PipelineKernelClient._emit_event does the same resolve at its call site (pipeline_kernel.py L487-517) -- the actual defect fix, taking measured 2/2 unattributed to 0/2
- Added 7 new tests (bus non-mutation+wire-attribution, explicit-driver survival x2 producers, Phase-2 custom-driver seam, cross-producer wire equality for the same event, non-empty-driver guard over both producers) plus fixed 2 stale docstrings in test_pipeline_events_enum.py
- Red-first proven: 4/5 new tests failed against pre-fix source with the exact defect signature (driver=='' where 'inprocess' expected); all green after the fix
- Regenerated interface-pin test_pipeline_kernel_client___init___line_77_interface (tests/generated_orchestrator/test_pipeline_kernel_generated.py) for the new driver param
- 14 referencing test modules run observed: 236 tests, 0 failed; excluded tests/kernel/test_pipeline_event_forwarder.py (owned by a concurrent workflow) run read-only for confirmation: 11/11 still pass unchanged
- scripts/gates.py --all: 15/15 gates PASS, rc=0
- Gate 0.4 rebuilt AST-precise; 4 false flags -> 130 real hazards
- scripts/gate_parallel_safety.py::gate_04_redis_keys rewritten from a regex + a +-13-line proximity window to an AST receiver/verb/data-flow model. Measured on the identical tree: OLD 4 flagged (ALL FOUR false positives: 2 keys that DO resolve to test_id, 2 matches inside string literals) -> NEW 130 flagged / 51 files, 0 real signal lost. Acceptance corpus 30/30; gate's own suite 66/66. I then extended REDIS_ROOT_NAMES/REDIS_ATTR_LEAVES (client,client,aclient,conn,conn) and REDIS_WRITE_VERBS (+29 incl psetex, lset, setrange, getdel, xdel, zincrby): 103->130 (+27,-0), flushdb coverage 0/5 -> 5/5. Root causes of the original blindness: (1) a single-line 'def test' AND 'test_id' conjunction, defeated by any WRAPPED signature - 437 such defs tree-wide; (2) raw-text scanning counted Redis calls inside STRING LITERALS - 28 of 72 matches; (3) the loose alternative test[a-z_]id matched a substring of the test's OWN function name, so three hardcoded session: global keys excused themselves.
Artifacts
- src/orchestrata_ultimate/kernel/pipeline_events.py (23 lines) - PipelineEventBus gains own driver identity; emit() resolves driver on OUTPUT dict, never mutates event
- src/orchestrata_ultimate/orchestrator/pipeline_kernel.py (15 lines) - PipelineKernelClient gains driver identity; _emit_event resolves driver on payload -- fixes the measured 2/2 unattributed defect
- tests/kernel/test_pipeline_events.py (92 lines) - 3 new tests -- bus non-mutation+wire attribution, explicit-driver survival, Phase-2 custom-driver seam
- tests/kernel/test_pipeline_events_enum.py (33 lines) - fixed 2 stale docstrings (driver postdates the enum; golden bytes claim corrected)
- tests/orchestrator/test_pipeline_kernel.py (165 lines) - 5 new tests -- red-first defect proof, non-mutation, cross-producer wire-equality guard
- tests/generated_orchestrator/test_pipeline_kernel_generated.py (7 lines) - regenerated init interface pin for the new driver param
Achievements
- (auto-closed by new session)