docs: record the merge, correct §9's commit SHAs, and flag drift for removal (#523)
v2-ci / build (push) Successful in 5m43s
v2-ci / unit-tests (push) Failing after 19m42s

Three corrections to deferment.md, plus a CLAUDE.md warning.

The commit column in §9 was wrong for every stage. Each SHA was captured with
git rev-parse HEAD and then written into the file by amending that same commit
— which changes the SHA — so every recorded value was the pre-amend one: a
dangling object on no branch, reachable only through the reflog and due to
vanish at the next gc. The register was citing commits that effectively did not
exist. Now verified against git log e08855fb..914d70bf.

§9 also still described this as work on a feature branch; it merged to master
as 914d70bf.

The 2026-07-28 drift-detector entry now carries a SUPERSEDED banner. The
feature is in master and the entry stays as the record of what was built and
why, but it is not the intended end state: the owner's decision is to remove
the periodic re-browse (#523). The objection is the one the original entry
never weighed — the check is recurring, unconfigurable and never live-gated
outbound traffic to real devices, and how often you browse someone's PLC is an
operational decision rather than an implementation detail.

Both the banner and #523 record the consequence rather than arguing it: AbCip
and FOCAS implement no IRediscoverable, so after removal they have no
tag-change signal at all. TwinCAT and MTConnect keep their native event-driven
signals and lose only redundant polling. The IRediscoverable consumption itself
is explicitly out of scope for the removal.
This commit is contained in:
Joseph Doherty
2026-07-28 13:27:29 -04:00
parent 914d70bf38
commit f0bd73bc2d
2 changed files with 41 additions and 8 deletions
+7
View File
@@ -188,6 +188,13 @@ line and injected nothing. Gone with it: `HandleDiscoveredNodes`, `PartitionDisc
browse picker drives it through `Commons/Browsing/DiscoveryDriverBrowser`, which never went through
the actor.
**Tag-set drift detection is slated for REMOVAL (Gitea #523).** It is in `master` today and the
description below is accurate, but the periodic device re-browse is being taken back out: it is
recurring, unconfigurable (interval is a constructor parameter, no appsettings key) and never
live-gated traffic to real PLCs/CNCs/Agents. After removal, **AbCip and FOCAS have no tag-change signal
at all** (they implement no `IRediscoverable`); TwinCAT and MTConnect keep their native ones. The
`IRediscoverable` consumption above is unaffected.
**Tag-set drift detection (2026-07-28) — the second signal, and it is GATED.** `DriverInstanceActor`
re-browses on a slow timer (`DefaultDriftCheckInterval`, 5 min) and compares what the remote offers
against what an operator authored, raising the same re-browse prompt. This matters most for **AbCip and