Skip to content

Base v1.8.0

Latest

Choose a tag to compare

@codeforester codeforester released this 15 Aug 07:35
· 48 commits to main since this release
26b9af5

Added

  • Restored the deprecated basectl ci setup|check|doctor and
    --verbose-wrapper compatibility aliases for the v1.x contract; new
    automation should use the canonical --ci and --debug-wrapper forms.

Changed

  • Align the published Base CLI provider used by development dependencies and
    CI checkout workflows with base-cli 0.4.2.

  • Treat GitHub's unsupported branch_name_pattern response as a capability
    warning during basectl repo configure, preserving the issue-branch policy
    workflow fallback instead of failing the whole repository configuration.

  • Updated Base CI and source-checkout contract coverage to consume the
    published base-bash-libs v2.0.0 GA release commit.

  • Refined basectl logs with comma-separated --command filters, the
    --latest path action, and the explicit last-failed report command.

  • Clarified basectl logs action conflicts and help for --latest, --tail, and
    --open.

Fixed

  • Aligned Base's self-repository baseline checks and workspace agent brief with
    base_manifest.yaml's ./bin/base-test validation contract while retaining
    tests/validate.sh for generated repositories.

  • Preserved basectl check diagnostics and exit status when the optional
    latest-check record cannot be written, with stable JSON and text warnings.

  • Separated basectl workspace check's readiness renderer from
    basectl workspace doctor's actionable finding renderer while preserving the
    shared read-only workspace checks and JSON diagnostic shape.

  • Continue basectl onboard through project discovery and manifest trust
    status when basectl doctor reports remaining findings.

  • Kept helper-backed Bash defaults and runtime prompts shell-local so child
    shells no longer report missing prompt helper functions.

  • Corrected Bash startup's readonly BASE_HOME detection to inspect only
    variable attributes, allowing refreshed profile snippets to replace writable
    Homebrew paths while keeping genuine mismatch recovery diagnostics specific.

  • Prevented basectl activate from reusing a virtual environment override owned
    by a different active project.

  • Unified human-readable basectl doctor output across Base and project
    findings, including shared status styling and removal of redundant headings.

  • Tightened basectl doctor text spacing, aligned fix continuations, and
    rendered final summaries as INFO logs.

  • Made basectl history --command accept comma-separated command filters with
    the same normalization and validation as basectl logs --command.

  • Preserved complete basectl history log paths, including filenames, in
    interactive terminal tables.

  • Replaced the generic setup-only summary after failed checks with guidance to
    follow each finding's fix and rerun the check; activation-backed environment
    checks now mention project activation.

  • Kept basectl history and basectl logs terminal tables aligned when command,
    project, or run-ID values exceed their compact minimum widths.

  • Render blocking basectl check findings, remediation lines, and failure
    summaries as ERROR in text output while preserving WARN for non-blocking
    findings.

  • Finalized basectl activate run bundles and history after the runtime shell
    exits, while isolating commands entered in the shell from the activation run
    context.

  • Show the names and retention reasons for ordinary unmerged branches during
    local and GitHub remote branch pruning.

  • Reported GitHub merge-verification failures separately from unmerged branches
    during branch and worktree pruning, while retaining every unverified cleanup
    candidate and returning a nonzero status for incomplete prune scans.

  • Consolidated each public invocation into one run ID, one run.json, and one
    logs/primary.log; delegated Bash/Python phases now share the DEBUG-level
    diagnostic stream and produce one history row. Legacy internal logs and
    history rows are ignored by discovery and reporting.

  • Restored local-time defaults for interactive Python CLI logs so Bash and
    Python output from one local run share a clock. --utc-wrapper remains the
    explicit UTC mode, while persisted history, run metadata, and run IDs remain
    canonical UTC; updated the cache, observability, and Base CLI documentation.