Skip to content

feat: wire implementer guide into nav/footer, copy buttons, homepage card - #45

Merged
chaksaray merged 3 commits into
developfrom
feat/implementer-guide-nav
Jul 19, 2026
Merged

feat: wire implementer guide into nav/footer, copy buttons, homepage card#45
chaksaray merged 3 commits into
developfrom
feat/implementer-guide-nav

Conversation

@chaksaray

Copy link
Copy Markdown
Contributor

Summary

Stacks on #44 (adds implementer-guide.html) — this PR's diff will only show the changes below once #44 merges first; until then it also carries #44's file.

  • Nav + footer wiring (Task 2 from the original brief): adds a Guide top-nav link and Implementer Guide footer link to all six existing pages (index, registry, crosswalks, architecture, scoring, schema), plus a self-referential active link on implementer-guide.html itself. Went with Option A (sixth nav link, short label) since this is genuinely first-class content.
  • Stale link fix, found while touching the same nav blocks: github.com/bawbel/avegithub.com/aveproject/ave in the nav/footer/body links on registry, crosswalks, architecture, and scoring (index and schema already pointed to the right org). Left github.com/bawbel/scanner links untouched — that's a distinct, real repo (the reference scanner implementation), not the standard's own repo.
  • Copy-to-clipboard buttons: each of the three code blocks on implementer-guide.html gets a copy icon (reusing the site's existing dark codeblock styling), swapping to a checkmark on click.
  • Homepage route card: adds a sixth "Implementer guide" card to index.html's route grid, completing a clean 3×2 layout.

Test plan

  • All 7 touched pages parse as valid HTML
  • Desktop (1440px) screenshot: nav shows all 6 items + GitHub with no wrapping/crowding; homepage grid is a clean 3×2
  • Mobile (390px) screenshot: hamburger menu opens cleanly with all 6 nav items + GitHub, no overflow
  • Clicked a copy button live (headless Chromium + clipboard permissions granted): clipboard content matches the code block's text exactly, button visually swaps to a checkmark
  • grep -L for implementer-guide.html across all 7 pages returns nothing — every page links to it

Transcribes docs/specs/ave-implementer-guide.md from aveproject/ave
(post em-dash and stale-endpoint fixes in PR #65) using the site's
existing page template (topbar/pagehead/footer from schema.html).

Not yet linked from nav or footer on any page; that's a separate change.
…mepage card

- Adds a "Guide" top-nav link and "Implementer Guide" footer link to all
  six existing pages plus a self-referential active link on the new page
  itself. Verified at both desktop and mobile widths: the nav does not
  wrap or crowd with six items, and the mobile hamburger menu opens
  cleanly with all six entries plus GitHub.
- Fixes stale github.com/bawbel/ave nav/footer/body links (registry,
  crosswalks, architecture, scoring) to github.com/aveproject/ave, found
  while touching those same nav blocks. github.com/bawbel/scanner links
  (the separate reference-scanner repo) are untouched.
- Adds a copy-to-clipboard button to each code block on
  implementer-guide.html, reusing the site's existing dark codeblock
  styling. Verified live: click copies the exact code text and the
  button swaps to a checkmark.
- Adds a sixth "Implementer guide" card to the homepage route grid,
  matching the existing card style and completing a 3x2 layout.
@chaksaray
chaksaray merged commit 8c0108f into develop Jul 19, 2026
chaksaray added a commit that referenced this pull request Jul 19, 2026
* Update records to 59, rename ave.bawbel.io to aveproject.org (#26)

* Create CNAME

* Update CNAME to aveproject.org

* feat: rebuild records.js with 8 new AVE records (51 -> 59)

Pulled the latest records from bawbel/ave/records and regenerated
records.js via scripts/build-records.js, validating against the
v1.0.0 schema. Updates the records badge count in README.

* chore: replace ave.bawbel.io references with aveproject.org

Updates canonical URLs, meta tags, JSON-LD, sitemap, robots.txt,
crosswalk schema references, and docs to point at the new
aveproject.org domain.

* fix: repoint registry.html citation to aveproject/ave, not the private API (#28)

* Create CNAME

* Update CNAME to aveproject.org

* fix: repoint record citation to the aveproject/ave source, not the private API

The drawer's citation text was hardcoded to api.piranha.bawbel.io, a
separate Bawbel product endpoint, independent of what a record's own
references say. Point it at the actual records/*.json source file in
aveproject/ave instead, and drop the "Bawbel/" prefix from the citation
string itself — a researcher pasting this into their own paper shouldn't
carry Bawbel branding in a citation meant to reference the open standard.

* feat: rewrite schema.html for v1.1.0 (#29)

* Create CNAME

* Update CNAME to aveproject.org

* feat: rewrite schema.html for v1.1.0

The live page still documented the v1.0.0 shape: no provenance_vector,
trifecta_profile, mitigation, or example_patterns; owasp_mapping and
mitre_atlas_mapping shown as live field names; a flat 15-required-fields
list that didn't reflect the draft/active conditional split; and
github.com/bawbel/ave links throughout.

Rewritten against the canonical schema/ave-record-1.1.0.schema.json in
aveproject/ave: documents the two new v1.1.0 classification objects,
renames the framework mapping fields, splits required fields into the
8 always-required plus the 7 that apply once a record leaves draft, and
repoints domain/GitHub links to aveproject.org and aveproject/ave.

* fix: remove Bawbel vendor coupling from architecture.html (#30)

* Create CNAME

* Update CNAME to aveproject.org

* fix: remove Bawbel vendor coupling from architecture.html

The detection-layers table's scanner column, the runtime-records callout,
and the validation section's SVG and prose all named or implied a single
reference implementation (bawbel scan, bawbel-scanner, PiranhaDB,
api.piranha.bawbel.io) as if it were part of the standard. AVE is meant to
be implementation-neutral: describe what a conforming scanner or fixture
relationship looks like in the abstract, not which vendor ships it.

* fix: index.html domain sweep and dynamic schema-version stat (#31)

* docs: sweep README for bawbel org/domain references (#32)

* fix: remove Bawbel company slogan from every page footer (#34)

Every footer carried Bawbel's own consumer-facing slogan ("Sense. Protect.
Secure. — ocean & beyond") and bare domain directly beneath the sentence
stating AVE is meant to outlive any single implementation, including
Bawbel's — a direct contradiction on every page of the standard's site.

Replaced with a copyright line and license, keeping two spans so the
.base flex layout (justify-content: space-between) isn't disturbed. Six
files needed this, not four: schema.html was not already fixed as assumed,
and scoring.html carries the same footer template but wasn't in scope of
the original audit.

* update records (#35)

* fix: read v1.1.0 field names in crosswalk table, add NIST AI RMF column (#36)

The crosswalk table's row builder still read owasp_mapping and
mitre_atlas_mapping, both renamed away, and never read nist_ai_rmf at all
since that field didn't exist when this table was first built. Reading a
missing property returns undefined silently, so this failed with no
console error.

Adds a fourth NIST AI RMF column and reads owasp_asi/mitre_atlas/
nist_ai_rmf directly from each record. Verified against the live
records.js: AVE-2026-00001 now populates real values in all four
framework columns.

* fix: unify content width across Architecture, Schema, Scoring with Registry (#37)

* fix: dynamic content width (#38)

* fix: update dynamic style on crosswalk page (#40)

* fix: remove em-dashes from visible body copy site-wide (#42)

Reworks sentences, headings, and the shared footer paragraph across all
six pages to read without em-dashes, per house style. Title tags, meta
descriptions, SVG diagram labels, and JS placeholder/label strings are
left untouched as non-prose exceptions.

* feat: add implementer-guide.html (#44)

Transcribes docs/specs/ave-implementer-guide.md from aveproject/ave
(post em-dash and stale-endpoint fixes in PR #65) using the site's
existing page template (topbar/pagehead/footer from schema.html).

Not yet linked from nav or footer on any page; that's a separate change.

* feat: wire implementer guide into nav/footer, copy buttons, homepage card (#45)

* feat: add implementer-guide.html

Transcribes docs/specs/ave-implementer-guide.md from aveproject/ave
(post em-dash and stale-endpoint fixes in PR #65) using the site's
existing page template (topbar/pagehead/footer from schema.html).

Not yet linked from nav or footer on any page; that's a separate change.

* feat: wire implementer guide into nav/footer, add copy buttons and homepage card

- Adds a "Guide" top-nav link and "Implementer Guide" footer link to all
  six existing pages plus a self-referential active link on the new page
  itself. Verified at both desktop and mobile widths: the nav does not
  wrap or crowd with six items, and the mobile hamburger menu opens
  cleanly with all six entries plus GitHub.
- Fixes stale github.com/bawbel/ave nav/footer/body links (registry,
  crosswalks, architecture, scoring) to github.com/aveproject/ave, found
  while touching those same nav blocks. github.com/bawbel/scanner links
  (the separate reference-scanner repo) are untouched.
- Adds a copy-to-clipboard button to each code block on
  implementer-guide.html, reusing the site's existing dark codeblock
  styling. Verified live: click copies the exact code text and the
  button swaps to a checkmark.
- Adds a sixth "Implementer guide" card to the homepage route grid,
  matching the existing card style and completing a 3x2 layout.
@chaksaray
chaksaray deleted the feat/implementer-guide-nav branch July 19, 2026 16:23
chaksaray added a commit that referenced this pull request Jul 19, 2026
* Update records to 59, rename ave.bawbel.io to aveproject.org (#26)

* Create CNAME

* Update CNAME to aveproject.org

* feat: rebuild records.js with 8 new AVE records (51 -> 59)

Pulled the latest records from bawbel/ave/records and regenerated
records.js via scripts/build-records.js, validating against the
v1.0.0 schema. Updates the records badge count in README.

* chore: replace ave.bawbel.io references with aveproject.org

Updates canonical URLs, meta tags, JSON-LD, sitemap, robots.txt,
crosswalk schema references, and docs to point at the new
aveproject.org domain.

* fix: repoint registry.html citation to aveproject/ave, not the private API (#28)

* Create CNAME

* Update CNAME to aveproject.org

* fix: repoint record citation to the aveproject/ave source, not the private API

The drawer's citation text was hardcoded to api.piranha.bawbel.io, a
separate Bawbel product endpoint, independent of what a record's own
references say. Point it at the actual records/*.json source file in
aveproject/ave instead, and drop the "Bawbel/" prefix from the citation
string itself — a researcher pasting this into their own paper shouldn't
carry Bawbel branding in a citation meant to reference the open standard.

* feat: rewrite schema.html for v1.1.0 (#29)

* Create CNAME

* Update CNAME to aveproject.org

* feat: rewrite schema.html for v1.1.0

The live page still documented the v1.0.0 shape: no provenance_vector,
trifecta_profile, mitigation, or example_patterns; owasp_mapping and
mitre_atlas_mapping shown as live field names; a flat 15-required-fields
list that didn't reflect the draft/active conditional split; and
github.com/bawbel/ave links throughout.

Rewritten against the canonical schema/ave-record-1.1.0.schema.json in
aveproject/ave: documents the two new v1.1.0 classification objects,
renames the framework mapping fields, splits required fields into the
8 always-required plus the 7 that apply once a record leaves draft, and
repoints domain/GitHub links to aveproject.org and aveproject/ave.

* fix: remove Bawbel vendor coupling from architecture.html (#30)

* Create CNAME

* Update CNAME to aveproject.org

* fix: remove Bawbel vendor coupling from architecture.html

The detection-layers table's scanner column, the runtime-records callout,
and the validation section's SVG and prose all named or implied a single
reference implementation (bawbel scan, bawbel-scanner, PiranhaDB,
api.piranha.bawbel.io) as if it were part of the standard. AVE is meant to
be implementation-neutral: describe what a conforming scanner or fixture
relationship looks like in the abstract, not which vendor ships it.

* fix: index.html domain sweep and dynamic schema-version stat (#31)

* docs: sweep README for bawbel org/domain references (#32)

* fix: remove Bawbel company slogan from every page footer (#34)

Every footer carried Bawbel's own consumer-facing slogan ("Sense. Protect.
Secure. — ocean & beyond") and bare domain directly beneath the sentence
stating AVE is meant to outlive any single implementation, including
Bawbel's — a direct contradiction on every page of the standard's site.

Replaced with a copyright line and license, keeping two spans so the
.base flex layout (justify-content: space-between) isn't disturbed. Six
files needed this, not four: schema.html was not already fixed as assumed,
and scoring.html carries the same footer template but wasn't in scope of
the original audit.

* update records (#35)

* fix: read v1.1.0 field names in crosswalk table, add NIST AI RMF column (#36)

The crosswalk table's row builder still read owasp_mapping and
mitre_atlas_mapping, both renamed away, and never read nist_ai_rmf at all
since that field didn't exist when this table was first built. Reading a
missing property returns undefined silently, so this failed with no
console error.

Adds a fourth NIST AI RMF column and reads owasp_asi/mitre_atlas/
nist_ai_rmf directly from each record. Verified against the live
records.js: AVE-2026-00001 now populates real values in all four
framework columns.

* fix: unify content width across Architecture, Schema, Scoring with Registry (#37)

* fix: dynamic content width (#38)

* fix: update dynamic style on crosswalk page (#40)

* fix: remove em-dashes from visible body copy site-wide (#42)

Reworks sentences, headings, and the shared footer paragraph across all
six pages to read without em-dashes, per house style. Title tags, meta
descriptions, SVG diagram labels, and JS placeholder/label strings are
left untouched as non-prose exceptions.

* feat: add implementer-guide.html (#44)

Transcribes docs/specs/ave-implementer-guide.md from aveproject/ave
(post em-dash and stale-endpoint fixes in PR #65) using the site's
existing page template (topbar/pagehead/footer from schema.html).

Not yet linked from nav or footer on any page; that's a separate change.

* feat: wire implementer guide into nav/footer, copy buttons, homepage card (#45)

* feat: add implementer-guide.html

Transcribes docs/specs/ave-implementer-guide.md from aveproject/ave
(post em-dash and stale-endpoint fixes in PR #65) using the site's
existing page template (topbar/pagehead/footer from schema.html).

Not yet linked from nav or footer on any page; that's a separate change.

* feat: wire implementer guide into nav/footer, add copy buttons and homepage card

- Adds a "Guide" top-nav link and "Implementer Guide" footer link to all
  six existing pages plus a self-referential active link on the new page
  itself. Verified at both desktop and mobile widths: the nav does not
  wrap or crowd with six items, and the mobile hamburger menu opens
  cleanly with all six entries plus GitHub.
- Fixes stale github.com/bawbel/ave nav/footer/body links (registry,
  crosswalks, architecture, scoring) to github.com/aveproject/ave, found
  while touching those same nav blocks. github.com/bawbel/scanner links
  (the separate reference-scanner repo) are untouched.
- Adds a copy-to-clipboard button to each code block on
  implementer-guide.html, reusing the site's existing dark codeblock
  styling. Verified live: click copies the exact code text and the
  button swaps to a checkmark.
- Adds a sixth "Implementer guide" card to the homepage route grid,
  matching the existing card style and completing a 3x2 layout.

* fix: neutral structured data + wire SearchAction into registry search (#48)

Fix 1: JSON-LD "name" field ("AVE — ..." -> "AVE: ...") on all seven
pages, the last em-dash in that field.

Fix 2: JSON-LD publisher reassigned from Bawbel (name + bawbel.io url)
to AVE Project (name + aveproject.org url) on all seven pages, matching
the neutral framing already used elsewhere on the site. logo was
already correct and untouched.

Fix 3: registry.html didn't read its own ?q= param, so the SearchAction
already advertised in every page's structured data pointed at a feature
that didn't exist. Pre-fills the existing #q search input from
location.search on load, before the single existing render() call --
no parallel search mechanism, just feeding the URL param into the
filter that was already wired to that input's input event.
chaksaray added a commit that referenced this pull request Jul 19, 2026
* Update records to 59, rename ave.bawbel.io to aveproject.org (#26)

* Create CNAME

* Update CNAME to aveproject.org

* feat: rebuild records.js with 8 new AVE records (51 -> 59)

Pulled the latest records from bawbel/ave/records and regenerated
records.js via scripts/build-records.js, validating against the
v1.0.0 schema. Updates the records badge count in README.

* chore: replace ave.bawbel.io references with aveproject.org

Updates canonical URLs, meta tags, JSON-LD, sitemap, robots.txt,
crosswalk schema references, and docs to point at the new
aveproject.org domain.

* fix: repoint registry.html citation to aveproject/ave, not the private API (#28)

* Create CNAME

* Update CNAME to aveproject.org

* fix: repoint record citation to the aveproject/ave source, not the private API

The drawer's citation text was hardcoded to api.piranha.bawbel.io, a
separate Bawbel product endpoint, independent of what a record's own
references say. Point it at the actual records/*.json source file in
aveproject/ave instead, and drop the "Bawbel/" prefix from the citation
string itself — a researcher pasting this into their own paper shouldn't
carry Bawbel branding in a citation meant to reference the open standard.

* feat: rewrite schema.html for v1.1.0 (#29)

* Create CNAME

* Update CNAME to aveproject.org

* feat: rewrite schema.html for v1.1.0

The live page still documented the v1.0.0 shape: no provenance_vector,
trifecta_profile, mitigation, or example_patterns; owasp_mapping and
mitre_atlas_mapping shown as live field names; a flat 15-required-fields
list that didn't reflect the draft/active conditional split; and
github.com/bawbel/ave links throughout.

Rewritten against the canonical schema/ave-record-1.1.0.schema.json in
aveproject/ave: documents the two new v1.1.0 classification objects,
renames the framework mapping fields, splits required fields into the
8 always-required plus the 7 that apply once a record leaves draft, and
repoints domain/GitHub links to aveproject.org and aveproject/ave.

* fix: remove Bawbel vendor coupling from architecture.html (#30)

* Create CNAME

* Update CNAME to aveproject.org

* fix: remove Bawbel vendor coupling from architecture.html

The detection-layers table's scanner column, the runtime-records callout,
and the validation section's SVG and prose all named or implied a single
reference implementation (bawbel scan, bawbel-scanner, PiranhaDB,
api.piranha.bawbel.io) as if it were part of the standard. AVE is meant to
be implementation-neutral: describe what a conforming scanner or fixture
relationship looks like in the abstract, not which vendor ships it.

* fix: index.html domain sweep and dynamic schema-version stat (#31)

* docs: sweep README for bawbel org/domain references (#32)

* fix: remove Bawbel company slogan from every page footer (#34)

Every footer carried Bawbel's own consumer-facing slogan ("Sense. Protect.
Secure. — ocean & beyond") and bare domain directly beneath the sentence
stating AVE is meant to outlive any single implementation, including
Bawbel's — a direct contradiction on every page of the standard's site.

Replaced with a copyright line and license, keeping two spans so the
.base flex layout (justify-content: space-between) isn't disturbed. Six
files needed this, not four: schema.html was not already fixed as assumed,
and scoring.html carries the same footer template but wasn't in scope of
the original audit.

* update records (#35)

* fix: read v1.1.0 field names in crosswalk table, add NIST AI RMF column (#36)

The crosswalk table's row builder still read owasp_mapping and
mitre_atlas_mapping, both renamed away, and never read nist_ai_rmf at all
since that field didn't exist when this table was first built. Reading a
missing property returns undefined silently, so this failed with no
console error.

Adds a fourth NIST AI RMF column and reads owasp_asi/mitre_atlas/
nist_ai_rmf directly from each record. Verified against the live
records.js: AVE-2026-00001 now populates real values in all four
framework columns.

* fix: unify content width across Architecture, Schema, Scoring with Registry (#37)

* fix: dynamic content width (#38)

* fix: update dynamic style on crosswalk page (#40)

* fix: remove em-dashes from visible body copy site-wide (#42)

Reworks sentences, headings, and the shared footer paragraph across all
six pages to read without em-dashes, per house style. Title tags, meta
descriptions, SVG diagram labels, and JS placeholder/label strings are
left untouched as non-prose exceptions.

* feat: add implementer-guide.html (#44)

Transcribes docs/specs/ave-implementer-guide.md from aveproject/ave
(post em-dash and stale-endpoint fixes in PR #65) using the site's
existing page template (topbar/pagehead/footer from schema.html).

Not yet linked from nav or footer on any page; that's a separate change.

* feat: wire implementer guide into nav/footer, copy buttons, homepage card (#45)

* feat: add implementer-guide.html

Transcribes docs/specs/ave-implementer-guide.md from aveproject/ave
(post em-dash and stale-endpoint fixes in PR #65) using the site's
existing page template (topbar/pagehead/footer from schema.html).

Not yet linked from nav or footer on any page; that's a separate change.

* feat: wire implementer guide into nav/footer, add copy buttons and homepage card

- Adds a "Guide" top-nav link and "Implementer Guide" footer link to all
  six existing pages plus a self-referential active link on the new page
  itself. Verified at both desktop and mobile widths: the nav does not
  wrap or crowd with six items, and the mobile hamburger menu opens
  cleanly with all six entries plus GitHub.
- Fixes stale github.com/bawbel/ave nav/footer/body links (registry,
  crosswalks, architecture, scoring) to github.com/aveproject/ave, found
  while touching those same nav blocks. github.com/bawbel/scanner links
  (the separate reference-scanner repo) are untouched.
- Adds a copy-to-clipboard button to each code block on
  implementer-guide.html, reusing the site's existing dark codeblock
  styling. Verified live: click copies the exact code text and the
  button swaps to a checkmark.
- Adds a sixth "Implementer guide" card to the homepage route grid,
  matching the existing card style and completing a 3x2 layout.

* fix: neutral structured data + wire SearchAction into registry search (#48)

Fix 1: JSON-LD "name" field ("AVE — ..." -> "AVE: ...") on all seven
pages, the last em-dash in that field.

Fix 2: JSON-LD publisher reassigned from Bawbel (name + bawbel.io url)
to AVE Project (name + aveproject.org url) on all seven pages, matching
the neutral framing already used elsewhere on the site. logo was
already correct and untouched.

Fix 3: registry.html didn't read its own ?q= param, so the SearchAction
already advertised in every page's structured data pointed at a feature
that didn't exist. Pre-fills the existing #q search input from
location.search on load, before the single existing render() call --
no parallel search mechanism, just feeding the URL param into the
filter that was already wired to that input's input event.

* fix: improve implementer-guide.html readability (#50)

* fix: remove Bawbel/AVE Project co-attribution from citation footer

Same naming issue already fixed in registry.html's dynamic drawer
citation (JSON-LD publisher fix), missed on this static footer block
that appears on every page. Citation now attributes to AVE alone,
matching the neutral framing used everywhere else on the site.

* fix: improve implementer-guide.html readability

- Pattern 1's "Returns" comma-run of six fields becomes a compact,
  wrapped .field-list instead of a dense sentence.
- Pattern 2's overloaded paragraph (regeneration cadence + manifest
  contents + version pinning) splits into three focused paragraphs,
  with the manifest's three fields as a .field-list.
- All three patterns' "when to use" text gets a .use-case wrapper
  with a gold left border, instead of blending into surrounding prose
  (or, for pattern 1, being <br>-joined into one dense paragraph).

.field-list and .use-case are new; styles.css had no existing compact
list style and no --accent variable, so .use-case reuses var(--gold),
the site's existing accent color, rather than introducing a new one.

* fix: restore standard paragraph spacing inside .use-case blocks

The 4px override between the "When to use" / "When not to use" lines
was tighter than the sitewide 12px .doc p rhythm, reading as cramped
next to the rest of the page. Dropping the override lets those
paragraphs inherit the same spacing as every other paragraph on the
page and site.
chaksaray added a commit that referenced this pull request Jul 20, 2026
* Update records to 59, rename ave.bawbel.io to aveproject.org (#26)

* Create CNAME

* Update CNAME to aveproject.org

* feat: rebuild records.js with 8 new AVE records (51 -> 59)

Pulled the latest records from bawbel/ave/records and regenerated
records.js via scripts/build-records.js, validating against the
v1.0.0 schema. Updates the records badge count in README.

* chore: replace ave.bawbel.io references with aveproject.org

Updates canonical URLs, meta tags, JSON-LD, sitemap, robots.txt,
crosswalk schema references, and docs to point at the new
aveproject.org domain.

* fix: repoint registry.html citation to aveproject/ave, not the private API (#28)

* Create CNAME

* Update CNAME to aveproject.org

* fix: repoint record citation to the aveproject/ave source, not the private API

The drawer's citation text was hardcoded to api.piranha.bawbel.io, a
separate Bawbel product endpoint, independent of what a record's own
references say. Point it at the actual records/*.json source file in
aveproject/ave instead, and drop the "Bawbel/" prefix from the citation
string itself — a researcher pasting this into their own paper shouldn't
carry Bawbel branding in a citation meant to reference the open standard.

* feat: rewrite schema.html for v1.1.0 (#29)

* Create CNAME

* Update CNAME to aveproject.org

* feat: rewrite schema.html for v1.1.0

The live page still documented the v1.0.0 shape: no provenance_vector,
trifecta_profile, mitigation, or example_patterns; owasp_mapping and
mitre_atlas_mapping shown as live field names; a flat 15-required-fields
list that didn't reflect the draft/active conditional split; and
github.com/bawbel/ave links throughout.

Rewritten against the canonical schema/ave-record-1.1.0.schema.json in
aveproject/ave: documents the two new v1.1.0 classification objects,
renames the framework mapping fields, splits required fields into the
8 always-required plus the 7 that apply once a record leaves draft, and
repoints domain/GitHub links to aveproject.org and aveproject/ave.

* fix: remove Bawbel vendor coupling from architecture.html (#30)

* Create CNAME

* Update CNAME to aveproject.org

* fix: remove Bawbel vendor coupling from architecture.html

The detection-layers table's scanner column, the runtime-records callout,
and the validation section's SVG and prose all named or implied a single
reference implementation (bawbel scan, bawbel-scanner, PiranhaDB,
api.piranha.bawbel.io) as if it were part of the standard. AVE is meant to
be implementation-neutral: describe what a conforming scanner or fixture
relationship looks like in the abstract, not which vendor ships it.

* fix: index.html domain sweep and dynamic schema-version stat (#31)

* docs: sweep README for bawbel org/domain references (#32)

* fix: remove Bawbel company slogan from every page footer (#34)

Every footer carried Bawbel's own consumer-facing slogan ("Sense. Protect.
Secure. — ocean & beyond") and bare domain directly beneath the sentence
stating AVE is meant to outlive any single implementation, including
Bawbel's — a direct contradiction on every page of the standard's site.

Replaced with a copyright line and license, keeping two spans so the
.base flex layout (justify-content: space-between) isn't disturbed. Six
files needed this, not four: schema.html was not already fixed as assumed,
and scoring.html carries the same footer template but wasn't in scope of
the original audit.

* update records (#35)

* fix: read v1.1.0 field names in crosswalk table, add NIST AI RMF column (#36)

The crosswalk table's row builder still read owasp_mapping and
mitre_atlas_mapping, both renamed away, and never read nist_ai_rmf at all
since that field didn't exist when this table was first built. Reading a
missing property returns undefined silently, so this failed with no
console error.

Adds a fourth NIST AI RMF column and reads owasp_asi/mitre_atlas/
nist_ai_rmf directly from each record. Verified against the live
records.js: AVE-2026-00001 now populates real values in all four
framework columns.

* fix: unify content width across Architecture, Schema, Scoring with Registry (#37)

* fix: dynamic content width (#38)

* fix: update dynamic style on crosswalk page (#40)

* fix: remove em-dashes from visible body copy site-wide (#42)

Reworks sentences, headings, and the shared footer paragraph across all
six pages to read without em-dashes, per house style. Title tags, meta
descriptions, SVG diagram labels, and JS placeholder/label strings are
left untouched as non-prose exceptions.

* feat: add implementer-guide.html (#44)

Transcribes docs/specs/ave-implementer-guide.md from aveproject/ave
(post em-dash and stale-endpoint fixes in PR #65) using the site's
existing page template (topbar/pagehead/footer from schema.html).

Not yet linked from nav or footer on any page; that's a separate change.

* feat: wire implementer guide into nav/footer, copy buttons, homepage card (#45)

* feat: add implementer-guide.html

Transcribes docs/specs/ave-implementer-guide.md from aveproject/ave
(post em-dash and stale-endpoint fixes in PR #65) using the site's
existing page template (topbar/pagehead/footer from schema.html).

Not yet linked from nav or footer on any page; that's a separate change.

* feat: wire implementer guide into nav/footer, add copy buttons and homepage card

- Adds a "Guide" top-nav link and "Implementer Guide" footer link to all
  six existing pages plus a self-referential active link on the new page
  itself. Verified at both desktop and mobile widths: the nav does not
  wrap or crowd with six items, and the mobile hamburger menu opens
  cleanly with all six entries plus GitHub.
- Fixes stale github.com/bawbel/ave nav/footer/body links (registry,
  crosswalks, architecture, scoring) to github.com/aveproject/ave, found
  while touching those same nav blocks. github.com/bawbel/scanner links
  (the separate reference-scanner repo) are untouched.
- Adds a copy-to-clipboard button to each code block on
  implementer-guide.html, reusing the site's existing dark codeblock
  styling. Verified live: click copies the exact code text and the
  button swaps to a checkmark.
- Adds a sixth "Implementer guide" card to the homepage route grid,
  matching the existing card style and completing a 3x2 layout.

* fix: neutral structured data + wire SearchAction into registry search (#48)

Fix 1: JSON-LD "name" field ("AVE — ..." -> "AVE: ...") on all seven
pages, the last em-dash in that field.

Fix 2: JSON-LD publisher reassigned from Bawbel (name + bawbel.io url)
to AVE Project (name + aveproject.org url) on all seven pages, matching
the neutral framing already used elsewhere on the site. logo was
already correct and untouched.

Fix 3: registry.html didn't read its own ?q= param, so the SearchAction
already advertised in every page's structured data pointed at a feature
that didn't exist. Pre-fills the existing #q search input from
location.search on load, before the single existing render() call --
no parallel search mechanism, just feeding the URL param into the
filter that was already wired to that input's input event.

* fix: improve implementer-guide.html readability (#50)

* fix: remove Bawbel/AVE Project co-attribution from citation footer

Same naming issue already fixed in registry.html's dynamic drawer
citation (JSON-LD publisher fix), missed on this static footer block
that appears on every page. Citation now attributes to AVE alone,
matching the neutral framing used everywhere else on the site.

* fix: improve implementer-guide.html readability

- Pattern 1's "Returns" comma-run of six fields becomes a compact,
  wrapped .field-list instead of a dense sentence.
- Pattern 2's overloaded paragraph (regeneration cadence + manifest
  contents + version pinning) splits into three focused paragraphs,
  with the manifest's three fields as a .field-list.
- All three patterns' "when to use" text gets a .use-case wrapper
  with a gold left border, instead of blending into surrounding prose
  (or, for pattern 1, being <br>-joined into one dense paragraph).

.field-list and .use-case are new; styles.css had no existing compact
list style and no --accent variable, so .use-case reuses var(--gold),
the site's existing accent color, rather than introducing a new one.

* fix: restore standard paragraph spacing inside .use-case blocks

The 4px override between the "When to use" / "When not to use" lines
was tighter than the sitewide 12px .doc p rhythm, reading as cramped
next to the rest of the page. Dropping the override lets those
paragraphs inherit the same spacing as every other paragraph on the
page and site.

* docs: rewrite README (#52)

Reframes the repo as presentation-only over aveproject/ave, adds the
Implementer Guide page, points to ave-api, and drops content likely to
go stale (hardcoded record counts, hand-duplicated DNS runbook).
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.

1 participant