Commit 8e5b231df05328ae2da06ccf11717cc1bbb8d710

Authored by graphlemon
1 parent f16199bf

graphlemon: prd artifact for task 7fc3a7a3-ebe3-48ae-97de-a98f7f3c9d35

.graphlemon/runs/7fc3a7a3-ebe3-48ae-97de-a98f7f3c9d35/prd.md 0 → 100644
  1 +The "graphlemon-node-3ec92f23d2eb41568f74a8f39c4676f8" workflow (planner) completed successfully (1 agent, 1 retry due to a transient stall, 107,744 tokens, 43 tool calls, ~8 min).
  2 +
  3 +Output: a PRD titled "Skill 详情页补齐「Skill 真实内容」展示", building on the approved BRD for the bug where `#/skills/:skill_id/audit` doesn't show a skill's real `SKILL.md` content. Key points:
  4 +
  5 +- New `skill_query.py` function to read `SKILL.md` plus list `references/`, `templates/`, `scripts/` support files, reusing `skill_update._skill_file_path`'s existing path-resolution logic rather than duplicating it.
  6 +- New read-only `GET /api/skills/:skill_id/content` endpoint matching the existing `/api/skills/:skill_id/audit` route conventions, returning 404 `NOT_FOUND` for both missing skills and path-traversal attempts (to avoid leaking probe information).
  7 +- New "Skill 内容" panel on the `v_skill_audit_log` page, shown alongside (not replacing) the existing audit-log panel; rendered as plain `<pre>` text per the established `v_artifact_browser` convention — no Markdown/highlighting dependencies added.
  8 +- Explicit path-traversal defense, since this is the repo's first case of a URL path segment feeding directly into filesystem path construction.
  9 +- Required unit test coverage: normal read, skill not found, missing `SKILL.md` file on disk, and traversal rejection — full `python3 -m unittest discover -s src` must still pass (441 existing tests).
  10 +- Scope explicitly excludes: touching `skill_update.py`'s migration/write/rollback logic, per-file preview of support files, and any Markdown rendering.
  11 +
  12 +Working tree is clean — no files were committed by this run; the PRD text is the planner node's output artifact for the next stage of the graphlemon Org Graph pipeline to consume.
0 13 \ No newline at end of file
... ...