Phase 14: add requireRegistered setting — opt-out for strict registry filter

Default false so CLI --skill paths can be re-injected from disk in later Phase 14 items; explicit true restores registered-only behavior.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-17 17:27:09 +07:00
parent 6c82594392
commit aca68e73ee
2 changed files with 12 additions and 0 deletions
+6
View File
@@ -28,6 +28,8 @@ export interface SkillReinjectSettings {
maxSkills?: number;
/** Verbose reinject filter logging via ui.notify (Phase 14 / B-002). */
debug: boolean;
/** When true, only re-inject skills present in resourceLoader (Phase 14 / B-002). */
requireRegistered: boolean;
}
/** Defaults from SPEC §7.3 — extension off until explicitly enabled. */
@@ -39,6 +41,7 @@ export const DEFAULT_SKILL_REINJECT_SETTINGS: Readonly<SkillReinjectSettings> =
autoCompactIntegration: "auto",
suffix: "[skill-reinject] Re-applied after compaction.",
debug: false,
requireRegistered: false,
};
export function createDefaultSettings(): SkillReinjectSettings {
@@ -83,6 +86,9 @@ export function parseSkillReinjectPartial(raw: unknown): PartialSkillReinjectSet
if (typeof obj.debug === "boolean") {
result.debug = obj.debug;
}
if (typeof obj.requireRegistered === "boolean") {
result.requireRegistered = obj.requireRegistered;
}
return result;
}
+6
View File
@@ -58,6 +58,12 @@ describe("parseSkillReinjectPartial", () => {
it("parses debug flag", () => {
expect(parseSkillReinjectPartial({ debug: true })).toEqual({ debug: true });
});
it("parses requireRegistered flag", () => {
expect(parseSkillReinjectPartial({ requireRegistered: true })).toEqual({
requireRegistered: true,
});
});
});
describe("mergeSkillReinjectSettings", () => {