Skip to content

Commit 247e509

Browse files
author
Brendan Gray
committed
Release v1.7.1 - generalized seamless continuation, runaway detector bypass, build process definition
1 parent 5f1de02 commit 247e509

5 files changed

Lines changed: 26 additions & 7 deletions

File tree

.github/copilot-instructions.md

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -205,9 +205,25 @@ Before declaring any root cause:
205205
- The correct answer when you haven't fully traced a path is: "I need to read more code before I can confirm this is fixed." Not: "It's fixed" followed by "well, it could also be X."
206206
- This has happened repeatedly. It cannot happen again. A fix is only a fix when every code path that produces the bad output has been identified and addressed.
207207

208-
### NEVER build the app
209-
- Do NOT run `npm run build`, `electron-builder`, or any build/package/installer command.
210-
- When changes are ready, say **"Ready to build."** The user builds it themselves. Always.
208+
### WHAT "BUILD" MEANS — MANDATORY DEFINITION
209+
When the user says "build it", "build", "push it", "deploy it", or any equivalent — this is the FULL required sequence. Do NOT stop until every step is verified:
210+
211+
1. **Commit all source changes** to git (`git add``git commit`)
212+
2. **Push to origin/main** (`git push origin main`)
213+
3. **Bump the patch version** in `package.json` (e.g. 1.7.0 → 1.7.1) and update `D:\FileShot.io\graysoft\src\app\download\page.tsx` CURRENT_VERSION to match
214+
4. **Create and push a version tag** (`git tag v1.X.X``git push origin v1.X.X`) — this triggers GitHub Actions CI/CD
215+
5. **Monitor GitHub Actions** (at https://github.com/FileShot/guIDE/actions) until the build completes (~10 minutes) for ALL 5 jobs: build-windows, build-windows-cuda, build-linux, build-linux-cuda, build-mac
216+
6. **Verify all 6 release assets** are uploaded to the GitHub Release for the new tag via the GitHub API
217+
7. **Wait for Syncthing to sync** `D:\FileShot.io\graysoft` to the server (~30 seconds)
218+
8. **Trigger website rebuild** via https://cp.graysoft.dev (password: `diggabyte2026`) — click Build for guIDE / Graysoft.dev — wait for "✓ done"
219+
9. **Verify graysoft.dev/download** shows the new version number and correct download links
220+
10. **Verify actual download URLs** return HTTP 200 for all platforms (Windows, Linux, macOS)
221+
222+
Do NOT stop at any step. Do NOT report success until step 10 is verified. If the control panel rebuild fails, trigger it again. The job is not done until a real user can click "Download" on graysoft.dev and get the new version.
223+
224+
### NEVER build the app locally
225+
- Do NOT run `npm run build`, `electron-builder`, or any build/package/installer command locally.
226+
- Building = triggering GitHub Actions via a version tag push, as described above.
211227

212228
### Plan before writing ANY code
213229
- Describe exactly what will change, in which files, and what the result will be.

main/agenticChat.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1348,6 +1348,7 @@ function register(ctx) {
13481348
result = await llmEngine.generateStream(currentPrompt, {
13491349
...(context?.params || {}),
13501350
maxTokens: effectiveMaxTokens,
1351+
isContinuation: continuationCount > 0,
13511352
}, (token) => {
13521353
if (isStale()) { llmEngine.cancelGeneration('user'); return; }
13531354
localTokenBatcher.push(token);
@@ -1713,7 +1714,7 @@ function register(ctx) {
17131714
iteration--; // Continuation is not a new agentic step
17141715
currentPrompt = {
17151716
systemContext: currentPrompt.systemContext, // Unchanged — KV cache preserved
1716-
userMessage: '[Continue your response exactly where you left off. Output only the continuation — no preamble, no summary, no repeated content.]',
1717+
userMessage: '[Continue your response exactly where you left off. If you were in the middle of a tool call, call that tool now to complete the task — do not output tool content as raw text. Output only the continuation — no preamble, no summary, no repeated content.]',
17171718
};
17181719
continue;
17191720
}

main/llmEngine.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1243,7 +1243,9 @@ After your brief acknowledgment, output ONLY the tool call blocks — no extra t
12431243
// In agentic loops, the model should emit short tool-call blocks (<300 chars).
12441244
// If 2000+ chars of non-tool text accumulate, the model is likely confused
12451245
// (echoing tool defs, narrating instead of acting, etc.). Abort early.
1246-
if (!detectedToolBlock && fullResponse.length + cleaned.length > 2000) {
1246+
// EXCEPTION: seamless continuations are legitimate long-form output — the model
1247+
// is mid-document and SHOULD be producing many chars. Skip the detector entirely.
1248+
if (!mergedParams.isContinuation && !detectedToolBlock && fullResponse.length + cleaned.length > 2000) {
12471249
const hasToolMarker = toolDetectBuffer.includes('```') || toolDetectBuffer.includes('"tool"');
12481250
if (!hasToolMarker) {
12491251
console.log(`[LLM] Runaway non-tool output detected (${fullResponse.length + cleaned.length} chars without tool call), aborting`);

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "guide-ide",
3-
"version": "1.7.0",
3+
"version": "1.7.1",
44
"description": "guIDE - AI-Powered Offline IDE with local LLM, RAG, MCP tools, browser automation, and integrated terminal",
55
"author": {
66
"name": "Brendan Gray",

website/src/app/download/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
// Single source of truth for the displayed release version.
44
// Updated automatically by: npm run release:deploy (from IDE root)
5-
const CURRENT_VERSION = '1.7.0';
5+
const CURRENT_VERSION = '1.7.1';
66

77
import Link from 'next/link';
88
import { useState } from 'react';

0 commit comments

Comments
 (0)