PersistedApprovalGrantsOptions
Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/core/approvals/grants.ts:894
Optional seams for PersistedApprovalGrants.
Properties
Section titled “Properties”holds?
Section titled “holds?”
optionalholds?:"approvals"|"refusals"
Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/core/approvals/grants.ts:929
[[EXT-143]] — what this file holds, in the noun a user reads in a load-failure notice
(unreadableFileNotice, skippedEntriesNotice). The allow store passes
'approvals' and the deny store 'refusals'.
It is a word, not a behaviour, and that is what keeps the class list-agnostic: nothing here reads it, compares against it or decides by it. A store still never learns which list it is — the file path decides that and the runner decides which list it hands to the matcher — but a message that could not name what was lost would be a message the reader cannot act on, since the two files fail in opposite directions.
Omitting it is safe: savedNoun then says something true of either file rather than guessing. What is NOT safe is defaulting it to one side, so it does not.
legacyPrefixMigration?
Section titled “legacyPrefixMigration?”
optionallegacyPrefixMigration?:boolean
Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/core/approvals/grants.ts:914
Whether a file holding the v1 prefixes array is migrated to exact entries. True by
default, and set false by the deny store ([[EXT-107]]), for two independent reasons:
prefixeswas never a format on the deny side. A deny file carrying one was hand-written by analogy, and turning a guess into standing refusals — with a notice worded for saved approvals, which is the only notice there is — would report a migration that did not describe what happened.- A migration WRITES. The deny store is read at every rung,
bypassincluded, because a refusal is resolved before the bypass return; the allow store is not read there precisely so that a session with the gate switched off never rewrites the project’s grant file. Leaving this on would give the deny store the one load path that writes.
onNotice?
Section titled “onNotice?”
optionalonNotice?: (notice) =>void
Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/core/approvals/grants.ts:900
Where the v1→v2 migration notice goes — the established ShellApprovalGateNotice shape
the runner forwards to statusUpdate. Absent means the migration happens silently, which is
why the runner always passes one.
Parameters
Section titled “Parameters”notice
Section titled “notice”Returns
Section titled “Returns”void