Knife diff shows metadata.json is being deleted locally

Hi, I'm using knife upload --chef-repo-path . . --freeze --diff to sync local chef-repo to the chef infra server. However, it showed following error even though there's no changes in 'example' cookbook

ERROR: cookbooks failed to write: Cookbook example is frozen

Then I used 'knife diff' to see what are the changes. I found out the 'example' cookbook doesn't have metadata.json(since I'm using metadata.rb for attributes) while the chef infra server has it. So the 'knife diff' always show the metadata.json is being deleted hence the knife upload command failed. I believe the metadata.json is being generated on the chef server side.

Is this the expected behaviors of knife diff and knife upload? I'm wondering why the diffs would include the file which is being generated on the server side. If I would like to keep using the knife upload command with freeze and diff options, what would be the best way to overcome this error?

Thank you so much and really appreciate the help!!

Versions:

$ knife -v
Chef Infra Client: 15.8.23

$ chef-server-ctl version
13.2.0

Based on some internal conversation, it seems like this is either a very old bug (that isn't likely to get corrected anytime soon), or expected behavior. Either way, it's safe to ignore this error!