Joseph Doherty
0abce36ca3
fix(ablegacy): translate S/O/I and R status bits for libplctag's PCCC parser ( #659 )
...
libplctag 2.6.0 (bundled by libplctag 1.5.2 / NativeImport 1.0.41) pccc.c needs an
explicit file number (parse_pccc_file_num; S is only the status file when a digit
follows) and has no R-file status-bit mnemonics (sub_element_lookup: con/len/pos only;
a /bit is refused on a 6-byte element). So the canonical S:0 (the default probe),
O:0/3, I:0/0 and R6:0.DN failed with BadCommunicationError on a real MicroLogix 1400
while native read them.
LibplctagLegacyName (libplctag adapter only) now emits S2:/O0:/I1: (the native
encoder's implicit file numbers) and R6:0.CON/<bit> for status bits libplctag lacks
(R EN/EU/DN/EM/ER/UL/IN/FD, C UA), bit numbers taken from the native table. The
authored grammar is unchanged. Unit tests pin the translation per family and check,
through a model of the pccc.c parser, that the translated name addresses exactly
what the native encoder does (46 fail without the fix). Live: Z-33323 idle, reads
only - libplctag now equals native for S/O/I/R status bits; controls unchanged.
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
2026-10-09 05:34:09 -04:00
Joseph Doherty
beedac8218
docs(ablegacy): #592 real MicroLogix 1400 evidence (native reads/writes pass; libplctag fails S/O/I/status bits)
...
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
2026-10-09 05:23:28 -04:00
Joseph Doherty
12aa293cdc
docs(abcip): #611 live member-write gate on Z35162 (native DINT/BIT/REAL members, restored)
...
v2-ci / build (push) Successful in 4m47s
v2-ci / unit-tests (push) Failing after 23m3s
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
2026-10-09 04:49:19 -04:00
Joseph Doherty
9e894decb0
docs(ab): hw4 evidence fix round 1 - bit-write gap provenance, README/CLI/fixture docs, libplctag-deletion gap
...
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
2026-10-09 04:12:53 -04:00
Joseph Doherty
14ec145487
test(ab): hw4 evidence - mixed MSP read ( #582 ), listing order ( #572 ) on the press; AbLegacy bit-write test; gate-results + docs
...
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
2026-10-09 04:10:22 -04:00
Joseph Doherty
2befe9f9ba
docs: correct stale LDAP-role, host-probe, resilience-table, Bad-value claims; fix tasks.json ( #624 )
...
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
2026-10-08 08:16:43 -04:00
Joseph Doherty
0544287f26
docs(plans): auto/driver-gaps branch ledger — 92 issues classified ( #607 )
...
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
2026-10-08 06:52:41 -04:00
Joseph Doherty
b25ee10a14
test(abcip): real-press pass 3 with packet capture — 17/17, zero write services, 4 sequential sessions (Z-35162)
...
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
2026-10-07 22:39:33 -04:00
Joseph Doherty
a9fc933e3b
docs(plans): native AB transport tasks.json status sync
...
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
2026-10-07 21:14:44 -04:00
Joseph Doherty
17e1170e61
docs(plans): native AB transport tasks.json status sync
...
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
2026-10-07 20:26:00 -04:00
Joseph Doherty
6a22d28098
test(abcip): real-press read-only gate — native vs libplctag differential and latency (Z-35162)
...
Pass 2 (2026-10-08 00:21Z, df776170 ): 17/17. Browse 3162=3162 tags, 20 UDT
templates identical, 200 tags read with 0 unexpected divergences (6 live
values compared structurally + every still element), 1 Forward Open and 1
acked Forward Close per native phase. Latency native p95 105.8 ms vs
libplctag 139.5 ms (limit 153.4) PASS. Pass 1 failures and their fixes are
recorded in the gate-results doc; pass 2 had no independent pcap.
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
2026-10-07 20:25:32 -04:00
Joseph Doherty
c306c6f674
fix(abcip): CompactLogix native default connection size matches libplctag's Large Forward Open (found by T21 latency harness)
2026-10-07 19:34:30 -04:00
Joseph Doherty
2dc55ecb8f
test(abcip): read-only poll-latency comparison harness for the T21 press gate (proven on ab_server)
2026-10-07 19:26:23 -04:00
Joseph Doherty
3ea72f29dd
docs(plans): native AB transport tasks.json status sync
2026-10-07 19:12:59 -04:00
Joseph Doherty
9a576599e1
docs(plans): native AB transport tasks.json status sync
2026-10-07 19:11:03 -04:00
Joseph Doherty
b8ebafc642
feat(adminui): Transport dropdown on AbCip/AbLegacy driver forms (live-verified on docker-dev)
...
- AbCip/AbLegacy driver forms gain a Transport InputSelect; FromOptions/ToOptions now carry
Transport, so saving any other field no longer silently reverts Native to libplctag.
- Both drivers log the constructed transport once per init.
- AbCip factory now takes the host ILoggerFactory (it ran on NullLogger in production, hiding
every AbCip log line); DriverFactoryBootstrap passes it.
- Gate results: AdminUI /run (T19) native, inverted (dead port) and libplctag legs.
2026-10-07 19:05:50 -04:00
Joseph Doherty
c8b35663e5
docs(plans): native AB transport tasks.json status sync
2026-10-07 18:29:04 -04:00
Joseph Doherty
566ab20d72
test(abcip): differential stops on first connection failure, paces + caps requests, reserves array/UDT slots, fails vacuous template parity; write tests opt-in (Task 18 review r1)
2026-10-07 18:24:25 -04:00
Joseph Doherty
0e20a8e5a9
test(abcip): read-only differential harness comparing native and libplctag on one target
2026-10-07 17:58:47 -04:00
Joseph Doherty
d1ad2600d1
docs(plans): tasks.json sync
2026-10-07 17:46:19 -04:00
Joseph Doherty
52670447ca
docs(plans): T17 results commit reference
2026-10-07 17:36:16 -04:00
Joseph Doherty
8c68694df1
test(ab): run the ab_server integration suites on both transports
2026-10-07 17:35:31 -04:00
Joseph Doherty
72c73f525e
docs(plans): tasks.json sync
2026-10-07 17:15:54 -04:00
Joseph Doherty
e66b05fddf
docs(plans): native AB transport tasks.json status sync
2026-10-07 17:14:02 -04:00
Joseph Doherty
5dd1b987b9
docs(plans): native AB transport tasks.json status sync
2026-10-07 16:58:54 -04:00
Joseph Doherty
d0f89f9ec1
docs(plans): native AB transport tasks.json status sync
2026-10-07 16:49:32 -04:00
Joseph Doherty
d7145ddfa5
docs(plans): native AB transport tasks.json status sync
2026-10-07 16:23:09 -04:00
Joseph Doherty
617b9ba40c
docs(plans): native AB transport tasks.json status sync
2026-10-07 15:59:39 -04:00
Joseph Doherty
52505678d6
docs(plans): native AB transport tasks.json status sync
2026-10-07 15:46:31 -04:00
Joseph Doherty
a0897fda96
feat(ab-transport): project skeleton with AbStatus, CIP reply parsing and the ICipChannel seam
2026-10-07 15:34:34 -04:00
Joseph Doherty
b6f64c369a
docs(plans): sync native AB transport plan + tasks.json after task transcription fixes
2026-10-07 15:24:25 -04:00
Joseph Doherty
d4808fa948
docs(plans): fold Fable review into the native AB transport plan; add tasks.json
2026-10-07 15:17:07 -04:00
Joseph Doherty
6106946504
docs(plans): native AB transport implementation plan (draft, pre-review)
2026-10-07 14:59:26 -04:00
Joseph Doherty
45b6062de5
docs(plans): native .NET EtherNet/IP+CIP+PCCC transport to replace libplctag under AbCip/AbLegacy — design
2026-10-07 14:35:14 -04:00
Joseph Doherty
f679b2f10a
docs(plans): annotate the r3 register — browse-transit-below-realm-root closed by 89630ee4+ff9d617a
2026-08-18 10:01:48 -04:00
Joseph Doherty
caf8830bbe
docs(plan): r3 ledger finalized + Client.CLI logger-flake register entry
2026-08-18 08:50:11 -04:00
Joseph Doherty
c4d6cba7e1
docs(plan): r3 close-out — outcomes, sweep record, register annotations
2026-08-18 08:48:40 -04:00
Joseph Doherty
326ca33800
docs(plan): record the T9 test rename in the live plan
2026-08-18 07:49:54 -04:00
Joseph Doherty
088a1a1e81
docs(plan): r3 amendment — ScadaBridge register rows 38/39 join as Tasks 9-10
2026-08-18 07:00:42 -04:00
Joseph Doherty
f64b10b964
docs(plan): perf follow-ups round 3 — r2 register closes + four local live gates
2026-08-17 07:06:07 -04:00
Joseph Doherty
c15e5fc97b
docs(plan): name the r2 close-out docs commit in the ledger
2026-08-17 06:11:36 -04:00
Joseph Doherty
d4e5c379ce
docs(plan): perf follow-ups r2 close-out — outcomes, sweep record, register annotations
2026-08-17 06:11:20 -04:00
Joseph Doherty
248d998a79
docs(plan): perf follow-ups round 2 — ACL rollover window, S7 coverage + TM/CT live pin, historian bounded watches, test-DB reaper, docker-dev readiness gate
2026-08-17 05:28:24 -04:00
Joseph Doherty
0b3972864a
docs(plan): record the close-out docs commit SHA in the follow-ups ledger
2026-08-17 04:43:09 -04:00
Joseph Doherty
07fd17a34e
docs(plan): perf follow-ups close-out — outcomes, live-gate evidence, register annotations
2026-08-17 04:42:51 -04:00
Joseph Doherty
f06cbe16d9
docs(plan): perf follow-ups — 15-task plan off the remainder's follow-up register
2026-08-17 03:41:40 -04:00
Joseph Doherty
cd010c7165
docs(plan): commit the execution ledger's final state
2026-08-16 05:41:34 -04:00
Joseph Doherty
b9e9df4081
docs(code): honest rationales — Akka restart semantics, per-key shards, EF literal inlining; retire or annotate orphaned members
2026-08-16 05:33:33 -04:00
Joseph Doherty
e75bb38734
docs: perf roadmap remainder — outcomes + follow-up register
2026-08-16 05:08:53 -04:00
Joseph Doherty
dc459633e0
docs(plan): perf roadmap remainder — historian batching, ACL cache, driver round-trips, alarm coalescing, AdminUI hot spots, residuals
2026-08-15 21:33:18 -04:00