Skip to content

feat!: remove gittensory-engine's settings.gateCheckMode yml back-compat parsing (#5373) - #5463

Merged
JSONbored merged 1 commit into
mainfrom
chore/gatecheckmode-engine-yml-backcompat-stage2-10
Jul 12, 2026
Merged

feat!: remove gittensory-engine's settings.gateCheckMode yml back-compat parsing (#5373)#5463
JSONbored merged 1 commit into
mainfrom
chore/gatecheckmode-engine-yml-backcompat-stage2-10

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

Summary

Final stage (2.10 of 10) of the gateCheckMode removal (#5373). The RepositorySettings.gateCheckMode field itself was removed entirely in #5459 (stage 2.9). This PR removes the last remaining vestige: @jsonbored/gittensory-engine's own .gittensory.yml parser (parseFocusManifest/parseFocusManifestContent) still recognized a bare settings.gateCheckMode key and derived reviewCheckMode from it for back-compat with older manifest files.

  • packages/gittensory-engine/src/focus-manifest.ts: removed the gateCheckMode parse + derive-reviewCheckMode-when-unset logic from parseSettingsOverride; removed "gateCheckMode" from the FocusManifestSettings Pick<RepositorySettings, ...> list; rewrote the FocusManifestGateConfig doc comment (fixed a stale "master switch" claim while in the area).
  • packages/gittensory-engine/src/types/manifest-deps-types.ts: removed the deprecated gateCheckMode?: "off" | "enabled" field from the engine's own RepositorySettings mirror type.
  • scripts/check-docs-drift.mjs: dropped a now-dead SETTINGS_ALIAS_MANIFEST row for gateCheckMode — it's no longer iterated as a RepositorySettings field, so the alias entry was orphaned since feat!: remove the gateCheckMode field from RepositorySettings entirely #5459.
  • Test fixes in test/unit/focus-manifest.test.ts (rewrote the settings.gateCheckMode back-compat describe block into a "fully removed, inert key" regression suite; removed the dead SETTINGS_GATE_ALIASED_FIELDS entry) and test/unit/gate-check-policy.test.ts (updated one assertion that expected the now-removed derivation).

settings.gateCheckMode is now a fully unrecognized key: it parses into nothing and derives nothing. settings.reviewCheckMode is the sole publish-authority key.

Blast radius / why this is safe to merge now

  • parseFocusManifest/parseFocusManifestContent are the only public exports touched.
  • @jsonbored/gittensory-mcp (published, v0.7.0 live) doesn't reference this code path at all.
  • @jsonbored/gittensory-miner calls parseFocusManifestContent but never reads gateCheckMode/reviewCheckMode from the result, and isn't itself published to npm (git-clone-only).
  • .github/workflows/publish-engine.yml is workflow_dispatch-only — merging this does not itself publish anything to the registry.
  • packages/gittensory-engine/package.json is already at "1.0.0" (chore(release): cut engine v1.0.0 #4686, merged 2026-07-10, not yet published — npm registry still serves 0.2.0). Bundling this breaking removal into that not-yet-shipped 1.0.0 is the right timing: it sheds this back-compat parsing before the package commits to a stable public surface, rather than requiring a separate major bump later for the same change. No publish is triggered by this PR.

Test plan

  • npm run build --workspace @jsonbored/gittensory-engine — clean
  • npm run typecheck — clean (full monorepo)
  • npx vitest run — full suite, 778 files / 15218 tests passed, 12 skipped, exit 0
  • npm test --workspace @jsonbored/gittensory-engine (node:test) — 526/526 passing
  • npm run manifest:drift-check / engine-parity:drift-check / docs:drift-check — all clean
  • npm run ui:lint / npm run ui:typecheck — clean (pre-existing unrelated warnings only)
  • npm audit --audit-level=moderate — 0 vulnerabilities
  • Repo-wide grep confirms zero remaining gateCheckMode references outside historical comments and regression tests asserting the key is now inert

Closes #5373

…pat parsing (#5373)

Final stage of the gateCheckMode removal (stage 2.10/2.10): the
RepositorySettings field itself was removed in #5459, but
@jsonbored/gittensory-engine's own .gittensory.yml parser still
recognized a bare settings.gateCheckMode key and derived
reviewCheckMode from it for back-compat. Remove that derivation,
the FocusManifestSettings type entry, and the deprecated field on
manifest-deps-types.ts's RepositorySettings mirror.

settings.gateCheckMode is now an unrecognized key: it parses into
nothing and derives nothing. settings.reviewCheckMode remains the
sole, unambiguous publish-authority key.

Blast radius: parseFocusManifest/parseFocusManifestContent are the
only public exports touched. @jsonbored/gittensory-mcp doesn't
reference this code path at all; @jsonbored/gittensory-miner calls
parseFocusManifestContent but never reads gateCheckMode/
reviewCheckMode from the result, and isn't itself published to npm.
publish-engine.yml is workflow_dispatch-only, so merging this does
not itself publish anything. The package.json version is already
1.0.0 (#4686, merged, not yet published -- npm still serves 0.2.0)
-- bundling this breaking removal into that not-yet-shipped 1.0.0
is the right time to shed this back-compat parsing before the
package commits to a stable surface, rather than requiring a
separate future major bump for the same change.

Also drops a now-dead SETTINGS_ALIAS_MANIFEST row in
check-docs-drift.mjs left over from the RepositorySettings-level
removal in #5459 (gateCheckMode is no longer iterated as a field to
alias-check at all).
@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 0397826 Commit Preview URL

Branch Preview URL
Jul 12 2026, 09:06 PM

@codecov

codecov Bot commented Jul 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.52%. Comparing base (30a6ffb) to head (0397826).
⚠️ Report is 2 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5463      +/-   ##
==========================================
- Coverage   94.52%   94.52%   -0.01%     
==========================================
  Files         554      554              
  Lines       44469    44466       -3     
  Branches    14666    14664       -2     
==========================================
- Hits        42034    42031       -3     
  Misses       1754     1754              
  Partials      681      681              
Flag Coverage Δ
shard-1 44.07% <ø> (+<0.01%) ⬆️
shard-2 35.00% <ø> (+<0.01%) ⬆️
shard-3 31.99% <ø> (-0.01%) ⬇️
shard-4 31.68% <ø> (-0.01%) ⬇️
shard-5 32.71% <ø> (+<0.01%) ⬆️
shard-6 43.53% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
packages/gittensory-engine/src/focus-manifest.ts 99.19% <ø> (-0.01%) ⬇️
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@JSONbored JSONbored self-assigned this Jul 12, 2026
@JSONbored
JSONbored merged commit afd0318 into main Jul 12, 2026
19 checks passed
@JSONbored
JSONbored deleted the chore/gatecheckmode-engine-yml-backcompat-stage2-10 branch July 12, 2026 21:08
@loopover-orb loopover-orb Bot added the gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. label Jul 12, 2026
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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stage and remove the derived-only gateCheckMode field (naming sprawl, #5355 follow-up)

1 participant