Skip to content

Releases: alex09x/kyb

kyb v0.3.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 04:02
187b725

kyb v0.3.1 for aarch64-apple-darwin (Apple Silicon), Docker (linux/amd64, linux/arm64) and crates.io. Intel macOS is not supported.

A patch release with one addition: a full export of the base.

Export: every key of the base as of one commit

Search ranks and caps its answer at 100, so it cannot answer "everything in the base", and before this release no route listed all knowledge or any retracted knowledge.

GET /export?at=<rev>&after=<key>&limit=N returns JSON lines:

  • a snapshot line: the commit, total, and counts per kind and state;
  • one entry line per key, in key order, with state: active (its file is in that commit's tree), archived (an incident or task closed out of it) or retracted (knowledge taken out). A removed key reads as it was just before its removal and carries the removing commit;
  • an end line with next_after and complete.

Pages that pass the same at=<sha> read one commit, so writes made between pages change nothing; a commit outside HEAD's history is refused. Earlier versions are not part of the export; kyb history <key> lists them. The route needs the read role, like /search.

kyb export [--at <sha>] [--out FILE] [--page N] pages through one snapshot and checks every page before asking for the next (same snapshot, keys after the cursor and in order, a cursor that advances), then the whole result (no key twice, the announced counts and total, a last page that says complete). It exits 1 with the problems otherwise. The command is gated on the server's new export capability, so an older server is refused rather than asked.

Install

brew install alex09x/apps/kyb          # Apple Silicon
cargo install knowyourbusiness --locked  # kyb-server only
docker pull ghcr.io/alex09x/kyb:v0.3.1

kyb v0.3.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 04:43
01fdcb6

kyb v0.3.0 for aarch64-apple-darwin (Apple Silicon), Docker (linux/amd64, linux/arm64) and crates.io. Intel macOS is not supported.

109 commits since v0.2.3, every one reviewed before merge.

Attribution: every write records who made it

Each commit in the canon now carries four trailers: Kyb-Agent, Kyb-Session, Kyb-Workspace, Kyb-Via. The same record is returned as by in history, in the activity ledger and on the Versions tab of the web console, and kyb whoami shows what the current shell would write.

The agent and its session are chosen together from one source and never borrowed from a source that names another agent. via names that source:

  • cli: the kyb command read its environment.
  • hook: Claude Code called the kyb MCP tools and a decision-free PreToolUse hook supplied the record.
  • meta: the MCP client's own call metadata named the conversation (Codex, Antigravity).
  • headers: the client sent X-Kyb-Agent / X-Kyb-Session / X-Kyb-Workspace itself.

Workspace names stay inside the repository (a repository-relative path, never an absolute one). The git author stays kyb.

Boundaries, stated precisely. The cli and hook paths have live evidence from the fleet; the meta formats for Codex and Antigravity are fixture-tested and have not yet been exercised by a live client. There is one via per write, not per field; per-field provenance and "unknown" reasons are deferred. The record is supplied by the caller: it is attribution, not authenticated identity. Commit author metadata is not cryptographic commit signing.

Access: tokens and three roles

A caller presents a bearer token; the server looks it up in a book of principals kept outside the knowledge repository (KYB_AUTH_FILE, on the volume under Compose; a book inside the canon is refused). Roles: read < write < admin. Modes (KYB_AUTH): off as before; compat honours a token when sent and keeps full access for callers without one (rollout on a trusted bind, protects nothing); required admits no one without a token, or the role in KYB_ANON for a public demo. The book is re-read when it changes, so issuing and revoking need no restart. kyb-server auth add|token|revoke|list edits it on the machine that holds it; kyb login|whoami|logout on the client, the token sent through a curl config stream and never on the command line.

A write made with a token is committed under the token's principal; a write without one keeps the service signature and is shown with no author, so nothing is attributed to the owner by default any more. The audit log gains an actor field, including for refused requests. The web console asks for a token on 401 and hides every control the role would be refused. The maintainer's own preview runs auth=off: shipping roles does not mean a deployment enforces them.

Point-in-time search answers from the snapshot, never from a superseded version

--as-of T now selects the version current at T for every key first, then applies the text and metadata predicates. A version already replaced at T never answers, even if nothing newer matched. Knowledge deleted at T' is absent from every snapshot after T' (archived incidents and tasks are not deletions: they stay findable at their last version). A later rewrite with the same text is a new version. Documents and their tombstones are published as one generation, so a reader never sees documents from one commit paired with tombstones from another. The matching set is counted before it is fetched, so no fixed candidate budget truncates it. --history still returns every version; --changed-between keeps its contract.

History index

One index over the whole canon, extended by the commits since, replaces a walk over every commit per question. A card's history was a second per request; it is now served from the index. The start-up walk reports what it skips instead of refusing to start.

Relations

The force-directed topology graph drawn from tags and hosts is gone: no edge in it was something an author wrote. Relations are now derived from what entries actually say and stored nowhere: an incident's or task's knowledge list, a task's parent_task, and internal links in the body ([[key]], [text](key), [text](#/knowledge/key); fenced blocks and inline code are skipped, a key merely mentioned is not a link). Three read endpoints: /knowledge/{key}/related, /places (services and hosts named by incidents, the worst first) and /impact?service=|host=. The console gets a Services tab and a Related section on every card, each row with the reason it is there. Nothing is inferred from tags. An archive note is settled by its own number, and a build consumes only the notes it acted on.

Web console

A redesign to one quiet system: one type scale, one accent, colour only where state demands it; every control checked against the design. Incidents and tasks are attention queues with the reason in the row; Activity is a change ledger showing the whole change; History and Diff are one Versions panel listing every version with everything it changed, who wrote it and from where. Deep links and permalinks, #tag filters, paging at 40, a card that draws before its history arrives, and a browser test that drives every screen and every write a person can make, with block coverage of the UI script gated at 100% in CI. The page is assembled from src/web/css and src/web/js at compile time and served from the binary unless KYB_UI_PATH says otherwise.

Deploy

scripts/deploy.sh installs the exact digest the CI run smoke-tested (published as an artifact only after the smoke passed), keeps a named rollback, waits for a cold start, compares the running image id with the pinned digest's local id, and refuses a stale UI override. The served-page marker identifies a console generation; the pinned image identity identifies the deployed artifact.

Registry and citation

server.json and glama.json describe the MCP server for the registries. CITATION.cff is at 0.3.0 and cites the concept DOI 10.5281/zenodo.22850723; the versioned DOI of this release is added once Zenodo archives it. The 0.2.3 record (10.5281/zenodo.23027682) remains the DOI of 0.2.3 only.

Known, not blocking

Card "ago" labels from a date-only updated_at; kyb query brief output, scores and --help; canon git gc automation; kyb lookup / context / verified_at. The audit deliberately omits the console's polling routes, so it is not a complete traffic record.

Install

brew install alex09x/apps/kyb          # Apple Silicon
cargo install knowyourbusiness --locked  # kyb-server only
docker pull ghcr.io/alex09x/kyb:v0.3.0

kyb v0.2.3

Choose a tag to compare

@github-actions github-actions released this 23 Sep 02:28

kyb v0.2.3 for aarch64-apple-darwin (Apple Silicon). Intel macOS is not supported.

KYB 0.2.2 — crates.io installation and author metadata

Choose a tag to compare

@github-actions github-actions released this 19 Sep 23:45
5d6c26b

KYB 0.2.2 adds installation from crates.io and consistent author and citation metadata.

  • Install the server with cargo install knowyourbusiness --locked.
  • Alexander Panasenko is identified in Cargo metadata, the README byline, MIT copyright and CITATION.cff.
  • The README links the project website and registry, separates server installation from the client and optional model setup, and labels the Zenodo citation as archived v0.2.1.

Website · crates.io · Author

Install

Rust package, server binary:

cargo install knowyourbusiness --locked

Apple Silicon macOS, prebuilt server and CLI through Homebrew:

brew install alex09x/apps/kyb

For an existing Homebrew installation:

brew update
brew upgrade alex09x/apps/kyb

The attached aarch64-apple-darwin archive includes the server, CLI, agent skill, README and MIT license. The native binary targets Apple Silicon; see the README for Docker and model setup.

Validation: 321 Rust tests, macOS server/CLI smoke checks, package installation and an isolated health check passed. The downloaded crates.io artifact matches the verified package by SHA-256.

kyb v0.2.1

Choose a tag to compare

@github-actions github-actions released this 16 Aug 21:27

kyb v0.2.1 for aarch64-apple-darwin (Apple Silicon). Intel macOS is not supported.

kyb v0.2.0

Choose a tag to compare

@github-actions github-actions released this 16 Aug 07:51

kyb v0.2.0 for aarch64-apple-darwin (Apple Silicon). Intel macOS is not supported.

v0.1.4

Choose a tag to compare

@alex09x alex09x released this 09 Aug 23:52

Make kyb --help exit successfully for Homebrew and automation checks.

v0.1.3

Choose a tag to compare

@alex09x alex09x released this 09 Aug 23:44

Pure-HTTP kyb CLI with Homebrew installation support and release-driven tap formula automation.

v0.1.2 - Release with big@prod.codes badge link

Choose a tag to compare

@alex09x alex09x released this 08 Aug 09:13

Updated README.md badge link to mailto:big@prod.codes and updated author email.

v0.1.1 - Fix docker-compose image tag

Choose a tag to compare

@alex09x alex09x released this 08 Aug 09:07

Updated docker-compose.yml image reference to ghcr.io/alex09x/kyb:latest.