Skip to content

Releases: sandsower/beislid

Beislið v0.4.10

Choose a tag to compare

@sandsower sandsower released this 04 Jul 16:11

Beislið v0.4.10

This release covers all changes since the last published GitHub release, v0.4.0.

Highlights

  • The workflow.md parser contract is now canonical: a golden conformance corpus (17 cases), a frozen error-code catalog, and YAML-lite scalar semantics, all running in CI (BEI-131).
    This is the port target for olin - implementations port against tests/conformance/cases/, not against the Python code.
  • P0 integrity fixes: fail-closed action-policy payload validation, run-ledger redaction aligned with policy secret patterns, and interrupt-safe staged project installs (BEI-128, BEI-129, BEI-130).
  • Execution-envelope contract extracted into declarative JSON schemas, orphaned validators wired into CI, and a nightly agent-smoke suite (BEI-133, BEI-134, BEI-135).

Parser behavior changes (BEI-131)

The deterministic decisions from the 2026-07-03 HITL session (docs/plans/2026-07-03-bei-131-canonical-parser-decisions.md) are now implemented and pinned by the corpus.
Each of these is a behavior change from v0.4.9 and earlier:

  • Trailing comments in unquoted scalars are stripped (YAML semantics): a # preceded by whitespace ends the value, so parallel_safe: true # optional now parses as boolean true.
    Quoted values keep # literally.
    Previously the comment stayed inside the value.
  • Inline flow maps are rejected: - { name: lint, command: 'pnpm lint' } is now a flow_map_unsupported error instead of a silent literal string.
    Block style is the one canonical mapping syntax.
  • Parse diagnostics report absolute workflow.md line numbers, not indexes into a comment-stripped array.
  • Unknown beislid:* fence keys now warn (unknown_fence_key, exit 0) against the full documented fence-key registry (~25 keys), instead of being silently ignored.
    Newer fence keys degrade gracefully against older normalizers.
  • Registered-but-unconsumed fence blocks are now syntax-checked: a malformed scopes or babysit block fails the file with a parse error, where the old normalizer never looked at it.
    Well-formed blocks owned by other tools are still skipped silently.
  • Tier enums are validated at normalize time: tiers keys must be light, standard, heavy, or frontier, and tier_mode must be prefer or require; violations are invalid_value errors.
  • model and models on one route are mutually exclusive: both present is now an invalid_value error instead of model being silently dropped.
  • Decimal floats parse as numbers: -?\d+\.\d+ (e.g. 1.5) is a JSON number.
    Exponents, 1., .5, and 1.5.2 stay strings.
  • Nested inline lists are rejected: a [ inside an inline list is a nested_inline_list error pointing at block style.
  • Strict quote semantics: double-quoted scalars process exactly \n, \t, \\, \"; any other escape is an unknown_escape error.
    Single-quoted scalars are literal except '' -> '.
    Unterminated or mismatched quotes are unterminated_quote errors instead of silently passing through as literal strings.
  • Unterminated fence blocks are malformed_block errors: a beislid:* fence without a closing fence line was previously ignored entirely; it now fails the file.
  • Unterminated inline lists are malformed_block errors (a missing ] with no trailing comment).
  • gate_sets and lifecycle_actions pass through unknown keys in the normalized envelope instead of projecting down to their known fields, matching the other sections.
    Note: sets: null is no longer coerced to {}.
  • Duplicate beislid:* fences keep the existing behavior (warn + first occurrence wins), now pinned by the corpus.

Parser infrastructure (BEI-131)

  • Golden conformance corpus: tests/conformance/cases/ (17 input/expected-envelope pairs) with the scripts/run_conformance.py runner, wired into CI as the normalizer-conformance job.
  • Frozen diagnostic catalog: docs/parser-conformance.md documents all 14 error/warning codes with severity and path conventions.
    These codes are stable from this release onward.
  • Format doc amendments: the scopes examples use block style, and the YAML-lite scalar rules (comments, floats, quotes, inline lists) are documented in .beislid/workflow-md-format.md, so doc and implementation agree.

Fixes and hardening

  • Fail-closed action-policy payload schema validation (BEI-128).
  • Run-ledger redaction aligned with policy secret patterns (BEI-129).
  • Interrupt-safe staged project copy installs (BEI-130).
  • Orphaned validators and tests wired into CI (BEI-133).
  • Skill portability gaps fixed for non-Claude hosts.

Workflow and orchestration

  • Execution-envelope contract extracted into declarative JSON schemas (BEI-134).
  • Nightly agent-smoke suite with fixture library and blueprint/implement/review/rinse/setup scenarios (BEI-135).
  • command_proofs added as a distinct per-slice envelope contract field (RON-146).
  • Babysit now requires a rondo.final_report/v0 JSON final response.
  • Workflow-signal heartbeat hook, sweep command, and stale reporting.
  • scripts/validate.sh local CI mirror plus docs/testing.md.

Beislið v0.4.0

Choose a tag to compare

@sandsower sandsower released this 01 Jul 15:34

Beislið v0.4.0

This release covers all changes since the last published GitHub release, v0.3.0.

Highlights

  • Added configurable lifecycle hooks, tracker posting actions, and approved-planning lifecycle support.
  • Added full Homebrew support plus stricter install, repair, and project-install diagnostics.
  • Added run-ledger dashboarding for workflow state and human-interrupt inspection.
  • Expanded execution-envelope, show-me, ready-for-review, and review-response workflows.
  • Improved action-policy, model-routing, and reviewer-handoff guidance for downstream automation.

New features

  • Added configurable ready-for-review approval gates.
  • Added lifecycle action failure policies.
  • Added tracker posting lifecycle actions.
  • Added custom lifecycle hooks.
  • Added standardized lifecycle artifact templates.
  • Added clean evaluator mode for PR readiness.
  • Added beislid repair.
  • Added workflow normalizer JSON command.
  • Added full Homebrew packaging/install support.
  • Added project install diagnostics.
  • Added example team workflow configs and setup templates.

Workflow and orchestration improvements

  • Expanded approved-planning lifecycle actions.
  • Improved ready-for-review routing for Pi subagents.
  • Improved review-response extensibility for agent-ready feedback prompts.
  • Added opt-in AgenticReviewer / CodeRabbit review policies.
  • Restored action-policy protocol anchors.
  • Exported generic phase-aware model routing requirements for Rondo.
  • Improved downstream discovery of custom planning artifact paths.
  • Clarified task/batch commit boundaries and reduced duplicate approval prompts.
  • Documented isolated worktree policy and scope setup prerequisites.

Documentation and validation

  • Added workflow and skill authoring guides.
  • Added Work Contract examples.
  • Added team rollout guidance for Beislið-ready repos.
  • Added docs for alias-satisfied MCP probes, scope setup prerequisites, and lifecycle artifacts.
  • Hardened skill validation, size-budget checks, lifecycle consistency checks, and install regression coverage.

Included PRs

  • #121 — Configurable ready-for-review approval gates
  • #122 — Workflow and skill authoring guides
  • #123 — Run-ledger dashboard
  • #124 — Deferred CodeRabbit review classification
  • #127 — Onboarding bootstrap guidance
  • #131 — Tracker posting lifecycle actions
  • #132 — Full Homebrew support
  • #137 — Custom lifecycle hooks
  • #143 — Project install skill diagnostics
  • #144 — Work Contract examples and setup templates
  • #147 — Custom planning artifact path discovery
  • #148 — Show-me capture helpers and doctor remediation

Beislið v0.3.0

Choose a tag to compare

@sandsower sandsower released this 25 May 08:03

Beislið v0.3.0

This release covers all changes since the last published GitHub release, v0.2.2.

Highlights

  • Added durable run ledger support for resumable Beislið/Rondo-style workflows.
  • Added action policy enforcement for side-effect boundaries, sandbox requirements, and risky operations.
  • Added explicit checkpoint artifact lifecycle hooks for kickoff and implementation planning.
  • Improved ready-for-review behavior around approval prompts and configurable final review.
  • Expanded workflow/probe semantics for repo-local skills and domain expert fallback behavior.

New features

  • Added beislid run-ledger for persistent workflow run state:

    • run IDs
    • append-only events
    • checkpoints
    • resume hints
    • gate artifacts
    • interruptions
    • final reports
  • Added beislid action-policy for deterministic policy evaluation:

    • default policy behavior
    • workflow overrides
    • sandbox baseline checks
    • known-action registry
    • allow/ask/deny decisions
    • validation and protocol tests
  • Added workflow-configured checkpoint artifact events:

    • kickoff_context_ready
    • implementation_plan_created
  • Added kickoff checkpoint handling via a dedicated Step 4b protocol.

Workflow and orchestration improvements

  • Ready-for-review now avoids duplicate visible approval prompts.
  • Ready-for-review supports configurable fresh-eyes final review behavior.
  • Projects can replace the final fresh-eyes pass with a command or explicitly disable it.
  • Kickoff now supports skill-backed domain_expert.agent fallback when subagents are unavailable.
  • Repo-local .beislid/skills/ is documented as the highest-priority skill probe path.

Documentation and validation

  • Updated workflow format docs for:

    • run ledger semantics
    • checkpoint artifacts
    • action policy configuration
    • probe behavior
    • fresh-eyes configuration
  • Added or expanded tests for:

    • run ledger behavior
    • action policy evaluator
    • action policy protocol
    • installer/package layout
    • ready-for-review smoke fixtures
    • skill size budgets

Included PRs

  • #40 — Avoid duplicate approval prompts
  • #42 — Add configurable fresh-eyes final review
  • #43 — Support skill-type probes for domain_expert.agent in kickoff
  • #44 — Add .beislid/skills/ to probe search path for repo-local skills
  • #45 — Add explicit checkpoint artifact actions for orchestrator skills
  • #47 — Add durable run ledger and checkpoints for Rondo-style runs
  • #48 — Add action risk policy and sandbox requirements

Beislið v0.2.2

Choose a tag to compare

@sandsower sandsower released this 15 May 00:11

Beislið v0.2.2

This is the first release from the current sandsower/beislid repository.

Highlights

  • Adds automatic release version bumping on merges to main, including release labels and annotated tags.
  • Adds the thin beislid CLI plus shared install library internals.
  • Adds beislid update through the setup workflow so installed Beislið checkouts can be upgraded in place.
  • Adds project-local install modes:
    • symlink mode for project-scoped skill installs
    • copy mode with Beislið ownership markers and .gitignore management
  • Adds a Homebrew-compatible packaging draft.
  • Adds kickoff lifecycle actions for ticket assignment / in-progress transitions.
  • Adds user-approved spec and blueprint planning artifacts, with artifact paths carried through kickoff.
  • Adds a fast PR handoff path for small diffs in ready-for-review.
  • Adds poke-holes for pressure-testing existing plans and designs.
  • Expands docs for configuration, workflows, review workflows, skills, FAQ, and how-to-use guidance.

Install / update

# fresh install
git clone git@github.com:sandsower/beislid.git ~/Projects/beislid
~/Projects/beislid/install.sh

# update an existing install
beislid update

Notable changes

Release automation

  • Added .github/workflows/release.yml.
  • Added scripts/bump-version.sh and scripts/test_bump_version.sh.
  • Release bumps keep package.json and .claude-plugin/plugin.json in sync.

CLI and installer

  • Added bin/beislid.
  • Split shared installer behavior into scripts/install_lib.sh.
  • Kept install.sh as the entry point while moving most behavior into the shared library.
  • Improved tarball install status handling.
  • Added deeper install regression coverage in scripts/test_install.sh.

Project installs

  • Added project symlink install support.
  • Added project copy mode with ownership markers.
  • Added project install manifest support and copy refresh behavior.
  • Added safe skip behavior for unmarked project files.
  • Added managed .gitignore entries for Beislið project install state.

Workflow skills

  • ready-for-review: adds a fast PR handoff path for small diffs.
  • kickoff: supports explore skill overrides, lifecycle actions, and planning artifact handoff.
  • setup: adds update behavior and expanded config guidance.
  • spec / blueprint: add user-approved file artifact expectations.
  • poke-holes: adds plan and design pressure-testing.

Packaging

  • Added packaging/homebrew/beislid.rb as a Homebrew-compatible formula draft.
  • Fixed CLI executable mode for packaging compatibility.

Docs

  • Added or expanded:
    • docs/configuration.md
    • docs/faq.md
    • docs/review-workflows.md
    • docs/skills.md
    • docs/workflows.md
    • docs/how-to-use.md

Contributors