This documentation was generated with AI assistance and is still being audited. Some, or potentially a lot, of this information may be inaccurate. Learn more.
defcreate_build_metadata(deterministic:bool=False)->dict[str,Any]:"""Create build section metadata."""platform_info:dict[str,Any]={"os":get_os_name(),"arch":get_arch_name(),}build_meta:dict[str,Any]={"tool":"flavor-python","tool_version":get_flavor_version(),"deterministic":deterministic,"platform":platform_info,}# Only add non-deterministic fields if not in deterministic modeifnotdeterministic:build_meta["timestamp"]=datetime.datetime.now(datetime.UTC).isoformat()platform_info["host"]=socket.gethostname()else:# Use fixed timestamp for deterministic buildsbuild_meta["timestamp"]="2025-01-01T00:00:00+00:00"platform_info["host"]="deterministic-build"returnbuild_meta
defcreate_verification_metadata(spec:BuildSpec)->dict[str,Any]:"""Create verification section metadata."""# Always require verification - use FLAVOR_VALIDATION environment variable to control behaviorverification={"integrity_seal":{"required":True,"algorithm":"ed25519"},"signed":True,"require_verification":True,}# If trust_signatures was provided in spec metadata, include itif"verification"inspec.metadataand"trust_signatures"inspec.metadata["verification"]:verification["trust_signatures"]=spec.metadata["verification"]["trust_signatures"]returnverification