What the rest of crafter-review stands on. - project.cpp: a static crafter.review-lib and the crafter-review executable; Crafter.Network without QUIC, pinned, or with --local from the checkout next to this one; Crafter.LintRules' lite rules, pinned; the version from CRAFTER_REVIEW_VERSION, git describe or 0.0.0-dev. - :Core and :Driver: the version, PromptVersion 1, --version. - :Json: nlohmann's ordered_json, which keeps key order and unknown keys, so the files every driver on a machine shares survive a rewrite; dumps in the indented file layout, the spaced one-line form and the compact sorted form the structured-output schema needs byte for byte. - :Crypto: SHA-256/SHA-1/MD5, HMAC, PBKDF2 through libcrypto; base64 and base32 written out, because what they refuse, and with which message, is pinned. - :Unicode, Unicode 16.0.0's tables: whitespace, line breaks, decimal digits, printable characters, case mappings and case-insensitive folds. - :Text: string functions on code points, number parsing, the shortest float form and half-even rounding, printed values, shell patterns, URL splitting and unquoting, POSIX paths, universal newlines and the replacing UTF-8 decoder. Tests: Crypto (published vectors), Text (293 reference vectors). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
22 lines
952 B
C++
22 lines
952 B
C++
// SPDX-License-Identifier: AGPL-3.0-only
|
|
// SPDX-FileCopyrightText: Copyright (C) 2026 Catcrafts®
|
|
|
|
export module Crafter.Review:Core;
|
|
import std;
|
|
|
|
export namespace Crafter::Review {
|
|
// The release this binary was built from, as project.cpp stamped it:
|
|
// CRAFTER_REVIEW_VERSION, else `git describe`, else 0.0.0-dev.
|
|
std::string_view Version();
|
|
|
|
// Bumped only when clean results stored under the earlier number must not
|
|
// be reused: a text change a lens reads that changes what a clean pass
|
|
// proves. It is one of the inputs of every reuse key, so a bump retires
|
|
// every stored result at once. A change that leaves what a lens reads the
|
|
// same — a layout change, a reworded log line — does not bump it.
|
|
constexpr std::int32_t PromptVersion = 1;
|
|
|
|
// `crafter-review <version> (prompt v<n>)`: the dump's `driver` field,
|
|
// the first log line of a run and `--version`.
|
|
std::string DriverLine();
|
|
}
|