KeiSeiKit-1.0/skills/self-audit/phase-2-classify.md
Parfii-bot a4e667de10 KeiSeiKit-public — clean state
Single-commit clean baseline after security scrub of niche-tells,
project codenames, internal jargon, and contributor-email leaks.

Contents:
- 100 Rust crates (_primitives/_rust/)
- 37 agent manifests (_manifests/) + generated specs (_generated/)
- 67 user-invocable skills (skills/)
- 33 hooks (hooks/)
- Composition blocks (_blocks/)
- Documentation (docs/, README.md)
- TS adapter packages (_ts_packages/)
- Assembler (_assembler/)
- Roles (_roles/)
- Templates (_templates/)
- Forgejo CI (.forgejo/)

Author: Denis Parfionovich <info@greendragon.info>

License: see LICENSE.
2026-05-01 12:09:03 +08:00

1.8 KiB

Phase 2 — Classify

Tag each finding with a category and a severity; CLASSIFIED is produced.

2a — Category (automatic, no click)

For each finding in FINDINGS:

  • scope == "in-session" AND count ≥ 2category = recurring
  • scope == "cross-session" AND count ≥ 2category = recurring
  • scope == "in-session" AND count == 1category = one-off
  • otherwise → category = unknown

2b — Severity hint (automatic heuristic)

Grep the finding's event_class:

Contains Severity
permission_denied, panic, security critical
error, failed, timeout, worktree_error high
cargo_workspace, tool_use:* medium
anything else low

2c — Severity confirm click (single AskUserQuestion)

Emit ONE AskUserQuestion batch grouping the severity confirm into a single question:

{
  "questions": [
    {
      "question": "Confirm severity for top finding?",
      "header": "Severity",
      "multiSelect": false,
      "options": [
        {"label": "critical", "description": "Security / data loss / irreversible"},
        {"label": "high",     "description": "Blocks work or leaks to production"},
        {"label": "medium",   "description": "Slows work; fix this week"},
        {"label": "low",      "description": "Nice to fix; not urgent"}
      ]
    }
  ]
}

Apply the user's pick only to the TOP finding (highest count). All other findings keep their heuristic severity.

Verify-criterion

  • Every finding has a category and a severity.
  • CLASSIFIED is the full list with those two fields added.
  • Exactly one AskUserQuestion call was emitted.