diff --git a/docs/agentic-dev-kit/workflows/session-start.md b/docs/agentic-dev-kit/workflows/session-start.md index a89bf1b..a8bcd0e 100644 --- a/docs/agentic-dev-kit/workflows/session-start.md +++ b/docs/agentic-dev-kit/workflows/session-start.md @@ -167,7 +167,22 @@ something already classified 🟡 is later raised to 🔴, it gets the check the Search them **per candidate**, by job / ticket / subject name, using **your runtime's own file-search facility** — the subject passed as a *parameter*, the - two archives as the scope. + two archives as the scope. A parameter is never parsed as shell syntax, which is + what makes this the preferred route. + + **If your runtime exposes no such tool, the deciding question is where the + subject came from**, not whether you are using a shell: + + - **From your own repository or config** — a cron job name, a branch, a file + path, a scope. Operator-controlled, and an ordinary shell search is fine. + - **From your tracker or forge** — an issue title, a PR title. On any project + that accepts issues from outside, that is attacker-influenceable text, and + building a shell command around it is a problem three separate attempts here + failed to solve; see + [`#241`](https://github.com/topij/agentic-dev-kit/issues/241) before trying a + fourth. Prefer matching such a candidate by its **id** (`CUS-1107`, `#143`), + which is the part you control the shape of, and search the title only through + a parameter-passing tool. **Skip a candidate whose subject is empty or whitespace-only** rather than searching for it. An empty pattern matches every line of both archives, which is diff --git a/kit-manifest.json b/kit-manifest.json index a778faf..7e2fb6b 100644 --- a/kit-manifest.json +++ b/kit-manifest.json @@ -44,7 +44,7 @@ }, "docs/agentic-dev-kit/workflows/session-start.md": { "role": "workflow", - "sha256": "00cae6afe47b6817f92d012c6dcac4447a3e7114d403e7fae03891c35a01d3d6" + "sha256": "535a391e491d5371ba1b4930d75323a6ec9b46a636d0b89b59d239934e7aaf2c" }, "docs/agentic-dev-kit/workflows/wrap-up.md": { "role": "workflow",