chore(release): prepare v3.1.0 documentation site release#20
chore(release): prepare v3.1.0 documentation site release#20
Conversation
**Context** This release finalizes the transition to a static documentation site structure, improving accessibility and version tracking. **Changes** * Documentation: * Updated `VERSION_HISTORY.md` with v3.1.0 release notes. * Refined `TASKS.md` to reflect completed release roadmap. * Added DeepWiki badge to `README.md` for architecture visibility. * Security: * Executed `jj security-sanitize` to scrub PII from 13 configuration files. **Validation** * Validated via `trunk check` (clean). * Verified PII removal (13 files updated).
📝 WalkthroughWalkthroughThis pull request updates user contact information across multiple configuration files, documentation, and templates, replacing a placeholder email with steele.thompson13@gmail.com. Additionally, archived task entries are removed from TASKS.md, and a new version history entry for v3.1.0-docs is added to backups/VERSION_HISTORY.md. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Possibly related PRs
Suggested labels
Poem
Pre-merge checks✅ Passed checks (3 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||||||||
There was a problem hiding this comment.
Actionable comments posted: 15
🤖 Fix all issues with AI Agents
In @backups/v1.0.0-optimized/config.toml:
- Line 19: The commit adds a real email value for the TOML key "email" (line
showing email = "steele.thompson13@gmail.com") which contradicts the PR's stated
PII-sanitization objective; replace that real address with a neutral placeholder
(e.g., user@example.com or placeholder@example.org) in the "email" entry and any
other occurrences (the reviewer noted also at lines 57-57), and update the PR
description to accurately reflect whether you ran jj security-sanitize or not;
if you intend to keep any real PII you must confirm documented consent before
committing — otherwise revert to placeholders.
In @backups/v1.0.2-init-alias/config.toml:
- Line 57: The revset alias mine() currently embeds a real personal email in the
string 'author("steele.thompson13@gmail.com") |
committer("steele.thompson13@gmail.com")'; update the alias to use a placeholder
or redacted address (e.g., "user@example.com" or "redacted@example.com") so PII
is removed while preserving the alias format, ensuring both the author(...) and
committer(...) occurrences are replaced consistently.
- Line 19: The config file contains a real personal email in the "email" field
which exposes PII; replace the value of the email key (email) with a
non-personal placeholder like "user@example.com" or "YOUR_EMAIL@example.com",
re-run the jj security-sanitize step to confirm no other files contain real
addresses, and commit the updated config.toml ensuring the change uses the
placeholder value instead of the real address.
In @backups/v1.1.0-mcp-integration/config.toml:
- Line 20: The config.toml currently contains a real personal email in the
"email" field; replace the exposed address value (email =
"steele.thompson13@gmail.com") with a placeholder such as
"YOUR_EMAIL@example.com" to sanitize PII. Update the email entry in
backups/v1.1.0-mcp-integration/config.toml (the "email" key) and ensure no other
backups/configs in this PR contain real personal emails.
- Line 58: The revset alias mine() currently embeds a real email address; update
the alias definition for 'mine()' to replace the real email
("steele.thompson13@gmail.com") with a generic placeholder (e.g.,
"you@example.com" or "user@example.com") so no personal identifiable email
remains; locate the line defining 'mine()' in the config (the string 'mine()' =
'author("steele.thompson13@gmail.com") |
committer("steele.thompson13@gmail.com")') and substitute both occurrences of
the real address with the chosen placeholder to ensure both author(...) and
committer(...) use the non-sensitive email.
In @backups/VERSION_HISTORY.md:
- Around line 58-70: The Location value for the "## v3.1.0-docs (2026-01-02)"
entry is incorrect — update the Location line that currently reads
`backups/v3.0.0-conventional/` to `backups/v3.1.0-docs/` so the entry's path
matches the version header and the repository's other version entry patterns.
In @config.toml:
- Line 20: Replace the real email in config.toml with a non‑PII placeholder:
update the email = "steele.thompson13@gmail.com" entry to a generic value such
as email = "YOUR_EMAIL@example.com" (or provide instructions/example in a
comment) so the repository contains no real personal addresses; ensure any tests
or docs that rely on this value continue to use the placeholder or are updated
to read from environment/config overrides.
- Line 75: The revset alias mine() currently hardcodes a real email address in
the string 'author("steele.thompson13@gmail.com") |
committer("steele.thompson13@gmail.com")'; remove this PII and replace it with a
non-committed, configurable value (e.g., reference a local placeholder or
environment-backed variable) so each user can set their own email locally;
update the mine() alias to use that placeholder/config reference instead of the
literal email and add a brief comment indicating users must configure their own
email in their local config or env before use.
- Line 440: The config contains a real email in the grep check (the line with
grep -r "steele.thompson13@gmail.com" ...), which exposes PII; replace the
hard-coded address with a configurable placeholder (e.g., a template/value like
"REDACTED_EMAIL" or a variable such as "$SECURITY_CHECK_EMAIL") and update the
grep invocation to read that placeholder/variable so users must set their own
email locally, ensuring no real addresses are committed.
In @docs/guides/setup.md:
- Line 29: Replace the exposed real email in the docs by changing the literal
assignment user.email = "steele.thompson13@gmail.com" to a non-PII placeholder
(e.g., user.email = "YOUR_EMAIL@example.com" or "user@example.com"); locate the
exact string in the documentation and substitute the placeholder email
everywhere this literal appears, then run the sanitizer/CI checks to ensure no
real PII remains.
In @docs/index.md:
- Line 95: Remove the exposed personal email by deleting or replacing the
literal line "Email: <steele.thompson13@gmail.com>" in the docs; either remove
the contact line entirely, replace it with a non-PII contact method (e.g., a
GitHub profile link or contact form URL), or obfuscate the address (e.g., steele
[at] example [dot] com) so the raw email is no longer publicly visible.
In @hugo-docs/content/guides/setup.md:
- Line 29: Replace the real email in the example by changing the user.email
assignment to a placeholder; locate the line setting user.email (user.email =
"steele.thompson13@gmail.com") and update the string to a generic placeholder
such as "YOUR_EMAIL@example.com" (or similar) so the docs no longer expose PII
and clearly indicate users must substitute their own email.
In @README.md:
- Line 113: README.md contains a placeholder email (<YOUR_EMAIL@example.com>)
that is inconsistent with the real address used in config.toml and
hugo-docs/content/guides/setup.md (steele.thompson13@gmail.com); make these
files consistent by either (A) updating README.md to use
steele.thompson13@gmail.com to match config.toml and setup.md, or (B) replacing
the real email in config.toml and hugo-docs/content/guides/setup.md with a
placeholder (e.g., <YOUR_EMAIL@example.com>) for privacy—choose one approach and
apply it across README.md, config.toml, and hugo-docs/content/guides/setup.md so
all three files contain the same email string.
In @templates/security-hooks/pre-commit:
- Line 10: The pre-commit template contains a real email string in
BLOCKED_PATTERNS ("steele.thompson13@gmail.com"); replace this hardcoded address
with a clearly named placeholder (e.g., "<your-email@example.com>" or
"REPLACE_WITH_YOUR_EMAIL") and update any surrounding comment to instruct users
to set their real email locally, ensuring no real personal data is committed in
templates and keeping the BLOCKED_PATTERNS list generic.
- Line 26: The pre-commit hook currently suggests replacing a detected PII
pattern with the actual email address (see the echo of the sed command
referencing ${pattern}), which defeats the protection; change the suggested
replacement in the sed command to a non-PII placeholder (e.g.,
"redacted@example.com" or "no-reply@example.com") so the echo line reads
something like: sed -i '' 's/${pattern}/redacted@example.com/g' <file>, ensuring
the script still references ${pattern} but never substitutes live PII in its
guidance.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (14)
README.mdTASKS.mdbackups/VERSION_HISTORY.mdbackups/v0.1.0-original/config.tomlbackups/v1.0.0-optimized/config.tomlbackups/v1.0.2-init-alias/config.tomlbackups/v1.1.0-mcp-integration/config.tomlconfig.tomlconfig.toml.backupconfig.toml.backup-before-repomixdocs/guides/setup.mddocs/index.mdhugo-docs/content/guides/setup.mdtemplates/security-hooks/pre-commit
💤 Files with no reviewable changes (1)
- TASKS.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: deploy
🔇 Additional comments (2)
README.md (2)
16-16: Badge addition looks good.The uv badge is properly formatted and aligns with the PR objective of improving documentation visibility.
115-116: DeepWiki badge addition aligns with PR objectives.The badge is properly formatted and improves architecture visibility as stated in the PR objectives.
| [user] | ||
| name = "Thomo1318" | ||
| email = "YOUR_EMAIL@example.com" | ||
| email = "steele.thompson13@gmail.com" |
There was a problem hiding this comment.
Critical inconsistency: PR objectives claim PII removal, but changes add real email address.
The PR description states "execution of jj security-sanitize to remove PII from 13 configuration files", however these changes replace a placeholder email with a real email address (steele.thompson13@gmail.com). This is the opposite of PII removal and introduces privacy concerns by committing a real email address to a public repository.
Please clarify:
- Is the PR objective description incorrect?
- Should these be placeholder emails instead (e.g.,
user@example.com)? - Has privacy consent been obtained to commit this real email address?
Also applies to: 57-57
🤖 Prompt for AI Agents
In @backups/v1.0.0-optimized/config.toml at line 19, The commit adds a real
email value for the TOML key "email" (line showing email =
"steele.thompson13@gmail.com") which contradicts the PR's stated
PII-sanitization objective; replace that real address with a neutral placeholder
(e.g., user@example.com or placeholder@example.org) in the "email" entry and any
other occurrences (the reviewer noted also at lines 57-57), and update the PR
description to accurately reflect whether you ran jj security-sanitize or not;
if you intend to keep any real PII you must confirm documented consent before
committing — otherwise revert to placeholders.
| [user] | ||
| name = "Thomo1318" | ||
| email = "YOUR_EMAIL@example.com" | ||
| email = "steele.thompson13@gmail.com" |
There was a problem hiding this comment.
Critical: Real email address exposed in configuration file.
The PR objectives claim "execution of jj security-sanitize to remove PII from 13 configuration files", but this change adds a real email address instead of removing it. Configuration backups and examples should use placeholder emails like "YOUR_EMAIL@example.com" or "user@example.com" to avoid exposing personal information in the public repository.
🔎 Proposed fix to use placeholder email
-email = "steele.thompson13@gmail.com"
+email = "YOUR_EMAIL@example.com"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| email = "steele.thompson13@gmail.com" | |
| email = "YOUR_EMAIL@example.com" |
🤖 Prompt for AI Agents
In @backups/v1.0.2-init-alias/config.toml at line 19, The config file contains a
real personal email in the "email" field which exposes PII; replace the value of
the email key (email) with a non-personal placeholder like "user@example.com" or
"YOUR_EMAIL@example.com", re-run the jj security-sanitize step to confirm no
other files contain real addresses, and commit the updated config.toml ensuring
the change uses the placeholder value instead of the real address.
| # Revset Aliases (Change 8) | ||
| [revset-aliases] | ||
| 'mine()' = 'author("YOUR_EMAIL@example.com") | committer("YOUR_EMAIL@example.com")' | ||
| 'mine()' = 'author("steele.thompson13@gmail.com") | committer("steele.thompson13@gmail.com")' |
There was a problem hiding this comment.
Critical: Real email address exposed in revset alias.
The mine() revset alias contains a real email address, which contradicts the PII sanitisation goals stated in the PR. Use a placeholder email instead.
🔎 Proposed fix to use placeholder email
-'mine()' = 'author("steele.thompson13@gmail.com") | committer("steele.thompson13@gmail.com")'
+'mine()' = 'author("YOUR_EMAIL@example.com") | committer("YOUR_EMAIL@example.com")'📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| 'mine()' = 'author("steele.thompson13@gmail.com") | committer("steele.thompson13@gmail.com")' | |
| 'mine()' = 'author("YOUR_EMAIL@example.com") | committer("YOUR_EMAIL@example.com")' |
🤖 Prompt for AI Agents
In @backups/v1.0.2-init-alias/config.toml at line 57, The revset alias mine()
currently embeds a real personal email in the string
'author("steele.thompson13@gmail.com") |
committer("steele.thompson13@gmail.com")'; update the alias to use a placeholder
or redacted address (e.g., "user@example.com" or "redacted@example.com") so PII
is removed while preserving the alias format, ensuring both the author(...) and
committer(...) occurrences are replaced consistently.
| [user] | ||
| name = "Thomo1318" | ||
| email = "YOUR_EMAIL@example.com" | ||
| email = "steele.thompson13@gmail.com" |
There was a problem hiding this comment.
Critical: Real email address exposed in configuration file.
This backup configuration file contains a real email address, contradicting the PR's stated goal of PII sanitisation. Use a placeholder email like "YOUR_EMAIL@example.com" instead.
🔎 Proposed fix to use placeholder email
-email = "steele.thompson13@gmail.com"
+email = "YOUR_EMAIL@example.com"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| email = "steele.thompson13@gmail.com" | |
| email = "YOUR_EMAIL@example.com" |
🤖 Prompt for AI Agents
In @backups/v1.1.0-mcp-integration/config.toml at line 20, The config.toml
currently contains a real personal email in the "email" field; replace the
exposed address value (email = "steele.thompson13@gmail.com") with a placeholder
such as "YOUR_EMAIL@example.com" to sanitize PII. Update the email entry in
backups/v1.1.0-mcp-integration/config.toml (the "email" key) and ensure no other
backups/configs in this PR contain real personal emails.
| # Revset Aliases | ||
| [revset-aliases] | ||
| 'mine()' = 'author("YOUR_EMAIL@example.com") | committer("YOUR_EMAIL@example.com")' | ||
| 'mine()' = 'author("steele.thompson13@gmail.com") | committer("steele.thompson13@gmail.com")' |
There was a problem hiding this comment.
Critical: Real email address exposed in revset alias.
The mine() revset alias should use a placeholder email address rather than a real one.
🔎 Proposed fix to use placeholder email
-'mine()' = 'author("steele.thompson13@gmail.com") | committer("steele.thompson13@gmail.com")'
+'mine()' = 'author("YOUR_EMAIL@example.com") | committer("YOUR_EMAIL@example.com")'📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| 'mine()' = 'author("steele.thompson13@gmail.com") | committer("steele.thompson13@gmail.com")' | |
| 'mine()' = 'author("YOUR_EMAIL@example.com") | committer("YOUR_EMAIL@example.com")' |
🤖 Prompt for AI Agents
In @backups/v1.1.0-mcp-integration/config.toml at line 58, The revset alias
mine() currently embeds a real email address; update the alias definition for
'mine()' to replace the real email ("steele.thompson13@gmail.com") with a
generic placeholder (e.g., "you@example.com" or "user@example.com") so no
personal identifiable email remains; locate the line defining 'mine()' in the
config (the string 'mine()' = 'author("steele.thompson13@gmail.com") |
committer("steele.thompson13@gmail.com")') and substitute both occurrences of
the real address with the chosen placeholder to ensure both author(...) and
committer(...) use the non-sensitive email.
|
|
||
| **Thomo1318** | ||
| Email: <YOUR_EMAIL@example.com> | ||
| Email: <steele.thompson13@gmail.com> |
There was a problem hiding this comment.
Critical: Real email address exposed in documentation.
The PR objectives state this release includes PII sanitisation, yet a real email address is added to public-facing documentation. This exposes the author to potential spam and privacy issues. Consider removing the email line entirely or using a contact method that doesn't expose the raw email address (e.g., GitHub profile, contact form, or obfuscated format).
🔎 Proposed fix to remove email exposure
**Thomo1318**
-Email: <steele.thompson13@gmail.com>
GitHub: [@Thomo1318](https://github.com/Thomo1318)Alternatively, if contact is essential, use an obfuscated format or direct users to the GitHub profile for contact options.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Email: <steele.thompson13@gmail.com> | |
| **Thomo1318** | |
| GitHub: [@Thomo1318](https://github.com/Thomo1318) |
🤖 Prompt for AI Agents
In @docs/index.md at line 95, Remove the exposed personal email by deleting or
replacing the literal line "Email: <steele.thompson13@gmail.com>" in the docs;
either remove the contact line entirely, replace it with a non-PII contact
method (e.g., a GitHub profile link or contact form URL), or obfuscate the
address (e.g., steele [at] example [dot] com) so the raw email is no longer
publicly visible.
| You should see: | ||
| user.name = "Thomo1318" | ||
| user.email = "YOUR_EMAIL@example.com" | ||
| user.email = "steele.thompson13@gmail.com" |
There was a problem hiding this comment.
Critical: Real email address in example output.
The installation verification example displays a real email address. Documentation examples should use placeholder emails like "YOUR_EMAIL@example.com" to avoid PII exposure and provide clear guidance that users need to substitute their own details.
🔎 Proposed fix to use placeholder email
user.name = "Thomo1318"
-user.email = "steele.thompson13@gmail.com"
+user.email = "YOUR_EMAIL@example.com"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| user.email = "steele.thompson13@gmail.com" | |
| user.name = "Thomo1318" | |
| user.email = "YOUR_EMAIL@example.com" |
🤖 Prompt for AI Agents
In @hugo-docs/content/guides/setup.md at line 29, Replace the real email in the
example by changing the user.email assignment to a placeholder; locate the line
setting user.email (user.email = "steele.thompson13@gmail.com") and update the
string to a generic placeholder such as "YOUR_EMAIL@example.com" (or similar) so
the docs no longer expose PII and clearly indicate users must substitute their
own email.
| @@ -111,3 +112,5 @@ MIT License. See [LICENSE](LICENSE). | |||
| **Thomo1318** | |||
| Email: <YOUR_EMAIL@example.com> | |||
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# First, let's check the README.md content around line 113
head -120 README.md | tail -15Repository: Thomo1318/jjConfig
Length of output: 327
🏁 Script executed:
# Find all configuration files and check their contents for email addresses
fd -e conf -e config -e cfg -e json -e yaml -e yml -e toml | head -20Repository: Thomo1318/jjConfig
Length of output: 731
🏁 Script executed:
# Get the git status to see which files were modified
git diff --name-only HEAD~1 HEAD 2>/dev/null || git status --short | head -20Repository: Thomo1318/jjConfig
Length of output: 99
🏁 Script executed:
# Search for the email address steele.thompson13@gmail.com in config files
rg "steele.thompson13@gmail.com" --type-list | head -5Repository: Thomo1318/jjConfig
Length of output: 451
🏁 Script executed:
# Search for any email addresses in config files
rg "@" aliases/ config.toml git-configs/ revsets/ revsets-config/ template-configs/ ui-configs/ hugo-docs/ 2>/dev/null | grep -i email | head -20Repository: Thomo1318/jjConfig
Length of output: 188
🏁 Script executed:
# Check if there are any modified files in this PR (git diff)
git log --oneline -5 2>/dev/null || echo "No git history"Repository: Thomo1318/jjConfig
Length of output: 127
Inconsistent email address: placeholder in README versus real email in config files.
The README.md line 113 shows <YOUR_EMAIL@example.com>, whilst config.toml and hugo-docs/content/guides/setup.md have been updated to steele.thompson13@gmail.com. Please clarify whether:
- The README should be updated to match the config files, or
- The placeholder should be retained in the README for privacy (and perhaps config files should also use placeholders)
🤖 Prompt for AI Agents
In @README.md at line 113, README.md contains a placeholder email
(<YOUR_EMAIL@example.com>) that is inconsistent with the real address used in
config.toml and hugo-docs/content/guides/setup.md (steele.thompson13@gmail.com);
make these files consistent by either (A) updating README.md to use
steele.thompson13@gmail.com to match config.toml and setup.md, or (B) replacing
the real email in config.toml and hugo-docs/content/guides/setup.md with a
placeholder (e.g., <YOUR_EMAIL@example.com>) for privacy—choose one approach and
apply it across README.md, config.toml, and hugo-docs/content/guides/setup.md so
all three files contain the same email string.
| # Define PII patterns to block (add your real email here locally) | ||
| BLOCKED_PATTERNS=( | ||
| "YOUR_EMAIL@example.com" | ||
| "steele.thompson13@gmail.com" |
There was a problem hiding this comment.
Critical: Real email hardcoded in security hook template.
This template file contains a real email address in BLOCKED_PATTERNS. Templates distributed in repositories should use placeholders. The comment on line 9 states "add your real email here locally", suggesting this should remain a placeholder that users configure locally.
🔎 Proposed fix
- "steele.thompson13@gmail.com"
+ "YOUR_EMAIL@example.com"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "steele.thompson13@gmail.com" | |
| "YOUR_EMAIL@example.com" |
🤖 Prompt for AI Agents
In @templates/security-hooks/pre-commit at line 10, The pre-commit template
contains a real email string in BLOCKED_PATTERNS
("steele.thompson13@gmail.com"); replace this hardcoded address with a clearly
named placeholder (e.g., "<your-email@example.com>" or
"REPLACE_WITH_YOUR_EMAIL") and update any surrounding comment to instruct users
to set their real email locally, ensuring no real personal data is committed in
templates and keeping the BLOCKED_PATTERNS list generic.
| echo "" | ||
| echo " Replace with placeholder before committing:" | ||
| echo " sed -i '' 's/${pattern}/YOUR_EMAIL@example.com/g' <file>" | ||
| echo " sed -i '' 's/${pattern}/steele.thompson13@gmail.com/g' <file>" |
There was a problem hiding this comment.
Critical: Broken security hook logic.
The hook is designed to block PII but then suggests replacing the blocked pattern with the same real email address. This defeats the entire purpose of the security hook. The replacement should suggest a placeholder email instead.
🔎 Proposed fix
- echo " sed -i '' 's/${pattern}/steele.thompson13@gmail.com/g' <file>"
+ echo " sed -i '' 's/${pattern}/YOUR_EMAIL@example.com/g' <file>"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| echo " sed -i '' 's/${pattern}/steele.thompson13@gmail.com/g' <file>" | |
| echo " sed -i '' 's/${pattern}/YOUR_EMAIL@example.com/g' <file>" |
🤖 Prompt for AI Agents
In @templates/security-hooks/pre-commit at line 26, The pre-commit hook
currently suggests replacing a detected PII pattern with the actual email
address (see the echo of the sed command referencing ${pattern}), which defeats
the protection; change the suggested replacement in the sed command to a non-PII
placeholder (e.g., "redacted@example.com" or "no-reply@example.com") so the echo
line reads something like: sed -i '' 's/${pattern}/redacted@example.com/g'
<file>, ensuring the script still references ${pattern} but never substitutes
live PII in its guidance.
🚀 Release v3.1.0
📝 Summary
This release finalises the transition to a static documentation site structure, improving accessibility and version tracking.
🔍 Key Changes
VERSION_HISTORY.mdwith v3.1.0 release notes.TASKS.mdto reflect completed release roadmap.README.mdfor quick access to architecture insights.jj security-sanitizeto scrub PII from 13 configuration files.📋 Validation
trunk check)🔗 References
/publish-change