mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-16 09:55:29 +02:00
feat(aside): browser-driver contract, cookbook, research and fallback resolvers
{{ASIDE_SETUP}} (readiness probe + ten rules for driving the user's real browser), {{ASIDE_COOKBOOK}} (script shapes verified live against Aside CLI 1.26: one flow per aside repl script, CDP console hook before navigation, evidence lines, session-directory artifact handoff, GSTACK_STEP_OK sentinel), {{ASIDE_RESEARCH}} (research through aside exec, WebSearch when Aside is absent, knowledge otherwise) and {{BROWSE_FALLBACK}} (the fifteen-row Aside-step to $B-command table plus the rules that differ, so every browsing skill keeps working on gstack's own headless browser). test/aside-driver.test.ts pins the sentences and asserts every browsing skill carries the Aside block followed by the fallback; test/helpers/aside-available.ts is the shared live-Aside probe.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -19,7 +19,6 @@ import type { TemplateContext, ResolverFn } from './types';
|
||||
// Domain modules
|
||||
import { generatePreamble } from './preamble';
|
||||
import { generateTestFailureTriage } from './preamble';
|
||||
import { generateCommandReference, generateSnapshotFlags, generateBrowseSetup, generateUntrustedContentWarning } from './browse';
|
||||
import { generateDesignMethodology, generateDesignHardRules, generateDesignOutsideVoices, generateDesignReviewLite, generateDesignSketch, generateDesignSetup, generateDesignMockup, generateDesignShotgunLoop, generateTasteProfile, generateUXPrinciples } from './design';
|
||||
import { generateTestBootstrap, generateTestCoverageAuditPlan, generateTestCoverageAuditShip } from './testing';
|
||||
import { generateReviewDashboard, generatePlanFileReviewReport, generateExitPlanModeGate, generateAntiShortcutClause, generateSpecReviewLoop, generateBenefitsFrom, generateCodexSecondOpinion, generateAdversarialStep, generateCodexPlanReview, generateCodexDocReview, generatePlanCompletionAuditShip, generatePlanCompletionAuditReview, generatePlanVerificationExec, generateScopeDrift, generateCrossReviewDedup } from './review';
|
||||
@@ -35,6 +34,8 @@ import { SECTION, SECTION_INDEX } from './sections';
|
||||
import { generateRedactInvocationBlock } from './redact-doc';
|
||||
import { FOREGROUND_DISPATCH_NOTE } from './constants';
|
||||
import { generateThirdPartyActions } from './third-party-actions';
|
||||
import { generateAsideSetup, generateAsideCookbook, generateAsideResearch, generateUntrustedContentWarning } from './aside';
|
||||
import { generateCommandReference, generateSnapshotFlags, generateBrowseSetup, generateBrowseFallback } from './browse';
|
||||
import { generateDesignDocDiscovery } from './design-doc-discovery';
|
||||
|
||||
export const RESOLVERS: Record<string, ResolverFn> = {
|
||||
@@ -44,11 +45,15 @@ export const RESOLVERS: Record<string, ResolverFn> = {
|
||||
REDACT_INVOCATION_BLOCK: generateRedactInvocationBlock,
|
||||
THIRD_PARTY_ACTIONS: generateThirdPartyActions,
|
||||
DESIGN_DOC_DISCOVERY: generateDesignDocDiscovery,
|
||||
UNTRUSTED_CONTENT_WARNING: generateUntrustedContentWarning,
|
||||
COMMAND_REFERENCE: generateCommandReference,
|
||||
SNAPSHOT_FLAGS: generateSnapshotFlags,
|
||||
UNTRUSTED_CONTENT_WARNING: generateUntrustedContentWarning,
|
||||
PREAMBLE: generatePreamble,
|
||||
BROWSE_SETUP: generateBrowseSetup,
|
||||
BROWSE_FALLBACK: generateBrowseFallback,
|
||||
PREAMBLE: generatePreamble,
|
||||
ASIDE_SETUP: generateAsideSetup,
|
||||
ASIDE_COOKBOOK: generateAsideCookbook,
|
||||
ASIDE_RESEARCH: generateAsideResearch,
|
||||
BASE_BRANCH_DETECT: generateBaseBranchDetect,
|
||||
QA_METHODOLOGY: generateQAMethodology,
|
||||
DESIGN_METHODOLOGY: generateDesignMethodology,
|
||||
|
||||
Reference in New Issue
Block a user