fix: preserve planning decisions and terminal evidence

Load installed host reviews at autoplan phase entry and wait for completed
reviewers and saved artifacts. Reuse approved remedies while preserving
individual finding decisions.

Drive interactive evals from the current terminal viewport, bind native
questions across scrolling, and require complete native report evidence.
Cover captured stale menus, permission lifecycles, setup classification,
and disabled-review tool availability with deterministic regressions.

Advance release metadata and the upgrade migration to the unclaimed
1.83.0.0 slot.
This commit is contained in:
Garry Tan committed 2026-09-08 19:47:01 +00:00
1 parent 4df031177b
commit 4781852947
53 files changed
+2331 -285

No files matched your search

+20
View File
@@ -1,4 +1,6 @@
import type { TemplateContext } from './types';
import * as path from 'path';
import { getHostConfig } from '../../hosts';
/**
* {{INVOKE_SKILL:skill-name}} — emits prose instructing Claude to read
@@ -46,3 +48,21 @@ ${allSkips.map(s => `- ${s}`).join('\n')}
Execute every other section at full depth. When the loaded skill's instructions are complete, continue with the next step below.`;
}
/** Autoplan reads methodology from this host's skill registry, not its runtime assets. */
export function generateAutoplanReviewFile(ctx: TemplateContext, args?: string[]): string {
const skill = args?.[0];
if (!skill || !['plan-ceo-review', 'plan-design-review', 'plan-devex-review', 'plan-eng-review'].includes(skill)) {
throw new Error('AUTOPLAN_REVIEW_FILE requires an autoplan review skill');
}
if (ctx.host === 'claude') return `\`${ctx.paths.skillRoot}/${skill}/SKILL.md\``;
const host = getHostConfig(ctx.host);
const file = `gstack-${skill}/SKILL.md`;
const local = `${path.posix.dirname(host.localSkillRoot)}/${file}`;
const global = `~/${path.posix.dirname(host.globalRoot)}/${file}`;
// Resolve from the discovered entrypoint's directory: GSTACK_ROOT is an
// independently configurable runtime asset tree, not a skill registry.
// This also preserves custom CODEX_HOME installations without guessing HOME.
return `the sibling registry file \`../${file}\`, relative to the installed \`/autoplan\` SKILL.md directory (local: \`${local}\`; global: \`${global}\`${ctx.host === 'codex' ? ', or the corresponding skills directory under CODEX_HOME when configured' : ''})`;
}
+2 -1
View File
@@ -26,7 +26,7 @@ import { generateReviewDashboard, generatePlanFileReviewReport, generateExitPlan
import { generateSlugEval, generateSlugSetup, generateBaseBranchDetect, generateDeployBootstrap, generateQAMethodology, generateCoAuthorTrailer, generateChangelogWorkflow, generateCodexWebSearchFlag, generateSetupCommand } from './utility';
import { generateLearningsSearch, generateLearningsLog } from './learnings';
import { generateConfidenceCalibration } from './confidence';
import { generateInvokeSkill } from './composition';
import { generateInvokeSkill, generateAutoplanReviewFile } from './composition';
import { generateReviewArmy } from './review-army';
import { generateDxFramework } from './dx';
import { generateGBrainContextLoad, generateGBrainSaveResults, generateBrainPreflight, generateBrainCacheRefresh, generateBrainWriteBack } from './gbrain';
@@ -101,6 +101,7 @@ export const RESOLVERS: Record<string, ResolverFn> = {
LEARNINGS_LOG: generateLearningsLog,
CONFIDENCE_CALIBRATION: generateConfidenceCalibration,
INVOKE_SKILL: generateInvokeSkill,
AUTOPLAN_REVIEW_FILE: generateAutoplanReviewFile,
CHANGELOG_WORKFLOW: generateChangelogWorkflow,
REVIEW_ARMY: generateReviewArmy,
CROSS_REVIEW_DEDUP: generateCrossReviewDedup,