Verified line-by-line against agent/bedrock_adapter.py on this branch: allowlist split (Nova primary, Claude bearer-token fallback only, everything else rejected), exact system→tools→messages[-2] insertion order, and the usage normalization formula/field mapping.