koala73/worldmonitor · error · Error

Instructions exceed the

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.

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.

Appendix: 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)