Freeze: identity, AI trailers by the consumer's rule (the pattern with case-insensitive folds and its \s* that crosses lines), a clean tree, no merges, a fast-forward, then format-patch, the hash, the dispositions register and the optional detached worktree; --verify at push time. The command line takes --opt=value, unique prefixes and the last of a repeat, with a usage error at exit 3 like every command that cannot start; the config is loaded and its warnings and problems reported first. The run line it prints names this binary. freeze.json records gitVersion. format-patch ends every patch with the git version, so a fresh export under another git hashes differently; --verify's MISMATCH says which git exported the artifact and which the fresh copy, reading the patches' own signature when freeze.json does not record it. freeze becomes a subreaper and takes down whatever gpg left running for %G?. tests/Freeze: 18 checks, plus the gitVersion record and both MISMATCH messages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
26 lines
623 B
C++
26 lines
623 B
C++
// SPDX-License-Identifier: AGPL-3.0-only
|
|
// SPDX-FileCopyrightText: Copyright (C) 2026 Catcrafts®
|
|
|
|
export module Crafter.Review;
|
|
|
|
export import :Unicode;
|
|
export import :Json;
|
|
export import :Text;
|
|
export import :Crypto;
|
|
export import :Platform;
|
|
export import :Process;
|
|
export import :Core;
|
|
export import :Schema;
|
|
export import :Tools;
|
|
export import :Plan;
|
|
export import :Artifact;
|
|
export import :Inventory;
|
|
export import :Dispositions;
|
|
export import :State;
|
|
export import :Normalize;
|
|
export import :PgWire;
|
|
export import :Stream;
|
|
export import :Prompt;
|
|
export import :Config;
|
|
export import :Freeze;
|
|
export import :Driver;
|