mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-19 13:10:03 +00:00
chore: add kiro spec-driven tooling and steering docs
Add the Kiro-style agentic SDLC tooling used to drive this project: the .opencode/skills/kiro-* skill set (discovery, spec init/requirements/design/ tasks, validation, implementation, review, steering), the .kiro/settings templates, and AGENTS.md describing the workflow. Update the spec docs (assessment/design/requirements/tasks) to current state. Scope tests/test_opencode_skills.py to the project's own openultrasast-* skills so the third-party kiro-* tooling (which uses a different frontmatter convention) no longer breaks the frontmatter check. Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
8fe8911020
commit
6699f1f8f9
@@ -0,0 +1,41 @@
|
||||
# Parallel Task Analysis Rules
|
||||
|
||||
## Purpose
|
||||
Provide a consistent way to identify implementation tasks that can be safely executed in parallel while generating `tasks.md`.
|
||||
|
||||
## Relationship to Task Ordering
|
||||
|
||||
`(P)` means: this task has no dependency on its immediately preceding peers and can run concurrently with them. The Task Ordering Principle (see tasks-generation.md) ensures Foundation-phase tasks run first, making Core-phase tasks the primary `(P)` candidates.
|
||||
|
||||
## When to Consider Tasks Parallel
|
||||
Only mark a task as parallel-capable when **all** of the following are true:
|
||||
|
||||
1. **No data dependency** on pending tasks.
|
||||
2. **No conflicting files or shared mutable resources** are touched.
|
||||
3. **No prerequisite review/approval** from another task is required beforehand.
|
||||
4. **Foundation work complete**: Environment/setup work needed by this task is already satisfied by earlier Foundation-phase tasks.
|
||||
5. **Non-overlapping boundaries**: `_Boundary:_` annotations confirm tasks operate on separate components.
|
||||
|
||||
## Marking Convention
|
||||
- Append `(P)` immediately after the numeric identifier for each qualifying task.
|
||||
- Example: `- [ ] 2.1 (P) Build background worker for emails`
|
||||
- Apply `(P)` to both major tasks and sub-tasks when appropriate.
|
||||
- If sequential execution is requested (e.g. via `--sequential` flag), omit `(P)` markers entirely.
|
||||
- Keep `(P)` **outside** of checkbox brackets to avoid confusion with completion state.
|
||||
|
||||
## Grouping & Ordering Guidelines
|
||||
- Group parallel tasks under the same parent whenever the work belongs to the same theme.
|
||||
- List obvious prerequisites or caveats in the detail bullets (e.g., "Requires schema migration from 1.2").
|
||||
- When two tasks look similar but are not parallel-safe, call out the blocking dependency explicitly.
|
||||
- Skip marking container-only major tasks (those without their own actionable detail bullets) with `(P)`—evaluate parallel execution at the sub-task level instead.
|
||||
|
||||
## Quality Checklist
|
||||
Before marking a task with `(P)`, ensure you have:
|
||||
|
||||
- Verified that running this task concurrently will not create merge or deployment conflicts.
|
||||
- Confirmed `_Boundary:_` annotations show non-overlapping component scopes.
|
||||
- Captured any shared state expectations in the detail bullets.
|
||||
- Confirmed that the implementation can be tested independently.
|
||||
- Added `_Depends: X.X_` if this `(P)` task still requires specific prior work from a different major-task group.
|
||||
|
||||
If any check fails, **do not** mark the task with `(P)` and explain the dependency in the task details.
|
||||
Reference in New Issue
Block a user