Skip to content

v2.0.0: SQLite, generic events, triage skill

Choose a tag to compare

@foae foae released this 18 Sep 06:56
· 49 commits to main since this release

Breaking operational contract, compatible API.

  • Storage: PostgreSQL replaced by SQLite (modernc.org/sqlite, pure Go).
    One container, one named volume, no database service. Physical backups via
    feedback backup, logical via GET /api/v1/export; restore and migration
    via feedback import (all-or-nothing, header/count/digest verified, hashes
    recomputed, --family filter, ids never reused). See
    operate.md
    for the 1.x migration procedure; scripts/export-v1-postgres.sh produces
    the import file from a 1.x deployment with ids, timestamps, processing state
    and hashes preserved.
  • API 1.1 (api.md): additive. family and payload_hash on
    every record, POST /api/v1/events, resolution when marking processed,
    keyset pagination (before_id, has_more, next_before_id, total),
    include=payload, GET /api/v1/export, six-digit timestamps. Every 1.0
    request and response field is unchanged.
  • Service: stdlib net/http, Prometheus with bounded labels plus backlog,
    database size and busy counters. OpenTelemetry, chi, sqlc and the
    PostgreSQL-specific configuration are gone. GRACEFUL_SHUTDOWN_TIMEOUT
    default is now 30s; the fixed 5s drain sleep is removed. Payloads are
    returned byte-exact (large integers no longer round).
  • Deployment: scripts/deploy.sh <sha> installs the compose file,
    preserves the host .env, pins the image there and runs docker compose pull && up. Requires the GHCR package to be pullable by the host. The
    crane streaming path is gone.
  • Skill agent-feedback 3.0: new submit-event.sh; process.sh list
    pages through the whole queue and takes --include-processed (the old
    --all errors), done takes --resolution; query.sh export;
    submit-review.sh --sweep scans REVIEW_LOG_DIR and
    AGENT_FEEDBACK_REVIEW_DIRS only (set the latter where hardcoded cache
    paths were relied on). Fixes: spool persistence is verified (an unwritable
    spool now fails loudly instead of reporting spooled), review receipts are
    validated before a run is marked submitted, large prose no longer passes
    through argv, --dry-run applies the server's validation, rejected spool
    files are kept 30 days as documented.
  • New skill feedback-triage 1.0: end-to-end queue processing with one
    consolidated interview. scripts/digest.sh pulls and groups the open queue.
  • Docs rewritten for agents first: README route table, api.md,
    operate.md, develop.md, security.md. Template-era documents removed;
    docs/agent-usage.md redirects to api.md.

Upgrade: follow the migration procedure; the 1.x PostgreSQL volume is not
read by 2.x. Producers need skill 3.0 only for the new features; 2.1 clients
keep working against the 2.0.0 service.