Skip to content

docs(self-hosting): fix stale blockedPaths and hardGuardrailGlobs claims - #5240

Merged
JSONbored merged 1 commit into
mainfrom
fix/stale-guardrail-docs
Jul 12, 2026
Merged

docs(self-hosting): fix stale blockedPaths and hardGuardrailGlobs claims#5240
JSONbored merged 1 commit into
mainfrom
fix/stale-guardrail-docs

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

Two documentation-drift bugs found while investigating a security-scanner finding ("Legacy blockedPaths guardrails are silently disabled") about commit f13d95c / #2974:

  1. fix(selfhost): make hard guardrails authoritative #2974 removing legacy blockedPaths enforcement was a deliberate, well-reasoned architecture decision (single authoritative path-hold control: settings.hardGuardrailGlobs), not an accidental regression — so the security finding's proposed patch (re-adding a compatibility shim) is not being applied; it would reintroduce the exact dual-system drift fix(selfhost): make hard guardrails authoritative #2974 eliminated.
  2. But two config example files never caught up to that decision: .gittensory.yml.example and config/examples/gittensory.full.yml still describe blockedPaths as producing an "enforceable... finding" — false, and contradicts the already-correct prose docs page. An operator copying either example would believe they have protection they don't have.
  3. A second, related staleness found while in the area: those same two example files plus two docs pages (docs.self-hosting-configuration.tsx, docs.tuning.tsx) claimed an empty/omitted settings.hardGuardrailGlobs means "no path guardrails, never a hidden engine fallback" — but fix(review): preserve invariant guardrails #3943 (3 days after that comment was written) added DEFAULT_HARD_GUARDRAIL_GLOBS, a fixed set of built-in invariant guardrails that always apply regardless of repo settings. The docs never caught up.

Changes

  • .gittensory.yml.example + config/examples/gittensory.full.yml: corrected the blockedPaths and hardGuardrailGlobs comments to match actual runtime behavior and the already-correct prose docs.
  • docs.self-hosting-configuration.tsx + docs.tuning.tsx: corrected the "never a hidden engine fallback" claim.

Validation

  • npx vitest run test/unit/focus-manifest.test.ts test/unit/check-docs-drift-script.test.ts test/unit/selfhost-config-examples.test.ts test/unit/prompt-injection.test.ts test/unit/focus-manifest-validation.test.ts test/unit/config-templates.test.ts — 730/730 passing
  • node scripts/check-docs-drift.mjs — clean
  • npm run ui:typecheck / npm run ui:lint — clean (only pre-existing, unrelated warnings)
  • npm run cf-typegen:check — clean
  • No src/** production code changed; docs/config-example only.

Two config example files (.gittensory.yml.example, config/examples/gittensory.full.yml)
still described legacy blockedPaths as enforceable ("yields a manifest_blocked_path
finding... enforceable when gate.manifestPolicy: block") -- that mechanism was
retired in #2974 in favor of settings.hardGuardrailGlobs as the single authoritative
path-hold control, and manifest_blocked_path is no longer even a valid finding code.
An operator copying either example would believe they had protection they don't have.

Also fixes a second, related staleness: both example files and two docs pages
(docs.self-hosting-configuration.tsx, docs.tuning.tsx) claimed an omitted/empty
settings.hardGuardrailGlobs means "no path guardrails, never a hidden engine
fallback" -- but #3943 (three days after the comment was written) added
DEFAULT_HARD_GUARDRAIL_GLOBS, a fixed set of built-in invariant guardrails
(config-as-code files, CI workflows/scripts, core engine-decision paths) that
always apply regardless of repo settings. The docs never caught up.
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
gittensory-ui 78a35bc Commit Preview URL

Branch Preview URL
Jul 12 2026, 10:42 AM

@loopover-orb loopover-orb Bot added the gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. label Jul 12, 2026
@JSONbored JSONbored self-assigned this Jul 12, 2026
@JSONbored
JSONbored merged commit a5123cc into main Jul 12, 2026
13 checks passed
@JSONbored
JSONbored deleted the fix/stale-guardrail-docs branch July 12, 2026 10:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier.

Development

Successfully merging this pull request may close these issues.

1 participant