Reported from a live host: dejima-guard report and dejima-guard report --finding giving identical output, which reads as the new flag doing nothing.
It was not doing nothing. It did not exist there. The container had the previous image, whose dispatch is
report) cmd_report ;;
with no "$@", so every argument was dropped before the function saw one. --finding was silently discarded and the last report printed either way.
A container makes that easy to be in and hard to notice: git pull changes the checkout, not the image. Silently ignoring the flag is what turned "you are running an older copy" into "this feature is broken", and that is the third time this session an operator has met a stale binary rather than the change they had just merged.
An unknown argument is now an error, and the message says which copy is answering and how to replace it:
dejima-guard: unknown argument for report: --findings
This copy knows --finding and nothing else. If you expected a flag that is not
listed, the program answering you is older than the one you read about:
docker compose up --build -d # a container
sudo ./install.sh # a host install
The value is that the failure diagnoses itself rather than looking like a defect in the thing being asked for.
Tested: 122 passing, up from 119.
**Summary generated by LLM agent**
Reported from a live host: `dejima-guard report` and `dejima-guard report --finding` giving identical output, which reads as the new flag doing nothing.
It was not doing nothing. It did not exist there. The container had the previous image, whose dispatch is
```sh
report) cmd_report ;;
```
with no `"$@"`, so every argument was dropped before the function saw one. `--finding` was silently discarded and the last report printed either way.
A container makes that easy to be in and hard to notice: `git pull` changes the checkout, not the image. Silently ignoring the flag is what turned "you are running an older copy" into "this feature is broken", and that is the third time this session an operator has met a stale binary rather than the change they had just merged.
An unknown argument is now an error, and the message says which copy is answering and how to replace it:
```
dejima-guard: unknown argument for report: --findings
This copy knows --finding and nothing else. If you expected a flag that is not
listed, the program answering you is older than the one you read about:
docker compose up --build -d # a container
sudo ./install.sh # a host install
```
The value is that the failure diagnoses itself rather than looking like a defect in the thing being asked for.
Tested: 122 passing, up from 119.
`dejima-guard report` and `dejima-guard report --finding` gave identical output
on a live host, which read as the new flag doing nothing. What it did was not
exist there: the container had the previous image, whose dispatch was
`report) cmd_report ;;` and dropped every argument before the function saw one.
A container makes that state easy to be in and hard to notice, because `git
pull` changes the checkout and not the image. Silently ignoring the flag is what
turned "you are running an older copy" into "this feature is broken".
An unknown argument is an error now, and the message says which copy is
answering and how to replace it. That is the whole value: the failure diagnoses
itself instead of looking like a defect in the thing being asked for.
branderson
approved these changes 2026-09-03 12:01:38 -07:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary generated by LLM agent
Reported from a live host:
dejima-guard reportanddejima-guard report --findinggiving identical output, which reads as the new flag doing nothing.It was not doing nothing. It did not exist there. The container had the previous image, whose dispatch is
with no
"$@", so every argument was dropped before the function saw one.--findingwas silently discarded and the last report printed either way.A container makes that easy to be in and hard to notice:
git pullchanges the checkout, not the image. Silently ignoring the flag is what turned "you are running an older copy" into "this feature is broken", and that is the third time this session an operator has met a stale binary rather than the change they had just merged.An unknown argument is now an error, and the message says which copy is answering and how to replace it:
The value is that the failure diagnoses itself rather than looking like a defect in the thing being asked for.
Tested: 122 passing, up from 119.