Skip to content

v0.53.0

Choose a tag to compare

@github-actions github-actions released this 14 Jun 18:10
· 602 commits to main since this release

Added

  • bin/dev: local script for syncing skills from GitHub during development.

Changed

  • Gate dispatch consolidated (PR #215): removed redundant container: param from Gate#dispatch (always @container); removed dead Textus::Dispatch module; removed double auth call in Accept; removed dead else branch and role_filter from RoleScope verb dispatch.
  • Background::Planner::Planner renamed to Planner::Plan to resolve the double-name antipattern.
  • Writer#put decomposed (38→12 lines): extracted into 8 single-purpose sub-methods (resolve, uid, serialize, schema-validate, etag-check, persist, envelope, audit).
  • Gate::Auth#check! / check_action! deduplicated: shared predicate-evaluation logic extracted into evaluate_predicates.
  • Init.run split (30→10 lines): 8 focused class methods (check_target!, create_directories, write_steps_readme, write_manifest, scaffold_agent, setup_state_dirs, write_gitignore, build_result).
  • auth/writer/reader helpers pulled into WriteVerb: removed 4-file duplication from Put, KeyMv, KeyDelete, Reject.
  • Action::Base#args auto-generated from initialize params: ~115 lines of boilerplate removed across 25 action classes.
  • AuditLog#verify_integrity: per-line checking extracted into check_line_integrity + iterate_with_prev_seq.
  • Error#initialize: 5-param constructor replaced with ErrorInfo parameter object (backward-compatible).
  • EventBus#invoke: replaced Thread.new/kill with Timeout.timeout.
  • Hand-rolled Mustache replaced with mustache gem: 117 lines of template engine deleted.
  • RuboCop formatting applied across the codebase.

Changed (breaking)

  • The proposal payload key frontmatter → _meta (ADR 0113). A proposal entry's proposed metadata moved from the top-level frontmatter: key to _meta:, so a proposal now carries the exact { _meta, body } envelope shape accept replays — retiring the only place the on-disk word "frontmatter" appeared as a runtime data key. accept reads env.meta["_meta"] and the schema_valid special case shrinks to a dig-with-fallback. No shim (house style): a proposal authored with the old key accepts with empty metadata and fails schema validation loudly. Migration: re-author any in-flight proposal with _meta: instead of frontmatter: — proposals are transient queue entries, not durable canon.