Skip to content

Commit ad0acbb

Browse files
docs(resync): state where publication runs
The spec described the pass's acknowledged watch-set upsert and the retry replay, but not which thread publishes. That is the property a pass's ability to complete depends on, so it belongs in the spec rather than only in the code. Refs #431 agent-identity: dev3.compoundingtech.st2.resync-lock.worker agent-persona: worker agent-supervisor: dev3.compoundingtech-lead agent-tool: OMP agent-tool-version: 18.1.2 agent-runtime: OMP 18.1.2 tooling-profile: dotfiles@7534055
1 parent d72ddde commit ad0acbb

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

docs/vrs/06-resync/spec.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,16 @@ meaningful.
120120
acknowledged upsert at the exact live transition before execution advances
121121
to any later task. Both paths resolve supervisor-chain carriers against the
122122
complete discovered spec vector, never a one-spec view.
123+
- Publication runs on a dedicated thread, never the thread that answers a pass's
124+
acknowledged upserts, so a pass completes while publications are pending,
125+
refused, or blocked on another process's lock. The watcher thread captures a
126+
transition, hands it off, and applies the outcome when it returns, remaining
127+
the only writer of carrier state; re-observing the carrier after an outcome is
128+
what schedules the next attempt. One publication is outstanding per
129+
subscription at a time. A queued publication is dropped when its subscription
130+
is deactivated or removed by a refresh, while one the emitter already started
131+
completes with its outcome discarded, so nothing is published to a seat whose
132+
subscription the pass has already removed.
123133
- After lifecycle execution, each reconcile pass atomically refreshes the watch
124134
set through separate catalog and subscription inputs. The catalog input is
125135
every valid discovered declaration, including suspended and retired topology

0 commit comments

Comments
 (0)