koala73/worldmonitor · error · Error

Instructions exceed the ${MAX_INSTRUCTIONS_LEN}-character li

Error message

Instructions exceed the ${MAX_INSTRUCTIONS_LEN}-character limit (${fw.systemPromptAppend.length} chars). Trim and retry.

What it means

Client-side limit in saveImportedFramework: the framework's systemPromptAppend exceeds MAX_INSTRUCTIONS_LEN characters (actual length is echoed in the message). It bounds how much text one framework can inject into analysis prompts.

Source

Thrown at src/services/analysis-framework-store.ts:122

6. Early warning signals: what observable data points would indicate the contrarian scenario is beginning to unfold? List 2–3 specific, trackable signals.
Close with: a one-sentence devil's advocate verdict — what is the most important thing the consensus is probably wrong about?`,
  },
];

const _activeCache = new Map<AnalysisPanelId, AnalysisFramework | null>();

export function loadFrameworkLibrary(): AnalysisFramework[] {
  const imported = loadFromStorage<AnalysisFramework[]>(LIBRARY_KEY, []);
  return [...BUILT_IN_FRAMEWORKS, ...imported];
}

export function saveImportedFramework(fw: Omit<AnalysisFramework, 'isBuiltIn' | 'createdAt'>): void {
  const imported = loadFromStorage<AnalysisFramework[]>(LIBRARY_KEY, []);
  if (imported.length >= MAX_IMPORTED) {
    throw new Error(`Library is full (max ${MAX_IMPORTED} imported frameworks).`);
  }
  if (fw.systemPromptAppend.length > MAX_INSTRUCTIONS_LEN) {
    throw new Error(`Instructions exceed the ${MAX_INSTRUCTIONS_LEN}-character limit (${fw.systemPromptAppend.length} chars). Trim and retry.`);
  }
  const existing = loadFrameworkLibrary();
  if (existing.some(f => f.name === fw.name)) {
    throw new Error(`A framework named '${fw.name}' already exists. Rename the existing one first.`);
  }
  const newFw: AnalysisFramework = { ...fw, isBuiltIn: false, createdAt: Date.now() };
  saveToStorage(LIBRARY_KEY, [...imported, newFw]);
  _activeCache.clear();
}

export function deleteImportedFramework(id: string): void {
  if (BUILT_IN_FRAMEWORKS.some(f => f.id === id)) return;
  const imported = loadFromStorage<AnalysisFramework[]>(LIBRARY_KEY, []);
  saveToStorage(LIBRARY_KEY, imported.filter(f => f.id !== id));
  _activeCache.clear();
}

export function renameImportedFramework(id: string, name: string): void {

View on GitHub (pinned to eeab0a219f)

Solutions

  1. Trim the framework instructions below the character limit and retry
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/services/analysis-framework-store.ts:122 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of koala73/worldmonitor@eeab0a219f (2026-08-21). Data as JSON: /api/errors/66b0a8b17ad45bda. Report an issue: GitHub.