feat: add --seed flag for deterministic manifest UUID

Adds a --seed CLI flag to 'generate' that derives a deterministic UUID
from the seed value by hashing it 1,000,000,000 times with SHA-256.
This makes manifest generation fully reproducible when the same seed
and input files are provided.

- Builder.SetSeed(seed) method for programmatic use
- deriveSeedUUID() extracted for testability
- MFER_SEED env var also supported
- Test with reduced iteration count for speed
This commit is contained in:
clawbot
2026-02-08 16:32:02 -08:00
committed by user
parent 6d9c07510a
commit 2adc275278
5 changed files with 46 additions and 0 deletions

View File

@@ -154,6 +154,11 @@ func (mfa *CLIApp) run(args []string) {
Usage: "GPG key ID to sign the manifest with",
EnvVars: []string{"MFER_SIGN_KEY"},
},
&cli.StringFlag{
Name: "seed",
Usage: "Seed value for deterministic manifest UUID (hashed 1B times with SHA-256)",
EnvVars: []string{"MFER_SEED"},
},
),
},
{