Skip to content

release: v15.2.1 - #209

Merged
Studnicky merged 5 commits into
mainfrom
release/v15.2.1
Oct 10, 2026
Merged

Studnicky merged 5 commits into
mainfrom
release/v15.2.1

Conversation

@Studnicky

Copy link
Copy Markdown
Owner

Contains the versioned release assets for v15.2.1. Merge with a merge commit after required checks pass. Main CI tags that merge commit and publishes GitHub Packages.

github-actions Bot and others added 5 commits October 9, 2026 18:28
…ages (#207)

* docs: fix accuracy defects across eslint rule and package reference pages

Corrects 32 documentation pages found inaccurate by a full audit of all
94 published docs against their actual source: stale line citations,
examples that don't trigger the rule they illustrate (or the reverse),
a pervasive kind/unit schema-field error across two layer-boundary
docs, stale .Type/.InputType signatures, false capability claims
(Pino, hash/equal), missing hooks and exports, wrong validation-method
citations, and a two-package gap in the package registry.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014oGzg7BoLAKHRuVjbS8uuC

* fix(fsm): widen observedFsm example overrides to match documented hook signatures

onEnterState (StateMachine, EffectInterpreter) and onRegister
(MachineRegistry) accept void | Promise<void>; the example's explicit
void-only overrides understated what the base class permits.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014oGzg7BoLAKHRuVjbS8uuC

* chore: add changeset for docs accuracy audit (patch)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014oGzg7BoLAKHRuVjbS8uuC

* fix(lint): exclude .enginseer/ from eslint flat config

eslint . walked into .enginseer/validation/snapshots/.../tree, a
gitignored local validation-scratch tree enginseer's own hook
writes, and crashed resolving a snapshot's relative import. Flat
config ignores don't read .gitignore, so the gitignored directory
still needed an explicit entry.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014oGzg7BoLAKHRuVjbS8uuC

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
The Release workflow auto-opened a release/vX.Y.Z PR against main
whenever CI succeeded on develop and a pending changeset existed,
treating every green develop merge as an implicit release decision.

workflow_run no longer listens on develop. Preparing a release is
now a workflow_dispatch action a human triggers explicitly; the
develop-side checks (changeset present, no open release PR, develop
contains main's history) run inside that dispatch instead of inside
an automatic CI-completion handler. Tagging a merged release PR on
main stays automatic — that step follows an explicit human merge,
not a develop push.


Claude-Session: https://claude.ai/code/session_014oGzg7BoLAKHRuVjbS8uuC

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@github-actions

Copy link
Copy Markdown
Contributor

Dependency Blast Radius

Base ref: origin/main

Touched packages: @studnicky/cache, @studnicky/circular-buffer, @studnicky/clock, @studnicky/concurrency, @studnicky/config, @studnicky/context, @studnicky/drilldown, @studnicky/entity, @studnicky/errors, @studnicky/eslint-config, @studnicky/event-bus, @studnicky/fetch, @studnicky/filters, @studnicky/fsm, @studnicky/json, @studnicky/logger, @studnicky/matching, @studnicky/paginator, @studnicky/pipeline, @studnicky/resilience, @studnicky/scheduler, @studnicky/signal, @studnicky/store, @studnicky/system, @studnicky/types, @studnicky/virtual-fs, @studnicky/visible-range

Impacted packages: @studnicky/cache, @studnicky/circular-buffer, @studnicky/clock, @studnicky/concurrency, @studnicky/config, @studnicky/context, @studnicky/drilldown, @studnicky/entity, @studnicky/errors, @studnicky/eslint-config, @studnicky/event-bus, @studnicky/fetch, @studnicky/filters, @studnicky/fsm, @studnicky/json, @studnicky/logger, @studnicky/matching, @studnicky/paginator, @studnicky/pipeline, @studnicky/resilience, @studnicky/scheduler, @studnicky/signal, @studnicky/store, @studnicky/system, @studnicky/types, @studnicky/virtual-fs, @studnicky/visible-range

Package test signal: 27/27 impacted package(s) have package tests

flowchart LR
classDef modified fill:#fff3cd,stroke:#856404,color:#664d03
p__studnicky_cache["@studnicky/cache"]
p__studnicky_circular_buffer["@studnicky/circular-buffer"]
p__studnicky_clock["@studnicky/clock"]
p__studnicky_concurrency["@studnicky/concurrency"]
p__studnicky_config["@studnicky/config"]
p__studnicky_context["@studnicky/context"]
p__studnicky_drilldown["@studnicky/drilldown"]
p__studnicky_entity["@studnicky/entity"]
p__studnicky_errors["@studnicky/errors"]
p__studnicky_eslint_config["@studnicky/eslint-config"]
p__studnicky_event_bus["@studnicky/event-bus"]
p__studnicky_fetch["@studnicky/fetch"]
p__studnicky_filters["@studnicky/filters"]
p__studnicky_fsm["@studnicky/fsm"]
p__studnicky_json["@studnicky/json"]
p__studnicky_logger["@studnicky/logger"]
p__studnicky_matching["@studnicky/matching"]
p__studnicky_paginator["@studnicky/paginator"]
p__studnicky_pipeline["@studnicky/pipeline"]
p__studnicky_resilience["@studnicky/resilience"]
p__studnicky_scheduler["@studnicky/scheduler"]
p__studnicky_signal["@studnicky/signal"]
p__studnicky_store["@studnicky/store"]
p__studnicky_system["@studnicky/system"]
p__studnicky_types["@studnicky/types"]
p__studnicky_virtual_fs["@studnicky/virtual-fs"]
p__studnicky_visible_range["@studnicky/visible-range"]
p__studnicky_cache --> p__studnicky_clock
p__studnicky_cache --> p__studnicky_concurrency
p__studnicky_cache --> p__studnicky_entity
p__studnicky_cache --> p__studnicky_errors
p__studnicky_cache --> p__studnicky_types
p__studnicky_circular_buffer --> p__studnicky_entity
p__studnicky_circular_buffer --> p__studnicky_errors
p__studnicky_circular_buffer --> p__studnicky_types
p__studnicky_clock --> p__studnicky_config
p__studnicky_clock --> p__studnicky_entity
p__studnicky_clock --> p__studnicky_errors
p__studnicky_clock --> p__studnicky_types
p__studnicky_concurrency --> p__studnicky_circular_buffer
p__studnicky_concurrency --> p__studnicky_clock
p__studnicky_concurrency --> p__studnicky_config
p__studnicky_concurrency --> p__studnicky_entity
p__studnicky_concurrency --> p__studnicky_errors
p__studnicky_concurrency --> p__studnicky_fsm
p__studnicky_concurrency --> p__studnicky_scheduler
p__studnicky_concurrency --> p__studnicky_signal
p__studnicky_concurrency --> p__studnicky_types
p__studnicky_concurrency --> p__studnicky_virtual_fs
p__studnicky_config --> p__studnicky_entity
p__studnicky_config --> p__studnicky_errors
p__studnicky_config --> p__studnicky_types
p__studnicky_context --> p__studnicky_entity
p__studnicky_context --> p__studnicky_errors
p__studnicky_context --> p__studnicky_fsm
p__studnicky_context --> p__studnicky_json
p__studnicky_context --> p__studnicky_types
p__studnicky_drilldown --> p__studnicky_cache
p__studnicky_drilldown --> p__studnicky_entity
p__studnicky_drilldown --> p__studnicky_filters
p__studnicky_drilldown --> p__studnicky_types
p__studnicky_entity --> p__studnicky_types
p__studnicky_errors --> p__studnicky_entity
p__studnicky_errors --> p__studnicky_types
p__studnicky_eslint_config --> p__studnicky_entity
p__studnicky_eslint_config --> p__studnicky_types
p__studnicky_event_bus --> p__studnicky_concurrency
p__studnicky_event_bus --> p__studnicky_entity
p__studnicky_event_bus --> p__studnicky_errors
p__studnicky_event_bus --> p__studnicky_types
p__studnicky_fetch --> p__studnicky_clock
p__studnicky_fetch --> p__studnicky_entity
p__studnicky_fetch --> p__studnicky_errors
p__studnicky_fetch --> p__studnicky_json
p__studnicky_fetch --> p__studnicky_signal
p__studnicky_fetch --> p__studnicky_types
p__studnicky_filters --> p__studnicky_entity
p__studnicky_filters --> p__studnicky_errors
p__studnicky_filters --> p__studnicky_json
p__studnicky_filters --> p__studnicky_matching
p__studnicky_filters --> p__studnicky_types
p__studnicky_fsm --> p__studnicky_circular_buffer
p__studnicky_fsm --> p__studnicky_clock
p__studnicky_fsm --> p__studnicky_entity
p__studnicky_fsm --> p__studnicky_errors
p__studnicky_fsm --> p__studnicky_json
p__studnicky_fsm --> p__studnicky_types
p__studnicky_json --> p__studnicky_entity
p__studnicky_json --> p__studnicky_errors
p__studnicky_json --> p__studnicky_types
p__studnicky_logger --> p__studnicky_clock
p__studnicky_logger --> p__studnicky_entity
p__studnicky_logger --> p__studnicky_errors
p__studnicky_logger --> p__studnicky_json
p__studnicky_logger --> p__studnicky_types
p__studnicky_matching --> p__studnicky_cache
p__studnicky_matching --> p__studnicky_entity
p__studnicky_matching --> p__studnicky_errors
p__studnicky_matching --> p__studnicky_types
p__studnicky_paginator --> p__studnicky_entity
p__studnicky_paginator --> p__studnicky_errors
p__studnicky_paginator --> p__studnicky_fsm
p__studnicky_paginator --> p__studnicky_types
p__studnicky_pipeline --> p__studnicky_entity
p__studnicky_pipeline --> p__studnicky_json
p__studnicky_pipeline --> p__studnicky_types
p__studnicky_resilience --> p__studnicky_cache
p__studnicky_resilience --> p__studnicky_circular_buffer
p__studnicky_resilience --> p__studnicky_clock
p__studnicky_resilience --> p__studnicky_config
p__studnicky_resilience --> p__studnicky_entity
p__studnicky_resilience --> p__studnicky_errors
p__studnicky_resilience --> p__studnicky_fsm
p__studnicky_resilience --> p__studnicky_scheduler
p__studnicky_resilience --> p__studnicky_signal
p__studnicky_resilience --> p__studnicky_types
p__studnicky_scheduler --> p__studnicky_clock
p__studnicky_scheduler --> p__studnicky_entity
p__studnicky_scheduler --> p__studnicky_errors
p__studnicky_scheduler --> p__studnicky_fsm
p__studnicky_scheduler --> p__studnicky_types
p__studnicky_signal --> p__studnicky_errors
p__studnicky_signal --> p__studnicky_types
p__studnicky_store --> p__studnicky_concurrency
p__studnicky_store --> p__studnicky_entity
p__studnicky_store --> p__studnicky_json
p__studnicky_store --> p__studnicky_types
p__studnicky_system --> p__studnicky_entity
p__studnicky_system --> p__studnicky_errors
p__studnicky_system --> p__studnicky_fsm
p__studnicky_system --> p__studnicky_types
p__studnicky_virtual_fs --> p__studnicky_clock
p__studnicky_virtual_fs --> p__studnicky_entity
p__studnicky_virtual_fs --> p__studnicky_errors
p__studnicky_virtual_fs --> p__studnicky_types
p__studnicky_visible_range --> p__studnicky_entity
p__studnicky_visible_range --> p__studnicky_errors
p__studnicky_visible_range --> p__studnicky_types
class p__studnicky_cache modified
class p__studnicky_circular_buffer modified
class p__studnicky_clock modified
class p__studnicky_concurrency modified
class p__studnicky_config modified
class p__studnicky_context modified
class p__studnicky_drilldown modified
class p__studnicky_entity modified
class p__studnicky_errors modified
class p__studnicky_eslint_config modified
class p__studnicky_event_bus modified
class p__studnicky_fetch modified
class p__studnicky_filters modified
class p__studnicky_fsm modified
class p__studnicky_json modified
class p__studnicky_logger modified
class p__studnicky_matching modified
class p__studnicky_paginator modified
class p__studnicky_pipeline modified
class p__studnicky_resilience modified
class p__studnicky_scheduler modified
class p__studnicky_signal modified
class p__studnicky_store modified
class p__studnicky_system modified
class p__studnicky_types modified
class p__studnicky_virtual_fs modified
class p__studnicky_visible_range modified
subgraph Legend
  legend_modified["Package contains modified files"]:::modified
end
Loading

@Studnicky
Studnicky merged commit f103ee4 into main Oct 10, 2026
42 of 43 checks passed
@Studnicky
Studnicky deleted the release/v15.2.1 branch October 10, 2026 00:51
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