Skip to content

Add Waitcheck triage and shared sanitizer skill foundation - #608

Open
oyazdanb wants to merge 10 commits into
mainfrom
users/oyazdanb/sanitizer-skill-layout
Open

oyazdanb wants to merge 10 commits into
mainfrom
users/oyazdanb/sanitizer-skill-layout

Conversation

@oyazdanb

@oyazdanb oyazdanb commented Nov 10, 2026 •

Copy link
Copy Markdown
Collaborator

Adds Waitcheck planning and saved-evidence interpretation through AORTA, with a small shared sanitizer skill foundation. The skill selects one verified compiled kernel entry, prepares an explicitly bounded recipe and explains findings, no-finding scope and incomplete checking.

The installed skill contains its instructions, governance card, evaluation dataset, shared workflow, Waitcheck guidance/procedure, exact-entry template and offline report reader. Development controls, build/run helpers, cap/isolation/invalid-selector recipes and longer example guides live under examples/sanitizers/waitcheck/; their tests and upstream license notice are preserved. The reader requires the matching AORTA Python environment.

The AORTA reporting changes distinguish diagnostic totals, retained details, omitted details and native scan completion. Native checker exit, AORTA CLI exit and reader success remain separate outcomes. Legacy reports remain readable.

Validation:

  • 330 local Linux CPU tests passed across eleven helper, recipe, reporting, parser and model test modules (one warning).
  • Generic skill validation and pinned Skillscope structural checks passed for the package, governance card, dataset and affected documentation. The authored dataset has twelve focused cases: seven positive and five negative; Skillscope also includes five shared negatives. Internal references were checked; external URLs were not fetched.
  • Pre-commit formatting/YAML checks and the staged whitespace check passed.
  • No paid model routing/behavior evaluation, native checker scan, GPU job or cluster command was run for this refactor. Retained bounded checker evidence keeps its original scope and limits.

The execution route remains draft. Native acquisition/build provenance, complete loaded-agent activity and final execution qualification remain open; retained bounded development evidence does not qualify arbitrary kernels. Additional checker integrations will arrive in separate AORTA PRs before one combined AMD Skills submission. Catalog owner/license approval, intake and publication remain separate work.

Copilot AI balanced review requested due to automatic review settings November 10, 2026 18:13

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues are recorded for the draft sanitizer triage skill, while qualification and release gates remain pending.

No open issues 🎉

What changed in this PR

Adds a draft ROCm sanitizer triage skill that guides planning and evidence interpretation through AORTA’s existing checker integrations. All execution routes remain draft; qualification, agent evaluation, release gates, and dedicated skill CI remain pending.

Changes:

  • Defines shared guidance and checker-specific references for Waitcheck, ASan, ConSan, and Triton FpSan.
  • Packages Waitcheck finding, corrected-control, and digest-refusal examples with preparation and offline verification support.
  • Adds portable tests, evaluation prompts, and maintenance guidance.
File Description
tests/​instrumentation/​rocjitsu_sanitizers/​test_waitcheck_skill_recipe.py Tests template placeholders, exact identity, and run bounds.
tests/​instrumentation/​rocjitsu_sanitizers/​test_waitcheck_controls_example.py Tests control preparation, verification, portability, and failure handling.
docs/​sanitizers/​skill-maintenance.md Documents ownership, evaluation, qualification, and release requirements.
.gitignore Allows the skill evaluation dataset to be tracked.
.agents/​skills/​rocm-sanitizer-triage/​SKILL.md Defines skill selection, workflow, and draft execution boundaries.
.agents/​skills/​rocm-sanitizer-triage/​skill-card.md Records purpose and pending ownership/license decisions.
.agents/​skills/​rocm-sanitizer-triage/​scripts/​waitcheck_controls.py Prepares, runs, and verifies the three development cases.
.agents/​skills/​rocm-sanitizer-triage/​scripts/​.gitkeep Adds a scripts-directory placeholder.
.agents/​skills/​rocm-sanitizer-triage/​references/​waitcheck.md Documents Waitcheck inputs, interpretation, and qualification limits.
.agents/​skills/​rocm-sanitizer-triage/​references/​waitcheck-examples.md Provides reproduction steps and recorded control outcomes.
.agents/​skills/​rocm-sanitizer-triage/​references/​fpsan.md Defines Triton FpSan prerequisites and evidence requirements.
.agents/​skills/​rocm-sanitizer-triage/​references/​consan.md Defines ConSan prerequisites and execution-coverage requirements.
.agents/​skills/​rocm-sanitizer-triage/​references/​asan.md Defines ASan instrumentation and evidence requirements.
.agents/​skills/​rocm-sanitizer-triage/​references/​aorta-workflow.md Establishes shared planning, interpretation, and readiness rules.
.agents/​skills/​rocm-sanitizer-triage/​evals/​fixtures/​.gitkeep Reserves the evaluation-fixture directory.
.agents/​skills/​rocm-sanitizer-triage/​evals/​evals.json Adds routing and behavioral development cases.
.agents/​skills/​rocm-sanitizer-triage/​assets/​waitcheck-exact-entry.yaml Supplies a bounded recipe template requiring explicit identity.
.agents/​skills/​rocm-sanitizer-triage/​assets/​waitcheck-controls/​missing_wait.hip Adds an offline missing-wait control source.
.agents/​skills/​rocm-sanitizer-triage/​assets/​waitcheck-controls/​LICENSE.upstream.txt Includes the adapted controls’ upstream MIT notice.
.agents/​skills/​rocm-sanitizer-triage/​assets/​waitcheck-controls/​corrected_wait.hip Adds the matched control with the required scalar wait.

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings November 10, 2026 20:06

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues remain for the draft ROCm sanitizer triage skill and its supporting controls and guidance.

No open issues 🎉

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings November 10, 2026 21:20

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Control verification can accept diagnostics from the wrong object, target, or image, while report-only validation misses hazard exits without supporting findings.

1 open issue
1 previously missed issue

In code that hasn't changed since last review

Medium severity Verify diagnostic identity against the selected control

.agents/​skills/​rocm-sanitizer-triage/​scripts/​waitcheck_controls.py:341

A matching summary header plus a diagnostic naming a different object, target or image is accepted as “expected result verified.” The parser copies the requested identity into the finding metadata, so those comparisons do not verify the diagnostic's origin. Validate the raw diagnostic prefix against the selected identity, as waitcheck_report.py already does, before accepting the control.

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings November 12, 2026 16:27
@oyazdanb
oyazdanb marked this pull request as ready for review November 12, 2026 16:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Validation gaps let the control verifier accept inconsistent diagnostics or metadata and the report reader overlook native exit 4 with no findings when optional diagnostic metadata is absent.

2 open issues

Review effort: Balanced

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The report reader can accept warning results without retained diagnostics, reject valid nullable or omitted metadata, and misrepresent lower-bound counters as exact totals.

5 open issues

Review effort: Balanced

Copilot AI balanced review requested due to automatic review settings November 12, 2026 17:23
@oyazdanb oyazdanb changed the title Add draft ROCm sanitizer triage skill Add draft ROCm sanitizer skill and Waitcheck evidence validation Nov 12, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The reader incorrectly accepts a legacy pass/native-0 report despite a positive raw diagnostic count when all diagnostics are omitted, returning exit 0 and falsely reporting agreement.

1 open issue
5 resolved since last review

Review effort: Balanced

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Human assessment is needed because critical validation gaps can accept failed scans as consistent evidence and publish exact totals that contradict retained findings.

No open issues 🎉

1 resolved since last review

Review effort: Balanced

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Report-only validation still accepts invalid native exits for completed Waitcheck entries and emitted-record counts exceeding per-entry requested limits, allowing contradictory reports to pass.

2 open issues

Review effort: Balanced

Scope the skill entry point, references and evaluations to Waitcheck while
preserving the shared workflow and existing skill name. Defer other checker
procedures to their own AORTA integrations.

Keep development controls, recipes and long guides under repository examples,
with their license, helper paths, tests and CI coverage preserved. Retain only
the required catalog files and useful Waitcheck runtime support in the skill.
Copilot AI balanced review requested due to automatic review settings November 13, 2026 19:25
@oyazdanb oyazdanb changed the title Add draft ROCm sanitizer skill and Waitcheck evidence validation Add Waitcheck triage and shared sanitizer skill foundation Nov 13, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Saved reports can misrepresent truncated diagnostics as exact totals and accept invalid native exits as completed scans without flagging either contradiction.

3 open issues

Review effort: Balanced

Reject unsupported native exits in completed Waitcheck reports and flag
per-entry emitted records above a known requested limit in report-only mode.
Match CheckResult's exact-count/truncation invariant to KernelCheckResult.

Add regressions for all three review findings and preserve valid policy
failures, legacy unknown metadata and multi-entry aggregation.
Copilot AI balanced review requested due to automatic review settings November 13, 2026 19:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Human assessment is needed because a moderate-severity finding shows that matching raw logs cause valid completed policy-failure results to be incorrectly rejected.

No open issues 🎉

3 resolved since last review

Review effort: Balanced

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants