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.
55 lines
1.8 KiB
Markdown
55 lines
1.8 KiB
Markdown
# 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 ≥ 2` → `category = recurring`
|
|
- `scope == "cross-session"` AND `count ≥ 2` → `category = recurring`
|
|
- `scope == "in-session"` AND `count == 1` → `category = 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:
|
|
|
|
```json
|
|
{
|
|
"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.
|