Skip to content

Releases: hamanakam1/fluxrecord

fluxrecord 0.2.0 — ledger, CLI and spec in agreement

Choose a tag to compare

@hamanakam1 hamanakam1 released this 22 Oct 07:38

fluxrecord v0.2.0

The ledger, the CLI and the specification are now in agreement, and the adapters
the CLI promised have been written.

Added

  • Wordmark — the mark is one idea in five styles: a flux waveform riding
    above a half-block letterform. flux art prints it, with an optional ANSI
    gradient that honours NO_COLOR.
  • Adapters — fluxrecord.tools (local executable inventory),
    fluxrecord.dashboard (bounded, GET-only local preview) and
    fluxrecord.github_sync with fluxrecord.github_cycle (durable GitHub
    observations and an idempotent outbox).
  • Authentication — fluxrecord.auth: JWT issuance and verification,
    bearer middleware, and the login, refresh, revoke, introspect and logout
    routes. HS256 only, stdlib only, framework free.
  • Ticket files — flux export writes the layout the specification
    describes: markdown tickets with front matter, an index, and one evidence
    file per checkpoint.
  • Import — flux import reads a CSV backlog, mapping the file column onto
    scope so overlapping work is detectable. Rows whose id is already used by a
    different ticket are reported as conflicts rather than dropped.
  • Commands — flux list, flux show, flux version, flux renew,
    flux reconcile, flux art and flux import.
  • Ticket model — the full schema from the specification: title, priority,
    tags, dependencies, blocks, owner, seed key and updated time.
  • Migrations — a meta table records the schema version; migrations are
    additive and idempotent.
  • Property tests — for the token rules, the token budget, the stagnation
    rule, the byte budget and scope conflicts.

Fixed

  • The documented interface now exists: flux task-add --budget and
    flux decide <id> <decision> are accepted, and the acceptance gate no
    longer contradicts the specification.
  • Work whose dependencies are not met is refused rather than silently queued.

Install

pip install fluxrecord

Full details in the changelog.