Skip to content

feat(scripts): add an HTML tag-balance validator and a speaker-note confidentiality step#7

Open
Reebz wants to merge 1 commit into
bluedusk:mainfrom
Reebz:feat/authoring-safeguards
Open

feat(scripts): add an HTML tag-balance validator and a speaker-note confidentiality step#7
Reebz wants to merge 1 commit into
bluedusk:mainfrom
Reebz:feat/authoring-safeguards

Conversation

@Reebz

@Reebz Reebz commented Jun 9, 2026

Copy link
Copy Markdown

What

Two authoring gaps that surfaced shipping a real deck.

  • HTML tag-balance validator. scripts/validate-html.py (added) is a stdlib-only html.parser.HTMLParser subclass that tracks a stack of opened non-void tags and exits non-zero, naming the offending tag, on any unclosed or mismatched tag. No install step, matching the existing scripts/extract-pptx.py style. It is wired into the Step 5.5 validate-and-save flow and the after-any-modification block, listed as a ninth check in references/presentation-layer.md, and added to the supporting-files table. A test beside the script covers unclosed, mismatched, well-formed, and void-element cases.
  • Speaker-note confidentiality. A public deploy ships the whole file, including every inline <script class="slide-notes">, so notes are readable by anyone with the URL. Phase 7A now grep-checks the file for client and project identifiers across visible text and the notes blocks, and when notes must not ship it deploys a stripped copy with every notes block removed while the original keeps notes for the presenter app. references/presentation-layer.md gains a one-line warning that notes ship in the public artifact unless stripped.

Test

  • An unclosed div exits non-zero and names the tag.
  • A well-formed deck exits zero.
  • A mismatched closing tag is reported rather than silently passed.
  • Void elements such as img, br, and input do not count as unclosed.

Dependencies

Independent of the runtime and CSS PRs, so it can merge at any time.

Co-Authored-By: Leslie Barbara Knope (Claude Opus 4.8 (1M context)) noreply@anthropic.com

@vercel

vercel Bot commented Jun 9, 2026

Copy link
Copy Markdown

@Reebz is attempting to deploy a commit to the bluedusk's projects Team on Vercel.

A member of the Team first needs to authorize it.

…onfidentiality step

Two authoring gaps that surfaced shipping a real deck. A stdlib HTML tag-balance validator wired into the validate-and-save steps catches unbalanced markup before deploy, and a confidentiality step greps for identifiers and strips slide-notes from the deployed copy when they must not ship.

Co-Authored-By: Leslie Barbara Knope (Claude Opus 4.8 (1M context)) <noreply@anthropic.com>
@Reebz Reebz force-pushed the feat/authoring-safeguards branch from fb5b2bb to 543e118 Compare June 9, 2026 01:43
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