Repository navigation
Correct the README's four load-bearing false claims - #302
Merged
Merged
Conversation
Every defect below was verified by running something, not by reading. THE INSTALL INSTRUCTION DOES NOT WORK. `pip install claude-workflow-engine` was the first command in Quick Start and was marked "(recommended)". The package is not on PyPI: https://pypi.org/pypi/claude-workflow-engine/json returns 404. The badge above it linked to the same 404. Both are gone; source install is now the only route, stated as such. EVERY RUN COMMAND WAS BROKEN. v2.0.0 made `--invoked-by=<command>` mandatory, and none of the three documented commands carried it. Running the first one as printed produces four `[REFUSED]` lines and exits 0 having done nothing -- confirmed by executing it. The commands now carry the flag, and the plugin route is documented first, because it is the supported one and the README did not mention the plugin at ALL: zero occurrences of the word in 845 lines, for the mechanism the refusal message itself calls "the supported route". THE HOOK SYSTEM SECTION DESCRIBED A DELETED ARCHITECTURE. 68 lines: a nine-row registration table, per-policy breakdowns, four findings. v2.0.0 deleted `PreToolUse`, `PostToolUse` and `UserPromptSubmit`; the section listed all three as registered, and listed `Notification` as NOT registered when it is one of the two that survive. Four of nine rows inverted. Being well-researched made it worse than a vague section would have been -- it reads as authoritative. Replaced rather than patched, with what is actually true: which hooks remain, what replaced each deleted one, that `hooks/` still holds the unwired code, that the plugin ships zero hooks by ADR-010 with a CI job enforcing it, and the consequence stated plainly -- nothing is enforced in a session where no command is invoked. STEP NUMBERS PREDATED THE RENAME. References to Steps 10, 11, 12 and 13, which have not existed since the Level/Step rename collapsed old 8-14 into 2-8. Mapped 10->4, 11->5, 12->6, 13->7 against CLAUDE.md's canonical list. "8 active steps" appeared twice while the same file said "9 active steps" and "Steps 0-8" -- 0 through 8 is nine. The template fast-path was described as bypassing Step 0; it is Step 0 that detects the template and skips Step 1. The version badge read 1.20.3. sync-version.py rewrites the `**Version:**` footer but not the badge, so it had been drifting since 1.20.3 while the footer tracked every release. Now 2.1.0. Verified: the two documented `--invoked-by` values pass the real authorize() gate and the flagless form still refuses; 57 documentation tests; all six CI gates; CRLF count identical before and after (845 both), so the 81/81 diff is content and not a line-ending flip. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every defect below was found by running something, not by reading.
1. The install instruction does not work
pip install claude-workflow-enginewas the first command in Quick Start, marked "(recommended)". The package is not on PyPI:The badge above it linked to the same 404. Both removed; source install is now the only route and says so.
2. Every Run command was broken
v2.0.0 made
--invoked-by=<command>mandatory. None of the three documented commands carried it. Running the first one exactly as printed:Exit 0, nothing done. And the README did not mention the plugin at all — zero occurrences of the word in 845 lines, for the mechanism the refusal message itself calls "the supported route". The plugin commands are now documented first, with the direct-CLI form second for container entry points and manual runs.
3. The Hook System section described a deleted architecture
68 lines: a nine-row registration table, per-policy breakdowns, a Mermaid diagram, four findings. v2.0.0 deleted
PreToolUse,PostToolUseandUserPromptSubmit— the section listed all three as Registered: Yes, and listedNotificationas No when it is one of the two that survive.Four of nine rows inverted. Being well-researched made it worse than a vague section: it reads as authoritative.
Replaced rather than patched, with what is true — which hooks remain, what replaced each deleted one (including that the MCP push gate was proved reachable before
PreToolUsewas deleted), thathooks/still holds the now-unwired code, that the plugin ships zero hooks by ADR-010 with a CI job enforcing it, and the consequence stated plainly: nothing is enforced in a session where you do not invoke a command.4. Step numbers predated the rename
References to Steps 10, 11, 12 and 13 — gone since the rename collapsed old 8–14 into 2–8. Mapped
10→4, 11→5, 12→6, 13→7against CLAUDE.md's canonical list."8 active steps"appeared twice while the same file elsewhere said"9 active steps"and"Steps 0-8". Zero through eight is nine. The template fast-path was described as bypassing Step 0; it is Step 0 that detects the template and skips Step 1.Also: the version badge read 1.20.3.
sync-version.pyrewrites the**Version:**footer but not the badge, so the badge had been drifting since 1.20.3 while the footer tracked every release. Now 2.1.0.Verified
--invoked-byvalues pass the realauthorize()gate; the flagless form still refusestest_sync_version.pyexists to guard🤖 Generated with Claude Code