diff --git a/CHANGELOG.md b/CHANGELOG.md index bccb360..0bbaeb5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ ## Unreleased ### Added (flow diagram) -- `docs/linear-issue-craft-flow.drawio`: a draw.io flowchart of the skill's core path (classify the archetype, draft, clear the gates or the headless save-hook, then file), built and render-verified with the drawio skill. Light theme, drawio-native palette, legend included. Linked from the README. +- `docs/linear-issue-craft-flow.drawio`: a draw.io flowchart of the skill's core path (classify the archetype, draft, clear the gates or the headless save-hook, then file), built and render-verified with the drawio skill. Light theme, drawio-native palette, legend included. Embedded in the README as a rendered PNG preview (`docs/linear-issue-craft-flow.png`), since GitHub does not render `.drawio` inline. ### Added (save-hook: weld the boundary) - `hooks/validate-issue-on-save.sh`: a Claude Code PreToolUse hook for `mcp__linear__save_issue` that runs the Gate-1 validator at the tool boundary, so the check cannot be skipped on the headless batch-filing path (a PreToolUse hook fires for subagent tool calls too). Create-only (an update with an `id` is left alone, so the pre-Anchor corpus is never orphaned); build-lane scoped (governance labels `human`/`eval` exempt); `observe` by default (logs would-blocks, allows) and `enforce` on an operator flip (denies with the validator's re-fileable output via `permissionDecision: deny`). Fails open on any unexpected input. On a create, a missing or prose-shaped Anchor is promoted from WARN to a block. `hooks/README.md` documents install + the operator-owned enforce flip (gated on a clean corpus replay); `hooks/test_hook.sh` covers the decision matrix (7 cases). diff --git a/README.md b/README.md index 8e4c9eb..00ae491 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,9 @@ skill/ ## Flow diagram -`docs/linear-issue-craft-flow.drawio` is a draw.io flowchart of the skill's core path: classify the archetype (epic / story / hardening / task, or decompose), draft, clear the gates (Gate 1 validator, then Gate 2 and Gate 3 interactively, or the save-hook in headless mode), then file. Light theme, drawio-native palette, with a legend. Open it at [app.diagrams.net](https://app.diagrams.net) or with the draw.io VS Code extension. +![Linear Issue Craft skill flow](docs/linear-issue-craft-flow.png) + +The flowchart above maps the skill's core path: classify the archetype (epic / story / hardening / task, or decompose), draft, clear the gates (Gate 1 validator, then Gate 2 and Gate 3 interactively, or the save-hook in headless mode), then file. Light theme, drawio-native palette, with a legend. The source is `docs/linear-issue-craft-flow.drawio` (the PNG is a rendered preview); edit it at [app.diagrams.net](https://app.diagrams.net) or with the draw.io VS Code extension. ## The archetypes diff --git a/docs/linear-issue-craft-flow.png b/docs/linear-issue-craft-flow.png new file mode 100644 index 0000000..976ac73 Binary files /dev/null and b/docs/linear-issue-craft-flow.png differ