Repository navigation
Conversation
- Scope workflow permissions per job; build is read-only - Pin actions to commit SHAs, add dependabot for github-actions - Don't persist checkout credentials; don't cancel in-flight main deploys - Escape CSV fields per RFC 4180 and neutralise formula injection - Handle empty results in CSV export - Fix nested <html> in index.html, add no-referrer Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Clears all 30 pnpm audit advisories (vite 6.4.3 -> 6.4.5, eslint 9.39.4 -> 9.39.5, transitive brace-expansion/js-yaml/postcss/nanoid). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
minimum-release-age needs pnpm >=10.16 and block-exotic-subdeps >=10.26; the pinned 10.10.0 silently ignored both. Regenerated the lockfile with the quarantine active, which drops vite to 6.4.4 and rollup to 4.64.10 (6.4.5 / 4.65.1 are under 7 days old). pnpm audit remains clean. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
urllib3 2.8.0, mkdocs-material 9.7.7 (search XSS), pymdown-extensions 11.0.1 (ReDoS, b64 path traversal). mkdocs build --strict passes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CI permissions scoped per job; actions pinned; CSV export escaped.
.npmrcquarantine was never enforced —minimum-release-ageneeds pnpm ≥10.16,block-exotic-subdeps≥10.26, andpackageManagerpinned 10.10.0 (which CI uses), so both were silently ignored:Lockfile regenerated with the quarantine active, in-range only (no majors):
Docs (
docs/requirements.txt), clearing the open Dependabot alerts:Also:
.github/dependabot.ymlforgithub-actions(keeps the SHA pins current),cancel-in-progressonly for PRs so main deploys aren't cut off, empty-results guard inarrayToCSV, fixed nested<html>inindex.html.Evidence
said "dog", then =HYPERLINK("x")→"said "dog", then =HYPERLINK("x")"(malformed row); note=HYPERLINK("x")→ written raw, executes in ExcelAfter:
pnpm audit→ 30 vulnerabilities (3 low, 9 moderate, 18 high)After:
pnpm audit→ No known vulnerabilities foundpip checkclean,mkdocs build --strictpasses with the bumped pins.tscandvite buildpass; eslint error count unchanged-or-lower vsmain(all remaining are pre-existing).Merge Danger
Door: two-way
Blast Radius: small
pnpm bump affects every contributor:
corepack/pnpm/action-setupwill fetch 10.34.6, and installs may now refuse packages under 7 days old (intended). pymdown-extensions is a major bump (10 → 11); docs build cleanly but eyeball the rendered site on RTD. Lockfile churn is otherwise tooling-only except@opendatacapture/runtime-v1, which stays at the already-resolved 1.16.6 (only the range floor moved).CSV free-text fields beginning with
= + - @now carry a leading'— downstream scripts parsing notes may see it. Deploy job needspages/id-tokenat job level; if the first main run after merge fails to deploy, that's where to look.🤖 Generated with Claude Code