Skip to content

export-webhook: the door states ready, so a refused target is named at boot, as 1.5.5 named it when the sink was configured - #15

Merged
MattJackson merged 1 commit into
devfrom
p6-export-ready
Oct 7, 2026
Merged

MattJackson merged 1 commit into
devfrom
p6-export-ready

Conversation

@MattJackson

Copy link
Copy Markdown
Contributor

busbar row 86, Q-B(1) G2 (coordinator ruling 2026-10-07). Pairs with busbar#558, where the export axis awaits ready on the open that delivers.

The door now states the mechanism's optional ready (lifecycle: life(Webhook, ready)). Life::ready asks the host's verdict on the target once, via the existing admitted(), so a refused target raises BUSBAR-7070 at boot, at ERROR, in the instance's plugin log, and in 1.5.5's words when the refusal is the https:// rule (#14). It answers Ok: the boot proceeds with the sink disabled and its siblings serving, as in 1.5.5. Settings that did not parse are the configuration's refusal, not this one's.

Proof

  • ready_asks_the_verdict_at_boot_and_never_refuses_it, over host tables with no connector: one BUSBAR-7070 at ERROR, Ok, and nothing asked again at the first delivery.
  • Workspace tests, clippy -D warnings and fmt are clean.
  • End to end, on a local busbar built from predev + #544 + #558 with this tree linked by path, and the oracle's exact config for export|request-log-webhook|loopback-refused. logs/plugins/export.wh.log holds, written before the listeners bind:
    2026-10-07T10:52:38Z ERROR export.wh export busbar_export_webhook: observability.request_log_webhook_url must be an https:// URL (got 'http://127.0.0.1:56399/sidecar'); disabling this webhook exporter diag=BUSBAR-7070
    No byte reached the sidecar.

… at boot, as 1.5.5 named it when the sink was configured

The host's verdict on the target was first asked on the first delivery. Under a cell that serves
one request and reads the log 500 ms later, no batch had reached the plugin, so nothing was logged.
1.5.5 refused the target at configuration (`push_target`). The door now states the mechanism's
optional `ready` (`abi::mechanism::lifecycle` READY, ARCHITECT 2026-10-02 "discovery at boot").
The host calls it after `open`, before the instance serves (busbar's export axis, coordinator
ruling G2), and it asks the verdict there, once. A refusal raises BUSBAR-7070 at ERROR into the
instance's plugin log, in 1.5.5's words when it is the https:// rule. It never refuses the boot:
the instance is disabled and its siblings serve, as in 1.5.5.

Test: ready_asks_the_verdict_at_boot_and_never_refuses_it (host tables with no connector: one
BUSBAR-7070 at ERROR, Ok, and nothing asked again at the first delivery).
@MattJackson
MattJackson enabled auto-merge October 7, 2026 11:40
@MattJackson
MattJackson merged commit 8ef1228 into dev Oct 7, 2026
5 checks passed
@MattJackson
MattJackson deleted the p6-export-ready branch October 7, 2026 11:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant