diff --git a/architecture.html b/architecture.html index 78fc85a..4c15dbc 100644 --- a/architecture.html +++ b/architecture.html @@ -102,7 +102,8 @@ Architecture Scoring Schema - GitHub + Guide + GitHub @@ -371,7 +372,7 @@

Output: how AVE travels

Build your own implementation -

The schema, records, rules, and fixtures are all open under Apache 2.0. Honor the declares-vs-assigns contract and the SARIF convention, and your tool’s findings will interoperate with every other AVE implementation. See the schema reference and the repository.

+

The schema, records, rules, and fixtures are all open under Apache 2.0. Honor the declares-vs-assigns contract and the SARIF convention, and your tool’s findings will interoperate with every other AVE implementation. See the schema reference and the repository.

@@ -391,7 +392,8 @@

Output: how AVE travels

Architecture Scoring Schema v1.0.0 - GitHub repo + Implementer Guide + GitHub repo
Implementations diff --git a/crosswalks.html b/crosswalks.html index 0ebc90e..37e4a65 100644 --- a/crosswalks.html +++ b/crosswalks.html @@ -102,7 +102,8 @@ Architecture Scoring Schema - GitHub + Guide + GitHub
@@ -151,7 +152,8 @@

AVE → OWASP · MITRE ATLAS

Architecture Scoring Schema v1.0.0 - GitHub repo + Implementer Guide + GitHub repo
Implementations diff --git a/implementer-guide.html b/implementer-guide.html index e9deb29..8b142e2 100644 --- a/implementer-guide.html +++ b/implementer-guide.html @@ -100,6 +100,7 @@ Architecture Scoring Schema + Guide GitHub
@@ -133,7 +134,10 @@

Pattern 1: Runtime API lookup

indicators_of_compromise, remediation, owasp_mcp, mitre_atlas, aivss.

-
import httpx +
import httpx def enrich_finding(ave_id: str) -> dict: resp = httpx.get(f"https://api.aveproject.org/records/{ave_id}", timeout=5) @@ -146,7 +150,7 @@

Pattern 1: Runtime API lookup

"severity": "HIGH", # optional: enrich at scan time "ave_record": enrich_finding("AVE-2026-00002"), -}
+}

When to use: developer machines, cloud CI/CD pipelines, SaaS tools with outbound internet.
@@ -172,7 +176,10 @@

Pattern 2: Bundled offline record set

point when one is cut, not the only one.

Format: JSON array of all active records (59 as of schema v1.1.0).

-
import json +
import json from pathlib import Path # Load at startup @@ -182,7 +189,7 @@

Pattern 2: Bundled offline record set

} def lookup_ave(ave_id: str) -> dict | None: - return AVE_RECORDS.get(ave_id)
+ return AVE_RECORDS.get(ave_id)

Sync strategy: track ave-records-latest.json if you always want current data, or pin to a specific @@ -203,7 +210,10 @@

Pattern 3: ID-only emission

Example SARIF output (the correct way to carry ave_id in SARIF):

-
{ +
{ "runs": [{ "results": [{ "ruleId": "your-rule-id", @@ -214,7 +224,7 @@

Pattern 3: ID-only emission

} }] }] -}
+}

Full SARIF convention: docs/specs/ave-in-sarif.md

When to use: any environment. Especially useful when @@ -241,11 +251,14 @@

The mapping step

Minimum viable integration

The smallest possible integration is adding one field:

-
finding = { +
finding = { "rule_id": "prompt-injection/tool-description", "severity": "HIGH", "ave_id": "AVE-2026-00002", # add this -}
+}

That is it. The ID is stable and permanent. No other changes required. Your users get cross-tool deduplication and links to the full behavioral @@ -274,6 +287,7 @@

Contact

Architecture Scoring Schema v1.1.0 + Implementer Guide GitHub repo
@@ -290,5 +304,19 @@

Contact

+ + diff --git a/index.html b/index.html index 65a2ae7..0834be7 100644 --- a/index.html +++ b/index.html @@ -102,6 +102,7 @@ Architecture Scoring Schema + Guide GitHub @@ -154,6 +155,11 @@

The behavioral classification standard for agentic AI

Every field, its type, whether it is required, and what it means, plus the evidence declarations and an example record.

Open the schema → + + Integrate

Implementer guide

+

Add ave_id to your scanner's finding output: three consumption patterns for runtime API lookup, bundled offline records, or ID-only emission.

+ Start integrating → +
@@ -183,6 +189,7 @@

Contribute a new agentic flaw standard

Architecture Scoring Schema v1.0.0 + Implementer Guide GitHub repo
diff --git a/registry.html b/registry.html index 61d5eb4..33c05fc 100644 --- a/registry.html +++ b/registry.html @@ -102,7 +102,8 @@ Architecture Scoring Schema - GitHub + Guide + GitHub
@@ -177,7 +178,8 @@

All records

Architecture Scoring Schema v1.0.0 - GitHub repo + Implementer Guide + GitHub repo
Implementations diff --git a/schema.html b/schema.html index c51b6a2..86f1330 100644 --- a/schema.html +++ b/schema.html @@ -100,6 +100,7 @@ Architecture Scoring Schema + Guide GitHub
@@ -225,6 +226,7 @@

Example record

Architecture Scoring Schema v1.1.0 + Implementer Guide GitHub repo
diff --git a/scoring.html b/scoring.html index 764957f..b906225 100644 --- a/scoring.html +++ b/scoring.html @@ -102,7 +102,8 @@ Architecture Scoring Schema - GitHub + Guide + GitHub
@@ -261,7 +262,8 @@

Where this lives in a record

Architecture Scoring Schema v1.0.0 - GitHub repo + Implementer Guide + GitHub repo
Implementations diff --git a/styles.css b/styles.css index 5c9d616..91e1be9 100644 --- a/styles.css +++ b/styles.css @@ -296,6 +296,13 @@ table.ref tbody tr:hover { background: #f7f9f7; } .codeblock { font-family: var(--mono); font-size: 13px; background: var(--deep); color: #d7ece1; border-radius: 12px; padding: 18px 20px; overflow-x: auto; line-height: 1.6; margin: 18px 0; white-space: pre; } .codeblock .c { color: #9ec3b2; } .codeblock .g { color: var(--gold); } +.codeblock-wrap { position: relative; } +.codeblock-wrap .copy-btn { position: absolute; top: 10px; right: 10px; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; color: #9ec3b2; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); border-radius: 7px; cursor: pointer; padding: 0; } +.codeblock-wrap .copy-btn:hover { background: rgba(255,255,255,0.14); color: #d7ece1; } +.codeblock-wrap .copy-btn .i-check { display: none; } +.codeblock-wrap .copy-btn.done { color: var(--gold); border-color: var(--gold); background: rgba(212,160,23,0.14); } +.codeblock-wrap .copy-btn.done .i-copy { display: none; } +.codeblock-wrap .copy-btn.done .i-check { display: block; } /* ============ responsive improvements ============ */