docs(opsec): normalize structure and wording - #589
Conversation
Align active OpSec pages to the SEAL content model: frontmatter bands, canonical Key Takeaway, chrome components, stub scaffolds, and overview maps. Exclude old/ and generated indexes. Editorial only.
Deploying frameworks with
|
| Latest commit: |
ff05317
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://6888312a.frameworks-573.pages.dev |
| Branch Preview URL: | https://docs-normalize-opsec.frameworks-573.pages.dev |
Keep contributor usernames exactly as on develop. Clear wrote where normalization had invented mattaereal on pages with no prior credits. Restore fact-checked: [mattaereal] on secure-operating-systems.
Rename Further Reading H2s to the exact title the updated #561 validator accepts; sentence-case a few common section headings.
Child pages missing a canonical further/related H2 failed the updated #561 validator. Add a minimal Further Reading block linking the framework overview.
Neutralize fence comments that look like headings, canonicalize overview page-map titles, clamp descriptions, demote excess H2s, and mark template pages with content-model exceptions.
frameworks-volunteer
left a comment
There was a problem hiding this comment.
Model: z-ai/glm-5.2 Reasoning: medium Provider: openrouter
Review: PR #589 — docs(opsec): normalize structure and wording
Security review: PASS. No secrets, no injection vectors, no unsafe code patterns. All changes are MDX documentation (frontmatter, chrome, Key Takeaways, Further Reading sections).
QA review: mostly clean, with a few non-blocking observations.
Issue: Leading space in policy template code blocks (policies.mdx)
Every heading inside the markdown fenced code blocks in appendices/policies.mdx gained a leading space:
-# Information Security Policy
+ # Information Security Policy
-## Purpose
+ ## Purpose
This applies to all six policy templates (~40+ heading lines). The leading space is a formatting regression — it makes the templates less clean and could confuse users copying them. Should be reverted to no leading space.
Observation: old/ files modified despite "intentionally unchanged" claim
The PR body states under "Intentionally unchanged": docs/pages/opsec/old/**. However, 26 files under old/ are modified in the diff (adding descriptions, Further Reading sections, heading casing fixes). The changes themselves are harmless, but this contradicts the stated scope. Consider either updating the PR description or splitting old/ changes into a separate PR.
Observation: Truncated descriptions in 5 old/ files
Five old/ pages have descriptions ending with a literal ...:
old/governance-program-management.mdx: "...Includes Web3-specific guidance..."old/incident-response-recovery.mdx: "...recovery, and..."old/lifecycle/overview.mdx: "...for evolving..."old/monitoring-detection.mdx: "...transaction monitoring..."old/threat-modeling-overview.mdx: "...Learn from ByBit..."
These look like they were cut to fit a character limit but the ellipsis is visible in the output. Should be reworded to end cleanly without ....
Observation: Generic boilerplate descriptions on 19 old/ files
19 old/ pages receive the identical description: "This page: practical Web3 security guidance, controls, and references for operators and security teams. Review and apply with team context." This adds no page-specific value for SEO or users. Consider writing per-page descriptions or leaving the original descriptions.
Observation: "Further Reading" vs "Further reading" casing
76 new sections use ## Further Reading (capital R), while 2 use ## Further reading (lowercase r). The devsecops section uses lowercase consistently. The repo template uses ## Further Reading & Tools. Consider normalizing to one casing across the OpSec section for consistency.
Verified good
- Duplicate
Security Specialisttag removed from travel pages (guide, overview, tldr) — correct cleanup. - Contributor attribution preserved (shallem, dickson, andrew-chang-gu, mattaereal, etc.).
content-model-exceptioncomments added to nested overview pages — follows the pattern from other normalization PRs.- Stub pages properly marked with
> ⚠️ Stub/in progressand have no invented security claims. - CI passes (lint, Cloudflare Pages, Socket Security, sidebar-reminder).
- No
index.mdxfiles edited (respecting auto-generation). - No
vocs.config.tschanges (sidebar already complete).
scode2277
left a comment
There was a problem hiding this comment.
gtg @mattaereal
@frameworks-volunteer I fixed all the outlined things. Also, to answer the question regarding the opsec/old folder, we made a soft standardization (fixing things like titles and descriptions), keeping in mind that it is an archive folder. Re-review pls
frameworks-volunteer
left a comment
There was a problem hiding this comment.
Model: z-ai/glm-5.2 Reasoning: medium Provider: openrouter
Re-review: PR #589 — docs(opsec): normalize structure and wording
All previously requested changes have been addressed in commits 417da7e, 85ce662, and ff05317:
- Leading space in policy template code blocks (policies.mdx) — FIXED. No more
# Headingregressions. - Truncated descriptions ending with literal
...— FIXED. No truncated descriptions remain. - Generic boilerplate descriptions on 19
old/files — FIXED. Replaced with page-specific descriptions. - "Further Reading" vs "Further reading" casing — FIXED. Now consistently lowercase across all pages.
Security: PASS. No secrets, no injection vectors, no unsafe patterns. Password matches are MDX content about password management, not credentials.
CI: all green (Cloudflare Pages, Socket Security, lint, sidebar-reminder).
Remaining non-blocking observation: 26 old/ files are still modified, which contradicts the PR body's "intentionally unchanged" claim. The changes are harmless editorial improvements, but the PR description should be updated to reflect this scope. Not blocking.
Approving.
Scope
Normalize
docs/pages/opsec/**active hand-authored pages (48 files). Excludesdocs/pages/opsec/old/**and generatedindex.mdxfiles.Why
Match the SEAL content model used by other framework normalization PRs so OpSec pages share consistent chrome, frontmatter bands, and Key Takeaway formatting.
Content model
title(≤60),description(140–160),tags,contributorswithwrote/reviewed/fact-checked(empty arrays where missing)TagList,AttributionListnear top;ContributeFooterafter---at bottom> 🔑 **Key Takeaway**: …(colon outside bold)> ⚠️ Stub/in progress, help contribute/expand.for title-only and placeholder pagesvocs.config.ts## Further Reading→## Further readingwhere presentwrote/reviewedusernames preservedChanges
overview.mdx: sidebar-matching “What this framework covers” map; added KTprinciples/andimprovement/normalized for chrome even when not fully listed in sidebarSubstantive security
None — editorial/structural only. Control recommendations and guidance bodies preserved; Key Takeaways summarize existing prose only.
Intentionally unchanged
docs/pages/opsec/old/**index.mdxfilesvocs.config.tssidebar (already complete; WIPdev: trueentries retained)Validation
npx markdownlint-cli2 "docs/pages/opsec/**/*.mdx" "!docs/pages/opsec/old/**"— 0 issuespnpm exec cspell "docs/pages/opsec/**/*.mdx" --exclude "docs/pages/opsec/old/**"— 0 issuesgit commit -S)Dependencies
Depends on (by reference, unmerged): #561 — Content normalization standard.
Reviewer focus
shallem,dickson,andrew-chang-gu, google multi-author list, etc.)old/and generated indexes untouchedTagProvider/TagFilterstructure