Skip to content

docs: close the legitimate doc gaps from the v3.5.41 audit#244

Merged
heznpc merged 1 commit into
mainfrom
docs/audit-followups
Jun 25, 2026
Merged

docs: close the legitimate doc gaps from the v3.5.41 audit#244
heznpc merged 1 commit into
mainfrom
docs/audit-followups

Conversation

@heznpc

@heznpc heznpc commented Jun 25, 2026

Copy link
Copy Markdown
Owner

A critical re-review of the v3.5.41 audit found its "HOLD" verdict unsound: the central "failing unit suite" blocker reproduces only on Node 26, but the repo pins Node 22 via .nvmrc (CI green — 581/581 unit, 32 e2e). No code-side release blocker stands. This PR applies the audit's genuinely-real P3 items.

Changes

  • README — activation was documented around Skilljar only, but manifest.json:27 also injects on claude.com/resources/tutorials/* (the privacy policy already lists it). Added that surface to the activation line.
  • docs/privacy.html — said "30+ languages" while PRIVACY_POLICY.md says 32; aligned to the precise count (hand-maintained file, not generated by generate-docs.js).
  • RELEASE_CHECKLIST.md — replaced an embedded per-publisher CWS devconsole group id (in a public-repo doc) with the generic console link. Not a credential, but no reason to publish the identifier.

Investigated, left as-is (flagged for owner)

  • Node-26 background.test.js failure — a jest + new Function-realm / fake-timer incompatibility, not a code defect. Verified across 4 injection strategies: all green on Node 22, all fail on Node 26 (the dedup-TTL test's useFakeTimers()/useRealTimers() cycle leaves the isolated Function realm's timer globals unresolvable on Node 26). The repo's Node 22 pin is the correct boundary; enforcing it via a package.json engines field is an owner policy call.
  • "No account required" wording (README) vs the Puter user-pays note (TESTING.md) — owner messaging decision.
  • manifest author "SkillBridge Contributors" (generic, not a wrong identity) — owner choice.

Validation

lint · format clean; README LANG_COUNT markers intact; no value regressions.

A critical re-review of the v3.5.41 audit confirmed its "HOLD" verdict was
unsound — its central "failing unit suite" blocker only reproduces on Node 26,
while the repo pins Node 22 via .nvmrc (CI green, 581/581 unit + 32 e2e). No
code-side release blocker stands. These are the audit's real (P3) items:

- README documented activation around Skilljar only, but manifest.json injects
  on claude.com/resources/tutorials/* too (privacy policy already lists it).
  Add that surface to the activation description.
- docs/privacy.html said "30+ languages" while PRIVACY_POLICY.md says 32 —
  align to the precise count (the file is hand-maintained, not generated).
- RELEASE_CHECKLIST.md embedded a per-publisher CWS devconsole group id in a
  public-repo doc. Not a credential, but no reason to ship the identifier —
  replace with the generic console link.

Left as-is (flagged for owner): the Node-26-only background.test.js failure is a
jest + new-Function-realm/fake-timer incompatibility, not a code defect — the
repo's Node 22 pin is the right boundary. Account-requirement wording (README vs
TESTING.md) and manifest author identity are owner messaging decisions.
@heznpc
heznpc enabled auto-merge (squash) June 25, 2026 04:58
@heznpc
heznpc merged commit 32d64c3 into main Jun 25, 2026
9 checks passed
@heznpc
heznpc deleted the docs/audit-followups branch June 25, 2026 04:59
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