STAGE_S5_TEST_POINTS

A staged workflow for turning approved requirements into a complete list of test points. It checks required earlier documents and records any requirement that has no matching test point.

In plain words
What is it for?
Use it after a requirements backlog and business-flow document are ready. It helps design valid, invalid, boundary, exception, and risk-related test points.
Why use it?
It helps prevent requirements from being silently missed during test planning. It also keeps test names tied to the approved requirement and feature names.

Cursor rule for Cursor

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/silenceinsect/aidocxworkflow/stage_s5_test_points
Clone the repo
git clone --depth 1 https://github.com/SilenceInsect/AIDocxWorkFlow

Made for: Cursor.

Per session 20 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 8,895 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00020 $0.08895
Opus 5 $0.00010 $0.04448
Sonnet 5 $0.00004 $0.01779
Haiku 4.5 $0.00002 $0.00890

Measured 2d ago against content hash 747f800ea766, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

STAGE_S5_TEST_POINTS scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.cursor/rules/STAGE_S5_TEST_POINTS.mdc · 651 lines

How it starts

The opening of the file, as written. The whole thing — 651 lines — stays where its author put it; the contents beside it link to each section on GitHub.

AIDocxWorkFlow S5 — 测试点生成

独立阶段:可以单独调用。上游材料(S2 backlog)审查合格后开始,失败写失败报告。

第一原则

S5 当前不是在做代码实现,也不是在写最短答案,而是在做需求覆盖设计。 默认目标不是少写,而是找全;不是压缩,而是显式列出覆盖和未覆盖。 任何未设计成 TP 的需求点,不允许静默消失,必须进入 omission_ledger.json


阶段入口

触发方式/aidocx-s5-test-points 或粘贴 S2 backlog

前置材料(必须全部满足)

材料 来源 审查要求
S2 backlog.md(必须读取 workflow_assets/<req_name>/<version>/「S2 需求拆解」/backlog.md 存在且含 Epic/Story
S4 business_flow.md(必须读取 workflow_assets/<req_name>/<version>/「S4 流程图导出」/business_flow.md 包含异常/错误决策树和风险点清单,用于补充 EXCEPTION 类型测试点

前置材料缺失时:生成失败报告,停止 S5。


§1.9 命名一致性 & 产出标准化门禁(字段溯源版)

**(FIELD-001):本节解决 TP 文本语义与 S2 正式命名体系脱节的问题。 校验精度:字段溯源版(字段精准匹配——obj_name/fp_name == S2)+ LLM 自由文本溯源(title/description 不带锚点)

§1.9.1 核心规范

S5 产出的每条测试点必须满足以下要求:

v31 修订obj_name 来源 = S2 backlog.epics[].title(Epic 标题 = 需求对象);fp_name 来源 = S2 backlog.stories[].title(Story 标题 = 功能描述)。

  1. 显式字段obj_namefp_name 字段必须存在

    • obj_name:从 S2 backlog.epics[].title 取值,100% 原样写入
    • fp_name:从 S2 backlog.stories[].title 取值,100% 原样写入
  2. 文本溯源分离

    • title:纯场景简短标题(不带锚点),4-12 字场景摘要
    • description:纯测试逻辑(前置+步骤+预期),干净通顺
  3. 字段精准匹配

    • obj_name == S2 requirement_objects[].obj_name(逐字相等)
    • fp_name 不重复 S2 requirement_objects[].feature_points[].fp_desc(LLM 自创中性名)
  4. 锚点取消:title / description / test_scenario 不再以锚点开头——锚点仅存 JSON 字段,不重复进文本

§1.9.2 校验方式

L1 格式校验层执行,检查项:field_traceability

校验项 要求
obj_name 字段 存在且 == S2 obj_name(逐字相等)
fp_name 字段 存在且 LLM 自创(命名规则见 §1.9.1)
feature_point_ref 字段 强制必填——必须引用 S2 OBJ.feature_points[].id
title 文本 不带锚点(无【】)
description 文本 不带锚点(无【】)

通过率硬门禁:100%(0 错误才可进入 S6)

§1.9.3 不通过处理

  • 自动触发 S5 迭代补全,最多重试 3 次
  • 3 次仍不通过 → L1_FAILED 状态 → 人工审查队列
  • 禁止未通过校验的 TP 进入 S6

§1.9.4 命名来源约束

  • obj_name:唯一来源 = S2 requirement_objects.jsonobj_name 字段。100% 逐字相等。必须是实体名词
  • fp_name:唯一来源 = LLM 自创(中性功能名)。约束:必须是动词/动作 + 长度 ≤ 20 字符 + 不与 S2 fp_desc 字面量重复;禁止名词性描述(如"道具数据配置"/"价格配置"应改为"道具从配置加载"/"道具按配置价格展示")。
  • 功能描述 字段(JSON 中的 功能描述 键):必须动作化——来自 S2 fp_desc 做语义等价改写,将名词性描述改写为动词化表达。
    • 改写规则:不得改变 S2 fp_desc 的事实范围,仅将静态描述动作化。
    • 改写模式(参考):
      S2 fp_desc(原始) 动作化后(生成 TP 时使用)
      配置道具分类归属 按配置对道具分类
      配置道具基础信息 按配置表加载道具数据
      配置道具价格 按配置校验道具价格
    • 改写后同步更新 s2_source.fp_desc 字段(记录改写后语义,供溯源)。
    • s2_source 块记录的是实际使用的语义(改写后),不是 S2 原始文本的复述。
  • 禁止 LLM 自创 obj_name(必须 S2 严格匹配)。
  • 禁止 fp_name 与 S2 fp_desc 字面量重复(避免语义重定义)。

Read the full file on GitHub · 651 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 651 lines · 20 tokens per session scan A 747f800ea766

Subscribe to this mod's changes

STAGE_S5_TEST_POINTS is a cursor rule published in the GitHub repository SilenceInsect/AIDocxWorkFlow (2 stars, last pushed 1mo ago), licensed MIT. It adds 20 tokens to every session and 8,895 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.