Skip to content

docs(lessons): add routing-probe-no-diagnostic-sideeffect#2675

Merged
slepp merged 1 commit into
mainfrom
docs/lessons-silent-probe
Jul 16, 2026
Merged

docs(lessons): add routing-probe-no-diagnostic-sideeffect#2675
slepp merged 1 commit into
mainfrom
docs/lessons-silent-probe

Conversation

@slepp

@slepp slepp commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Records a durable P1 lesson surfaced by the actor-scoped error-slot work that just merged (#2669/#2670/#2671/#2667): a probe used for internal routing must be side-effect-free, never a sentinel-writing diagnostic helper.

The smell: an internal control-flow site (error-slot selection, actor/context dispatch) calls a require_current_context() / hew_actor_current_id() style helper whose not-found path writes the EXECUTION_CONTEXT_NOT_INSTALLED sentinel into the thread-local LAST_ERROR slot, clobbering a genuine error before a caller reads it. The rule: route internal decisions through a silent probe; reserve sentinel-writing helpers for user-facing reporting.

Verification

Documentation only — one row added to the diagnostic-trust cluster in LESSONS.md.

Out of scope

The code fixes themselves already merged as #2669/#2670/#2671/#2667.

Record the durable P1 invariant surfaced by the actor-scoped error-slot
work: a probe used for internal routing must be side-effect-free, never a
sentinel-writing diagnostic helper that clobbers shared error state.
@slepp slepp enabled auto-merge (squash) July 16, 2026 07:42
@slepp slepp merged commit d0d93ee into main Jul 16, 2026
11 checks passed
@slepp slepp deleted the docs/lessons-silent-probe branch July 16, 2026 08:36
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