Skip to content

chore: update records - #35

Merged
chaksaray merged 1 commit into
developfrom
update-page-body
Jul 18, 2026
Merged

chore: update records#35
chaksaray merged 1 commit into
developfrom
update-page-body

Conversation

@chaksaray

Copy link
Copy Markdown
Contributor

No description provided.

@chaksaray
chaksaray merged commit 148040d into develop Jul 18, 2026
@chaksaray
chaksaray deleted the update-page-body branch July 18, 2026 10:38
chaksaray added a commit that referenced this pull request Jul 18, 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)
chaksaray added a commit that referenced this pull request Jul 18, 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)
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.
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.
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 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).
chaksaray added a commit that referenced this pull request Aug 1, 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).

* fix: correct AVE-2026-00046.html topbar/footer to match real site markup (#54)

Class names (brand-mark, brand-text, brand-sub, footer-grid, footer-col)
were invented from memory and never matched styles.css, so the topbar
rendered as an unstyled emoji + plain underlined link. Replaced with the
actual brandmark/wm/sub SVG logo structure and site/cols/lic/links
footer structure used by the rest of the site.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
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