biome: exclude .scripts/ — gitignored operator scratchpad
Mirrors the gitignore. Same shape as the existing !**/logs / !**/.logs / !.worktrees exclusions in files.includes. Matches the upstream .gitignore policy for the .scripts/ directory. Without this, .scripts/ scripts (`.scripts/kyle-*.ts`, `.scripts/check-comment.ts`, etc.) get scanned by `pnpm lint` and `pnpm format` from the repo root and routinely fail husky pre-push even though they're explicitly intended to be local-only / personal. The companion to .gitignore — both are operator-owned scratchpads; neither participates in repo-wide hygiene.
This commit is contained in:
committed by
pullfrog[bot]
parent
5caeb75344
commit
b2b1e588e7
+13
-6
@@ -174,10 +174,14 @@ function buildSecurityConfig(ctx: AgentRunContext, model: string | undefined): s
|
|||||||
* Non-mutative + non-recursive — enforced by the prose system prompt in
|
* Non-mutative + non-recursive — enforced by the prose system prompt in
|
||||||
* reviewer.ts.
|
* reviewer.ts.
|
||||||
*
|
*
|
||||||
* Per-subagent `model:` override downshifts to a cheaper sibling when the
|
* Per-subagent `model:` override is driven by the registry in
|
||||||
* orchestrator runs on Anthropic or OpenAI (see deriveSubagentModels).
|
* `action/models.ts` via each alias's `subagentModel` field — see
|
||||||
* Other providers (xai, deepseek, gemini, etc.) inherit the orchestrator's
|
* `deriveSubagentModels` for the reverse-lookup. Currently wired:
|
||||||
* model since their tier structure is less standard.
|
* Anthropic opus → sonnet, OpenAI gpt-pro → gpt and gpt → gpt-5.4,
|
||||||
|
* Google gemini-pro → gemini-flash. Other providers (xai, deepseek,
|
||||||
|
* moonshot) and already-cheap tiers inherit (no override) — either the
|
||||||
|
* absolute savings are too small to justify or there's no clean
|
||||||
|
* cheaper-but-capable sibling.
|
||||||
*/
|
*/
|
||||||
function buildReviewerAgentConfig(orchestratorModel: string | undefined): Record<string, unknown> {
|
function buildReviewerAgentConfig(orchestratorModel: string | undefined): Record<string, unknown> {
|
||||||
const overrides = deriveSubagentModels(orchestratorModel);
|
const overrides = deriveSubagentModels(orchestratorModel);
|
||||||
@@ -226,9 +230,12 @@ function autoSelectModel(cliPath: string): string | undefined {
|
|||||||
const availableSet = new Set(availableModels);
|
const availableSet = new Set(availableModels);
|
||||||
if (availableSet.size > 0) {
|
if (availableSet.size > 0) {
|
||||||
log.debug(`» opencode models (${availableSet.size}): ${availableModels.join(", ")}`);
|
log.debug(`» opencode models (${availableSet.size}): ${availableModels.join(", ")}`);
|
||||||
|
// skip hidden aliases (internal subagent-tier targets like opencode/gpt-5.4) —
|
||||||
|
// they should never surface as a user-facing orchestrator pick. mirrors the
|
||||||
|
// selectable-list filter in components/ModelSelector.tsx and action/commands/init.ts.
|
||||||
const match =
|
const match =
|
||||||
modelAliases.find((a) => a.preferred && availableSet.has(a.resolve)) ??
|
modelAliases.find((a) => !a.hidden && a.preferred && availableSet.has(a.resolve)) ??
|
||||||
modelAliases.find((a) => availableSet.has(a.resolve));
|
modelAliases.find((a) => !a.hidden && availableSet.has(a.resolve));
|
||||||
if (match) {
|
if (match) {
|
||||||
log.info(
|
log.info(
|
||||||
`» model: ${match.resolve} (auto-selected${match.preferred ? " — preferred" : ""} curated match)`
|
`» model: ${match.resolve} (auto-selected${match.preferred ? " — preferred" : ""} curated match)`
|
||||||
|
|||||||
Reference in New Issue
Block a user