Skip to content

Gate executable configs behind explicit opt-in - #21

Merged
YoungJinJung merged 1 commit into
mainfrom
issue-16-safe-config
Aug 1, 2026
Merged

Gate executable configs behind explicit opt-in#21
YoungJinJung merged 1 commit into
mainfrom
issue-16-safe-config

Conversation

@YoungJinJung

@YoungJinJung YoungJinJung commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add validated, data-only JSON config support with case-insensitive substring roleRules.
  • Require --allow-executable-config before loading JavaScript configs, and verify rejected configs never execute.
  • Keep the Codex/Claude plugin on the safe default path by generating temporary JSON instead of executable modules.
  • Update English and Korean docs to recommend JSON for shared configs and label executable configs as trusted-only.

Closes #16.

Validation

  • npm test (15 passing)
  • node --check quarkify.mjs
  • node --check skills/analyze/scripts/analyze.mjs
  • git diff --check

@YoungJinJung

Copy link
Copy Markdown
Contributor Author

Cross-platform note: #27 adds the Windows/macOS/Linux CI matrix that should validate this change across supported operating systems before release.

@YoungJinJung
YoungJinJung force-pushed the issue-16-safe-config branch from 12f0cb0 to 320281e Compare June 16, 2026 07:44
@YoungJinJung
YoungJinJung marked this pull request as ready for review June 17, 2026 09:26
@YoungJinJung
YoungJinJung force-pushed the issue-16-safe-config branch from 320281e to acbe89f Compare August 1, 2026 04:02
@YoungJinJung
YoungJinJung marked this pull request as draft August 1, 2026 04:02
@YoungJinJung
YoungJinJung marked this pull request as ready for review August 1, 2026 04:08
Quarkify now supports data-only JSON configs by default and requires --allow-executable-config before loading JavaScript configs that can run arbitrary local code. Documentation now steers shared configs toward JSON and labels executable configs as trusted-only.

Constraint: Preserve custom guessRole workflows for trusted local users.
Rejected: Remove JavaScript configs entirely | existing role-classification use cases depend on executable functions.
Confidence: high
Scope-risk: broad
Directive: Keep non-executable config support as the default path for shared configuration.
Tested: npm test; node --check quarkify.mjs
Related: #16
@YoungJinJung
YoungJinJung force-pushed the issue-16-safe-config branch from acbe89f to 341a9e9 Compare August 1, 2026 04:09
@YoungJinJung
YoungJinJung merged commit 2ecbcd4 into main Aug 1, 2026
3 checks passed
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.

Add a safe configuration loading model or clearly gate executable configs

1 participant