Skip to content

Releases: crosshatch/traits

traits@0.5.12

Choose a tag to compare

@madhatcher madhatcher released this 27 Oct 15:43
a5a2bc1

Patch Changes

  • #94
    dd98ae1 -
    Stop configuring and recommending the optional reflection MCP server during
    standard Traits setup.

traits@0.5.11

Choose a tag to compare

@madhatcher madhatcher released this 27 Oct 00:36
dc53554

Patch Changes

  • #91
    e6d6034 -
    Store the shared trait index and reflection data at
    .agents/traits/traits.sqlite. Document a colocated .gitignore for the
    database and SQLite sidecar files.

  • #91
    e6d6034 -
    Consolidate shared MCP workflow instructions and shorten tool descriptions and
    the agent skill. Preserve approval, scope, remediation, and recovery guidance
    while removing duplicated prose and internal implementation details.

  • #91
    e6d6034 -
    Hydrate the trait index after watcher readiness to avoid a duplicate startup
    scan. Cache exact unchanged evaluations with bounded capacity and expiry, and
    isolate each tool invocation in its own root trace.

  • #91
    e6d6034 -
    Return compact, file-grouped check reports with shared trait definitions,
    source chunks, and full-file snapshot revisions. The check_traits success
    response is now { traits, files } instead of a flat evaluation array.
    Assessments and review coverage are preserved; the raw TraitEvaluation API
    remains unchanged.

  • #91
    e6d6034 -
    Run the default Traits MCP server directly in the CLI process. Scope the local
    collector outside the server and exporters so shutdown flushes telemetry
    before closing the collector. Keep external-command execution on traits run.

  • #91
    e6d6034 -
    Simplify local telemetry to JSON-only OTLP ingestion and individual span/log
    rows with complete record and resource/scope JSON. Replace inspection filters
    with the reflection MCP SQL query tool, returning JSON rows. Remove protobuf
    decoding and descriptor generation. Retain legacy export batches without
    migrating them.

  • #91
    e6d6034 -
    Update workspace dependencies with compatible version ranges, including Effect
    4.0.6 and the latest Drizzle release candidates. Adapt error schemas and
    tooling to the updated Effect checks, preserving existing error payloads.

  • #91
    e6d6034 -
    Add telemetry subcommands to the traits CLI to collect child-process OTLP
    traces and logs in a worktree-local SQLite database, with a required section
    ID for grouping script runs and SQL queries for listing, searching, and
    filtering stored telemetry.

  • #91
    e6d6034 -
    Name the local telemetry API reflection, with implementation under
    traits/reflection/ and shared storage at .agents/traits/traits.sqlite.

  • #91
    e6d6034 -
    Replace the SQL query CLI command with traits reflection, a separate stdio
    MCP server exposing only the query tool. It accepts SQL and returns JSON rows
    from the worktree database without loading trait model configuration.

  • #91
    e6d6034 -
    Simplify command execution using Effect's scoped process spawner. Preserve
    normal child exit codes and keep the collector alive during child cleanup.
    Interruption uses standard SIGTERM process-group cleanup instead of exact
    signal forwarding and re-emission. Inline run implementation into its CLI
    command.

  • #91
    e6d6034 -
    Rename the identifier payload field on TraitNotFoundError and
    TraitAlreadyExistsError from name to traitName, preserving Error.name for the
    error type. Consumers of these error payloads should read traitName instead.

  • #91
    e6d6034 -
    Launch the Traits MCP server with reflection for worktree-local traces and
    logs, and document CLI inspection for bottlenecks and errors.

    Use standard OTEL environment configuration instead of the custom OTLP
    endpoint flag.

  • #91
    e6d6034 -
    Bundle telemetry ingestion and inspection into the traits package and CLI.
    Bare traits starts the instrumented MCP server; run and reflection handle
    telemetry without loading model configuration. Use one worktree-local SQLite
    database and complete Drizzle schema for trait definitions, runs, spans, and
    logs, preserving existing telemetry at its current path. Consolidate telemetry
    tests into the Traits suite and remove the standalone telemetry package.

  • #91
    e6d6034 -
    Launch package-manager command shims through cmd.exe on Windows. Inline OTLP
    record ingestion into the receiver. Improve cross-platform test shutdown,
    startup-failure diagnostics, and temporary libSQL database cleanup, and
    reapply Effect tooling patches in the latest-dependency CI job.

traits@0.5.10

Choose a tag to compare

@madhatcher madhatcher released this 22 Oct 15:56
183f845

Patch Changes

  • #85
    eb1dd94 -
    Index Markdown traits in a disposable local libSQL database through Drizzle's
    Effect driver, with startup schema push and database-only runtime reads.

    Populate the fresh index during project initialization and automatically
    synchronize external Markdown edits and approved schema repairs with a scoped,
    debounced directory watcher. Rebuilds validate all files before
    transactionally replacing rows. Mutations perform explicit SQL
    insert/update/delete alongside atomic Markdown publication and finish
    write-through before returning. Dirty or failed synchronization is retried
    before reads; clean reads use SQLite only. Watcher failures are reported and
    retried without a model-facing refresh tool.

    Allow decisionConcurrency: "unbounded" to disable the decision request
    limit.

    Reject a second MCP server for the same canonical trait directory using an
    OS-backed SQLite ownership lock, automatically released on process exit.

    Return unexpected handler failures and defects as declared MCP tool errors
    while preserving domain recovery messages and cancellation. Use a single
    declared tool-error envelope instead of separately classifying and encoding
    domain errors.

    Omit absent optional fields when reconstructing cached traits so MCP findings
    remain JSON-compatible instead of failing structured-result serialization.

    Scope post-save reviews to the current task, document checkpoint-based
    verification, and reuse unchanged pending approval assessments while requiring
    fresh consent after proposal or store changes.

    Resolve project paths once and inject them into storage, locking, and
    configuration so subdirectory launches use the correct worktree root.

    Consolidate advisory guidance into Markdown context, removing the separate
    domain/tool/database field. Reject outdated frontmatter for consent-based
    migration instead of silently converting legacy guidance on read.

    Use bounded repository decision concurrency and preserve native
    transport-error diagnostics before AI-provider error conversion.

    Use Effect's standard cause formatting and source-level Redacted values
    instead of custom recursive diagnostic formatting and heuristic secret
    scrubbing.

    Recognize reasoned, exact-name trait exceptions in leading single-line HTML
    comments as well as line-comment headers, while rejecting malformed or late
    directives.

traits@0.5.9

Choose a tag to compare

@madhatcher madhatcher released this 19 Oct 21:59
4cbc429

Patch Changes

  • #80
    e7bbd5a -
    Recommend OpenRouter as the default provider for decisions and language
    generation, with separate TypeSafe and OpenAI providers as an advanced option.

  • #79
    699c4f7 -
    Include the README in the published package.

traits@0.5.8

Choose a tag to compare

@madhatcher madhatcher released this 19 Oct 05:44
e538a6d

Patch Changes

  • #72
    e6fdfb9 -
    Replace body-centric traits with required subject, requirement, and purpose
    fields, optional natural-language applicability and guidance, and optional
    Markdown context. Reject unsupported frontmatter instead of silently
    discarding it.

    This changes the stored format and SDK/MCP contracts. Explicitly migrate older
    collections to the new fields and reconnect the MCP server. Parse errors
    provide migration guidance without rewriting files. derive_trait now accepts
    a complete trait object as proposedTrait; check_traits optionally accepts
    invocation circumstances.

    Stored-trait parse errors now direct clients to request developer consent
    before repairing the affected store, validate repaired traits, and retry the
    blocked operation without restarting the server. Diagnostics distinguish
    schema mismatches from malformed documents and require clarification for
    ambiguous repairs.

  • #73
    5365a85 -
    Allow compatible Effect 4.x releases in peer dependencies.