hex-audit 0.5.5 → 0.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DEMO.md +5 -5
- package/README.md +9 -9
- package/dashboard/.next/BUILD_ID +1 -1
- package/dashboard/.next/app-build-manifest.json +16 -16
- package/dashboard/.next/app-path-routes-manifest.json +1 -1
- package/dashboard/.next/build-manifest.json +2 -2
- package/dashboard/.next/next-server.js.nft.json +1 -1
- package/dashboard/.next/prerender-manifest.js +1 -1
- package/dashboard/.next/prerender-manifest.json +1 -1
- package/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/_not-found.html +1 -1
- package/dashboard/.next/server/app/_not-found.rsc +1 -1
- package/dashboard/.next/server/app/access/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/calls/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/conformance/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/diagram/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/diagram.html +1 -1
- package/dashboard/.next/server/app/diagram.rsc +1 -1
- package/dashboard/.next/server/app/flows/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/flows.html +1 -1
- package/dashboard/.next/server/app/flows.rsc +1 -1
- package/dashboard/.next/server/app/functions/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/issues/page.js +5 -5
- package/dashboard/.next/server/app/issues/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/notes/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/overleaf/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/progress/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app/stats/page_client-reference-manifest.js +1 -1
- package/dashboard/.next/server/app-paths-manifest.json +10 -10
- package/dashboard/.next/server/chunks/42.js +1 -1
- package/dashboard/.next/server/chunks/530.js +1 -1
- package/dashboard/.next/server/functions-config-manifest.json +1 -1
- package/dashboard/.next/server/middleware-build-manifest.js +1 -1
- package/dashboard/.next/server/pages/404.html +1 -1
- package/dashboard/.next/server/pages/500.html +1 -1
- package/dashboard/.next/server/server-reference-manifest.js +1 -1
- package/dashboard/.next/server/server-reference-manifest.json +1 -1
- package/dashboard/.next/static/chunks/app/issues/page-d1607f57783782ae.js +1 -0
- package/dashboard/app/issues/IssuesBoardClient.tsx +18 -2
- package/dist/commands/init.js +2 -2
- package/dist/commands/issue.js +2 -2
- package/dist/commands/issue.js.map +1 -1
- package/dist/core/issues.d.ts +1 -1
- package/dist/core/issues.d.ts.map +1 -1
- package/dist/core/issues.js +2 -1
- package/dist/core/issues.js.map +1 -1
- package/dist/skills/diane.md +1 -1
- package/dist/skills/ingest-aa-report.md +2 -2
- package/dist/skills/init-audit.md +1 -1
- package/dist/skills/validate-all-findings.md +23 -9
- package/dist/skills/{validate-issue.md → validate-finding.md} +71 -25
- package/dist/skills/write-finding.md +3 -3
- package/package.json +2 -2
- package/dashboard/.next/static/chunks/app/issues/page-72089090c04e96ee.js +0 -1
- /package/dashboard/.next/static/{ZvCvC4cMbL3GR8kloB9OJ → hV9GBuhq9vm6hXiHOWEfE}/_buildManifest.js +0 -0
- /package/dashboard/.next/static/{ZvCvC4cMbL3GR8kloB9OJ → hV9GBuhq9vm6hXiHOWEfE}/_ssgManifest.js +0 -0
|
@@ -63,7 +63,7 @@ const COLUMN_DEFS: Array<{ id: BoardColumn; label: string; description: string }
|
|
|
63
63
|
{ id: 'potential', label: 'Potential', description: 'Awaiting validation' },
|
|
64
64
|
{ id: 'verified', label: 'Verified', description: 'Confirmed, ready to push' },
|
|
65
65
|
{ id: 'synced', label: 'Synced to GitHub', description: 'On GitHub — edit there, not here' },
|
|
66
|
-
{ id: 'invalid', label: '
|
|
66
|
+
{ id: 'invalid', label: 'Rejected', description: 'Not in the report — incorrect, or valid-but-by-design' },
|
|
67
67
|
{ id: 'duplicate', label: 'Duplicate', description: 'Covered by another entry' },
|
|
68
68
|
];
|
|
69
69
|
|
|
@@ -374,6 +374,22 @@ function Card({ issue, onOpen }: { issue: BoardIssue; onOpen: (id: string) => vo
|
|
|
374
374
|
<div className="mt-2 flex flex-wrap items-center gap-1.5 text-caption">
|
|
375
375
|
<SourceChip source={issue.source} />
|
|
376
376
|
<SyncChip issue={issue} />
|
|
377
|
+
{issue.column === 'invalid' && (
|
|
378
|
+
<span
|
|
379
|
+
className={`rounded-md px-1.5 py-0.5 ${
|
|
380
|
+
issue.resolution === 'Acknowledged'
|
|
381
|
+
? 'bg-[var(--medium)]/15 text-[var(--medium)]'
|
|
382
|
+
: 'bg-surface-2 text-text-secondary'
|
|
383
|
+
}`}
|
|
384
|
+
title={
|
|
385
|
+
issue.resolution === 'Acknowledged'
|
|
386
|
+
? 'Valid but by-design / not a security issue'
|
|
387
|
+
: 'Factually incorrect (false positive)'
|
|
388
|
+
}
|
|
389
|
+
>
|
|
390
|
+
{issue.resolution === 'Acknowledged' ? 'By-design' : 'Invalid'}
|
|
391
|
+
</span>
|
|
392
|
+
)}
|
|
377
393
|
{issue.duplicate_of && (
|
|
378
394
|
<span className="rounded-md bg-surface-2 px-1.5 py-0.5 text-text-secondary">
|
|
379
395
|
dup of {issue.duplicate_of}
|
|
@@ -389,7 +405,7 @@ function Card({ issue, onOpen }: { issue: BoardIssue; onOpen: (id: string) => vo
|
|
|
389
405
|
PoC ✕
|
|
390
406
|
</span>
|
|
391
407
|
)}
|
|
392
|
-
{issue.resolution && (
|
|
408
|
+
{issue.resolution && issue.column !== 'invalid' && (
|
|
393
409
|
<span className="rounded-md bg-surface-2 px-1.5 py-0.5 text-text-secondary">
|
|
394
410
|
{issue.resolution}
|
|
395
411
|
</span>
|
package/dist/commands/init.js
CHANGED
|
@@ -237,8 +237,8 @@ Skills are in \`.claude/skills/\` and auto-discovered by Claude Code. Type \`/\`
|
|
|
237
237
|
|
|
238
238
|
1. \`/init-audit\` — Initialize, dependency safety, full analysis pipeline, overview, diagrams, flows, spec conformance, board materialization (all in one)
|
|
239
239
|
2. \`/write-finding\` — Record a manual issue as a Potential card on the board
|
|
240
|
-
3. \`/validate-
|
|
241
|
-
4. \`/generate-poc\` — Generate and run a proof-of-concept test (invoked by /validate-
|
|
240
|
+
3. \`/validate-finding\` — Validate any Potential card (manual / auditagent / conformance / github); per-issue PoC or memo-only
|
|
241
|
+
4. \`/generate-poc\` — Generate and run a proof-of-concept test (invoked by /validate-finding)
|
|
242
242
|
5. \`/ingest-aa-report\` — Ingest a completed Nethermind AuditAgent scan by ID, with inline dedup
|
|
243
243
|
6. \`/sync-issues\` — Two-way GitHub Issues sync (GitHub canonical)
|
|
244
244
|
7. \`/generate-overleaf\` — Emit the four LaTeX report sections into \`${config.settings.output_dir}/overleaf/\`
|
package/dist/commands/issue.js
CHANGED
|
@@ -16,9 +16,9 @@ function resolveOutputDir(opts) {
|
|
|
16
16
|
return loadProjectContext(opts.project ?? process.cwd()).outputDir;
|
|
17
17
|
}
|
|
18
18
|
const moveCmd = new Command('move')
|
|
19
|
-
.description('Move an issue between board columns (potential | verified |
|
|
19
|
+
.description('Move an issue between board columns (potential | verified | rejected | duplicate)')
|
|
20
20
|
.argument('<id>', 'Issue id (e.g. H-001)')
|
|
21
|
-
.requiredOption('--to <column>', 'Target column: potential | verified | invalid | duplicate')
|
|
21
|
+
.requiredOption('--to <column>', 'Target column: potential | verified | rejected (alias: invalid) | duplicate')
|
|
22
22
|
.option('--duplicate-of <id>', 'When moving to duplicate, the canonical issue this duplicates')
|
|
23
23
|
.option('--project <dir>', 'Project directory')
|
|
24
24
|
.action((id, opts) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,UAAU,EAMV,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED,2EAA2E;AAC3E,SAAS,OAAO,CAAC,KAAa,EAAE,QAAkB;IAChD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAA0B;IAClD,OAAO,kBAAkB,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAChC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"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"}
|
package/dist/core/issues.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type BoardColumn = 'potential' | 'verified' | 'invalid' | 'duplicate';
|
|
1
|
+
export type BoardColumn = 'potential' | 'verified' | 'invalid' | 'rejected' | 'duplicate';
|
|
2
2
|
export type Severity = 'Critical' | 'High' | 'Medium' | 'Low' | 'Info';
|
|
3
3
|
export type Resolution = 'Fixed' | 'Mitigated' | 'Acknowledged' | 'Not Fixed' | 'Unresolved';
|
|
4
4
|
export declare const SEVERITY_VALUES: readonly Severity[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/core/issues.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/core/issues.ts"],"names":[],"mappings":"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"}
|
package/dist/core/issues.js
CHANGED
|
@@ -28,6 +28,7 @@ export const COLUMN_TO_STATUS = {
|
|
|
28
28
|
potential: 'pending_validation',
|
|
29
29
|
verified: 'verified',
|
|
30
30
|
invalid: 'rejected',
|
|
31
|
+
rejected: 'rejected',
|
|
31
32
|
duplicate: 'duplicate',
|
|
32
33
|
};
|
|
33
34
|
/** Fields a user may edit through the board modal or `hex issue patch`. */
|
|
@@ -183,7 +184,7 @@ export function ensureFindingExists(outputDir, id) {
|
|
|
183
184
|
*
|
|
184
185
|
* Note: this does NOT edit the user's source files. Source annotation
|
|
185
186
|
* (`// @audit-issue-verified ...`) remains the responsibility of the
|
|
186
|
-
* /validate-
|
|
187
|
+
* /validate-finding skill, which the auditor invokes deliberately — a drag-drop
|
|
187
188
|
* on the board should never silently rewrite .sol files.
|
|
188
189
|
*/
|
|
189
190
|
const SYNCED_LOCK_MSG = 'Issue is synced to GitHub and is read-only in Hex. Edit it on GitHub, then run /sync-issues to pull the changes.';
|
package/dist/core/issues.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/core/issues.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/core/issues.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAS7B,MAAM,CAAC,MAAM,eAAe,GAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAClG,MAAM,CAAC,MAAM,iBAAiB,GAA0B;IACtD,OAAO;IACP,WAAW;IACX,cAAc;IACd,WAAW;IACX,YAAY;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAgC;IAC3D,SAAS,EAAE,oBAAoB;IAC/B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO;IACP,UAAU;IACV,aAAa;IACb,gBAAgB;IAChB,YAAY;IACZ,oBAAoB;IACpB,OAAO;CACC,CAAC;AAyDX,uEAAuE;AAEvE,SAAS,QAAQ,CAAI,IAAY;IAC/B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAM,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,IAAa;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC;IAC1B,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IACrE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB;IACrC,OAAO,QAAQ,CAAe,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC3F,CAAC;AACD,SAAS,YAAY,CAAC,SAAiB;IACrC,OAAO,QAAQ,CAAe,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC3F,CAAC;AAED,uEAAuE;AAEvE,MAAM,UAAU,eAAe,CAAC,CAAU;IACxC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAK,eAAqC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrF,CAAC;AACD,MAAM,UAAU,iBAAiB,CAAC,CAAU;IAC1C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAK,iBAAuC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,uEAAuE;AAEvE;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,EAAE;QAC1B,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC;YAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,QAAQ;QAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,QAAQ;QAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7D,OAAO,KAAK,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACjD,CAAC;AAED,uEAAuE;AAEvE,SAAS,eAAe,CAAC,EAAU,EAAE,QAAkB;IACrD,OAAO;QACL,EAAE;QACF,KAAK,EAAE,EAAE;QACT,QAAQ;QACR,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC7B,GAAG,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;QACjE,cAAc,EAAE,EAAE;QAClB,UAAU,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;QAClC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACrC,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAS,sBAAsB,CAC7B,SAAiB,EACjB,EAAU,EACV,GAAW,EACX,QAAwB;IAExB,MAAM,IAAI,GAAG,QAAQ,CACnB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAC9C,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IACpD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,CAAC,GAAG,eAAe,CACvB,EAAE,EACF,CAAC,QAAQ,EAAE,QAAQ,IAAK,IAAI,CAAC,aAA0B,IAAI,MAAM,CAAa,CAC/E,CAAC;IACF,CAAC,CAAC,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,QAAQ,GAAG,kBAAkB,CAAC;IAChC,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,aAA8C,CAAC;IAChE,IAAI,GAAG,EAAE,IAAI;QAAE,CAAC,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;IACnB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,sGAAsG;AACtG,SAAS,qBAAqB,CAC5B,SAAiB,EACjB,EAAU,EACV,IAA6B,EAC7B,GAAW,EACX,QAAwB;IAExB,MAAM,MAAM,GACV,IAAI,KAAK,YAAY;QACnB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,CAAC;QACnE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,QAAQ,CAAgD,MAAM,CAAC,CAAC;IAC7E,MAAM,GAAG,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,UAAU,GAAG,EAAE,CACxF,CAAC;IACF,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,CAAC,GAAG,eAAe,CAAC,EAAE,EAAG,GAAG,CAAC,QAAqB,IAAI,QAAQ,EAAE,QAAQ,IAAI,MAAM,CAAC,CAAC;IAC1F,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAI,GAAG,CAAC,aAA2D,IAAI,EAAE,CAAC;IACxF,CAAC,CAAC,UAAU,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;IACnB,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,EAAU;IAC/D,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3E,MAAM,GAAG,GAAG,QAAQ,EAAE,UAAU,IAAI,EAAE,CAAC;IAEvC,IAAI,YAAY,GAAmB,IAAI,CAAC;IACxC,IAAI,QAAQ,EAAE,MAAM,KAAK,aAAa,IAAI,GAAG,EAAE,CAAC;QAC9C,YAAY,GAAG,sBAAsB,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtE,CAAC;SAAM,IAAI,QAAQ,EAAE,MAAM,KAAK,YAAY,IAAI,GAAG,EAAE,CAAC;QACpD,YAAY,GAAG,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACnF,CAAC;SAAM,IAAI,QAAQ,EAAE,MAAM,KAAK,QAAQ,IAAI,GAAG,EAAE,CAAC;QAChD,YAAY,GAAG,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/E,CAAC;IAED,wEAAwE;IACxE,oDAAoD;IACpD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,IAAI,MAAM,CAAC,CAAC;QACjE,IAAI,QAAQ,EAAE,KAAK;YAAE,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QACzD,IAAI,QAAQ,EAAE,UAAU;YAAE,YAAY,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC1E,CAAC;IAED,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3D,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,uEAAuE;AAEvE;;;;;;;;;GASG;AACH,MAAM,eAAe,GACnB,kHAAkH,CAAC;AAErH,MAAM,UAAU,SAAS,CACvB,SAAiB,EACjB,EAAU,EACV,MAAmB,EACnB,WAAoB;IAEpB,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC5C,sFAAsF;IACtF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,mBAAmB,MAAM,yDAAyD,CACnF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1E,IAAI,OAAO,EAAE,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IAEnE,0DAA0D;IAC1D,IAAI,MAAM,KAAK,UAAU;QAAE,mBAAmB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,6EAA6E;QAC7E,sEAAsE;QACtE,MAAM,OAAO,GAAG,mBAAmB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnD,KAAK,GAAG;YACN,EAAE;YACF,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,IAAI,aAAa;YAChD,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI;YACnC,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YACnE,KAAK,EAAE,EAAE;SACV,CAAC;QACF,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,wDAAwD;QACxD,IAAI,WAAW;YAAE,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC;IACpD,CAAC;SAAM,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QAC9B,6EAA6E;QAC7E,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CACxB,SAAiB,EACjB,EAAU,EACV,OAAgC;IAEhC,MAAM,KAAK,GAA4C,EAAE,CAAC;IAC1D,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC;YAAE,SAAS;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,GAAG,KAAK,UAAU,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,GAAG,KAAK,YAAY,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;YACvF,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,gFAAgF;IAChF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACxC,CAAC,CAAE,OAAO,CAAC,KAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QAChF,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1E,IAAI,OAAO,EAAE,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IAEnE,MAAM,OAAO,GAAG,mBAAmB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,OAAO,CAAC;IAErE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,GAAG,KAAK,OAAO;YAAE,SAAS,CAAC,wCAAwC;QACvE,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;YAC5D,OAAO,MAAM,CAAC,UAAU,CAAC;YACzB,SAAS;QACX,CAAC;QACA,MAAkC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACnD,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE3D,iDAAiD;IACjD,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,OAAO,IAAI,KAAK;YAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAe,CAAC;QAC1D,IAAI,UAAU,IAAI,KAAK;YAAE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAoB,CAAC;QACrE,IAAI,OAAO,IAAI,KAAK;YAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAe,CAAC;QAC1D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAaD;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,KAAuB;IACpE,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAEnF,sEAAsE;IACtE,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,GAAmB,IAAI,CAAC;IAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,IAAI,GAAG,EAAE,CAAC;QAC1C,CAAC,GAAG,sBAAsB,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,IAAI,GAAG,EAAE,CAAC;QAChD,CAAC,GAAG,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,EAAE,CAAC;QAC5C,CAAC,GAAG,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,GAAG,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;QAClD,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACtB,IAAI,KAAK,CAAC,UAAU;YAAE,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACxD,CAAC;IACD,gFAAgF;IAChF,IAAI,KAAK,CAAC,QAAQ;QAAE,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChD,IAAI,KAAK,CAAC,KAAK;QAAE,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IACvC,qDAAqD;IACrD,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,CAAC,CAAC,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,QAAQ,GAAa,CAAC,CAAC,QAAQ,CAAC;IAEtC,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE3D,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrB,EAAE;QACF,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ;QACR,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM;QACN,UAAU,EAAE,aAAa;QACzB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;QACpC,KAAK,EAAE,EAAE;KACV,CAAC,CAAC;IACH,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE3D,OAAO,EAAE,CAAC;AACZ,CAAC;AAaD;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CACxB,SAAiB,EACjB,EAAU,EACV,MAAkB,EAClB,SAAqB,EAAE;IAEvB,MAAM,OAAO,GAAG,mBAAmB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,OAAO,CAAC;IAErE,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;QAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACtD,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC7D,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACpC,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI;QAAE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACxE,IAAI,MAAM,CAAC,cAAc,IAAI,IAAI;QAAE,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IACjF,IAAI,MAAM,CAAC,kBAAkB,IAAI,IAAI;QAAE,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;IAC7F,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,UAAU,KAAK,EAAE;YAAE,OAAO,MAAM,CAAC,UAAU,CAAC;aAClD,IAAI,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC;YAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvF,CAAC;IACD,MAAM,CAAC,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC9B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE3D,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG;YACN,EAAE;YACF,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,IAAI,aAAa;YAC/C,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI;YAClC,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;YACvC,KAAK,EAAE,EAAE;SACV,CAAC;QACF,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;QACxB,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI;YAAE,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/E,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE3D,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/skills/diane.md
CHANGED
|
@@ -125,4 +125,4 @@ Then deliver a candid **pair-audit verdict** — lead with the substance (correc
|
|
|
125
125
|
|
|
126
126
|
- **Never hand-edit** `notes.json` or the `.md` files directly — always go through `npx hex note …`, exactly as the other skills route through `npx hex issue …`.
|
|
127
127
|
- One session per invocation. If the auditor wants the next one, they run `/diane` again (or process them in a loop if they ask).
|
|
128
|
-
- Do not create PoCs from narration — that stays an explicit, auditor-driven `/validate-
|
|
128
|
+
- Do not create PoCs from narration — that stays an explicit, auditor-driven `/validate-finding` step.
|
|
@@ -142,7 +142,7 @@ Then record the match in `<output_dir>/comparison.json` under `duplicates`. The
|
|
|
142
142
|
|
|
143
143
|
If `comparison.json` doesn't exist, create it with `{ "duplicates": [], "novel": [], "rejected": [] }`.
|
|
144
144
|
|
|
145
|
-
For entries that don't match anything, leave them as `status: "unverified"` (the auditor will run `/validate-
|
|
145
|
+
For entries that don't match anything, leave them as `status: "unverified"` (the auditor will run `/validate-finding AA-<NNN>` on them).
|
|
146
146
|
|
|
147
147
|
## Step 7 — Report
|
|
148
148
|
|
|
@@ -154,7 +154,7 @@ Ingested N AuditAgent findings (scan <scan_id>).
|
|
|
154
154
|
- K flagged as Duplicate of existing entries
|
|
155
155
|
- 0 errors
|
|
156
156
|
|
|
157
|
-
Run /validate-
|
|
157
|
+
Run /validate-finding <id> on any new finding to confirm and promote it to Verified.
|
|
158
158
|
```
|
|
159
159
|
|
|
160
160
|
## Outputs (recap)
|
|
@@ -247,7 +247,7 @@ npx hex issue new --source conformance --source-ref "<spec-item-id, e.g. SC-001>
|
|
|
247
247
|
--severity "<spec-item.severity_hint, default Info>"
|
|
248
248
|
```
|
|
249
249
|
|
|
250
|
-
`--source-ref` is the spec item's own id (e.g. `SC-001`) — Hex keeps that as the back-reference; the board card itself gets the uniform `H-NNN`. These appear on the Issues board as Potential cards immediately; the auditor validates them later with `/validate-
|
|
250
|
+
`--source-ref` is the spec item's own id (e.g. `SC-001`) — Hex keeps that as the back-reference; the board card itself gets the uniform `H-NNN`. These appear on the Issues board as Potential cards immediately; the auditor validates them later with `/validate-finding <id>` (or `/validate-all-findings`).
|
|
251
251
|
|
|
252
252
|
**Idempotency:** before creating, check whether a tracking entry already has this `source_ref` (re-running `/init-audit` shouldn't double-create). Skip items whose `source_ref` is already present.
|
|
253
253
|
|
|
@@ -6,7 +6,9 @@ description: "Walk every Potential issue on the board and validate them one by o
|
|
|
6
6
|
|
|
7
7
|
**Recommended model:** Opus
|
|
8
8
|
|
|
9
|
-
Runs `/validate-
|
|
9
|
+
Runs `/validate-finding` over every issue currently in the **Potential** column, one at a time, so the auditor can clear the backlog in a single pass without naming each id.
|
|
10
|
+
|
|
11
|
+
Each issue gets `/validate-finding`'s full two-axis verdict — correctness **and** the Step-2.5 security-relevance gate. **`auditagent` / `github` findings skew recall-over-precision, so the realism gate is mandatory for them**; `manual` / `conformance` items already passed an auditor's eye and can lean lighter.
|
|
10
12
|
|
|
11
13
|
## Step 1 — Build the work list
|
|
12
14
|
|
|
@@ -14,6 +16,16 @@ Read `<output_dir>/tracking.json`. The Potential column is every entry whose `st
|
|
|
14
16
|
|
|
15
17
|
If `N` is 0, report "No Potential issues to validate." and stop.
|
|
16
18
|
|
|
19
|
+
## Step 1.5 — Cheap realism pre-pass
|
|
20
|
+
|
|
21
|
+
Before deep-diving, do a fast first pass over all `N` and emit a one-line realism read per issue — the Step-2.5 reality-gate take only, no full code trace yet:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
<id> [<sev>] <title> — likely: security | by-design | self-inflicted | incorrect | unsure
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Print it as a table. This front-loads "which of these even deserve a deep trace" so effort concentrates on the genuine security candidates instead of spreading evenly. It's a triage hint, not a verdict — every issue still gets its real verdict in Step 2.
|
|
28
|
+
|
|
17
29
|
## Step 2 — Loop
|
|
18
30
|
|
|
19
31
|
For each issue `i` of `N` (1-based), print a header:
|
|
@@ -22,15 +34,16 @@ For each issue `i` of `N` (1-based), print a header:
|
|
|
22
34
|
── Validating i/N: <id> [<severity>] <title> ──
|
|
23
35
|
```
|
|
24
36
|
|
|
25
|
-
Then run the full **`/validate-
|
|
37
|
+
Then run the full **`/validate-finding`** flow for that `<id>` exactly as that skill defines it:
|
|
26
38
|
1. Assemble context (the tracking entry + its source record + the affected source).
|
|
27
39
|
2. Trace the claim in the code.
|
|
28
|
-
3. Reach a verdict:
|
|
29
|
-
- **
|
|
30
|
-
- **
|
|
40
|
+
3. Reach a verdict (correctness + the Step-2.5 security-relevance gate):
|
|
41
|
+
- **Verified** (true + security-relevant) → re-rate severity, ask PoC-vs-memo, write the memo, `hex issue patch <id> ...` + `hex issue move <id> --to verified`.
|
|
42
|
+
- **Rejected — by-design** (true, not security-relevant) → memo with `Disposition: by-design`, `hex issue patch <id> --resolution Acknowledged` + `hex issue move <id> --to rejected`.
|
|
43
|
+
- **Rejected — incorrect** (false) → `hex issue move <id> --to rejected` (no resolution), memo records why.
|
|
31
44
|
- **Uncertain** → leave in place, `hex issue patch <id> --notes "<open questions>"`.
|
|
32
45
|
|
|
33
|
-
|
|
46
|
+
Batch by tier — don't rubber-stamp. **Security-relevant candidates get the full per-issue prompt flow** (PoC-vs-memo and severity), one at a time — the auditor stays in control of every real finding. **Info / by-design / self-inflicted items may be batched**: collect them and confirm their dispositions (and any PoC/severity calls) in a single consolidated **AskUserQuestion** instead of N separate modals. That keeps a large sweep controllable without diluting scrutiny on the findings that matter.
|
|
34
47
|
|
|
35
48
|
## Step 3 — Resume safety
|
|
36
49
|
|
|
@@ -42,9 +55,10 @@ After the loop, print a tally:
|
|
|
42
55
|
|
|
43
56
|
```
|
|
44
57
|
Validated N Potential issues:
|
|
45
|
-
→ Verified:
|
|
46
|
-
→
|
|
47
|
-
→
|
|
58
|
+
→ Verified: V
|
|
59
|
+
→ Rejected (incorrect): X
|
|
60
|
+
→ Rejected (valid, not security): B
|
|
61
|
+
→ Left for review (uncertain): U
|
|
48
62
|
```
|
|
49
63
|
|
|
50
64
|
Remind the auditor of the next steps: `/sync-issues` to push the Verified findings to GitHub, then `/generate-overleaf` for the report.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Validate any potential
|
|
2
|
+
description: "Validate any potential finding on the board (manual / auditagent / conformance / github): check both correctness and security relevance, then route to Verified, Rejected, or leave Uncertain"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# Skill: Validate
|
|
5
|
+
# Skill: Validate Finding
|
|
6
6
|
|
|
7
7
|
**Recommended model:** Opus
|
|
8
8
|
|
|
@@ -15,17 +15,17 @@ Takes a single potential issue from the dashboard's Issues board and runs an ind
|
|
|
15
15
|
- **Conformance** (materialized by `/init-audit`) — `source: "conformance"`, `status: "pending_validation"`.
|
|
16
16
|
- **GitHub** (teammate findings via `/sync-issues`) — `source: "github"`, `status: "pending_validation"`.
|
|
17
17
|
|
|
18
|
-
The skill writes a validation memo (always), optionally generates a PoC, and
|
|
18
|
+
The skill judges **two** things, not one: first **correctness** (is the claim true?), then for true claims **security relevance** (is it actually a vuln worth reporting, or true-but-by-design / a missing feature / self-inflicted?). It writes a validation memo (always), optionally generates a PoC, and moves the card. Outcomes: **Verified** (true + security-relevant), **Rejected** (either factually incorrect, *or* true-but-not-a-security-issue), or **Uncertain**. Both Rejected kinds land in the board's **Rejected** column, distinguished by disposition.
|
|
19
19
|
|
|
20
20
|
## Invocation
|
|
21
21
|
|
|
22
22
|
The auditor invokes by id or by free-text reference:
|
|
23
23
|
|
|
24
24
|
```
|
|
25
|
-
/validate-
|
|
26
|
-
/validate-
|
|
27
|
-
/validate-
|
|
28
|
-
/validate-
|
|
25
|
+
/validate-finding F003
|
|
26
|
+
/validate-finding SC-007
|
|
27
|
+
/validate-finding AA-N002
|
|
28
|
+
/validate-finding for the rounding issue in Vault.sol
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
Resolve to a single tracking entry by:
|
|
@@ -65,12 +65,35 @@ For conformance items, the "claim" is `spec_text` + the finding paragraph — i.
|
|
|
65
65
|
- Check existing protections (modifiers, reentrancy guards, input validation, economic constraints).
|
|
66
66
|
- For conformance items: re-read the cited spec section, compare to the implementation.
|
|
67
67
|
|
|
68
|
+
### 2.5 Reality gate — is it security-relevant?
|
|
69
|
+
|
|
70
|
+
Correctness is not enough. AI scanners (and sometimes teammates) surface claims that are **factually true but not security issues** — by-design behavior, missing features, defense-in-depth nice-to-haves, or risks only the deployer can inflict on themselves. This is the precision pass. **Run it for every finding; treat it as mandatory for `source: auditagent | github`** (those skew recall-over-precision). `manual` / `conformance` items already passed an auditor's eye, so they can lean lighter.
|
|
71
|
+
|
|
72
|
+
For a claim you found **true**, run these five checks — each one pushes toward *not-security-relevant*:
|
|
73
|
+
|
|
74
|
+
- **Trigger model.** Can only the deployer/owner harm their own deployment? Then it's self-inflicted, not an attack.
|
|
75
|
+
- **Out-of-scope dependency.** Does the impact require an out-of-scope component (e.g. the integrating contract) to be buggy or malicious — and if so, does the finding grant a capability that component didn't already have? No capability gain → defense-in-depth noise.
|
|
76
|
+
- **Trivial workaround.** Is there an integrator-controlled or already-documented mitigation (a constructor param, a config, standard usage)?
|
|
77
|
+
- **Class.** Defect, deliberate design decision, or missing feature? Only defects are findings.
|
|
78
|
+
- **Net test.** Would a senior auditor put this in a client report as a security issue, as an informational note, or not at all?
|
|
79
|
+
|
|
80
|
+
Carry the answers into the verdict and the memo (Triggerability / Depends-on-out-of-scope / Disposition).
|
|
81
|
+
|
|
68
82
|
### 3. Verdict
|
|
69
83
|
|
|
70
|
-
|
|
84
|
+
Combine the two axes — correctness (Step 2) and security relevance (Step 2.5):
|
|
85
|
+
|
|
86
|
+
| Correctness | Security-relevant? | → Outcome |
|
|
87
|
+
|---|---|---|
|
|
88
|
+
| True | Yes | **Verified** |
|
|
89
|
+
| True | No | **Rejected** (by-design / informational) |
|
|
90
|
+
| False | — | **Rejected** (incorrect) |
|
|
91
|
+
| Uncertain | — | **Uncertain** |
|
|
92
|
+
|
|
93
|
+
**Verified — true and security-relevant:**
|
|
71
94
|
|
|
72
95
|
1. Use **AskUserQuestion** to ask:
|
|
73
|
-
> The
|
|
96
|
+
> The finding appears **VALID and security-relevant**. How would you like to proceed?
|
|
74
97
|
>
|
|
75
98
|
> 1. Generate a full PoC test, then promote to Verified.
|
|
76
99
|
> 2. Accept with rational verification only — validation memo, no PoC.
|
|
@@ -81,7 +104,9 @@ For conformance items, the "claim" is `spec_text` + the finding paragraph — i.
|
|
|
81
104
|
|
|
82
105
|
3. **If memo-only chosen:** no PoC file.
|
|
83
106
|
|
|
84
|
-
4. **
|
|
107
|
+
4. **Calibrate severity — don't inherit it.** The source's severity (especially AuditAgent's) is a *hypothesis*, not authoritative. Re-derive it from realistic impact × likelihood; many technically-true findings collapse to Info. A finding whose worst case is self-inflicted or chain-conditional must say so and re-rate accordingly.
|
|
108
|
+
|
|
109
|
+
5. **Persist via the CLI — do not hand-edit `findings.json` or `tracking.json`.** The `hex issue` command is the single source of truth for board mutations; it materializes a `findings.json` entry from the source record (conformance / auditagent / github) when one does not exist yet, and routes fields correctly. Write the validation memo and the recommendation to temp files, then:
|
|
85
110
|
|
|
86
111
|
```bash
|
|
87
112
|
# Land the editable fields (materializes a finding for conformance/auditagent/github ids):
|
|
@@ -99,21 +124,34 @@ For conformance items, the "claim" is `spec_text` + the finding paragraph — i.
|
|
|
99
124
|
|
|
100
125
|
Hex does not write `@audit-issue` comments into the client's source files — the board and finding record are the only place the issue lives.
|
|
101
126
|
|
|
102
|
-
|
|
127
|
+
6. Use **AskUserQuestion** to ask:
|
|
103
128
|
> Issue verified as **\<id\>** with severity **\<current severity\>**.
|
|
104
129
|
>
|
|
105
130
|
> Would you like to change the severity? Reply with the new severity (Critical / High / Medium / Low / Info), or **no** to keep it.
|
|
106
131
|
|
|
107
|
-
|
|
132
|
+
7. If the user provides a new severity, run `npx hex issue patch <id> --severity <NewSeverity>`.
|
|
108
133
|
|
|
109
|
-
**
|
|
134
|
+
**Rejected — true but not a security issue (by-design / informational):**
|
|
110
135
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
136
|
+
The claim is correct, but Step 2.5 says it isn't a vuln worth reporting (self-inflicted, design decision, missing feature, defense-in-depth noise). This is **not** the same as "incorrect" — give it its own disposition so it's distinguishable from a false positive and AuditAgent gets honest feedback.
|
|
137
|
+
|
|
138
|
+
1. Write the memo with `Disposition: by-design` (or `informational`) and the Step-2.5 reasoning.
|
|
139
|
+
2. Mark the disposition and move it:
|
|
140
|
+
```bash
|
|
141
|
+
npx hex issue patch <id> --resolution Acknowledged
|
|
142
|
+
npx hex issue move <id> --to rejected
|
|
143
|
+
```
|
|
144
|
+
`Acknowledged` on a Rejected card means "AA was right, but it's by-design / not a security issue" — the board shows a **By-design** chip. (A Rejected card with *no* resolution = factually incorrect; see below.)
|
|
145
|
+
3. Do NOT write a finding body or carry it into the report.
|
|
146
|
+
|
|
147
|
+
**Rejected — incorrect (false positive):**
|
|
148
|
+
|
|
149
|
+
The claim is factually wrong. Explain why:
|
|
150
|
+
- Is the attack path blocked? By what specifically (modifier, require, state check)?
|
|
151
|
+
- Are the preconditions impossible? Why?
|
|
152
|
+
- Is the impact assessment wrong? What actually happens?
|
|
153
|
+
|
|
154
|
+
Move it to the Rejected column with **no** resolution (the board shows an **Invalid** chip): `npx hex issue move <id> --to rejected`. Do NOT write a finding body — the memo records the reasoning.
|
|
117
155
|
|
|
118
156
|
**Uncertain:**
|
|
119
157
|
|
|
@@ -126,11 +164,15 @@ For conformance items, the "claim" is `spec_text` + the finding paragraph — i.
|
|
|
126
164
|
Write `<output_dir>/validations/<id>_memo.md` (always — for valid, invalid, and uncertain verdicts):
|
|
127
165
|
|
|
128
166
|
```markdown
|
|
129
|
-
#
|
|
167
|
+
# Finding Validation: <ID> — <Title>
|
|
130
168
|
|
|
131
169
|
**Source:** <manual | auditagent | conformance | github>
|
|
132
170
|
**Original record:** <pointer to the specific record being validated — e.g., findings.json#F003, ai-results/auditagent/findings.json#AA-014>
|
|
133
|
-
**
|
|
171
|
+
**Correctness:** True / False / Uncertain
|
|
172
|
+
**Security relevance:** security-relevant / not-security-relevant / n/a
|
|
173
|
+
**Triggerability:** external | self-inflicted
|
|
174
|
+
**Depends on out-of-scope component:** no | yes (capability gain: yes/no)
|
|
175
|
+
**Disposition:** security-finding | by-design | informational | false
|
|
134
176
|
**Date:** <YYYY-MM-DD>
|
|
135
177
|
|
|
136
178
|
## Claim being validated
|
|
@@ -142,13 +184,17 @@ Write `<output_dir>/validations/<id>_memo.md` (always — for valid, invalid, an
|
|
|
142
184
|
## Protections evaluated
|
|
143
185
|
[Access control, reentrancy guards, input validation, economic constraints, etc.]
|
|
144
186
|
|
|
187
|
+
## Reality gate
|
|
188
|
+
[The five Step-2.5 checks for true claims: trigger model, out-of-scope dependency, trivial workaround, class, net test. Skip with "n/a (claim is false)" for incorrect findings.]
|
|
189
|
+
|
|
145
190
|
## Verdict reasoning
|
|
146
|
-
[Why
|
|
191
|
+
[Why Verified / Rejected (by-design or incorrect) / Uncertain — tie it to the two axes above]
|
|
147
192
|
|
|
148
193
|
## Action taken
|
|
149
|
-
[If
|
|
150
|
-
[If
|
|
151
|
-
[If
|
|
194
|
+
[If Verified + PoC: PoC at <path>, test passing, finding updated/created; severity re-rated to <X>]
|
|
195
|
+
[If Verified + memo-only: finding updated/created, no PoC; severity <X>]
|
|
196
|
+
[If Rejected by-design: moved to Rejected with resolution Acknowledged, no finding written]
|
|
197
|
+
[If Rejected incorrect: moved to Rejected, no resolution, no finding written]
|
|
152
198
|
[If uncertain: open questions listed; tracking status unchanged]
|
|
153
199
|
```
|
|
154
200
|
|
|
@@ -6,7 +6,7 @@ description: "Write a manual issue as a Potential card on the board (pending val
|
|
|
6
6
|
|
|
7
7
|
**Recommended model:** Sonnet
|
|
8
8
|
|
|
9
|
-
This skill records a manual issue that the auditor has spotted during review. The issue lands on the dashboard's Issues board as a **Potential** card with `status: "pending_validation"` and `source: "manual"`. The auditor promotes it to Verified later (via drag-drop on the board, or by running `/validate-
|
|
9
|
+
This skill records a manual issue that the auditor has spotted during review. The issue lands on the dashboard's Issues board as a **Potential** card with `status: "pending_validation"` and `source: "manual"`. The auditor promotes it to Verified later (via drag-drop on the board, or by running `/validate-finding <id>` which produces a validation memo and optional PoC).
|
|
10
10
|
|
|
11
11
|
## Context Assembly
|
|
12
12
|
|
|
@@ -140,8 +140,8 @@ There is **no source-file annotation** — Hex does not write `@audit-issue` com
|
|
|
140
140
|
|
|
141
141
|
The finding appears on the dashboard's `/issues` board as a Potential card (`H-NNN`). The auditor can:
|
|
142
142
|
|
|
143
|
-
- Run `/validate-
|
|
143
|
+
- Run `/validate-finding <id>` to write a validation memo and optionally generate a PoC; on success the card moves to Verified.
|
|
144
144
|
- Drag the card from Potential → Verified on the board if no PoC is needed (e.g., trivial Info-level issues).
|
|
145
145
|
- Run `/sync-issues` (once findings are Verified and `settings.github.repo` is set) to push them to GitHub.
|
|
146
146
|
|
|
147
|
-
Do NOT run `/validate-
|
|
147
|
+
Do NOT run `/validate-finding` or `/sync-issues` automatically — those are auditor-driven.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hex-audit",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "CLI toolkit for Solidity smart contract auditors",
|
|
6
6
|
"bin": {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"build": "tsc && npm run copy-skills && npm run build:dashboard",
|
|
13
13
|
"build:cli": "tsc && npm run copy-skills",
|
|
14
14
|
"build:dashboard": "next build dashboard",
|
|
15
|
-
"copy-skills": "node -e \"const fs=require('fs');const p=require('path');
|
|
15
|
+
"copy-skills": "node -e \"const fs=require('fs');const p=require('path');const d=p.join('dist','skills');fs.rmSync(d,{recursive:true,force:true});fs.cpSync(p.join('src','skills'),d,{recursive:true})\"",
|
|
16
16
|
"clean:next-cache": "node -e \"const fs=require('fs');for (const d of ['dashboard/.next/cache','dashboard/.next/trace','dashboard/.next/types']) fs.rmSync(d,{recursive:true,force:true})\"",
|
|
17
17
|
"prepack": "npm run build && npm run clean:next-cache",
|
|
18
18
|
"dev:cli": "tsc --watch",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4521],{4260:function(e,t,n){Promise.resolve().then(n.bind(n,7063))},7063:function(e,t,n){"use strict";n.d(t,{IssuesBoardClient:function(){return m}});var r=n(7821),a=n(8078),o=n(3924);let s={Critical:"bg-[var(--critical)]/18 text-[var(--critical)]",High:"bg-[var(--high)]/18 text-[var(--high)]",Medium:"bg-[var(--medium)]/18 text-[var(--medium)]",Low:"bg-[var(--low)]/18 text-[var(--low)]",Info:"bg-[var(--info)]/18 text-[var(--info)]"};function i(e){var t;let{severity:n}=e,a=null!==(t=s[n])&&void 0!==t?t:s.Info;return(0,r.jsx)("span",{className:"inline-flex items-center rounded-md px-2 py-0.5 text-caption font-medium ".concat(a),children:n})}var c=n(9487);function l(e,t){var n;let r=new Set,a=e.code_locations.map(e=>e.file).filter(e=>e&&!r.has(e)&&r.add(e)).map(e=>(function(e,t){if(t.repositoryUrl&&t.commit){let n=t.repositoryUrl.replace(/\/+$/,"");return"[`".concat(e,"`](").concat(n,"/blob/").concat(t.commit,"/").concat(e,")")}return"[`".concat(e,"`]()")})(e,t)).join(", "),o=e.resolution||"Unresolved",s=null!==(n=e.update_from_client)&&void 0!==n?n:"";return["**File(s)**: ".concat(a),"","**Description**: ".concat(function(e){if(!e)return e;let t=!1,n="";return e.split("\n").map(e=>{let r=e.match(/^\s*(```+|~~~+)/);if(r)return t?r[1][0]===n&&(t=!1,n=""):(t=!0,n=r[1][0]),e;if(t)return e;let a=e.match(/^\s*#{1,6}\s+(.*\S)\s*$/);return a?"**".concat(a[1],"**"):/^\s*(-{3,}|\*{3,}|_{3,})\s*$/.test(e)?"":e}).join("\n")}(e.description)),"","**Recommendation(s)**: ".concat(e.recommendation),"","**Status**: ".concat(o),"","**Update from the client**: ".concat(s)].join("\n")}let d=[{id:"potential",label:"Potential",description:"Awaiting validation"},{id:"verified",label:"Verified",description:"Confirmed, ready to push"},{id:"synced",label:"Synced to GitHub",description:"On GitHub — edit there, not here"},{id:"invalid",label:"Invalid",description:"Rejected after review"},{id:"duplicate",label:"Duplicate",description:"Covered by another entry"}],u={Critical:0,High:1,Medium:2,Low:3,Info:4},x=["Critical","High","Medium","Low","Info"],p=["Fixed","Mitigated","Acknowledged","Not Fixed","Unresolved"];function m(e){var t;let{issues:n,formatCtx:s={}}=e,[i,c]=(0,a.useState)(n),[l,x]=(0,a.useState)(null),[p,m]=(0,a.useState)("all");(0,a.useEffect)(()=>{c(n)},[n]);let h=(0,o.Dy)((0,o.VT)(o.we,{activationConstraint:{distance:4}})),y=(0,a.useMemo)(()=>"all"===p?i:i.filter(e=>e.source===p),[i,p]),v=(0,a.useMemo)(()=>{let e={potential:[],verified:[],synced:[],invalid:[],duplicate:[]};for(let t of y)e[t.column].push(t);for(let t of Object.values(e))t.sort((e,t)=>{var n,r;return(null!==(n=u[e.severity])&&void 0!==n?n:5)-(null!==(r=u[t.severity])&&void 0!==r?r:5)||e.id.localeCompare(t.id)});return e},[y]),j=(0,a.useMemo)(()=>{let e={potential:0,verified:0,synced:0,invalid:0,duplicate:0};for(let t of i)e[t.column]++;return e},[i]),N=(0,a.useCallback)(async(e,t)=>{c(n=>n.map(n=>n.id===e?{...n,column:t,status:function(e){switch(e){case"potential":return"pending_validation";case"verified":return"verified";case"synced":return"synced";case"invalid":return"rejected";case"duplicate":return"duplicate"}}(t),duplicate_of:"duplicate"===t?n.duplicate_of:null}:n));try{let n=await fetch("/api/issues/".concat(encodeURIComponent(e),"/move"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({column:t})});if(!n.ok){var r;let e=await n.json().catch(()=>({}));throw Error(null!==(r=e.error)&&void 0!==r?r:"move failed")}}catch(t){console.error(t),c(t=>t.map(t=>{var r;return t.id===e&&null!==(r=n.find(t=>t.id===e))&&void 0!==r?r:t}))}},[n]),w=(0,a.useCallback)(async(e,t)=>{c(n=>n.map(n=>n.id===e?{...n,...t}:n));try{let r=await fetch("/api/issues/".concat(encodeURIComponent(e)),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){var n;let e=await r.json().catch(()=>({}));throw Error(null!==(n=e.error)&&void 0!==n?n:"update failed")}}catch(e){console.error(e)}},[]),_=null!==(t=i.find(e=>e.id===l))&&void 0!==t?t:null;return(0,r.jsxs)("div",{children:[(0,r.jsxs)("header",{className:"mb-6 flex flex-wrap items-end justify-between gap-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-title font-semibold text-text-primary",children:"Issues"}),(0,r.jsxs)("p",{className:"mt-1 text-body text-text-secondary",children:[i.length," total — ",j.potential," potential, ",j.verified," verified,"," ",j.synced," synced, ",j.invalid," invalid, ",j.duplicate," duplicate. Drag a card between columns; click to edit. Synced cards are read-only (edit on GitHub)."]})]}),(0,r.jsx)(f,{value:p,onChange:m})]}),(0,r.jsx)(o.LB,{sensors:h,onDragEnd:e=>{let{active:t,over:n}=e;if(!n)return;let r=n.id,a=t.id,o=i.find(e=>e.id===a);o&&o.column!==r&&"synced"!==r&&"synced"!==o.column&&N(a,r)},children:(0,r.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-5",children:d.map(e=>(0,r.jsx)(b,{column:e,issues:v[e.id],onOpen:x},e.id))})}),_&&(0,r.jsx)(g,{issue:_,formatCtx:s,onClose:()=>x(null),onSave:e=>w(_.id,e)})]})}function f(e){let{value:t,onChange:n}=e;return(0,r.jsx)("div",{className:"flex flex-wrap gap-1.5",children:[{id:"all",label:"All sources"},{id:"manual",label:"Manual"},{id:"auditagent",label:"AuditAgent"},{id:"conformance",label:"Conformance"},{id:"github",label:"GitHub"}].map(e=>{let a=t===e.id;return(0,r.jsx)("button",{type:"button",onClick:()=>n(e.id),className:"rounded-md px-2.5 py-1 text-caption font-medium ".concat(a?"bg-accent text-surface-0":"bg-surface-2 text-text-secondary hover:text-text-primary"),children:e.label},e.id)})})}function b(e){let{column:t,issues:n,onOpen:a}=e,{isOver:s,setNodeRef:i}=(0,o.Zj)({id:t.id,disabled:"synced"===t.id});return(0,r.jsxs)("section",{ref:i,"aria-label":t.label,className:"flex flex-col gap-2 rounded-lg border bg-surface-1 p-3 transition-colors ".concat(s?"border-accent bg-surface-2":"border-border-subtle"),children:[(0,r.jsxs)("header",{className:"flex items-baseline justify-between",children:[(0,r.jsx)("h2",{className:"text-heading font-medium text-text-primary",children:t.label}),(0,r.jsx)("span",{className:"text-caption text-text-tertiary",children:n.length})]}),(0,r.jsx)("p",{className:"text-caption text-text-tertiary",children:t.description}),(0,r.jsxs)("div",{className:"mt-1 flex flex-col gap-2",children:[n.map(e=>(0,r.jsx)(h,{issue:e,onOpen:a},e.id)),0===n.length&&(0,r.jsx)("div",{className:"rounded-md border border-dashed border-border-subtle py-6 text-center text-caption text-text-tertiary",children:"Empty"})]})]})}function h(e){let{issue:t,onOpen:n}=e,a="synced"===t.column,{attributes:s,listeners:c,setNodeRef:l,isDragging:d,transform:u}=(0,o.O1)({id:t.id,disabled:a}),x=u?{transform:"translate3d(".concat(u.x,"px, ").concat(u.y,"px, 0)"),zIndex:30}:{};return(0,r.jsxs)("article",{ref:l,style:x,...a?{}:s,...a?{}:c,onClick:e=>{u||(e.stopPropagation(),n(t.id))},className:"group rounded-md border bg-surface-0 p-3 text-left ".concat(a?"cursor-pointer":"cursor-grab active:cursor-grabbing"," ").concat(d?"border-accent shadow-lg":"border-border-subtle hover:border-border-default"),children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,r.jsx)("span",{className:"font-mono text-caption text-text-tertiary",children:t.id}),(0,r.jsx)(i,{severity:t.severity})]}),(0,r.jsx)("h3",{title:t.title,className:"mt-1 text-body font-medium text-text-primary line-clamp-3",children:t.title}),(0,r.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5 text-caption",children:[(0,r.jsx)(y,{source:t.source}),(0,r.jsx)(v,{issue:t}),t.duplicate_of&&(0,r.jsxs)("span",{className:"rounded-md bg-surface-2 px-1.5 py-0.5 text-text-secondary",children:["dup of ",t.duplicate_of]}),"passing"===t.poc_status&&(0,r.jsx)("span",{className:"rounded-md bg-[var(--low)]/15 px-1.5 py-0.5 text-[var(--low)]",children:"PoC ✓"}),"failing"===t.poc_status&&(0,r.jsx)("span",{className:"rounded-md bg-[var(--critical)]/15 px-1.5 py-0.5 text-[var(--critical)]",children:"PoC ✕"}),t.resolution&&(0,r.jsx)("span",{className:"rounded-md bg-surface-2 px-1.5 py-0.5 text-text-secondary",children:t.resolution})]}),t.match_signals&&(0,r.jsx)("div",{className:"mt-2 text-caption text-text-tertiary",children:(0,r.jsx)("span",{className:"font-mono",children:[t.match_signals.contract?"contract":null,t.match_signals.function?"function":null,"different"!==t.match_signals.root_cause?"rc:".concat(t.match_signals.root_cause):null,"different"!==t.match_signals.attack_vector?"av:".concat(t.match_signals.attack_vector):null].filter(Boolean).join(" \xb7 ")})})]})}function y(e){var t;let{source:n}=e;return(0,r.jsx)("span",{className:"rounded-md bg-surface-2 px-1.5 py-0.5 text-text-tertiary",children:null!==(t=({manual:"Manual",auditagent:"AuditAgent",conformance:"Conformance",github:"GitHub"})[n])&&void 0!==t?t:n})}function v(e){var t,n;let{issue:a}=e,o=null!==(t=a.sync_state)&&void 0!==t?t:"none";if("none"===o)return null;if("unsynced"===o)return(0,r.jsx)("span",{title:"Run /sync-issues to push verified findings to GitHub.",className:"rounded-md border border-dashed border-border-default px-1.5 py-0.5 text-text-tertiary",children:"GH unsynced"});if("conflict"===o)return(0,r.jsx)("span",{title:"Local and remote diverged. Re-run /sync-issues to reconcile.",className:"rounded-md bg-[var(--critical)]/15 px-1.5 py-0.5 text-[var(--critical)]",children:"GH conflict"});let s="synced_closed"===o,i="GH #".concat(null!==(n=a.github_issue_number)&&void 0!==n?n:"?"," ").concat(s?"closed":"open"),c=s?"bg-surface-2 text-text-tertiary":"bg-[var(--low)]/15 text-[var(--low)]";return a.github_issue_url?(0,r.jsx)("a",{href:a.github_issue_url,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"rounded-md px-1.5 py-0.5 hover:underline ".concat(c),children:i}):(0,r.jsx)("span",{className:"rounded-md px-1.5 py-0.5 ".concat(c),children:i})}function g(e){var t,n,o;let{issue:s,formatCtx:i,onClose:d,onSave:u}=e,[m,f]=(0,a.useState)(s.title),[b,h]=(0,a.useState)(s.severity),[g,N]=(0,a.useState)(s.description),[w,_]=(0,a.useState)(s.recommendation),[C,k]=(0,a.useState)(null!==(t=s.resolution)&&void 0!==t?t:""),[S,H]=(0,a.useState)(null!==(n=s.update_from_client)&&void 0!==n?n:""),[M,G]=(0,a.useState)(!1),[E,I]=(0,a.useState)(!1),[R,P]=(0,a.useState)(!1),T=(0,a.useRef)(null),O="synced"===s.status;(0,a.useEffect)(()=>{var e;null===(e=T.current)||void 0===e||e.focus()},[]);let U=async()=>{let e=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"## [".concat(e.severity,"] ").concat(e.title,"\n\n").concat(l(e,t),"\n\n---\n")}({...s,title:m,severity:b,description:g,recommendation:w,resolution:C||void 0,update_from_client:S||void 0},i);try{await navigator.clipboard.writeText(e),I(!0),setTimeout(()=>I(!1),1500)}catch(e){}},D=async()=>{G(!0),await u({title:m,severity:b,description:g,recommendation:w,resolution:C||void 0,update_from_client:S||void 0}),G(!1),P(!1)};return(0,r.jsx)("div",{ref:T,tabIndex:-1,className:"fixed inset-0 z-50 flex items-center justify-center p-4 outline-none",style:{background:"var(--overlay-bg)"},onClick:d,onKeyDown:e=>{"Escape"===e.key&&d()},children:(0,r.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":"Issue ".concat(s.id),className:"relative flex h-[85vh] w-full max-w-4xl flex-col overflow-hidden border border-border-emphasis bg-surface-1 shadow-2xl",style:{borderRadius:"var(--radius-md)",boxShadow:"var(--shadow-accent)"},onClick:e=>e.stopPropagation(),children:[(0,r.jsxs)("div",{className:"flex items-center justify-between border-b border-border-default bg-surface-2 px-4 py-3",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-caption",children:[(0,r.jsx)("span",{className:"font-mono text-body text-text-tertiary",children:s.id}),(0,r.jsx)(y,{source:s.source}),(0,r.jsx)(v,{issue:s})]}),(0,r.jsx)("button",{type:"button",onClick:d,"aria-label":"Close",className:"rounded p-1 text-text-tertiary hover:bg-surface-3 hover:text-text-primary",children:(0,r.jsx)("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})})]}),(0,r.jsxs)("div",{className:"flex-1 overflow-y-auto p-4",children:[O&&(0,r.jsxs)("div",{className:"mb-4 rounded-md border border-border-default bg-surface-2 px-3 py-2 text-caption text-text-secondary",children:["This issue is synced to GitHub and is read-only here. Edit it on GitHub, then run"," ",(0,r.jsx)("span",{className:"font-mono",children:"/sync-issues"})," to pull the changes back."]}),R?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(j,{label:"Title",children:(0,r.jsx)("input",{type:"text",value:m,onChange:e=>f(e.target.value),disabled:O,className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 text-body text-text-primary focus:border-accent focus:outline-none disabled:opacity-60"})}),(0,r.jsxs)("div",{className:"mt-3 grid grid-cols-2 gap-3",children:[(0,r.jsx)(j,{label:"Severity",children:(0,r.jsx)("select",{value:b,onChange:e=>h(e.target.value),disabled:O,className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 text-body text-text-primary focus:border-accent focus:outline-none disabled:opacity-60",children:x.map(e=>(0,r.jsx)("option",{value:e,children:e},e))})}),(0,r.jsx)(j,{label:"Resolution (verified only)",children:(0,r.jsxs)("select",{value:C,onChange:e=>k(e.target.value),disabled:O,className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 text-body text-text-primary focus:border-accent focus:outline-none disabled:opacity-60",children:[(0,r.jsx)("option",{value:"",children:"— none —"}),p.map(e=>(0,r.jsx)("option",{value:e,children:e},e))]})})]}),(0,r.jsx)(j,{label:"Description",className:"mt-3",children:(0,r.jsx)("textarea",{value:g,onChange:e=>N(e.target.value),rows:8,disabled:O,className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 font-mono text-caption text-text-primary focus:border-accent focus:outline-none disabled:opacity-60"})}),(0,r.jsx)(j,{label:"Recommendation",className:"mt-3",children:(0,r.jsx)("textarea",{value:w,onChange:e=>_(e.target.value),rows:4,disabled:O,className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 font-mono text-caption text-text-primary focus:border-accent focus:outline-none disabled:opacity-60"})}),(0,r.jsx)(j,{label:"Update from the client",className:"mt-3",children:(0,r.jsx)("textarea",{value:S,onChange:e=>H(e.target.value),rows:4,disabled:O,placeholder:"How the client responded — used by /generate-overleaf.",className:"w-full rounded-md border border-border-default bg-surface-0 px-3 py-2 font-mono text-caption text-text-primary focus:border-accent focus:outline-none disabled:opacity-60"})})]}):(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(c.MarkdownRenderer,{content:"**Title**: ".concat(s.title,"\n\n**Severity**: ").concat(s.severity,"\n\n").concat(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return l(e,t)}(s,i))})}),s.code_locations.length>0&&(0,r.jsxs)("div",{className:"mt-4",children:[(0,r.jsx)("div",{className:"mb-1 text-caption font-medium text-text-tertiary",children:"Code locations"}),(0,r.jsx)("ul",{className:"space-y-1 font-mono text-caption text-text-secondary",children:s.code_locations.map((e,t)=>(0,r.jsx)("li",{children:e.file},"".concat(e.file,"-").concat(t)))})]}),s.match_signals&&(0,r.jsxs)("div",{className:"mt-4",children:[(0,r.jsx)("div",{className:"mb-1 text-caption font-medium text-text-tertiary",children:"Duplicate signals"}),(0,r.jsx)("p",{className:"text-caption text-text-secondary",children:null!==(o=s.reasoning)&&void 0!==o?o:"Matched against another entry."}),(0,r.jsxs)("div",{className:"mt-1 flex flex-wrap gap-1.5 font-mono text-caption text-text-tertiary",children:[(0,r.jsxs)("span",{children:["contract: ",s.match_signals.contract?"✓":"—"]}),(0,r.jsxs)("span",{children:["function: ",s.match_signals.function?"✓":"—"]}),(0,r.jsxs)("span",{children:["root_cause: ",s.match_signals.root_cause]}),(0,r.jsxs)("span",{children:["attack_vector: ",s.match_signals.attack_vector]})]})]})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between gap-2 border-t border-border-default bg-surface-2 px-4 py-3",children:[(0,r.jsx)("button",{type:"button",onClick:U,className:"rounded-md border border-border-default px-3 py-1.5 text-body text-text-secondary hover:bg-surface-3 hover:text-text-primary",children:E?"Copied!":"Copy as HackMD"}),(0,r.jsx)("div",{className:"flex items-center gap-2",children:R?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",onClick:()=>P(!1),className:"rounded-md px-3 py-1.5 text-body text-text-secondary hover:text-text-primary",children:"Cancel"}),(0,r.jsx)("button",{type:"button",onClick:D,disabled:M,className:"rounded-md bg-accent px-3 py-1.5 text-body font-medium text-surface-0 hover:bg-accent-secondary disabled:opacity-50",children:M?"Saving…":"Save"})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",onClick:d,className:"rounded-md px-3 py-1.5 text-body text-text-secondary hover:text-text-primary",children:"Close"}),(0,r.jsx)("button",{type:"button",onClick:()=>P(!0),disabled:O,title:O?"Synced to GitHub — edit it there, then run /sync-issues to pull the changes back.":void 0,className:"rounded-md bg-accent px-3 py-1.5 text-body font-medium text-surface-0 hover:bg-accent-secondary disabled:cursor-not-allowed disabled:opacity-40",children:"Edit"})]})})]})]})})}function j(e){let{label:t,className:n,children:a}=e;return(0,r.jsxs)("label",{className:"block ".concat(null!=n?n:""),children:[(0,r.jsx)("span",{className:"mb-1 block text-caption font-medium text-text-tertiary",children:t}),a]})}},9487:function(e,t,n){"use strict";n.d(t,{MarkdownRenderer:function(){return s},T:function(){return i}});var r=n(7821),a=n(8525),o=n(5592);function s(e){let{content:t,className:n}=e;return(0,r.jsx)("div",{className:"prose max-w-none\n prose-headings:text-text-primary\n prose-p:text-text-secondary\n prose-strong:text-text-primary\n prose-code:text-accent\n prose-code:before:content-none\n prose-code:after:content-none\n prose-pre:bg-surface-0\n prose-pre:border\n prose-pre:border-border-default\n prose-a:text-accent\n prose-a:no-underline\n hover:prose-a:underline\n prose-th:text-text-primary\n prose-td:text-text-secondary\n prose-hr:border-border-default\n prose-blockquote:border-border-emphasis\n prose-blockquote:text-text-secondary\n prose-li:text-text-secondary\n ".concat(null!=n?n:""),children:(0,r.jsx)(a.UG,{remarkPlugins:[o.Z],children:t})})}function i(e){let{children:t}=e;return(0,r.jsx)(a.UG,{remarkPlugins:[o.Z],components:{p:e=>{let{children:t}=e;return(0,r.jsx)(r.Fragment,{children:t})},code:e=>{let{children:t}=e;return(0,r.jsx)("code",{className:"rounded bg-surface-0 px-1 py-0.5 font-mono text-[0.85em] text-accent",children:t})},strong:e=>{let{children:t}=e;return(0,r.jsx)("strong",{className:"font-semibold text-text-primary",children:t})},a:e=>{let{href:t,children:n}=e;return(0,r.jsx)("a",{href:t,target:"_blank",rel:"noreferrer",className:"text-accent hover:underline",children:n})}},children:t})}}},function(e){e.O(0,[7397,3924,7115,3205,1744],function(){return e(e.s=4260)}),_N_E=e.O()}]);
|
/package/dashboard/.next/static/{ZvCvC4cMbL3GR8kloB9OJ → hV9GBuhq9vm6hXiHOWEfE}/_buildManifest.js
RENAMED
|
File without changes
|
/package/dashboard/.next/static/{ZvCvC4cMbL3GR8kloB9OJ → hV9GBuhq9vm6hXiHOWEfE}/_ssgManifest.js
RENAMED
|
File without changes
|